示例#1
0
 /**
  * Post to blogger blog
  *
  */
 protected function post()
 {
     d('cp');
     try {
         d('cp');
         $oBlogger = new ApiClient($this->Registry);
         d('cp');
         $User = $this->Registry->Viewer;
         d('cp');
         if (false === $oBlogger->setUser($User)) {
             d('User does not have Blogger Oauth credentials');
             return;
         }
         d('cp');
         $reward = $this->Registry->Ini->POINTS->SHARED_CONTENT;
         $Resource = $this->obj;
         d('cp');
         $oAdapter = new BloggerPostAdapter($this->Registry);
         d('cp');
     } catch (\Exception $e) {
         d('Unable to post to blogger because of this exception: ' . $e->getMessage() . ' in file: ' . $e->getFile() . ' on line: ' . $e->getLine());
         return;
     }
     d('cp');
     $func = function () use($oBlogger, $oAdapter, $Resource, $User, $reward) {
         $result = null;
         try {
             $result = $oBlogger->add($oAdapter->makeEntry($Resource));
         } catch (\Exception $e) {
             return;
         }
         if (!empty($result) && is_numeric($result)) {
             $User->setReputation($reward);
             /**
              * Also save blogger post id to QUESTIONS or ANSWERS
              * collection.
              * This way later on (maybe way later...)
              * We can add a function so that if user edits
              * Post on the site we can also edit it
              * on blogger via API
              * Can also delete from blogger if Resource
              * id deleted
              *
              */
             $Resource['blogger_id'] = $result;
             $Resource->save();
         }
     };
     //$func();
     \Lampcms\runLater($func);
 }
示例#2
0
 /**
  * Post to Tumblr blog
  *
  */
 protected function post()
 {
     d('begin post to Tumblr');
     try {
         $oTumblr = new ApiClient($this->Registry);
         $User = $this->Registry->Viewer;
         if (false === $oTumblr->setUser($User)) {
             d('User does not have Tumblr Oauth credentials');
             return;
         }
         $reward = $this->Registry->Ini->POINTS->SHARED_CONTENT;
         $Resource = $this->obj;
         d('cp');
         $oAdapter = new TumblrPostAdapter($this->Registry);
         d('cp');
     } catch (\Exception $e) {
         d('Unable to post to Tumblr because of this exception: ' . $e->getMessage() . ' in file: ' . $e->getFile() . ' on line: ' . $e->getLine());
         return;
     }
     $func = function () use($oTumblr, $oAdapter, $Resource, $User, $reward) {
         $result = null;
         try {
             $result = $oTumblr->add($oAdapter->get($Resource));
         } catch (\Exception $e) {
             if (function_exists('d')) {
                 d('Unable to post to Tumblr: ' . $e->getMessage());
             }
             return;
         }
         if (!empty($result) && is_numeric($result)) {
             $User->setReputation($reward);
             /**
              * Also save Tumblr status id to QUESTIONS or ANSWERS
              * collection.
              * This way later on (maybe way later...)
              * We can add a function so that if user edits
              * Post on the site we can also edit it
              * on Tumblr via API
              * Can also delete from Tumblr if Resource
              * id deleted
              *
              */
             $Resource['i_tumblr'] = (int) $result;
             $Resource->save();
         }
     };
     \Lampcms\runLater($func);
 }