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; }
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)); }
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(); }