/** * 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); }