Пример #1
0
 public function buildCondition(PlFilter $f)
 {
     $c = $f->addCasteFilter();
     $cu = $f->addUserFilter();
     return XDB::format("{$c}.rights = {?} OR ({$c}.rights = {?} AND {$cu}.uid IN {?})", (string) Rights::everybody(), (string) Rights::restricted(), $this->uids);
 }
Пример #2
0
 protected function getSortTokens(PlFilter $uf)
 {
     $uf->requireAccounts();
     return 'a.is_admin';
 }
Пример #3
0
 public function buildCondition(PlFilter $f)
 {
     $sub = $f->addGroupFilter();
     return XDB::format($sub . '.gid IN {?}', $this->gids);
 }
Пример #4
0
 public function buildCondition(PlFilter $uf)
 {
     $sub = $uf->addRoomFilter();
     if ($this->exact) {
         return XDB::format("{$sub}.rid IN {?}", $this->rooms);
     } else {
         if (count($this->rooms) == 0) {
             return false;
         } else {
             if (count($this->rooms) == 1) {
                 return $sub . '.rid ' . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, $this->rooms[0]);
             } else {
                 foreach ($this->rooms as $room) {
                     $temp[] = $sub . '.rid ' . XDB::formatWildcards(XDB::WILDCARD_CONTAINS, $room);
                 }
                 return '(' . implode(') ' . 'OR' . ' (', $temp) . ')';
             }
         }
     }
 }
Пример #5
0
 protected function getSortTokens(PlFilter $f)
 {
     $sub = $f->addUserFilter();
     return "COUNT({$sub}.uid)";
 }
Пример #6
0
 protected function getSortTokens(PlFilter $uf)
 {
     $sub = $uf->addStudiesFilter();
     return $sub . '.promo';
 }
Пример #7
0
 protected function &getFilterResults(PlFilter $pf, PlLimit $limit)
 {
     $profiles = $pf->getProfiles($limit, Profile::FETCH_MINIFICHES);
     return $profiles;
 }
Пример #8
0
 public function buildCondition(PlFilter $f)
 {
     $c = $f->addCasteFilter();
     $cu = $f->addUserFilter();
     return XDB::format("{$c}.rights = {?} AND {$cu}.uid IN {?}", (string) $this->rights, $this->uids);
 }
Пример #9
0
 public function buildCondition(PlFilter $f)
 {
     $i_s = $f->addSizeFilter();
     return XDB::format($i_s . '.iid IS NULL');
 }
Пример #10
0
 public function buildCondition(PlFilter $f)
 {
     $g = $f->addGroupFilter();
     return $g . '.priv = ' . (int) $this->priv;
 }
Пример #11
0
 public function buildCondition(PlFilter $f)
 {
     $p = $f->addParticipantsFilter();
     return XDB::format("{$p}.participant IN {?}", $this->uids);
 }
Пример #12
0
 public function buildCondition(PlFilter $uf)
 {
     $uf->requireProfiles();
     $ids = $this->ids;
     $sub = $uf->addPartnerSharingFilter($this->partner_id);
     return XDB::format("{$sub}.exposed_uid IN {?}", $ids);
 }