| @@ -23,7 +23,6 @@ | ||
| 23 | 23 | namespace OCA\User_LDAP\Controller; | 
| 24 | 24 | |
| 25 | 25 | use OC\HintException; | 
| 26 | -use OC_Util; | |
| 27 | 26 | use OCP\AppFramework\Controller; | 
| 28 | 27 | use OCP\AppFramework\Http\RedirectResponse; | 
| 29 | 28 | use OCP\AppFramework\Http\TemplateResponse; | 
| @@ -37,144 +37,144 @@ | ||
| 37 | 37 | use OCP\IUserManager; | 
| 38 | 38 | |
| 39 | 39 |  class RenewPasswordController extends Controller { | 
| 40 | - /** @var IUserManager */ | |
| 41 | - private $userManager; | |
| 42 | - /** @var IConfig */ | |
| 43 | - private $config; | |
| 44 | - /** @var IL10N */ | |
| 45 | - protected $l10n; | |
| 46 | - /** @var ISession */ | |
| 47 | - private $session; | |
| 48 | - /** @var IURLGenerator */ | |
| 49 | - private $urlGenerator; | |
| 40 | + /** @var IUserManager */ | |
| 41 | + private $userManager; | |
| 42 | + /** @var IConfig */ | |
| 43 | + private $config; | |
| 44 | + /** @var IL10N */ | |
| 45 | + protected $l10n; | |
| 46 | + /** @var ISession */ | |
| 47 | + private $session; | |
| 48 | + /** @var IURLGenerator */ | |
| 49 | + private $urlGenerator; | |
| 50 | 50 | |
| 51 | - /** | |
| 52 | - * @param string $appName | |
| 53 | - * @param IRequest $request | |
| 54 | - * @param IUserManager $userManager | |
| 55 | - * @param IConfig $config | |
| 56 | - * @param IURLGenerator $urlGenerator | |
| 57 | - */ | |
| 58 | - function __construct($appName, IRequest $request, IUserManager $userManager, | |
| 59 | -		IConfig $config, IL10N $l10n, ISession $session, IURLGenerator $urlGenerator) { | |
| 60 | - parent::__construct($appName, $request); | |
| 61 | - $this->userManager = $userManager; | |
| 62 | - $this->config = $config; | |
| 63 | - $this->l10n = $l10n; | |
| 64 | - $this->session = $session; | |
| 65 | - $this->urlGenerator = $urlGenerator; | |
| 66 | - } | |
| 51 | + /** | |
| 52 | + * @param string $appName | |
| 53 | + * @param IRequest $request | |
| 54 | + * @param IUserManager $userManager | |
| 55 | + * @param IConfig $config | |
| 56 | + * @param IURLGenerator $urlGenerator | |
| 57 | + */ | |
| 58 | + function __construct($appName, IRequest $request, IUserManager $userManager, | |
| 59 | +        IConfig $config, IL10N $l10n, ISession $session, IURLGenerator $urlGenerator) { | |
| 60 | + parent::__construct($appName, $request); | |
| 61 | + $this->userManager = $userManager; | |
| 62 | + $this->config = $config; | |
| 63 | + $this->l10n = $l10n; | |
| 64 | + $this->session = $session; | |
| 65 | + $this->urlGenerator = $urlGenerator; | |
| 66 | + } | |
| 67 | 67 | |
| 68 | - /** | |
| 69 | - * @PublicPage | |
| 70 | - * @NoCSRFRequired | |
| 71 | - * | |
| 72 | - * @return RedirectResponse | |
| 73 | - */ | |
| 74 | -	public function cancel() { | |
| 75 | -		return new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm')); | |
| 76 | - } | |
| 68 | + /** | |
| 69 | + * @PublicPage | |
| 70 | + * @NoCSRFRequired | |
| 71 | + * | |
| 72 | + * @return RedirectResponse | |
| 73 | + */ | |
| 74 | +    public function cancel() { | |
| 75 | +        return new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm')); | |
| 76 | + } | |
| 77 | 77 | |
| 78 | - /** | |
| 79 | - * @PublicPage | |
| 80 | - * @NoCSRFRequired | |
| 81 | - * @UseSession | |
| 82 | - * | |
| 83 | - * @param string $user | |
| 84 | - * | |
| 85 | - * @return TemplateResponse|RedirectResponse | |
| 86 | - */ | |
| 87 | -	public function showRenewPasswordForm($user) { | |
| 88 | -		if($this->config->getUserValue($user, 'user_ldap', 'needsPasswordReset') !== 'true') { | |
| 89 | -			return new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm')); | |
| 90 | - } | |
| 91 | - $parameters = []; | |
| 92 | -		$renewPasswordMessages = $this->session->get('renewPasswordMessages'); | |
| 93 | - $errors = []; | |
| 94 | - $messages = []; | |
| 95 | -		if (is_array($renewPasswordMessages)) { | |
| 96 | - list($errors, $messages) = $renewPasswordMessages; | |
| 97 | - } | |
| 98 | -		$this->session->remove('renewPasswordMessages'); | |
| 99 | -		foreach ($errors as $value) { | |
| 100 | - $parameters[$value] = true; | |
| 101 | - } | |
| 78 | + /** | |
| 79 | + * @PublicPage | |
| 80 | + * @NoCSRFRequired | |
| 81 | + * @UseSession | |
| 82 | + * | |
| 83 | + * @param string $user | |
| 84 | + * | |
| 85 | + * @return TemplateResponse|RedirectResponse | |
| 86 | + */ | |
| 87 | +    public function showRenewPasswordForm($user) { | |
| 88 | +        if($this->config->getUserValue($user, 'user_ldap', 'needsPasswordReset') !== 'true') { | |
| 89 | +            return new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm')); | |
| 90 | + } | |
| 91 | + $parameters = []; | |
| 92 | +        $renewPasswordMessages = $this->session->get('renewPasswordMessages'); | |
| 93 | + $errors = []; | |
| 94 | + $messages = []; | |
| 95 | +        if (is_array($renewPasswordMessages)) { | |
| 96 | + list($errors, $messages) = $renewPasswordMessages; | |
| 97 | + } | |
| 98 | +        $this->session->remove('renewPasswordMessages'); | |
| 99 | +        foreach ($errors as $value) { | |
| 100 | + $parameters[$value] = true; | |
| 101 | + } | |
| 102 | 102 | |
| 103 | - $parameters['messages'] = $messages; | |
| 104 | - $parameters['user'] = $user; | |
| 103 | + $parameters['messages'] = $messages; | |
| 104 | + $parameters['user'] = $user; | |
| 105 | 105 | |
| 106 | - $parameters['canResetPassword'] = true; | |
| 107 | -		$parameters['resetPasswordLink'] = $this->config->getSystemValue('lost_password_link', ''); | |
| 108 | -		if (!$parameters['resetPasswordLink']) { | |
| 109 | - $userObj = $this->userManager->get($user); | |
| 110 | -			if ($userObj instanceof IUser) { | |
| 111 | - $parameters['canResetPassword'] = $userObj->canChangePassword(); | |
| 112 | - } | |
| 113 | - } | |
| 114 | -		$parameters['cancelLink'] = $this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm'); | |
| 106 | + $parameters['canResetPassword'] = true; | |
| 107 | +        $parameters['resetPasswordLink'] = $this->config->getSystemValue('lost_password_link', ''); | |
| 108 | +        if (!$parameters['resetPasswordLink']) { | |
| 109 | + $userObj = $this->userManager->get($user); | |
| 110 | +            if ($userObj instanceof IUser) { | |
| 111 | + $parameters['canResetPassword'] = $userObj->canChangePassword(); | |
| 112 | + } | |
| 113 | + } | |
| 114 | +        $parameters['cancelLink'] = $this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm'); | |
| 115 | 115 | |
| 116 | - return new TemplateResponse( | |
| 117 | - $this->appName, 'renewpassword', $parameters, 'guest' | |
| 118 | - ); | |
| 119 | - } | |
| 116 | + return new TemplateResponse( | |
| 117 | + $this->appName, 'renewpassword', $parameters, 'guest' | |
| 118 | + ); | |
| 119 | + } | |
| 120 | 120 | |
| 121 | - /** | |
| 122 | - * @PublicPage | |
| 123 | - * @UseSession | |
| 124 | - * | |
| 125 | - * @param string $user | |
| 126 | - * @param string $oldPassword | |
| 127 | - * @param string $newPassword | |
| 128 | - * | |
| 129 | - * @return RedirectResponse | |
| 130 | - */ | |
| 131 | -	public function tryRenewPassword($user, $oldPassword, $newPassword) { | |
| 132 | -		if($this->config->getUserValue($user, 'user_ldap', 'needsPasswordReset') !== 'true') { | |
| 133 | -			return new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm')); | |
| 134 | - } | |
| 135 | - $args = !is_null($user) ? ['user' => $user] : []; | |
| 136 | - $loginResult = $this->userManager->checkPassword($user, $oldPassword); | |
| 137 | -		if ($loginResult === false) { | |
| 138 | -			$this->session->set('renewPasswordMessages', [ | |
| 139 | - ['invalidpassword'], [] | |
| 140 | - ]); | |
| 141 | -			return new RedirectResponse($this->urlGenerator->linkToRoute('user_ldap.renewPassword.showRenewPasswordForm', $args)); | |
| 142 | - } | |
| 121 | + /** | |
| 122 | + * @PublicPage | |
| 123 | + * @UseSession | |
| 124 | + * | |
| 125 | + * @param string $user | |
| 126 | + * @param string $oldPassword | |
| 127 | + * @param string $newPassword | |
| 128 | + * | |
| 129 | + * @return RedirectResponse | |
| 130 | + */ | |
| 131 | +    public function tryRenewPassword($user, $oldPassword, $newPassword) { | |
| 132 | +        if($this->config->getUserValue($user, 'user_ldap', 'needsPasswordReset') !== 'true') { | |
| 133 | +            return new RedirectResponse($this->urlGenerator->linkToRouteAbsolute('core.login.showLoginForm')); | |
| 134 | + } | |
| 135 | + $args = !is_null($user) ? ['user' => $user] : []; | |
| 136 | + $loginResult = $this->userManager->checkPassword($user, $oldPassword); | |
| 137 | +        if ($loginResult === false) { | |
| 138 | +            $this->session->set('renewPasswordMessages', [ | |
| 139 | + ['invalidpassword'], [] | |
| 140 | + ]); | |
| 141 | +            return new RedirectResponse($this->urlGenerator->linkToRoute('user_ldap.renewPassword.showRenewPasswordForm', $args)); | |
| 142 | + } | |
| 143 | 143 | |
| 144 | -		try { | |
| 145 | -			if (!is_null($newPassword) && \OC_User::setPassword($user, $newPassword)) { | |
| 146 | -				$this->session->set('loginMessages', [ | |
| 147 | -					[], [$this->l10n->t("Please login with the new password")] | |
| 148 | - ]); | |
| 149 | - $this->config->setUserValue($user, 'user_ldap', 'needsPasswordReset', 'false'); | |
| 150 | -				return new RedirectResponse($this->urlGenerator->linkToRoute('core.login.showLoginForm', $args)); | |
| 151 | -			} else { | |
| 152 | -				$this->session->set('renewPasswordMessages', [ | |
| 153 | - ['internalexception'], [] | |
| 154 | - ]); | |
| 155 | - } | |
| 156 | -		} catch (HintException $e) { | |
| 157 | -			$this->session->set('renewPasswordMessages', [ | |
| 158 | - [], [$e->getHint()] | |
| 159 | - ]); | |
| 160 | - } | |
| 144 | +        try { | |
| 145 | +            if (!is_null($newPassword) && \OC_User::setPassword($user, $newPassword)) { | |
| 146 | +                $this->session->set('loginMessages', [ | |
| 147 | +                    [], [$this->l10n->t("Please login with the new password")] | |
| 148 | + ]); | |
| 149 | + $this->config->setUserValue($user, 'user_ldap', 'needsPasswordReset', 'false'); | |
| 150 | +                return new RedirectResponse($this->urlGenerator->linkToRoute('core.login.showLoginForm', $args)); | |
| 151 | +            } else { | |
| 152 | +                $this->session->set('renewPasswordMessages', [ | |
| 153 | + ['internalexception'], [] | |
| 154 | + ]); | |
| 155 | + } | |
| 156 | +        } catch (HintException $e) { | |
| 157 | +            $this->session->set('renewPasswordMessages', [ | |
| 158 | + [], [$e->getHint()] | |
| 159 | + ]); | |
| 160 | + } | |
| 161 | 161 | |
| 162 | -		return new RedirectResponse($this->urlGenerator->linkToRoute('user_ldap.renewPassword.showRenewPasswordForm', $args)); | |
| 163 | - } | |
| 162 | +        return new RedirectResponse($this->urlGenerator->linkToRoute('user_ldap.renewPassword.showRenewPasswordForm', $args)); | |
| 163 | + } | |
| 164 | 164 | |
| 165 | - /** | |
| 166 | - * @PublicPage | |
| 167 | - * @NoCSRFRequired | |
| 168 | - * @UseSession | |
| 169 | - * | |
| 170 | - * @return RedirectResponse | |
| 171 | - */ | |
| 172 | -	public function showLoginFormInvalidPassword($user) { | |
| 173 | - $args = !is_null($user) ? ['user' => $user] : []; | |
| 174 | -		$this->session->set('loginMessages', [ | |
| 175 | - ['invalidpassword'], [] | |
| 176 | - ]); | |
| 177 | -		return new RedirectResponse($this->urlGenerator->linkToRoute('core.login.showLoginForm', $args)); | |
| 178 | - } | |
| 165 | + /** | |
| 166 | + * @PublicPage | |
| 167 | + * @NoCSRFRequired | |
| 168 | + * @UseSession | |
| 169 | + * | |
| 170 | + * @return RedirectResponse | |
| 171 | + */ | |
| 172 | +    public function showLoginFormInvalidPassword($user) { | |
| 173 | + $args = !is_null($user) ? ['user' => $user] : []; | |
| 174 | +        $this->session->set('loginMessages', [ | |
| 175 | + ['invalidpassword'], [] | |
| 176 | + ]); | |
| 177 | +        return new RedirectResponse($this->urlGenerator->linkToRoute('core.login.showLoginForm', $args)); | |
| 178 | + } | |
| 179 | 179 | |
| 180 | 180 | } | 
| @@ -26,7 +26,7 @@ discard block | ||
| 26 | 26 | $dir = '/'; | 
| 27 | 27 | |
| 28 | 28 |  if (isset($_GET['dir'])) { | 
| 29 | - $dir = (string)$_GET['dir']; | |
| 29 | + $dir = (string)$_GET['dir']; | |
| 30 | 30 | } | 
| 31 | 31 | |
| 32 | 32 | OCP\JSON::checkLoggedIn(); | 
| @@ -34,7 +34,7 @@ discard block | ||
| 34 | 34 | |
| 35 | 35 | // send back json | 
| 36 | 36 |  try { | 
| 37 | -	OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics($dir))); | |
| 37 | +    OCP\JSON::success(array('data' => \OCA\Files\Helper::buildFileStorageStatistics($dir))); | |
| 38 | 38 |  } catch (\OCP\Files\NotFoundException $e) { | 
| 39 | - OCP\JSON::error(['data' => ['message' => 'Folder not found']]); | |
| 39 | + OCP\JSON::error(['data' => ['message' => 'Folder not found']]); | |
| 40 | 40 | } | 
| @@ -32,129 +32,129 @@ | ||
| 32 | 32 | |
| 33 | 33 |  class Favorites implements IFilter { | 
| 34 | 34 | |
| 35 | - /** @var IL10N */ | |
| 36 | - protected $l; | |
| 37 | - | |
| 38 | - /** @var IURLGenerator */ | |
| 39 | - protected $url; | |
| 40 | - | |
| 41 | - /** @var IManager */ | |
| 42 | - protected $activityManager; | |
| 43 | - | |
| 44 | - /** @var Helper */ | |
| 45 | - protected $helper; | |
| 46 | - | |
| 47 | - /** @var IDBConnection */ | |
| 48 | - protected $db; | |
| 49 | - | |
| 50 | - /** | |
| 51 | - * @param IL10N $l | |
| 52 | - * @param IURLGenerator $url | |
| 53 | - * @param IManager $activityManager | |
| 54 | - * @param Helper $helper | |
| 55 | - * @param IDBConnection $db | |
| 56 | - */ | |
| 57 | -	public function __construct(IL10N $l, IURLGenerator $url, IManager $activityManager, Helper $helper, IDBConnection $db) { | |
| 58 | - $this->l = $l; | |
| 59 | - $this->url = $url; | |
| 60 | - $this->activityManager = $activityManager; | |
| 61 | - $this->helper = $helper; | |
| 62 | - $this->db = $db; | |
| 63 | - } | |
| 64 | - | |
| 65 | - /** | |
| 66 | - * @return string Lowercase a-z only identifier | |
| 67 | - * @since 11.0.0 | |
| 68 | - */ | |
| 69 | -	public function getIdentifier() { | |
| 70 | - return 'files_favorites'; | |
| 71 | - } | |
| 72 | - | |
| 73 | - /** | |
| 74 | - * @return string A translated string | |
| 75 | - * @since 11.0.0 | |
| 76 | - */ | |
| 77 | -	public function getName() { | |
| 78 | -		return $this->l->t('Favorites'); | |
| 79 | - } | |
| 80 | - | |
| 81 | - /** | |
| 82 | - * @return int | |
| 83 | - * @since 11.0.0 | |
| 84 | - */ | |
| 85 | -	public function getPriority() { | |
| 86 | - return 10; | |
| 87 | - } | |
| 88 | - | |
| 89 | - /** | |
| 90 | - * @return string Full URL to an icon, empty string when none is given | |
| 91 | - * @since 11.0.0 | |
| 92 | - */ | |
| 93 | -	public function getIcon() { | |
| 94 | -		return $this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/star-dark.svg')); | |
| 95 | - } | |
| 96 | - | |
| 97 | - /** | |
| 98 | - * @param string[] $types | |
| 99 | - * @return string[] An array of allowed apps from which activities should be displayed | |
| 100 | - * @since 11.0.0 | |
| 101 | - */ | |
| 102 | -	public function filterTypes(array $types) { | |
| 103 | - return array_intersect([ | |
| 104 | - 'file_created', | |
| 105 | - 'file_changed', | |
| 106 | - 'file_deleted', | |
| 107 | - 'file_restored', | |
| 108 | - ], $types); | |
| 109 | - } | |
| 110 | - | |
| 111 | - /** | |
| 112 | - * @return string[] An array of allowed apps from which activities should be displayed | |
| 113 | - * @since 11.0.0 | |
| 114 | - */ | |
| 115 | -	public function allowedApps() { | |
| 116 | - return ['files']; | |
| 117 | - } | |
| 118 | - | |
| 119 | - /** | |
| 120 | - * @param IQueryBuilder $query | |
| 121 | - */ | |
| 122 | -	public function filterFavorites(IQueryBuilder $query) { | |
| 123 | -		try { | |
| 124 | - $user = $this->activityManager->getCurrentUserId(); | |
| 125 | -		} catch (\UnexpectedValueException $e) { | |
| 126 | - return; | |
| 127 | - } | |
| 128 | - | |
| 129 | -		try { | |
| 130 | - $favorites = $this->helper->getFavoriteFilePaths($user); | |
| 131 | -		} catch (\RuntimeException $e) { | |
| 132 | - return; | |
| 133 | - } | |
| 134 | - | |
| 135 | - $limitations = []; | |
| 136 | -		if (!empty($favorites['items'])) { | |
| 137 | -			$limitations[] = $query->expr()->in('file', $query->createNamedParameter($favorites['items'], IQueryBuilder::PARAM_STR_ARRAY)); | |
| 138 | - } | |
| 139 | -		foreach ($favorites['folders'] as $favorite) { | |
| 140 | -			$limitations[] = $query->expr()->like('file', $query->createNamedParameter( | |
| 141 | - $this->db->escapeLikeParameter($favorite . '/') . '%' | |
| 142 | - )); | |
| 143 | - } | |
| 144 | - | |
| 145 | -		if (empty($limitations)) { | |
| 146 | - return; | |
| 147 | - } | |
| 148 | - | |
| 149 | -		$function = $query->createFunction(' | |
| 35 | + /** @var IL10N */ | |
| 36 | + protected $l; | |
| 37 | + | |
| 38 | + /** @var IURLGenerator */ | |
| 39 | + protected $url; | |
| 40 | + | |
| 41 | + /** @var IManager */ | |
| 42 | + protected $activityManager; | |
| 43 | + | |
| 44 | + /** @var Helper */ | |
| 45 | + protected $helper; | |
| 46 | + | |
| 47 | + /** @var IDBConnection */ | |
| 48 | + protected $db; | |
| 49 | + | |
| 50 | + /** | |
| 51 | + * @param IL10N $l | |
| 52 | + * @param IURLGenerator $url | |
| 53 | + * @param IManager $activityManager | |
| 54 | + * @param Helper $helper | |
| 55 | + * @param IDBConnection $db | |
| 56 | + */ | |
| 57 | +    public function __construct(IL10N $l, IURLGenerator $url, IManager $activityManager, Helper $helper, IDBConnection $db) { | |
| 58 | + $this->l = $l; | |
| 59 | + $this->url = $url; | |
| 60 | + $this->activityManager = $activityManager; | |
| 61 | + $this->helper = $helper; | |
| 62 | + $this->db = $db; | |
| 63 | + } | |
| 64 | + | |
| 65 | + /** | |
| 66 | + * @return string Lowercase a-z only identifier | |
| 67 | + * @since 11.0.0 | |
| 68 | + */ | |
| 69 | +    public function getIdentifier() { | |
| 70 | + return 'files_favorites'; | |
| 71 | + } | |
| 72 | + | |
| 73 | + /** | |
| 74 | + * @return string A translated string | |
| 75 | + * @since 11.0.0 | |
| 76 | + */ | |
| 77 | +    public function getName() { | |
| 78 | +        return $this->l->t('Favorites'); | |
| 79 | + } | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * @return int | |
| 83 | + * @since 11.0.0 | |
| 84 | + */ | |
| 85 | +    public function getPriority() { | |
| 86 | + return 10; | |
| 87 | + } | |
| 88 | + | |
| 89 | + /** | |
| 90 | + * @return string Full URL to an icon, empty string when none is given | |
| 91 | + * @since 11.0.0 | |
| 92 | + */ | |
| 93 | +    public function getIcon() { | |
| 94 | +        return $this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/star-dark.svg')); | |
| 95 | + } | |
| 96 | + | |
| 97 | + /** | |
| 98 | + * @param string[] $types | |
| 99 | + * @return string[] An array of allowed apps from which activities should be displayed | |
| 100 | + * @since 11.0.0 | |
| 101 | + */ | |
| 102 | +    public function filterTypes(array $types) { | |
| 103 | + return array_intersect([ | |
| 104 | + 'file_created', | |
| 105 | + 'file_changed', | |
| 106 | + 'file_deleted', | |
| 107 | + 'file_restored', | |
| 108 | + ], $types); | |
| 109 | + } | |
| 110 | + | |
| 111 | + /** | |
| 112 | + * @return string[] An array of allowed apps from which activities should be displayed | |
| 113 | + * @since 11.0.0 | |
| 114 | + */ | |
| 115 | +    public function allowedApps() { | |
| 116 | + return ['files']; | |
| 117 | + } | |
| 118 | + | |
| 119 | + /** | |
| 120 | + * @param IQueryBuilder $query | |
| 121 | + */ | |
| 122 | +    public function filterFavorites(IQueryBuilder $query) { | |
| 123 | +        try { | |
| 124 | + $user = $this->activityManager->getCurrentUserId(); | |
| 125 | +        } catch (\UnexpectedValueException $e) { | |
| 126 | + return; | |
| 127 | + } | |
| 128 | + | |
| 129 | +        try { | |
| 130 | + $favorites = $this->helper->getFavoriteFilePaths($user); | |
| 131 | +        } catch (\RuntimeException $e) { | |
| 132 | + return; | |
| 133 | + } | |
| 134 | + | |
| 135 | + $limitations = []; | |
| 136 | +        if (!empty($favorites['items'])) { | |
| 137 | +            $limitations[] = $query->expr()->in('file', $query->createNamedParameter($favorites['items'], IQueryBuilder::PARAM_STR_ARRAY)); | |
| 138 | + } | |
| 139 | +        foreach ($favorites['folders'] as $favorite) { | |
| 140 | +            $limitations[] = $query->expr()->like('file', $query->createNamedParameter( | |
| 141 | + $this->db->escapeLikeParameter($favorite . '/') . '%' | |
| 142 | + )); | |
| 143 | + } | |
| 144 | + | |
| 145 | +        if (empty($limitations)) { | |
| 146 | + return; | |
| 147 | + } | |
| 148 | + | |
| 149 | +        $function = $query->createFunction(' | |
| 150 | 150 | CASE | 
| 151 | 151 |  				WHEN ' . $query->getColumnName('app') . ' <> ' . $query->createNamedParameter('files') . ' THEN 1 | 
| 152 | 152 |  				WHEN ' . $query->getColumnName('app') . ' = ' . $query->createNamedParameter('files') . ' | 
| 153 | 153 |  					AND (' . implode(' OR ', $limitations) . ') | 
| 154 | 154 | THEN 1 | 
| 155 | 155 | END = 1' | 
| 156 | - ); | |
| 156 | + ); | |
| 157 | 157 | |
| 158 | - $query->andWhere($function); | |
| 159 | - } | |
| 158 | + $query->andWhere($function); | |
| 159 | + } | |
| 160 | 160 | } | 
| @@ -28,72 +28,72 @@ | ||
| 28 | 28 | |
| 29 | 29 |  class FileChanges implements IFilter { | 
| 30 | 30 | |
| 31 | - /** @var IL10N */ | |
| 32 | - protected $l; | |
| 31 | + /** @var IL10N */ | |
| 32 | + protected $l; | |
| 33 | 33 | |
| 34 | - /** @var IURLGenerator */ | |
| 35 | - protected $url; | |
| 34 | + /** @var IURLGenerator */ | |
| 35 | + protected $url; | |
| 36 | 36 | |
| 37 | - /** | |
| 38 | - * @param IL10N $l | |
| 39 | - * @param IURLGenerator $url | |
| 40 | - */ | |
| 41 | -	public function __construct(IL10N $l, IURLGenerator $url) { | |
| 42 | - $this->l = $l; | |
| 43 | - $this->url = $url; | |
| 44 | - } | |
| 37 | + /** | |
| 38 | + * @param IL10N $l | |
| 39 | + * @param IURLGenerator $url | |
| 40 | + */ | |
| 41 | +    public function __construct(IL10N $l, IURLGenerator $url) { | |
| 42 | + $this->l = $l; | |
| 43 | + $this->url = $url; | |
| 44 | + } | |
| 45 | 45 | |
| 46 | - /** | |
| 47 | - * @return string Lowercase a-z only identifier | |
| 48 | - * @since 11.0.0 | |
| 49 | - */ | |
| 50 | -	public function getIdentifier() { | |
| 51 | - return 'files'; | |
| 52 | - } | |
| 46 | + /** | |
| 47 | + * @return string Lowercase a-z only identifier | |
| 48 | + * @since 11.0.0 | |
| 49 | + */ | |
| 50 | +    public function getIdentifier() { | |
| 51 | + return 'files'; | |
| 52 | + } | |
| 53 | 53 | |
| 54 | - /** | |
| 55 | - * @return string A translated string | |
| 56 | - * @since 11.0.0 | |
| 57 | - */ | |
| 58 | -	public function getName() { | |
| 59 | -		return $this->l->t('File changes'); | |
| 60 | - } | |
| 54 | + /** | |
| 55 | + * @return string A translated string | |
| 56 | + * @since 11.0.0 | |
| 57 | + */ | |
| 58 | +    public function getName() { | |
| 59 | +        return $this->l->t('File changes'); | |
| 60 | + } | |
| 61 | 61 | |
| 62 | - /** | |
| 63 | - * @return int | |
| 64 | - * @since 11.0.0 | |
| 65 | - */ | |
| 66 | -	public function getPriority() { | |
| 67 | - return 30; | |
| 68 | - } | |
| 62 | + /** | |
| 63 | + * @return int | |
| 64 | + * @since 11.0.0 | |
| 65 | + */ | |
| 66 | +    public function getPriority() { | |
| 67 | + return 30; | |
| 68 | + } | |
| 69 | 69 | |
| 70 | - /** | |
| 71 | - * @return string Full URL to an icon, empty string when none is given | |
| 72 | - * @since 11.0.0 | |
| 73 | - */ | |
| 74 | -	public function getIcon() { | |
| 75 | -		return $this->url->getAbsoluteURL($this->url->imagePath('core', 'places/files-dark.svg')); | |
| 76 | - } | |
| 70 | + /** | |
| 71 | + * @return string Full URL to an icon, empty string when none is given | |
| 72 | + * @since 11.0.0 | |
| 73 | + */ | |
| 74 | +    public function getIcon() { | |
| 75 | +        return $this->url->getAbsoluteURL($this->url->imagePath('core', 'places/files-dark.svg')); | |
| 76 | + } | |
| 77 | 77 | |
| 78 | - /** | |
| 79 | - * @param string[] $types | |
| 80 | - * @return string[] An array of allowed apps from which activities should be displayed | |
| 81 | - * @since 11.0.0 | |
| 82 | - */ | |
| 83 | -	public function filterTypes(array $types) { | |
| 84 | - return array_intersect([ | |
| 85 | - 'file_created', | |
| 86 | - 'file_changed', | |
| 87 | - 'file_deleted', | |
| 88 | - 'file_restored', | |
| 89 | - ], $types); | |
| 90 | - } | |
| 78 | + /** | |
| 79 | + * @param string[] $types | |
| 80 | + * @return string[] An array of allowed apps from which activities should be displayed | |
| 81 | + * @since 11.0.0 | |
| 82 | + */ | |
| 83 | +    public function filterTypes(array $types) { | |
| 84 | + return array_intersect([ | |
| 85 | + 'file_created', | |
| 86 | + 'file_changed', | |
| 87 | + 'file_deleted', | |
| 88 | + 'file_restored', | |
| 89 | + ], $types); | |
| 90 | + } | |
| 91 | 91 | |
| 92 | - /** | |
| 93 | - * @return string[] An array of allowed apps from which activities should be displayed | |
| 94 | - * @since 11.0.0 | |
| 95 | - */ | |
| 96 | -	public function allowedApps() { | |
| 97 | - return ['files']; | |
| 98 | - } | |
| 92 | + /** | |
| 93 | + * @return string[] An array of allowed apps from which activities should be displayed | |
| 94 | + * @since 11.0.0 | |
| 95 | + */ | |
| 96 | +    public function allowedApps() { | |
| 97 | + return ['files']; | |
| 98 | + } | |
| 99 | 99 | } | 
| @@ -26,60 +26,60 @@ | ||
| 26 | 26 | use OCP\ITagManager; | 
| 27 | 27 | |
| 28 | 28 |  class Helper { | 
| 29 | - /** If a user has a lot of favorites the query might get too slow and long */ | |
| 30 | - const FAVORITE_LIMIT = 50; | |
| 29 | + /** If a user has a lot of favorites the query might get too slow and long */ | |
| 30 | + const FAVORITE_LIMIT = 50; | |
| 31 | 31 | |
| 32 | - /** @var ITagManager */ | |
| 33 | - protected $tagManager; | |
| 32 | + /** @var ITagManager */ | |
| 33 | + protected $tagManager; | |
| 34 | 34 | |
| 35 | - /** | |
| 36 | - * @param ITagManager $tagManager | |
| 37 | - */ | |
| 38 | -	public function __construct(ITagManager $tagManager) { | |
| 39 | - $this->tagManager = $tagManager; | |
| 40 | - } | |
| 35 | + /** | |
| 36 | + * @param ITagManager $tagManager | |
| 37 | + */ | |
| 38 | +    public function __construct(ITagManager $tagManager) { | |
| 39 | + $this->tagManager = $tagManager; | |
| 40 | + } | |
| 41 | 41 | |
| 42 | - /** | |
| 43 | - * Returns an array with the favorites | |
| 44 | - * | |
| 45 | - * @param string $user | |
| 46 | - * @return array | |
| 47 | - * @throws \RuntimeException when too many or no favorites where found | |
| 48 | - */ | |
| 49 | -	public function getFavoriteFilePaths($user) { | |
| 50 | -		$tags = $this->tagManager->load('files', [], false, $user); | |
| 51 | - $favorites = $tags->getFavorites(); | |
| 42 | + /** | |
| 43 | + * Returns an array with the favorites | |
| 44 | + * | |
| 45 | + * @param string $user | |
| 46 | + * @return array | |
| 47 | + * @throws \RuntimeException when too many or no favorites where found | |
| 48 | + */ | |
| 49 | +    public function getFavoriteFilePaths($user) { | |
| 50 | +        $tags = $this->tagManager->load('files', [], false, $user); | |
| 51 | + $favorites = $tags->getFavorites(); | |
| 52 | 52 | |
| 53 | -		if (empty($favorites)) { | |
| 54 | -			throw new \RuntimeException('No favorites', 1); | |
| 55 | -		} else if (isset($favorites[self::FAVORITE_LIMIT])) { | |
| 56 | -			throw new \RuntimeException('Too many favorites', 2); | |
| 57 | - } | |
| 53 | +        if (empty($favorites)) { | |
| 54 | +            throw new \RuntimeException('No favorites', 1); | |
| 55 | +        } else if (isset($favorites[self::FAVORITE_LIMIT])) { | |
| 56 | +            throw new \RuntimeException('Too many favorites', 2); | |
| 57 | + } | |
| 58 | 58 | |
| 59 | - // Can not DI because the user is not known on instantiation | |
| 60 | - $rootFolder = \OC::$server->getUserFolder($user); | |
| 61 | - $folders = $items = []; | |
| 62 | -		foreach ($favorites as $favorite) { | |
| 63 | - $nodes = $rootFolder->getById($favorite); | |
| 64 | -			if (!empty($nodes)) { | |
| 65 | - /** @var \OCP\Files\Node $node */ | |
| 66 | - $node = array_shift($nodes); | |
| 67 | - $path = substr($node->getPath(), strlen($user . '/files/')); | |
| 59 | + // Can not DI because the user is not known on instantiation | |
| 60 | + $rootFolder = \OC::$server->getUserFolder($user); | |
| 61 | + $folders = $items = []; | |
| 62 | +        foreach ($favorites as $favorite) { | |
| 63 | + $nodes = $rootFolder->getById($favorite); | |
| 64 | +            if (!empty($nodes)) { | |
| 65 | + /** @var \OCP\Files\Node $node */ | |
| 66 | + $node = array_shift($nodes); | |
| 67 | + $path = substr($node->getPath(), strlen($user . '/files/')); | |
| 68 | 68 | |
| 69 | - $items[] = $path; | |
| 70 | -				if ($node instanceof Folder) { | |
| 71 | - $folders[] = $path; | |
| 72 | - } | |
| 73 | - } | |
| 74 | - } | |
| 69 | + $items[] = $path; | |
| 70 | +                if ($node instanceof Folder) { | |
| 71 | + $folders[] = $path; | |
| 72 | + } | |
| 73 | + } | |
| 74 | + } | |
| 75 | 75 | |
| 76 | -		if (empty($items)) { | |
| 77 | -			throw new \RuntimeException('No favorites', 1); | |
| 78 | - } | |
| 76 | +        if (empty($items)) { | |
| 77 | +            throw new \RuntimeException('No favorites', 1); | |
| 78 | + } | |
| 79 | 79 | |
| 80 | - return [ | |
| 81 | - 'items' => $items, | |
| 82 | - 'folders' => $folders, | |
| 83 | - ]; | |
| 84 | - } | |
| 80 | + return [ | |
| 81 | + 'items' => $items, | |
| 82 | + 'folders' => $folders, | |
| 83 | + ]; | |
| 84 | + } | |
| 85 | 85 | } | 
| @@ -27,72 +27,72 @@ | ||
| 27 | 27 | |
| 28 | 28 |  class FileChanged implements ISetting { | 
| 29 | 29 | |
| 30 | - /** @var IL10N */ | |
| 31 | - protected $l; | |
| 30 | + /** @var IL10N */ | |
| 31 | + protected $l; | |
| 32 | 32 | |
| 33 | - /** | |
| 34 | - * @param IL10N $l | |
| 35 | - */ | |
| 36 | -	public function __construct(IL10N $l) { | |
| 37 | - $this->l = $l; | |
| 38 | - } | |
| 33 | + /** | |
| 34 | + * @param IL10N $l | |
| 35 | + */ | |
| 36 | +    public function __construct(IL10N $l) { | |
| 37 | + $this->l = $l; | |
| 38 | + } | |
| 39 | 39 | |
| 40 | - /** | |
| 41 | - * @return string Lowercase a-z and underscore only identifier | |
| 42 | - * @since 11.0.0 | |
| 43 | - */ | |
| 44 | -	public function getIdentifier() { | |
| 45 | - return 'file_changed'; | |
| 46 | - } | |
| 40 | + /** | |
| 41 | + * @return string Lowercase a-z and underscore only identifier | |
| 42 | + * @since 11.0.0 | |
| 43 | + */ | |
| 44 | +    public function getIdentifier() { | |
| 45 | + return 'file_changed'; | |
| 46 | + } | |
| 47 | 47 | |
| 48 | - /** | |
| 49 | - * @return string A translated string | |
| 50 | - * @since 11.0.0 | |
| 51 | - */ | |
| 52 | -	public function getName() { | |
| 53 | -		return $this->l->t('A file or folder has been <strong>changed</strong> or <strong>renamed</strong>'); | |
| 54 | - } | |
| 48 | + /** | |
| 49 | + * @return string A translated string | |
| 50 | + * @since 11.0.0 | |
| 51 | + */ | |
| 52 | +    public function getName() { | |
| 53 | +        return $this->l->t('A file or folder has been <strong>changed</strong> or <strong>renamed</strong>'); | |
| 54 | + } | |
| 55 | 55 | |
| 56 | - /** | |
| 57 | - * @return int whether the filter should be rather on the top or bottom of | |
| 58 | - * the admin section. The filters are arranged in ascending order of the | |
| 59 | - * priority values. It is required to return a value between 0 and 100. | |
| 60 | - * @since 11.0.0 | |
| 61 | - */ | |
| 62 | -	public function getPriority() { | |
| 63 | - return 1; | |
| 64 | - } | |
| 56 | + /** | |
| 57 | + * @return int whether the filter should be rather on the top or bottom of | |
| 58 | + * the admin section. The filters are arranged in ascending order of the | |
| 59 | + * priority values. It is required to return a value between 0 and 100. | |
| 60 | + * @since 11.0.0 | |
| 61 | + */ | |
| 62 | +    public function getPriority() { | |
| 63 | + return 1; | |
| 64 | + } | |
| 65 | 65 | |
| 66 | - /** | |
| 67 | - * @return bool True when the option can be changed for the stream | |
| 68 | - * @since 11.0.0 | |
| 69 | - */ | |
| 70 | -	public function canChangeStream() { | |
| 71 | - return true; | |
| 72 | - } | |
| 66 | + /** | |
| 67 | + * @return bool True when the option can be changed for the stream | |
| 68 | + * @since 11.0.0 | |
| 69 | + */ | |
| 70 | +    public function canChangeStream() { | |
| 71 | + return true; | |
| 72 | + } | |
| 73 | 73 | |
| 74 | - /** | |
| 75 | - * @return bool True when the option can be changed for the stream | |
| 76 | - * @since 11.0.0 | |
| 77 | - */ | |
| 78 | -	public function isDefaultEnabledStream() { | |
| 79 | - return true; | |
| 80 | - } | |
| 74 | + /** | |
| 75 | + * @return bool True when the option can be changed for the stream | |
| 76 | + * @since 11.0.0 | |
| 77 | + */ | |
| 78 | +    public function isDefaultEnabledStream() { | |
| 79 | + return true; | |
| 80 | + } | |
| 81 | 81 | |
| 82 | - /** | |
| 83 | - * @return bool True when the option can be changed for the mail | |
| 84 | - * @since 11.0.0 | |
| 85 | - */ | |
| 86 | -	public function canChangeMail() { | |
| 87 | - return true; | |
| 88 | - } | |
| 82 | + /** | |
| 83 | + * @return bool True when the option can be changed for the mail | |
| 84 | + * @since 11.0.0 | |
| 85 | + */ | |
| 86 | +    public function canChangeMail() { | |
| 87 | + return true; | |
| 88 | + } | |
| 89 | 89 | |
| 90 | - /** | |
| 91 | - * @return bool True when the option can be changed for the stream | |
| 92 | - * @since 11.0.0 | |
| 93 | - */ | |
| 94 | -	public function isDefaultEnabledMail() { | |
| 95 | - return false; | |
| 96 | - } | |
| 90 | + /** | |
| 91 | + * @return bool True when the option can be changed for the stream | |
| 92 | + * @since 11.0.0 | |
| 93 | + */ | |
| 94 | +    public function isDefaultEnabledMail() { | |
| 95 | + return false; | |
| 96 | + } | |
| 97 | 97 | } | 
| 98 | 98 | |
| @@ -27,72 +27,72 @@ | ||
| 27 | 27 | |
| 28 | 28 |  class FileCreated implements ISetting { | 
| 29 | 29 | |
| 30 | - /** @var IL10N */ | |
| 31 | - protected $l; | |
| 30 | + /** @var IL10N */ | |
| 31 | + protected $l; | |
| 32 | 32 | |
| 33 | - /** | |
| 34 | - * @param IL10N $l | |
| 35 | - */ | |
| 36 | -	public function __construct(IL10N $l) { | |
| 37 | - $this->l = $l; | |
| 38 | - } | |
| 33 | + /** | |
| 34 | + * @param IL10N $l | |
| 35 | + */ | |
| 36 | +    public function __construct(IL10N $l) { | |
| 37 | + $this->l = $l; | |
| 38 | + } | |
| 39 | 39 | |
| 40 | - /** | |
| 41 | - * @return string Lowercase a-z and underscore only identifier | |
| 42 | - * @since 11.0.0 | |
| 43 | - */ | |
| 44 | -	public function getIdentifier() { | |
| 45 | - return 'file_created'; | |
| 46 | - } | |
| 40 | + /** | |
| 41 | + * @return string Lowercase a-z and underscore only identifier | |
| 42 | + * @since 11.0.0 | |
| 43 | + */ | |
| 44 | +    public function getIdentifier() { | |
| 45 | + return 'file_created'; | |
| 46 | + } | |
| 47 | 47 | |
| 48 | - /** | |
| 49 | - * @return string A translated string | |
| 50 | - * @since 11.0.0 | |
| 51 | - */ | |
| 52 | -	public function getName() { | |
| 53 | -		return $this->l->t('A new file or folder has been <strong>created</strong>'); | |
| 54 | - } | |
| 48 | + /** | |
| 49 | + * @return string A translated string | |
| 50 | + * @since 11.0.0 | |
| 51 | + */ | |
| 52 | +    public function getName() { | |
| 53 | +        return $this->l->t('A new file or folder has been <strong>created</strong>'); | |
| 54 | + } | |
| 55 | 55 | |
| 56 | - /** | |
| 57 | - * @return int whether the filter should be rather on the top or bottom of | |
| 58 | - * the admin section. The filters are arranged in ascending order of the | |
| 59 | - * priority values. It is required to return a value between 0 and 100. | |
| 60 | - * @since 11.0.0 | |
| 61 | - */ | |
| 62 | -	public function getPriority() { | |
| 63 | - return 0; | |
| 64 | - } | |
| 56 | + /** | |
| 57 | + * @return int whether the filter should be rather on the top or bottom of | |
| 58 | + * the admin section. The filters are arranged in ascending order of the | |
| 59 | + * priority values. It is required to return a value between 0 and 100. | |
| 60 | + * @since 11.0.0 | |
| 61 | + */ | |
| 62 | +    public function getPriority() { | |
| 63 | + return 0; | |
| 64 | + } | |
| 65 | 65 | |
| 66 | - /** | |
| 67 | - * @return bool True when the option can be changed for the stream | |
| 68 | - * @since 11.0.0 | |
| 69 | - */ | |
| 70 | -	public function canChangeStream() { | |
| 71 | - return true; | |
| 72 | - } | |
| 66 | + /** | |
| 67 | + * @return bool True when the option can be changed for the stream | |
| 68 | + * @since 11.0.0 | |
| 69 | + */ | |
| 70 | +    public function canChangeStream() { | |
| 71 | + return true; | |
| 72 | + } | |
| 73 | 73 | |
| 74 | - /** | |
| 75 | - * @return bool True when the option can be changed for the stream | |
| 76 | - * @since 11.0.0 | |
| 77 | - */ | |
| 78 | -	public function isDefaultEnabledStream() { | |
| 79 | - return true; | |
| 80 | - } | |
| 74 | + /** | |
| 75 | + * @return bool True when the option can be changed for the stream | |
| 76 | + * @since 11.0.0 | |
| 77 | + */ | |
| 78 | +    public function isDefaultEnabledStream() { | |
| 79 | + return true; | |
| 80 | + } | |
| 81 | 81 | |
| 82 | - /** | |
| 83 | - * @return bool True when the option can be changed for the mail | |
| 84 | - * @since 11.0.0 | |
| 85 | - */ | |
| 86 | -	public function canChangeMail() { | |
| 87 | - return true; | |
| 88 | - } | |
| 82 | + /** | |
| 83 | + * @return bool True when the option can be changed for the mail | |
| 84 | + * @since 11.0.0 | |
| 85 | + */ | |
| 86 | +    public function canChangeMail() { | |
| 87 | + return true; | |
| 88 | + } | |
| 89 | 89 | |
| 90 | - /** | |
| 91 | - * @return bool True when the option can be changed for the stream | |
| 92 | - * @since 11.0.0 | |
| 93 | - */ | |
| 94 | -	public function isDefaultEnabledMail() { | |
| 95 | - return false; | |
| 96 | - } | |
| 90 | + /** | |
| 91 | + * @return bool True when the option can be changed for the stream | |
| 92 | + * @since 11.0.0 | |
| 93 | + */ | |
| 94 | +    public function isDefaultEnabledMail() { | |
| 95 | + return false; | |
| 96 | + } | |
| 97 | 97 | } | 
| 98 | 98 | |
| @@ -27,72 +27,72 @@ | ||
| 27 | 27 | |
| 28 | 28 |  class FavoriteAction implements ISetting { | 
| 29 | 29 | |
| 30 | - /** @var IL10N */ | |
| 31 | - protected $l; | |
| 30 | + /** @var IL10N */ | |
| 31 | + protected $l; | |
| 32 | 32 | |
| 33 | - /** | |
| 34 | - * @param IL10N $l | |
| 35 | - */ | |
| 36 | -	public function __construct(IL10N $l) { | |
| 37 | - $this->l = $l; | |
| 38 | - } | |
| 33 | + /** | |
| 34 | + * @param IL10N $l | |
| 35 | + */ | |
| 36 | +    public function __construct(IL10N $l) { | |
| 37 | + $this->l = $l; | |
| 38 | + } | |
| 39 | 39 | |
| 40 | - /** | |
| 41 | - * @return string Lowercase a-z and underscore only identifier | |
| 42 | - * @since 11.0.0 | |
| 43 | - */ | |
| 44 | -	public function getIdentifier() { | |
| 45 | - return 'favorite'; | |
| 46 | - } | |
| 40 | + /** | |
| 41 | + * @return string Lowercase a-z and underscore only identifier | |
| 42 | + * @since 11.0.0 | |
| 43 | + */ | |
| 44 | +    public function getIdentifier() { | |
| 45 | + return 'favorite'; | |
| 46 | + } | |
| 47 | 47 | |
| 48 | - /** | |
| 49 | - * @return string A translated string | |
| 50 | - * @since 11.0.0 | |
| 51 | - */ | |
| 52 | -	public function getName() { | |
| 53 | -		return $this->l->t('A file has been added to or removed from your <strong>favorites</strong>'); | |
| 54 | - } | |
| 48 | + /** | |
| 49 | + * @return string A translated string | |
| 50 | + * @since 11.0.0 | |
| 51 | + */ | |
| 52 | +    public function getName() { | |
| 53 | +        return $this->l->t('A file has been added to or removed from your <strong>favorites</strong>'); | |
| 54 | + } | |
| 55 | 55 | |
| 56 | - /** | |
| 57 | - * @return int whether the filter should be rather on the top or bottom of | |
| 58 | - * the admin section. The filters are arranged in ascending order of the | |
| 59 | - * priority values. It is required to return a value between 0 and 100. | |
| 60 | - * @since 11.0.0 | |
| 61 | - */ | |
| 62 | -	public function getPriority() { | |
| 63 | - return 5; | |
| 64 | - } | |
| 56 | + /** | |
| 57 | + * @return int whether the filter should be rather on the top or bottom of | |
| 58 | + * the admin section. The filters are arranged in ascending order of the | |
| 59 | + * priority values. It is required to return a value between 0 and 100. | |
| 60 | + * @since 11.0.0 | |
| 61 | + */ | |
| 62 | +    public function getPriority() { | |
| 63 | + return 5; | |
| 64 | + } | |
| 65 | 65 | |
| 66 | - /** | |
| 67 | - * @return bool True when the option can be changed for the stream | |
| 68 | - * @since 11.0.0 | |
| 69 | - */ | |
| 70 | -	public function canChangeStream() { | |
| 71 | - return true; | |
| 72 | - } | |
| 66 | + /** | |
| 67 | + * @return bool True when the option can be changed for the stream | |
| 68 | + * @since 11.0.0 | |
| 69 | + */ | |
| 70 | +    public function canChangeStream() { | |
| 71 | + return true; | |
| 72 | + } | |
| 73 | 73 | |
| 74 | - /** | |
| 75 | - * @return bool True when the option can be changed for the stream | |
| 76 | - * @since 11.0.0 | |
| 77 | - */ | |
| 78 | -	public function isDefaultEnabledStream() { | |
| 79 | - return true; | |
| 80 | - } | |
| 74 | + /** | |
| 75 | + * @return bool True when the option can be changed for the stream | |
| 76 | + * @since 11.0.0 | |
| 77 | + */ | |
| 78 | +    public function isDefaultEnabledStream() { | |
| 79 | + return true; | |
| 80 | + } | |
| 81 | 81 | |
| 82 | - /** | |
| 83 | - * @return bool True when the option can be changed for the mail | |
| 84 | - * @since 11.0.0 | |
| 85 | - */ | |
| 86 | -	public function canChangeMail() { | |
| 87 | - return true; | |
| 88 | - } | |
| 82 | + /** | |
| 83 | + * @return bool True when the option can be changed for the mail | |
| 84 | + * @since 11.0.0 | |
| 85 | + */ | |
| 86 | +    public function canChangeMail() { | |
| 87 | + return true; | |
| 88 | + } | |
| 89 | 89 | |
| 90 | - /** | |
| 91 | - * @return bool True when the option can be changed for the stream | |
| 92 | - * @since 11.0.0 | |
| 93 | - */ | |
| 94 | -	public function isDefaultEnabledMail() { | |
| 95 | - return false; | |
| 96 | - } | |
| 90 | + /** | |
| 91 | + * @return bool True when the option can be changed for the stream | |
| 92 | + * @since 11.0.0 | |
| 93 | + */ | |
| 94 | +    public function isDefaultEnabledMail() { | |
| 95 | + return false; | |
| 96 | + } | |
| 97 | 97 | } | 
| 98 | 98 | |
| @@ -27,72 +27,72 @@ | ||
| 27 | 27 | |
| 28 | 28 |  class FileFavorite implements ISetting { | 
| 29 | 29 | |
| 30 | - /** @var IL10N */ | |
| 31 | - protected $l; | |
| 30 | + /** @var IL10N */ | |
| 31 | + protected $l; | |
| 32 | 32 | |
| 33 | - /** | |
| 34 | - * @param IL10N $l | |
| 35 | - */ | |
| 36 | -	public function __construct(IL10N $l) { | |
| 37 | - $this->l = $l; | |
| 38 | - } | |
| 33 | + /** | |
| 34 | + * @param IL10N $l | |
| 35 | + */ | |
| 36 | +    public function __construct(IL10N $l) { | |
| 37 | + $this->l = $l; | |
| 38 | + } | |
| 39 | 39 | |
| 40 | - /** | |
| 41 | - * @return string Lowercase a-z and underscore only identifier | |
| 42 | - * @since 11.0.0 | |
| 43 | - */ | |
| 44 | -	public function getIdentifier() { | |
| 45 | - return 'file_favorite'; | |
| 46 | - } | |
| 40 | + /** | |
| 41 | + * @return string Lowercase a-z and underscore only identifier | |
| 42 | + * @since 11.0.0 | |
| 43 | + */ | |
| 44 | +    public function getIdentifier() { | |
| 45 | + return 'file_favorite'; | |
| 46 | + } | |
| 47 | 47 | |
| 48 | - /** | |
| 49 | - * @return string A translated string | |
| 50 | - * @since 11.0.0 | |
| 51 | - */ | |
| 52 | -	public function getName() { | |
| 53 | -		return $this->l->t('Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>'); | |
| 54 | - } | |
| 48 | + /** | |
| 49 | + * @return string A translated string | |
| 50 | + * @since 11.0.0 | |
| 51 | + */ | |
| 52 | +    public function getName() { | |
| 53 | +        return $this->l->t('Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>'); | |
| 54 | + } | |
| 55 | 55 | |
| 56 | - /** | |
| 57 | - * @return int whether the filter should be rather on the top or bottom of | |
| 58 | - * the admin section. The filters are arranged in ascending order of the | |
| 59 | - * priority values. It is required to return a value between 0 and 100. | |
| 60 | - * @since 11.0.0 | |
| 61 | - */ | |
| 62 | -	public function getPriority() { | |
| 63 | - return 2; | |
| 64 | - } | |
| 56 | + /** | |
| 57 | + * @return int whether the filter should be rather on the top or bottom of | |
| 58 | + * the admin section. The filters are arranged in ascending order of the | |
| 59 | + * priority values. It is required to return a value between 0 and 100. | |
| 60 | + * @since 11.0.0 | |
| 61 | + */ | |
| 62 | +    public function getPriority() { | |
| 63 | + return 2; | |
| 64 | + } | |
| 65 | 65 | |
| 66 | - /** | |
| 67 | - * @return bool True when the option can be changed for the stream | |
| 68 | - * @since 11.0.0 | |
| 69 | - */ | |
| 70 | -	public function canChangeStream() { | |
| 71 | - return true; | |
| 72 | - } | |
| 66 | + /** | |
| 67 | + * @return bool True when the option can be changed for the stream | |
| 68 | + * @since 11.0.0 | |
| 69 | + */ | |
| 70 | +    public function canChangeStream() { | |
| 71 | + return true; | |
| 72 | + } | |
| 73 | 73 | |
| 74 | - /** | |
| 75 | - * @return bool True when the option can be changed for the stream | |
| 76 | - * @since 11.0.0 | |
| 77 | - */ | |
| 78 | -	public function isDefaultEnabledStream() { | |
| 79 | - return false; | |
| 80 | - } | |
| 74 | + /** | |
| 75 | + * @return bool True when the option can be changed for the stream | |
| 76 | + * @since 11.0.0 | |
| 77 | + */ | |
| 78 | +    public function isDefaultEnabledStream() { | |
| 79 | + return false; | |
| 80 | + } | |
| 81 | 81 | |
| 82 | - /** | |
| 83 | - * @return bool True when the option can be changed for the mail | |
| 84 | - * @since 11.0.0 | |
| 85 | - */ | |
| 86 | -	public function canChangeMail() { | |
| 87 | - return false; | |
| 88 | - } | |
| 82 | + /** | |
| 83 | + * @return bool True when the option can be changed for the mail | |
| 84 | + * @since 11.0.0 | |
| 85 | + */ | |
| 86 | +    public function canChangeMail() { | |
| 87 | + return false; | |
| 88 | + } | |
| 89 | 89 | |
| 90 | - /** | |
| 91 | - * @return bool True when the option can be changed for the stream | |
| 92 | - * @since 11.0.0 | |
| 93 | - */ | |
| 94 | -	public function isDefaultEnabledMail() { | |
| 95 | - return false; | |
| 96 | - } | |
| 90 | + /** | |
| 91 | + * @return bool True when the option can be changed for the stream | |
| 92 | + * @since 11.0.0 | |
| 93 | + */ | |
| 94 | +    public function isDefaultEnabledMail() { | |
| 95 | + return false; | |
| 96 | + } | |
| 97 | 97 | } | 
| 98 | 98 | |