public function executeTimelineCommunity(sfWebRequest $request)
 {
     $memberId = $this->getUser()->getMemberId();
     $communityId = $this->community->getId();
     $builder = opActivityQueryBuilder::create()->setViewerId($memberId)->setCommunityId($communityId);
     $builder->includeSns()->includeFriends()->includeSelf();
     $query = $builder->buildQuery();
     $query->limit(20);
     $this->activities = $query->andWhere('in_reply_to_activity_id IS NULL')->execute();
     if ($this->community->isPrivilegeBelong($memberId)) {
         $this->form = new TimelineDataForm();
         $this->form->setDefault('foreign_table', 'community');
         $this->form->setDefault('foreign_id', $communityId);
     }
 }
Beispiel #2
0
 public function executeMentions(sfWebRequest $request)
 {
     $builder = opActivityQueryBuilder::create()->setViewerId($this->getUser()->getMemberId())->includeMentions();
     $query = $builder->buildQuery()->andWhere('in_reply_to_activity_id IS NULL')->andWhere('foreign_table IS NULL')->andWhere('foreign_id IS NULL')->limit(20);
     $this->activityData = $query->execute();
     $this->setTemplate('array');
 }
 public function searchActivityDataByAPIRequestDataAndMemberId($requestDataList, $memberId)
 {
     $builder = opActivityQueryBuilder::create()->setViewerId($memberId);
     if (isset($requestDataList['target'])) {
         if ('friend' === $requestDataList['target']) {
             $builder->includeFriends($requestDataList['target_id'] ? $requestDataList['target_id'] : null);
         }
         if ('community' === $requestDataList['target']) {
             $builder->includeSelf()->includeFriends()->includeSns()->setCommunityId($requestDataList['target_id']);
         }
     } else {
         if (isset($requestDataList['member_id'])) {
             $builder->includeMember($requestDataList['member_id']);
         } else {
             $builder->includeSns()->includeFriends()->includeSelf();
         }
     }
     $query = $builder->buildQuery();
     if (isset($requestDataList['keyword'])) {
         $query->andWhereLike('body', $requestDataList['keyword']);
     }
     $globalAPILimit = sfConfig::get('op_json_api_limit', 20);
     if (isset($requestDataList['count']) && (int) $requestDataList['count'] < $globalAPILimit) {
         $query->limit($requestDataList['count']);
     } else {
         $query->limit($globalAPILimit);
     }
     if (isset($requestDataList['max_id'])) {
         $query->addWhere('id <= ?', $requestDataList['max_id']);
     }
     if (isset($requestDataList['since_id'])) {
         $query->addWhere('id > ?', $requestDataList['since_id']);
     }
     if (isset($requestDataList['activity_id'])) {
         $query->addWhere('id = ?', $requestDataList['activity_id']);
     }
     $query->andWhere('in_reply_to_activity_id IS NULL');
     return $query->execute();
 }
$result->free(true);
$query->free();
//==============================================================================
$t->diag('opActivityQueryBuilder multiple conditions');
$builder = opActivityQueryBuilder::create()->setViewerId(1)->includeSelf()->includeFriends();
$query = $builder->buildQuery();
$result = $query->execute();
$t->is($result->getPrimaryKeys(), array(1055, 8, 7, 6, 5, 4, 3, 2, 1), '->includeSelf()->includeFriends() viewerId = 1');
$result->free(true);
$query->free();
//------------------------------------------------------------
$builder = opActivityQueryBuilder::create()->setViewerId(2)->includeSelf()->includeFriends();
$query = $builder->buildQuery();
$result = $query->execute();
$t->is($result->getPrimaryKeys(), array(8, 7, 6, 5, 3, 2, 1), '->includeSelf()->includeFriends() viewerId = 2');
$result->free(true);
$query->free();
//------------------------------------------------------------
$builder = opActivityQueryBuilder::create()->setViewerId(1)->includeSelf()->includeFriends()->includeSns();
$query = $builder->buildQuery();
$result = $query->execute();
$t->is($result->getPrimaryKeys(), array(1056, 1055, 8, 7, 6, 5, 4, 3, 2, 1), '->includeSelf()->includeFriends()->includeSns() viewerId = 1');
$result->free(true);
$query->free();
//------------------------------------------------------------
$builder = opActivityQueryBuilder::create()->setViewerId(2)->includeSelf()->includeFriends()->includeSns();
$query = $builder->buildQuery();
$result = $query->execute();
$t->is($result->getPrimaryKeys(), array(1056, 1055, 8, 7, 6, 5, 3, 2, 1), '->includeSelf()->includeFriends()->includeSns() viewerId = 2');
$result->free(true);
$query->free();