Пример #1
0
 private function login()
 {
     $uid = phoxy::Load('user/store')->Register();
     $my_name =& $this->get_uid();
     $my_name = $uid;
     return $uid;
 }
Пример #2
0
 protected function make_step($sequence_type, $instruction, $data)
 {
     $is_laststep = $this->require_known_instruction($sequence_type, $instruction);
     $auth = $this->load();
     if (!$is_laststep) {
         return ['design' => 'networks/auth/sequence.step', 'data' => ['commands' => $auth->{$instruction}($data)]];
     }
     $token = $auth->{$instruction}($data);
     $account = phoxy::Load('accounts')->save_network($this->network_name, $token);
     return ["design" => "accounts/create/finished", "data" => ["account" => $account]];
 }
Пример #3
0
 public function threads($account_id)
 {
     $resolver = function ($network, $cb, $uid) {
         $threads = $network->threads();
         if (!$threads) {
             return false;
         }
         return $cb($threads, time() + 60);
     };
     return phoxy::Load('accounts/cache')->account($account_id)->Retrieve('threads', 0, $resolver);
 }
Пример #4
0
 protected function info($account_id, $uid = null)
 {
     $resolver = function ($network, $cb, $uid) {
         $user = $network->user($uid);
         if (!$user) {
             return false;
         }
         return $cb($user, time() + 3600 * 24);
     };
     $user = phoxy::Load('accounts/cache')->account($account_id)->Retrieve('user', $uid, $resolver);
     return ['design' => 'thread/users/one', 'data' => $user];
 }
Пример #5
0
 private function ResolveMissingCache($type, $resource_id, $resolver)
 {
     $account_id = $this->AccountID();
     $network = phoxy::Load('networks/network')->by_account_id($account_id);
     $resolved = function ($data, $expiration) use(&$return, $type, $resource_id) {
         $return = $data;
         $this->Update($type, $resource_id, $data, $expiration);
         return true;
     };
     $result = $resolver($network, $resolved, $resource_id);
     phoxy_protected_assert($result, "Resolver returned failure on {$type} cache miss");
     return $return;
 }
Пример #6
0
 public function get_network_object($network)
 {
     $storage_functor = phoxy::Load('user')->StorageShortcut();
     $accounts =& $storage_functor()['accounts'];
     if (!is_array($accounts)) {
         $accounts = [];
     }
     phoxy_protected_assert(!isset($accounts[$network]), "In demo mode one account per social network");
     $networks = phoxy::Load('networks');
     phoxy_protected_assert($networks->supported($network), "Social network unsupported");
     $obj = $networks->get_network_object($network);
     $this->init_network_object($obj, $network);
     return $obj;
 }
Пример #7
0
 protected function info($account_id)
 {
     $account = phoxy::Load('accounts/tokens')->info($account_id);
     return ["data" => $this->filter_sensitive_token_data($account)];
 }
Пример #8
0
 protected function Login($network, $login, $password)
 {
     phoxy::Load('user')->ResetSession();
     return phoxy::Load('accounts', true)->add($network, $login, $password);
 }
Пример #9
0
 public static function UID()
 {
     $uid = phoxy::Load('user/store')->MyUID();
     phoxy_protected_assert($uid, "Please log in to continue");
     return $uid;
 }
Пример #10
0
{
    $ret = ["cache" => PRODUCTION ? ['global' => '10m'] : "no", "result" => "canvas"];
    return $ret;
}
ob_start();
function append_warnings_to_object($that)
{
    $buffer = ob_get_contents();
    ob_end_clean();
    if (!empty($buffer)) {
        $that->obj["warnings"] = $buffer;
    }
}
include 'phoxy/server/phoxy_return_worker.php';
phoxy_return_worker::$add_hook_cb = function ($that) {
    global $USER_SENSITIVE;
    if ($USER_SENSITIVE) {
        $that->obj['cache'] = 'no';
    }
    $that->hooks[] = append_warnings_to_object;
};
error_reporting(E_ALL & ~E_STRICT & ~E_NOTICE);
include 'phoxy/load.php';
phoxy::Load("user/store/db");
try {
    \phoxy::Start();
} catch (Exception $e) {
    $message = ["error" => $e->getMessage(), "warnings" => ob_get_contents()];
    ob_end_clean();
    die(json_encode($message, true));
}
Пример #11
0
 protected function Send($account_id, $thread_id, $text)
 {
     $network = phoxy::Load('networks/network')->by_account_id($account_id);
     return ['data' => $network->message_send($thread_id, $text)];
 }
Пример #12
0
 public function MyUID()
 {
     return phoxy::Load("user")->uid();
 }