/** * Find users with a specific permission. * * @param string $permission The permission as string. * * @return \UserModel[] */ public function findUsersWithPermission($permission) { $users = array(); $result = $this->prepareStatement()->execute($permission, $permission); while ($result->next()) { $model = $this->registry->fetch('tl_user', $result->id); if (!$model) { $model = new \UserModel($result); } $users[] = $model; } return $users; }
/** * Find a translated page. * * @param int $pageId Current page. * @param string $language Page language. * * @return PageModel|null */ public function findTranslatedPage($pageId, $language) { $query = <<<SQL SELECT p.* FROM tl_page p JOIN tl_page r ON r.id = p.cca_rr_root AND r.language = ? WHERE p.languageMain = ? SQL; $result = $this->database->prepare($query)->limit(1)->execute($language, $pageId); if ($result->numRows < 1) { return null; } $page = $this->modelRegistry->fetch('tl_page', $result->id); if ($page) { return $page; } return new PageModel($result); }