public static function instance()
 {
     if (!self::$instance) {
         self::$instance = new self();
     }
     return self::$instance;
 }
Exemple #2
0
 /**
  * Return array of liked media to instagram
  * @param  integer|null $id
  * @param  array        $recentOpts
  * @return type
  */
 public function getLikedMedia($id = null, $requestOpts = array())
 {
     $requestOpts = array_merge($requestOpts, array('limit' => $limit));
     if (null === $id) {
         if (null === parent::getAuthClientId()) {
             return $this->get('self/media/liked', array(), $requestOpts);
         }
         return $this->get(parent::getAuthClientId() . '/media/liked', array(), $requestOpts);
     }
     return $this->get($id . '/media/liked', array(), $requestOpts);
 }
 public function returnImagesByTagRaw($tag = "berrics")
 {
     $token = "instagram-images-by-tag-raw-" . md5($tag);
     if (($data = Cache::read($token, "1min")) === false) {
         $i = InstagramApi::berricsInstance();
         $images = $i->instagram->getRecentTags($tag);
         $data = json_decode($images, true);
         Cache::write($token, $data, "1min");
     }
     return $data;
 }
Exemple #4
0
 public function get_posts()
 {
     $photos = InstagramApi::i()->get_user_photos(self::$username, 20);
     // Convert from standard objects to InstagramPhoto Objects
     foreach ($photos as $photo) {
         $social_post = $photo->generate_socialpost();
         if (!$social_post->exists()) {
             $social_post->save();
         } else {
         }
     }
 }
 public function instagram()
 {
     App::import("Vendor", "InstagramApi", array("file" => "instagram/instagram_api.php"));
     $token = "instagram_splash";
     if (($pics = Cache::read($token, "30sec")) === false) {
         $pics = array();
         $i = InstagramApi::berricsInstance();
         $p = $i->instagram->getUserRecent(InstagramApi::$berrics_id);
         $p = json_decode($p);
         foreach ($p->data as $k => $v) {
             $month = date("m", $v->created_time);
             $day = date("d", $v->created_time);
             if ($month >= 6 && $day >= 7) {
                 $pics[] = $v;
             }
         }
         Cache::write($token, $pics, "30sec");
     }
     $this->set(compact("pics"));
 }
 public function handle_instagram_callback()
 {
     App::import("Vendor", "InstagramApi", array("file" => "instagram/instagram_api.php"));
     $i = InstagramApi::instance();
     $currentUser = $i->instagram->getCurrentUser();
     $accessToken = $i->instagram->getAccessToken();
     $ud = array("instagram_oauth_token" => $accessToken, "instagram_handle" => $currentUser->username, "instagram_account_num" => $currentUser->id, "instagram_profile_image" => $currentUser->profile_image);
     $this->User->create();
     $this->User->id = $this->Session->read("Auth.User.id");
     $this->User->save($ud);
     $user = $this->User->returnUserProfile($this->Session->read("Auth.User.id"), true);
     $this->Session->write("Auth.User", $user['User']);
     $callback = "/";
     if ($this->Session->check("Instagram.login_callback")) {
         $callback = $this->Session->read("Instagram.login_callback");
         $this->Session->delete("Instagram.login_callback");
     }
     $this->redirect($callback);
 }
 /**
  * Get very recent media from a geography subscription that you created. 
  * Note: you can only access Geographies that were explicitly created by your OAuth client
  * @param  integer $id          geo id
  * @param  array  $params      parameters
  * @param  array  $requestOpts request options
  * @return array  results
  */
 public function get($id, $params = array(), $requestOpts = array())
 {
     $requestOpts = array_merge($requestOpts, array('count' => 10));
     return parent::get('geographies/' . $id . '/media/recent', $params, $requestOpts);
 }
