예제 #1
0
 public static function get_profile($u, $privacy = true, $badges = true, $social_networks = true, $friends = true, $exp = true, $aditional_info = true, $gamertags = true)
 {
     Phalanx::loadClasses('Privacy', 'Badges', 'Friendship', 'SocialNetwork', 'Posts', 'GamerTags');
     $m = Model::Factory('user u');
     $m->where("login='******'");
     $user = $m->get();
     if (!$user) {
         return false;
     }
     # Em alguns casos, não é necessário utilizarmos todos os dados do usuário
     if ($privacy) {
         $user->privacy = Privacy::from_user($user->id);
     }
     if ($badges) {
         $user->badges = Badges::from_user($user->id);
     }
     if ($social_networks) {
         $user->social_networks = SocialNetwork::from_user($user->id);
     }
     if ($friends) {
         $user->friends = Friendship::from_user($user->id, 12);
     }
     if ($exp) {
         $user->experience = self::experience($user->id);
     }
     if ($aditional_info) {
         $user->aditional_info = self::other_data($user->id);
     }
     if ($gamertags) {
         $user->gamertags = GamerTags::from_user($user->id);
     }
     return $user;
 }
예제 #2
0
 public function GetFriendsPage()
 {
     $o = new stdClass();
     if (!$this->get->username) {
         $o->status = 0;
         $o->message = "Requisição inválida: Parâmetro 'user' faltando.";
         header("Content-type: applicatioBAdgen/json; charset=utf-8");
         die(json_encode($o));
     }
     if ($this->get->p && $this->get->p < 0) {
         $o->status = 0;
         $o->message = "Requisição inválida: Parâmetro 'p' não pode ser menor que zero.";
         header("Content-type: application/json; charset=utf-8");
         die(json_encode($o));
     }
     $user = Profile::get_profile($this->get->username);
     $allies = Friendship::from_user($user->id, 30, $this->get->p);
     $o->allies = $allies;
     $o->requested_page = $this->get->p;
     header("Content-type: application/json; charset=utf-8");
     die(json_encode($o));
 }
예제 #3
0
 private function send($action_type, $taken_by, $action_id, $notify_uid)
 {
     //Monta o model de notifications, com os valores padrão.
     $m = Model::Factory('notifications');
     $m->action_id = $action_id;
     $m->action_type = $action_type;
     $m->date = date('Y-m-d H:i:s');
     $m->readed = 0;
     switch ($action_type) {
         case Notification::WON_A_BADGE:
             $notify_user_id = $taken_by;
             break;
         case Notification::FAVORITED_A_POST:
         case Notification::DISLIKED_POST:
         case Notification::LIKED_POST:
         case Notification::REBLOGGED_POST:
             //Cria um model auxiliar para descobrir quem é o dono do post
             $aux_m = Model::Factory('posts');
             $aux_m->where("id='{$action_id}'");
             $m->notify_user_id = $aux_m->get()->user_id;
             $m->took_by_user_id = $taken_by;
             break;
         case Notification::LIKED_COMMENT:
         case Notification::DISLIKED_COMMENT:
             //Cria um model auxiliar para descobrir quem é o dono do comment
             $aux_m = Model::Factory('comment');
             $aux_m->where("id='{$action_id}'");
             $m->notify_user_id = $aux_m->get()->user_id;
             $m->took_by_user_id = $taken_by;
             break;
         case Notification::COMMENTED_POST:
             //Cria um model auxiliar para descobrir quem é o dono do post
             $postModel = Model::Factory('posts');
             $postModel->where("id='{$action_id}'");
             $post = $postModel->get();
             $m->notify_user_id = $post->user_id;
             $m->took_by_user_id = $taken_by;
             break;
         case Notification::REPLYED_COMMENT:
             //Cria um model auxiliar para descobrir quem é o dono do comment
             $aux_m = Model::Factory('comment');
             $aux_m->where("id='{$action_id}'");
             $m->notify_user_id = $aux_m->get()->user_id;
             $m->took_by_user_id = $taken_by;
             break;
         case Notification::LEVELED_UP:
             $m->notify_user_id = $taken_by;
             break;
         case Notification::BEFRIENDED:
         case Notification::TAGGED_IN_A_COMMENT:
         case Notification::TAGGED_IN_A_POST:
             $m->notify_user_id = $notify_uid;
             $m->took_by_user_id = $taken_by;
             $m->action_id = $action_id;
             break;
         case Notification::CHANGED_AVATAR:
             Phalanx::loadClasses('Friendship');
             $friends = Friendship::from_user($taken_by);
             $date = date('Y-m-d H:i:s');
             foreach ($friends as $friend) {
                 $m = Model::Factory('notifications');
                 $m->action_id = $action_id;
                 $m->action_type = $action_type;
                 $m->date = $date;
                 $m->readed = 0;
                 $m->notify_user_id = $friend->id;
                 $m->took_by_user_id = $taken_by;
                 if ($m->took_by_user_id == $m->notify_user_id) {
                     continue;
                 }
                 $m->insert();
             }
             break;
     }
     if ($m->took_by_user_id == $m->notify_user_id) {
         return;
     }
     foreach ($m as $k => $v) {
         $notify = array();
         $notify[$k] = $v;
     }
     return $m->insert();
 }