diff --git a/apps/files_encryption/appinfo/info.xml b/apps/files_encryption/appinfo/info.xml index 46f1375c9875a41bc558a29e49db1db619d93b8e..9d495916d26495482312b6838e70e5e1772ea9ec 100644 --- a/apps/files_encryption/appinfo/info.xml +++ b/apps/files_encryption/appinfo/info.xml @@ -7,6 +7,7 @@ <author>Sam Tuke, Bjoern Schiessle, Florin Peter</author> <require>4</require> <shipped>true</shipped> + <rememberlogin>false</rememberlogin> <types> <filesystem/> </types> diff --git a/core/templates/login.php b/core/templates/login.php index ee761f0aa523d5378f8a345379613af19fe90a46..06f64d41e39e24e5efd9490eef5215b664f17cc9 100644 --- a/core/templates/login.php +++ b/core/templates/login.php @@ -32,9 +32,10 @@ <?php p($l->t('Lost your password?')); ?> </a> <?php endif; ?> - + <?php if ($_['rememberLoginAllowed'] === true) : ?> <input type="checkbox" name="remember_login" value="1" id="remember_login" checked /> <label for="remember_login"><?php p($l->t('remember')); ?></label> + <?php endif; ?> <input type="hidden" name="timezone-offset" id="timezone-offset"/> <input type="submit" id="submit" class="login primary" value="<?php p($l->t('Log in')); ?>"/> </fieldset> diff --git a/lib/base.php b/lib/base.php index 7e237c35d279b318d8b362da53ef8bd907b94542..42182c21fb04950ee7bc8a29e8728c30edb9bb38 100644 --- a/lib/base.php +++ b/lib/base.php @@ -770,6 +770,7 @@ class OC { || !isset($_COOKIE["oc_token"]) || !isset($_COOKIE["oc_username"]) || !$_COOKIE["oc_remember_login"] + || !OC_Util::rememberLoginAllowed() ) { return false; } diff --git a/lib/private/util.php b/lib/private/util.php index 6be56d07c9a3a1923ac5cffec3cf147ced174cd0..1fb867d3ac852ba1f62c73f0c0320fd6876da56d 100755 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -471,6 +471,7 @@ class OC_Util { } $parameters['alt_login'] = OC_App::getAlternativeLogIns(); + $parameters['rememberLoginAllowed'] = self::rememberLoginAllowed(); OC_Template::printGuestPage("", "login", $parameters); } @@ -512,6 +513,27 @@ class OC_Util { } } + /** + * Check if it is allowed to remember login. + * + * @note Every app can set 'rememberlogin' to 'false' to disable the remember login feature + * + * @return bool + */ + public static function rememberLoginAllowed() { + + $apps = OC_App::getEnabledApps(); + + foreach ($apps as $app) { + $appInfo = OC_App::getAppInfo($app); + if (isset($appInfo['rememberlogin']) && $appInfo['rememberlogin'] === 'false') { + return false; + } + + } + return true; + } + /** * @brief Check if the user is a subadmin, redirects to home if not * @return array $groups where the current user is subadmin