Пример #1
0
 /**
  * Action to handle validation of a pending request for friendship.
  *
  * Handled via HTTP Response code
  *
  * @return void
  */
 function validateAction()
 {
     $signature = post('signature');
     $url = post('url');
     $f = WpHerissonFriendsTable::getOneWhere("url=? AND b_youwant=1", array($url));
     try {
         if (Encryption::i()->publicDecrypt($signature, $f->public_key) == $url) {
             $f->b_youwant = 0;
             $f->is_active = 1;
             $f->save();
             Network::reply(200);
             echo "1";
             exit;
         } else {
             Network::reply(417, HERISSON_EXIT);
         }
     } catch (Encryption\Exception $e) {
         Network::reply(417, HERISSON_EXIT);
     }
 }
 /**
  * Generate bookmarks data
  *
  * @param array $params the optional parameters to specify which bookmarks to retrieve
  *
  * @return string the json encode data for friend's bookmarks
  */
 public function generateBookmarksData($params = array())
 {
     $options = get_option('HerissonOptions');
     $my_private_key = $options['privateKey'];
     $bookmarks = WpHerissonBookmarksTable::getBookmarksData($params, 1);
     $data_bookmarks = array();
     foreach ($bookmarks as $bookmark) {
         $data_bookmarks[] = $bookmark->toSmallArray();
     }
     $json_data = json_encode($data_bookmarks);
     try {
         $json_display = Encryption::i()->publicEncryptLongData($json_data, $this->public_key);
     } catch (Encryption\Exception $e) {
         Network::reply(417);
         echo $e->getMessage();
     }
     return json_encode($json_display);
 }