diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate
index 59acbc9..8a12093 100644
Binary files a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate and b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
index 70e71b3..dfbaa09 100644
--- a/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
+++ b/Vendoo.xcworkspace/xcuserdata/okechi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
@@ -218,11 +218,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift"
- timestampString = "491395746.298372"
+ timestampString = "491705640.842647"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "317"
- endingLineNumber = "317"
+ startingLineNumber = "340"
+ endingLineNumber = "340"
landmarkName = "publishItem(_:)"
landmarkType = "5">
@@ -234,11 +234,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Vendoo/ListingPreviewViewController.swift"
- timestampString = "491395746.298372"
+ timestampString = "491705640.842647"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
- startingLineNumber = "342"
- endingLineNumber = "342"
+ startingLineNumber = "366"
+ endingLineNumber = "366"
landmarkName = "publishItem(_:)"
landmarkType = "5">
@@ -266,7 +266,7 @@
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/EtsyRESTAPIManager.swift"
- timestampString = "491530458.908998"
+ timestampString = "491705859.140832"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "216"
@@ -281,7 +281,7 @@
moduleName = "Vendoo"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/okechi/Documents/iOs%20Practice/Vendoo/Vendoo_bb/Vendoo/Vendoo/EtsyRESTAPIManager.swift"
- timestampString = "491530458.909179"
+ timestampString = "491705859.141037"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "219"
@@ -401,6 +401,38 @@
endingLineNumber = "610"
landmarkName = "sendPOSTRequest(_:body:onCompletion:)"
landmarkType = "5">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Vendoo/FacebookGraphAPIManager.swift b/Vendoo/FacebookGraphAPIManager.swift
index c196110..90c538d 100644
--- a/Vendoo/FacebookGraphAPIManager.swift
+++ b/Vendoo/FacebookGraphAPIManager.swift
@@ -173,34 +173,36 @@ extension FacebookGraphAPIManager {
}
//used to post to users timeline, path must start with '/'
- func makePOSTResquest(requestPath: String!, params: [NSObject: AnyObject]!){
+ func makePOSTResquest(requestPath: String!, var params: [NSObject: AnyObject]!, onComplete: ServiceResponse){
- /*if(FBSDKAccessToken.currentAccessToken() != nil && FBSDKAccessToken.currentAccessToken().hasGranted("pubish_actions")){*/
-
- let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: requestPath, parameters: params, HTTPMethod: "POST")
- graphRequest.startWithCompletionHandler({
- (id, result, error) -> Void in
+ if(FBSDKAccessToken.currentAccessToken() != nil && FBSDKAccessToken.currentAccessToken().hasGranted("publish_actions")){
+ params["access_token"] = self.apiKey + "|" + self.apiSecret
-
- if(error == nil){
+ let graphRequest: FBSDKGraphRequest = FBSDKGraphRequest(graphPath: requestPath + "?access_token=" + FBSDKAccessToken.currentAccessToken().tokenString, parameters: params, HTTPMethod: "POST")
+ graphRequest.startWithCompletionHandler({
+ (id, result, error) -> Void in
- print(result["id"])
- self.delegate?.listingUploadedFB((result["id"] as? String)!)
- print(result)
- }
- else{
-
- }
- //save id in firebase so retrieval can be done later
- })
- //}
+ if(error == nil){
+
+ print(result["id"])
+ //self.delegate?.listingUploadedFB((result["id"] as? String)!)
+ print(result)
+ onComplete((result["id"] as? String)!, nil)
+
+ }
+ else{
+ print(error)
+ }
+ //save id in firebase so retrieval can be done later
+ })
+ }
/*else{
print("must reauthenticate facebook")
- }*/
-
- }
+ }
+
+ */}
//used to delete permissions and listings from users timeline, path must start with '/'
func makeDELETIONResquest(requestPath: String!, params: [NSObject: AnyObject]!) -> Bool{
diff --git a/Vendoo/ListingPreviewViewController.swift b/Vendoo/ListingPreviewViewController.swift
index aa738b0..bb908a1 100644
--- a/Vendoo/ListingPreviewViewController.swift
+++ b/Vendoo/ListingPreviewViewController.swift
@@ -47,7 +47,7 @@ class ListingPreviewViewController: UIViewController {
self.networks.delegate = self
self.networks.dataSource = self
self.networks.backgroundView?.backgroundColor = UIColor.whiteColor()
- self.graphManager.delegate = self
+ //self.graphManager.delegate = self
}
override func viewDidAppear(animated: Bool) {
@@ -110,20 +110,20 @@ extension Dictionary {
}
}
}
-
-//MARK: - FacebookGraphAPIManagerDelegate methods
-extension ListingPreviewViewController: FacebookGraphAPIManagerDelegate {
- func listingUploadedFB(fbID: String) {
-
- self.firManager.ref.child("Users").child("\(self.firManager.user_email)").child("user_Listings").child(self.lastListingKey).updateChildValues(["network_listing_IDs":["fbID":fbID]])
-
- self.alert.title = "Listing Published"
- self.alert.message = "Your listing has been published to facebook"
-
- self.presentViewController(self.alert, animated: true, completion: nil)
- }
-}
-
+/*
+ //MARK: - FacebookGraphAPIManagerDelegate methods
+ extension ListingPreviewViewController: FacebookGraphAPIManagerDelegate {
+ func listingUploadedFB(fbID: String) {
+
+ self.firManager.ref.child("Users").child("\(self.firManager.user_email)").child("user_Listings").child(self.lastListingKey).updateChildValues(["network_listing_IDs":["fbID":fbID]])
+
+ self.alert.title = "Listing Published"
+ self.alert.message = "Your listing has been published to facebook"
+
+ self.presentViewController(self.alert, animated: true, completion: nil)
+ }
+ }
+ */
//MARK: - IBActions
extension ListingPreviewViewController {
@@ -300,15 +300,49 @@ extension ListingPreviewViewController {
//post to facebook
if(self.networksDictionary["facebook"]!){
dispatch_group_enter(postingGroup)
- let parameters: Dictionary = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!)]
+
+ let tmpDirURL = NSURL.fileURLWithPath(NSTemporaryDirectory(), isDirectory: true)
+ let fileURL = tmpDirURL.URLByAppendingPathComponent("main").URLByAppendingPathExtension("jpg")
+ print("FilePath: \(fileURL.path!)")
+ do {
+ try UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!.writeToFile(fileURL.path!, options: NSDataWritingOptions.AtomicWrite)
+ }catch{
+ (error)
+ print(error)
+ }
+
+ //let parameters: Dictionary = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!)]
+
+ let parameters: Dictionary = ["Source": UIImageJPEGRepresentation(self.itemPicture.image!, 0.45)!, "published":false]
self.lastListingKey = newListingRef.key
- self.graphManager.makePOSTResquest("me/feed", params: parameters)
+ self.graphManager.makePOSTResquest("me/photos", params: parameters, onComplete: {
+ (imageId, error) -> Void in
+
+ var listingParams: Dictionary = ["message":("**"+self.itemTitle.text!+"**\n\n"+"Price: "+self.itemPrice.text! + "\n\n"+self.itemDescription.text!), "attached_media[0]":"{\"media_fbid\":\"\(imageId as! String)\"}"]
+ self.graphManager.makePOSTResquest("me/feed", params: listingParams, onComplete: {
+ (listingId, error) -> Void in
+
+ if((self.newInProgressListing["networkIDs"] == nil)){
+ self.newInProgressListing["networkIDs"] = Dictionary()
+ }
+ var networkIDs = (self.newInProgressListing["networkIDs"] as! Dictionary)
+ networkIDs["facebook"] = listingId as! String
+ self.newInProgressListing["networkIDs"] = networkIDs
+ dispatch_group_leave(postingGroup)
+
+
+ })
+ /*
+
+ */
+ })
//let parameters: Dictionary = ["":""]
- dispatch_group_leave(postingGroup)
+
}
+
dispatch_group_notify(postingGroup, dispatch_get_main_queue(), {
self.newInProgressListing.update(["listingID": newListingRef.key,
"seller email": (NSUserDefaults.standardUserDefaults().objectForKey("email") as? String)!,
diff --git a/Vendoo/NetworksTableViewController.swift b/Vendoo/NetworksTableViewController.swift
index 8fb8d56..0ec9a96 100644
--- a/Vendoo/NetworksTableViewController.swift
+++ b/Vendoo/NetworksTableViewController.swift
@@ -443,7 +443,7 @@ extension NetworksTableViewController: UITableViewDelegate {
(tabBar as? HomeViewController)?.etsyManager.authorizeApp(self)
*/
-
+
}
break
@@ -491,7 +491,7 @@ extension NetworksTableViewController: UITableViewDelegate {
}
else{
-
+ /*
//case where class is being used to authorize a network for the app to post on
switch (indexPath.row){
case 0:
@@ -632,7 +632,7 @@ extension NetworksTableViewController: UITableViewDelegate {
break
}
-
+*/
}
@@ -755,6 +755,14 @@ extension NetworksTableViewController {
})
break
case is FBTableViewCell.Type:
+ let tabBar = self.tabBarController
+ ((tabBar as? HomeViewController)?.fbGraphManager.authorizeApp(self))!
+ dispatch_async(dispatch_get_main_queue(), {
+ sender.setTitle("Logout", forState: UIControlState.Normal)
+ (sender.superview?.superview as! FBTableViewCell).settingsBtn.enabled = true
+ (sender.superview?.superview as! FBTableViewCell).settingsBtn.hidden = false
+ })
+
break
default:
break
@@ -785,6 +793,13 @@ extension NetworksTableViewController {
})
break
case is FBTableViewCell.Type:
+ let tabBar = self.tabBarController
+ ((tabBar as? HomeViewController)?.fbGraphManager.deAuthorizeApp(self))!
+ dispatch_async(dispatch_get_main_queue(), {
+ sender.setTitle("Login", forState: UIControlState.Normal)
+ (sender.superview?.superview as! FBTableViewCell).settingsBtn.enabled = false
+ (sender.superview?.superview as! FBTableViewCell).settingsBtn.hidden = true
+ })
break
default:
break