Exemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 protected function conditions(AbstractSearch $search, array $matches, $negate)
 {
     if (!$search instanceof DiscussionSearch) {
         throw new LogicException('This gambit can only be applied on a DiscussionSearch');
     }
     $username = trim($matches[1], '"');
     $id = $this->users->getIdForUsername($username);
     $search->getQuery()->where('start_user_id', $negate ? '!=' : '=', $id);
 }
Exemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 protected function data(ServerRequestInterface $request, Document $document)
 {
     $id = array_get($request->getQueryParams(), 'id');
     if (!is_numeric($id)) {
         $id = $this->users->getIdForUsername($id);
     }
     $actor = $request->getAttribute('actor');
     if ($actor->id == $id) {
         $this->serializer = 'Flarum\\Api\\Serializer\\CurrentUserSerializer';
     }
     return $this->users->findOrFail($id, $actor);
 }
Exemplo n.º 3
0
 /**
  * {@inheritdoc}
  */
 protected function conditions(AbstractSearch $search, array $matches, $negate)
 {
     if (!$search instanceof DiscussionSearch) {
         throw new LogicException('This gambit can only be applied on a DiscussionSearch');
     }
     $usernames = trim($matches[1], '"');
     $usernames = explode(',', $usernames);
     $ids = [];
     foreach ($usernames as $username) {
         $ids[] = $this->users->getIdForUsername($username);
     }
     $search->getQuery()->whereIn('start_user_id', $ids, 'and', $negate);
 }
 /**
  * @param $tag
  * @param UserRepository $users
  * @return bool
  */
 public static function addId($tag, UserRepository $users)
 {
     if ($id = $users->getIdForUsername(rawurlencode($tag->getAttribute('username')))) {
         $tag->setAttribute('id', $id);
         return true;
     }
 }