Exemple #8
0
 /**
  * Return data based on given tag.  Defaults search with 'nofilter' tag
  * @param string|null $tag
  * @param array $requestOpts http query parameters
  * @return array results
  */
 public function get($tag = 'nofilter', $params = array(), $requestOpts = array())
 {
     return parent::get('tags/' . $tag, $params, $requestOpts);
 }
 public function insta_test()
 {
     App::import("Vendor", "InstagramApi", array("file" => "instagram_api.php"));
     $i = InstagramApi::berricsInstance();
     //$user =
     //get all usrs that have an instagram account num
     $this->loadModel("User");
     $this->loadModel("UserProfile");
     $users = $this->User->find("all", array("contain" => array(), "conditions" => array("User.instagram_account_num !=" => "")));
     foreach ($users as $v) {
         $acc = $i->instagram->getUser($v['User']['instagram_account_num']);
         $data = json_decode($acc);
         //update the users profiles
         $this->UserProfile->create();
         $this->UserProfile->updateAll(array("instagram_followers" => $data->data->counts->followed_by, "instagram_last_updated" => 'NOW()'), array("user_id" => $v['User']['id']));
     }
     die("done");
 }
 public function instagram_comments()
 {
     App::import("Vendor", "InstagramApi", array("file" => "instagram/instagram_api.php"));
     $i = InstagramApi::berricsInstance();
     //die(pr($i));
     $feed = $i->instagram->getCurrentUser();
     die(pr($feed));
 }
 /**
  * {@inheritdoc}
  */
 public function get($id, $params = array(), $requestOpts = array())
 {
     return parent::get('locations/' . $id, $params, $requestOpts);
 }
Exemple #12
0
 public function updateInstagramDetails($User = array(), $crontab = false)
 {
     if (!isset($User['id']) || !isset($User['instagram_handle']) || (empty($User['id']) || empty($User['instagram_handle']))) {
         return false;
     }
     App::import("Vendor", "InstagramApi", array("file" => "instagram/instagram_api.php"));
     $i = InstagramApi::berricsInstance();
     $search = $i->instagram->searchUser($User['instagram_handle']);
     $insta = json_decode($search, true);
     $udata = array();
     $udata['instagram_account_num'] = $insta['data'][0]['id'];
     $udata['instagram_profile_image'] = $insta['data'][0]['profile_picture'];
     //update the users profile with the instagram info
     $this->create();
     $this->id = $User['id'];
     $this->save($udata);
     $instaData = $i->instagram->getUser($udata['instagram_account_num']);
     $instaData = json_decode($instaData, true);
     $profile = $this->ensure_user_profile($User['id']);
     $this->UserProfile->create();
     $this->UserProfile->id = $profile['UserProfile']['id'];
     $this->UserProfile->save(array("instagram_followers" => $instaData['data']['counts']['followed_by'], "instagra_last_updated" => 'NOW()'));
     SysMsg::add(array("category" => "Instagram", "from" => "UserModel", "title" => "Update Instagram: " . $User['instagram_handle'], "crontab" => $crontab));
 }
 public function instagram()
 {
     App::import("Vendor", "InstagramApi", array("file" => "instagram/instagram_api.php"));
     $token = "instagram_splash";
     if (($pics = Cache::read($token, "1min")) === false) {
         $pics = array();
         $i = InstagramApi::berricsInstance();
         $p = $i->instagram->getUserRecent(InstagramApi::$berrics_id);
         $p = json_decode($p);
         foreach ($p->data as $k => $v) {
             $pics[] = $v;
         }
     }
     $this->set(compact("pics"));
 }
 public function attach_instagram($id = false)
 {
     $data = array("status" => false);
     $instagram_token = $this->Auth->user("instagram_oauth_token");
     if (empty($instagram_token) || !$id) {
         die(json_encode($data));
     }
     App::import("Vendor", "InstagramApi", array("file" => "instagram/instagram_api.php"));
     $i = InstagramApi::userInstance($instagram_token);
     $image = $i->instagram->getMedia($id);
     $image = json_decode($image, true);
     //get the image
     $f_image = file_get_contents($image['data']['images']['standard_resolution']['url']);
     $image_name = md5(time() . mt_rand(999, 9999)) . ".jpg";
     file_put_contents(TMP . $image_name, $f_image);
     App::import("Vendor", "ImgServer", array("file" => "ImgServer.php"));
     $imgs = ImgServer::instance();
     $imgs->upload_tmp_file($image_name, TMP . $image_name);
     $data['status'] = true;
     $data['image'] = $image;
     $data['file_name'] = $image_name;
     die(json_encode($data));
 }