Example #1
0
 public function createFilterClause()
 {
     $op = QueryOperator::op(' AND ');
     if (null !== $this->status) {
         $op->expr(QueryClause::clause('i.status = :status', ':status', $this->status));
     }
     if (null !== $this->territory) {
         $op->expr(QueryClause::clause('i.territoryId = :territoryId', ':territoryId', $this->territory->getId()));
     }
     return $op;
 }
Example #2
0
 public static function fetchLinkedProfile(Connection $conn, MembershipRoleResolver $roleResolver, IdentifiableInterface $item, Join $join, QueryElement $element)
 {
     $qb = QueryBuilder::select()->field('u.*')->field('p.*')->field('m.role AS `membership_role`')->field('m.note AS `membership_note`')->field('l.`id`', 'language_id')->field('l.`name`', 'language_name')->field('l.`locale`', 'language_locale')->from(CoreTables::USER_TBL, 'u')->join(CoreTables::USER_PROFILE_TBL, 'p', QueryClause::clause('p.`userId` = u.`id`'))->join(CoreTables::LANGUAGE_TBL, 'l', QueryClause::clause('l.`id` = p.`settingsLanguageId`'))->join($join)->where(QueryOperator::op('AND')->expr(QueryClause::clause('u.`active` = 1 AND u.`removed` = 0'))->expr($element));
     $data = $qb->fetchAssoc($conn);
     if (false === $data) {
         return false;
     }
     $user = User::fromArray($data);
     $membership = new Membership($item, $roleResolver->getRole(get_class($item), $data['membership_role']), $data['membership_note']);
     User::installMembershipInformation($user, $membership);
     return $user;
 }
Example #3
0
 public function findUserByNameMail($username, $email)
 {
     return User::fetchByCriteria($this->conn, QueryOperator::op('AND')->expr(QueryClause::clause('u.`login` = :login', ':login', $username))->expr(QueryClause::clause('u.`email` = :email', ':email', $email)));
 }
 /**
  * @param $membershipEntity Entity whose members we want to view
  * @param $id User ID
  * @return User
  */
 public function getItem(MembershipEntityInterface $membershipEntity, $id)
 {
     $this->transaction->requestTransaction();
     try {
         $user = User::fetchLinkedProfile($this->conn, $this->roleResolver, $membershipEntity, Join::create($this->membershipTable(), 'm', QueryClause::clause('m.userId = u.id')), QueryOperator::op('AND')->expr(QueryClause::clause('m.' . $this->entityColumn() . ' = :entityId', ':entityId', $membershipEntity->getId()))->expr(QueryClause::clause('u.`id` = :userId', ':userId', $id)));
         if (false === $user) {
             throw new ItemNotFoundException('The specified user has not been found.');
         }
         return $user;
     } catch (Exception $exception) {
         $this->transaction->requestRollback();
         throw $exception;
     }
 }
Example #5
0
 private function buildSearchClause()
 {
     $bIdx = 0;
     $op = QueryOperator::op(' OR ');
     if (!empty($this->searchString)) {
         foreach ($this->columns as $column) {
             if ($column['type'] == self::TYPE_SEARCHABLE) {
                 $op->expr(QueryClause::clause($column['db'] . ' LIKE :bIdx' . $bIdx, ':bIdx' . $bIdx, '%' . $this->searchString . '%'));
                 $bIdx++;
             }
         }
     }
     if ($bIdx > 0) {
         return $op;
     }
     return null;
 }