diff options
| author | 2021-02-28 12:26:24 +0100 | |
|---|---|---|
| committer | 2021-02-28 12:26:24 +0100 | |
| commit | 947e918f05d70d5dce4efa4ef403e593581c3fa9 (patch) | |
| tree | e66ef1ffe8a6cc0ffbea1bff1791588f72879637 | |
| parent | bf2718cada964fba66d8497592abcb73cb9520ba (diff) | |
Travis: Enforce phpcs line length + whitespace (#3488)
* Update Travis line length
* Also check whitespace in CSS files
* Fix line length ext.php
* More syntax, string templates
* Fix exclude-pattern
* Test JS files as well
85 files changed, 5654 insertions, 5454 deletions
diff --git a/.travis.yml b/.travis.yml index 83cff8be9..ae99fc85e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,7 +17,7 @@ jobs: - if [ -s php-l-results ]; then cat php-l-results; exit 1; fi - COMPOSER_BIN=$(composer global config --absolute bin-dir) - $COMPOSER_BIN/phpunit --bootstrap ./tests/bootstrap.php --verbose ./tests - - $COMPOSER_BIN/phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p + - $COMPOSER_BIN/phpcs . -p -s - name: "PHP 7.4 Syntax, linter and tests" php: "7.4" install: @@ -29,7 +29,7 @@ jobs: - if [ -s php-l-results ]; then cat php-l-results; exit 1; fi - COMPOSER_BIN=$(composer global config --absolute bin-dir) - $COMPOSER_BIN/phpunit --bootstrap ./tests/bootstrap.php --verbose ./tests - - $COMPOSER_BIN/phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p + - $COMPOSER_BIN/phpcs . -p -s - name: "PHP 5.6 Syntax" php: "5.6" script: @@ -61,11 +61,11 @@ test: bin/phpunit ## Run the test suite .PHONY: lint lint: bin/phpcs ## Run the linter on the PHP files - $(PHP) ./bin/phpcs . --standard=phpcs.xml --warning-severity=0 --extensions=php -p + $(PHP) ./bin/phpcs . -p -s .PHONY: lint-fix lint-fix: bin/phpcbf ## Fix the errors detected by the linter - $(PHP) ./bin/phpcbf . --standard=phpcs.xml --warning-severity=0 --extensions=php -p + $(PHP) ./bin/phpcbf . -p -s bin/phpunit: mkdir -p bin/ diff --git a/app/Controllers/authController.php b/app/Controllers/authController.php index ca8a9758a..3202b59f2 100644 --- a/app/Controllers/authController.php +++ b/app/Controllers/authController.php @@ -53,11 +53,9 @@ class FreshRSS_auth_Controller extends Minz_ActionController { invalidateHttpCache(); if ($ok) { - Minz_Request::good(_t('feedback.conf.updated'), - array('c' => 'auth', 'a' => 'index')); + Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'auth', 'a' => 'index' ]); } else { - Minz_Request::bad(_t('feedback.conf.error'), - array('c' => 'auth', 'a' => 'index')); + Minz_Request::bad(_t('feedback.conf.error'), [ 'c' => 'auth', 'a' => 'index' ]); } } } @@ -160,13 +158,9 @@ class FreshRSS_auth_Controller extends Minz_ActionController { Minz_Translate::init(FreshRSS_Context::$user_conf->language); // All is good, go back to the index. - Minz_Request::good(_t('feedback.auth.login.success'), - array('c' => 'index', 'a' => 'index')); + Minz_Request::good(_t('feedback.auth.login.success'), [ 'c' => 'index', 'a' => 'index' ]); } else { - Minz_Log::warning('Password mismatch for' . - ' user=' . $username . - ', nonce=' . $nonce . - ', c=' . $challenge); + Minz_Log::warning("Password mismatch for user={$username}, nonce={$nonce}, c={$challenge}"); header('HTTP/1.1 403 Forbidden'); Minz_Session::_param('POST_to_GET', true); //Prevent infinite internal redirect @@ -203,8 +197,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController { Minz_Translate::init(FreshRSS_Context::$user_conf->language); - Minz_Request::good(_t('feedback.auth.login.success'), - array('c' => 'index', 'a' => 'index')); + Minz_Request::good(_t('feedback.auth.login.success'), [ 'c' => 'index', 'a' => 'index' ]); } else { Minz_Log::warning('Unsafe password mismatch for user ' . $username); Minz_Request::bad( @@ -221,8 +214,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController { public function logoutAction() { invalidateHttpCache(); FreshRSS_Auth::removeAccess(); - Minz_Request::good(_t('feedback.auth.logout.success'), - array('c' => 'index', 'a' => 'index')); + Minz_Request::good(_t('feedback.auth.logout.success'), [ 'c' => 'index', 'a' => 'index' ]); } /** diff --git a/app/Controllers/categoryController.php b/app/Controllers/categoryController.php index 1d0359a39..3ec88460a 100644 --- a/app/Controllers/categoryController.php +++ b/app/Controllers/categoryController.php @@ -34,8 +34,7 @@ class FreshRSS_category_Controller extends Minz_ActionController { $this->view->categories = $catDAO->listCategories(false); if (count($this->view->categories) >= $limits['max_categories']) { - Minz_Request::bad(_t('feedback.sub.category.over_max', $limits['max_categories']), - $url_redirect); + Minz_Request::bad(_t('feedback.sub.category.over_max', $limits['max_categories']), $url_redirect); } if (Minz_Request::isPost()) { diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php index f658d1c44..b2c1b5109 100755 --- a/app/Controllers/configureController.php +++ b/app/Controllers/configureController.php @@ -63,8 +63,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController { Minz_Translate::reset(FreshRSS_Context::$user_conf->language); invalidateHttpCache(); - Minz_Request::good(_t('feedback.conf.updated'), - array('c' => 'configure', 'a' => 'display')); + Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'display' ]); } $this->view->themes = FreshRSS_Themes::get(); @@ -127,8 +126,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController { FreshRSS_Context::$user_conf->save(); invalidateHttpCache(); - Minz_Request::good(_t('feedback.conf.updated'), - array('c' => 'configure', 'a' => 'reading')); + Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'reading' ]); } Minz_View::prependTitle(_t('conf.reading.title') . ' · '); @@ -154,8 +152,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController { FreshRSS_Context::$user_conf->save(); invalidateHttpCache(); - Minz_Request::good(_t('feedback.conf.updated'), - array('c' => 'configure', 'a' => 'integration')); + Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'integration' ]); } Minz_View::prependTitle(_t('conf.sharing.title') . ' · '); @@ -236,8 +233,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController { FreshRSS_Context::$user_conf->save(); invalidateHttpCache(); - Minz_Request::good(_t('feedback.conf.updated'), - array('c' => 'configure', 'a' => 'archiving')); + Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'archiving' ]); } $volatile = [ @@ -300,8 +296,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController { FreshRSS_Context::$user_conf->queries = $queries; FreshRSS_Context::$user_conf->save(); - Minz_Request::good(_t('feedback.conf.updated'), - array('c' => 'configure', 'a' => 'queries')); + Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'queries' ]); } else { $this->view->queries = array(); foreach (FreshRSS_Context::$user_conf->queries as $key => $query) { @@ -369,8 +364,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController { FreshRSS_Context::$user_conf->queries = $queries; FreshRSS_Context::$user_conf->save(); - Minz_Request::good(_t('feedback.conf.updated'), - array('c' => 'configure', 'a' => 'queries', 'params' => ['id' => $id])); + Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'queries', 'params' => ['id' => $id] ]); } Minz_View::prependTitle(_t('conf.query.title') . ' · ' . $query->getName() . ' · '); @@ -391,8 +385,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController { FreshRSS_Context::$user_conf->queries = $queries; FreshRSS_Context::$user_conf->save(); - Minz_Request::good(_t('feedback.conf.updated'), - array('c' => 'configure', 'a' => 'queries')); + Minz_Request::good(_t('feedback.conf.updated'), [ 'c' => 'configure', 'a' => 'queries' ]); } /** @@ -419,8 +412,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController { FreshRSS_Context::$user_conf->queries = $queries; FreshRSS_Context::$user_conf->save(); - Minz_Request::good(_t('feedback.conf.query_created', $params['name']), - array('c' => 'configure', 'a' => 'queries')); + Minz_Request::good(_t('feedback.conf.query_created', $params['name']), [ 'c' => 'configure', 'a' => 'queries' ]); } /** diff --git a/app/Controllers/extensionController.php b/app/Controllers/extensionController.php index 8ac45acc7..a932954a9 100644 --- a/app/Controllers/extensionController.php +++ b/app/Controllers/extensionController.php @@ -117,13 +117,11 @@ class FreshRSS_extension_Controller extends Minz_ActionController { $ext = Minz_ExtensionManager::findExtension($ext_name); if (is_null($ext)) { - Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), $url_redirect); } if ($ext->isEnabled()) { - Minz_Request::bad(_t('feedback.extensions.already_enabled', $ext_name), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.already_enabled', $ext_name), $url_redirect); } $conf = null; @@ -132,8 +130,7 @@ class FreshRSS_extension_Controller extends Minz_ActionController { } elseif ($ext->getType() === 'user') { $conf = FreshRSS_Context::$user_conf; } else { - Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name), $url_redirect); } $res = $ext->install(); @@ -144,12 +141,10 @@ class FreshRSS_extension_Controller extends Minz_ActionController { $conf->extensions_enabled = $ext_list; $conf->save(); - Minz_Request::good(_t('feedback.extensions.enable.ok', $ext_name), - $url_redirect); + Minz_Request::good(_t('feedback.extensions.enable.ok', $ext_name), $url_redirect); } else { Minz_Log::warning('Can not enable extension ' . $ext_name . ': ' . $res); - Minz_Request::bad(_t('feedback.extensions.enable.ko', $ext_name, _url('index', 'logs')), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.enable.ko', $ext_name, _url('index', 'logs')), $url_redirect); } } @@ -173,13 +168,11 @@ class FreshRSS_extension_Controller extends Minz_ActionController { $ext = Minz_ExtensionManager::findExtension($ext_name); if (is_null($ext)) { - Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), $url_redirect); } if (!$ext->isEnabled()) { - Minz_Request::bad(_t('feedback.extensions.not_enabled', $ext_name), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.not_enabled', $ext_name), $url_redirect); } $conf = null; @@ -188,8 +181,7 @@ class FreshRSS_extension_Controller extends Minz_ActionController { } elseif ($ext->getType() === 'user') { $conf = FreshRSS_Context::$user_conf; } else { - Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.no_access', $ext_name), $url_redirect); } $res = $ext->uninstall(); @@ -204,12 +196,10 @@ class FreshRSS_extension_Controller extends Minz_ActionController { $conf->extensions_enabled = $ext_list; $conf->save(); - Minz_Request::good(_t('feedback.extensions.disable.ok', $ext_name), - $url_redirect); + Minz_Request::good(_t('feedback.extensions.disable.ok', $ext_name), $url_redirect); } else { Minz_Log::warning('Can not unable extension ' . $ext_name . ': ' . $res); - Minz_Request::bad(_t('feedback.extensions.disable.ko', $ext_name, _url('index', 'logs')), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.disable.ko', $ext_name, _url('index', 'logs')), $url_redirect); } } @@ -237,17 +227,14 @@ class FreshRSS_extension_Controller extends Minz_ActionController { $ext = Minz_ExtensionManager::findExtension($ext_name); if (is_null($ext)) { - Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.not_found', $ext_name), $url_redirect); } $res = recursive_unlink($ext->getPath()); if ($res) { - Minz_Request::good(_t('feedback.extensions.removed', $ext_name), - $url_redirect); + Minz_Request::good(_t('feedback.extensions.removed', $ext_name), $url_redirect); } else { - Minz_Request::bad(_t('feedback.extensions.cannot_remove', $ext_name), - $url_redirect); + Minz_Request::bad(_t('feedback.extensions.cannot_remove', $ext_name), $url_redirect); } } diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php index 5737a8535..158015d2b 100755 --- a/app/Controllers/feedController.php +++ b/app/Controllers/feedController.php @@ -150,8 +150,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController { $limits = FreshRSS_Context::$system_conf->limits; $this->view->feeds = $feedDAO->listFeeds(); if (count($this->view->feeds) >= $limits['max_feeds']) { - Minz_Request::bad(_t('feedback.sub.feed.over_max', $limits['max_feeds']), - $url_redirect); + Minz_Request::bad(_t('feedback.sub.feed.over_max', $limits['max_feeds']), $url_redirect); } if (Minz_Request::isPost()) { @@ -366,9 +365,9 @@ class FreshRSS_feed_Controller extends Minz_ActionController { } else { //This entry already exists but has been updated //Minz_Log::debug('Entry with GUID `' . $entry->guid() . '` updated in feed ' . $feed->url(false) . //', old hash ' . $existingHash . ', new hash ' . $entry->hash()); - $mark_updated_article_unread = $feed->attributes('mark_updated_article_unread') !== null ? ( - $feed->attributes('mark_updated_article_unread') - ) : FreshRSS_Context::$user_conf->mark_updated_article_unread; + $mark_updated_article_unread = $feed->attributes('mark_updated_article_unread') !== null ? + $feed->attributes('mark_updated_article_unread') : + FreshRSS_Context::$user_conf->mark_updated_article_unread; $needFeedCacheRefresh = $mark_updated_article_unread; $entry->_isRead($mark_updated_article_unread ? false : null); //Change is_read according to policy. diff --git a/app/Controllers/importExportController.php b/app/Controllers/importExportController.php index d23bb3689..3550ba0dd 100644 --- a/app/Controllers/importExportController.php +++ b/app/Controllers/importExportController.php @@ -157,8 +157,7 @@ class FreshRSS_importExport_Controller extends Minz_ActionController { if ($status_file !== 0) { Minz_Log::warning('File cannot be uploaded. Error code: ' . $status_file); - Minz_Request::bad(_t('feedback.import_export.file_cannot_be_uploaded'), - array('c' => 'importExport', 'a' => 'index')); + Minz_Request::bad(_t('feedback.import_export.file_cannot_be_uploaded'), [ 'c' => 'importExport', 'a' => 'index' ]); } @set_time_limit(300); diff --git a/app/Controllers/javascriptController.php b/app/Controllers/javascriptController.php index 40f0fc19a..4a79da27a 100755 --- a/app/Controllers/javascriptController.php +++ b/app/Controllers/javascriptController.php @@ -34,7 +34,8 @@ class FreshRSS_javascript_Controller extends Minz_ActionController { $salt = FreshRSS_Context::$system_conf->salt; $s = FreshRSS_Context::$user_conf->passwordHash; if (strlen($s) >= 60) { - $this->view->salt1 = substr($s, 0, 29); //CRYPT_BLOWFISH Salt: "$2a$", a two digit cost parameter, "$", and 22 characters from the alphabet "./0-9A-Za-z". + //CRYPT_BLOWFISH Salt: "$2a$", a two digit cost parameter, "$", and 22 characters from the alphabet "./0-9A-Za-z". + $this->view->salt1 = substr($s, 0, 29); $this->view->nonce = sha1($salt . uniqid(mt_rand(), true)); Minz_Session::_param('nonce', $this->view->nonce); return; //Success diff --git a/app/Controllers/tagController.php b/app/Controllers/tagController.php index 217d95db1..4f3fe9bf9 100644 --- a/app/Controllers/tagController.php +++ b/app/Controllers/tagController.php @@ -34,12 +34,12 @@ class FreshRSS_tag_Controller extends Minz_ActionController { $tagDAO = FreshRSS_Factory::createTagDao(); if ($id_tag == 0 && $name_tag != '' && $checked) { if ($existing_tag = $tagDAO->searchByName($name_tag)) { - // Use existing tag - $tagDAO->tagEntry($existing_tag->id(), $id_entry, $checked); - } else { - //Create new tag - $id_tag = $tagDAO->addTag(array('name' => $name_tag)); - } + // Use existing tag + $tagDAO->tagEntry($existing_tag->id(), $id_entry, $checked); + } else { + //Create new tag + $id_tag = $tagDAO->addTag(array('name' => $name_tag)); + } } if ($id_tag != 0) { $tagDAO->tagEntry($id_tag, $id_entry, $checked); diff --git a/app/Controllers/updateController.php b/app/Controllers/updateController.php index c0c1ef1c8..45bf70f62 100644 --- a/app/Controllers/updateController.php +++ b/app/Controllers/updateController.php @@ -193,8 +193,7 @@ class FreshRSS_update_Controller extends Minz_ActionController { @file_put_contents(join_path(DATA_PATH, 'last_update.txt'), ''); Minz_Request::good(_t('feedback.update.finished')); } else { - Minz_Request::bad(_t('feedback.update.error', $res), - array('c' => 'update', 'a' => 'index')); + Minz_Request::bad(_t('feedback.update.error', $res), [ 'c' => 'update', 'a' => 'index' ]); } } else { $res = false; @@ -220,8 +219,7 @@ class FreshRSS_update_Controller extends Minz_ActionController { 'params' => array('post_conf' => true) ), true); } else { - Minz_Request::bad(_t('feedback.update.error', $res), - array('c' => 'update', 'a' => 'index')); + Minz_Request::bad(_t('feedback.update.error', $res), [ 'c' => 'update', 'a' => 'index' ]); } } } diff --git a/app/Controllers/userController.php b/app/Controllers/userController.php index 06c9ebc04..ec5e348c2 100644 --- a/app/Controllers/userController.php +++ b/app/Controllers/userController.php @@ -71,8 +71,7 @@ class FreshRSS_user_Controller extends Minz_ActionController { Minz_Request::good(_t('feedback.profile.updated'), array('c' => 'index', 'a' => 'index')); } } else { - Minz_Request::bad(_t('feedback.user.updated.error', $username), - array('c' => 'user', 'a' => 'manage')); + Minz_Request::bad(_t('feedback.user.updated.error', $username), [ 'c' => 'user', 'a' => 'manage' ]); } } } @@ -140,8 +139,7 @@ class FreshRSS_user_Controller extends Minz_ActionController { Minz_Request::good(_t('feedback.profile.updated'), array('c' => 'index', 'a' => 'index')); } } else { - Minz_Request::bad(_t('feedback.profile.error'), - array('c' => 'user', 'a' => 'profile')); + Minz_Request::bad(_t('feedback.profile.error'), [ 'c' => 'user', 'a' => 'profile' ]); } } } diff --git a/app/FreshRSS.php b/app/FreshRSS.php index 8a9a85213..17ff9ab21 100644 --- a/app/FreshRSS.php +++ b/app/FreshRSS.php @@ -68,8 +68,10 @@ class FreshRSS extends Minz_FrontController { if (!(FreshRSS_Auth::isCsrfOk() || (Minz_Request::controllerName() === 'auth' && Minz_Request::actionName() === 'login') || (Minz_Request::controllerName() === 'user' && Minz_Request::actionName() === 'create' && !FreshRSS_Auth::hasAccess('admin')) || - (Minz_Request::controllerName() === 'feed' && Minz_Request::actionName() === 'actualize' && FreshRSS_Context::$system_conf->allow_anonymous_refresh) || - (Minz_Request::controllerName() === 'javascript' && Minz_Request::actionName() === 'actualize' && FreshRSS_Context::$system_conf->allow_anonymous) + (Minz_Request::controllerName() === 'feed' && Minz_Request::actionName() === 'actualize' + && FreshRSS_Context::$system_conf->allow_anonymous_refresh) || + (Minz_Request::controllerName() === 'javascript' && Minz_Request::actionName() === 'actualize' + && FreshRSS_Context::$system_conf->allow_anonymous) )) { // Token-based protection against XSRF attacks, except for the login or self-create user forms self::initI18n(); diff --git a/app/Models/CategoryDAO.php b/app/Models/CategoryDAO.php index 519c7a29b..0a9bd68db 100644 --- a/app/Models/CategoryDAO.php +++ b/app/Models/CategoryDAO.php @@ -80,9 +80,13 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable } public function addCategory($valuesTmp) { - $sql = 'INSERT INTO `_category`(name, attributes) ' - . 'SELECT * FROM (SELECT TRIM(?) AS name, TRIM(?) AS attributes) c2 ' //TRIM() to provide a type hint as text - . 'WHERE NOT EXISTS (SELECT 1 FROM `_tag` WHERE name = TRIM(?))'; //No tag of the same name + // TRIM() to provide a type hint as text + // No tag of the same name + $sql = <<<'SQL' +INSERT INTO `_category`(name, attributes) +SELECT * FROM (SELECT TRIM(?) AS name, TRIM(?) AS attributes) c2 +WHERE NOT EXISTS (SELECT 1 FROM `_tag` WHERE name = TRIM(?)) +SQL; $stm = $this->pdo->prepare($sql); $valuesTmp['name'] = mb_strcut(trim($valuesTmp['name']), 0, FreshRSS_DatabaseDAO::LENGTH_INDEX_UNICODE, 'UTF-8'); @@ -121,8 +125,11 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable } public function updateCategory($id, $valuesTmp) { - $sql = 'UPDATE `_category` SET name=?, attributes=? WHERE id=? ' - . 'AND NOT EXISTS (SELECT 1 FROM `_tag` WHERE name = ?)'; //No tag of the same name + // No tag of the same name + $sql = <<<'SQL' +UPDATE `_category` SET name=?, attributes=? WHERE id=? +AND NOT EXISTS (SELECT 1 FROM `_tag` WHERE name = ?) +SQL; $stm = $this->pdo->prepare($sql); $valuesTmp['name'] = mb_strcut(trim($valuesTmp['name']), 0, FreshRSS_DatabaseDAO::LENGTH_INDEX_UNICODE, 'UTF-8'); @@ -240,12 +247,12 @@ class FreshRSS_CategoryDAO extends Minz_ModelPdo implements FreshRSS_Searchable public function listCategories($prePopulateFeeds = true, $details = false) { if ($prePopulateFeeds) { $sql = 'SELECT c.id AS c_id, c.name AS c_name, c.attributes AS c_attributes, ' - . ($details ? 'f.* ' : 'f.id, f.name, f.url, f.website, f.priority, f.error, f.`cache_nbEntries`, f.`cache_nbUnreads`, f.ttl ') - . 'FROM `_category` c ' - . 'LEFT OUTER JOIN `_feed` f ON f.category=c.id ' - . 'WHERE f.priority >= :priority_normal ' - . 'GROUP BY f.id, c_id ' - . 'ORDER BY c.name, f.name'; + . ($details ? 'f.* ' : 'f.id, f.name, f.url, f.website, f.priority, f.error, f.`cache_nbEntries`, f.`cache_nbUnreads`, f.ttl ') + . 'FROM `_category` c ' + . 'LEFT OUTER JOIN `_feed` f ON f.category=c.id ' + . 'WHERE f.priority >= :priority_normal ' + . 'GROUP BY f.id, c_id ' + . 'ORDER BY c.name, f.name'; $stm = $this->pdo->prepare($sql); $values = [ ':priority_normal' => FreshRSS_Feed::PRIORITY_NORMAL ]; if ($stm && $stm->execute($values)) { diff --git a/app/Models/DatabaseDAOPGSQL.php b/app/Models/DatabaseDAOPGSQL.php index 75ff8be7b..75b01c90b 100644 --- a/app/Models/DatabaseDAOPGSQL.php +++ b/app/Models/DatabaseDAOPGSQL.php @@ -57,13 +57,15 @@ class FreshRSS_DatabaseDAOPGSQL extends FreshRSS_DatabaseDAOSQLite { $stm->bindParam(':base', $db['base']); $stm->execute(); } else { - $sql = "SELECT " - . "pg_total_relation_size('`{$this->pdo->prefix()}category`') + " - . "pg_total_relation_size('`{$this->pdo->prefix()}feed`') + " - . "pg_total_relation_size('`{$this->pdo->prefix()}entry`') + " - . "pg_total_relation_size('`{$this->pdo->prefix()}entrytmp`') + " - . "pg_total_relation_size('`{$this->pdo->prefix()}tag`') + " - . "pg_total_relation_size('`{$this->pdo->prefix()}entrytag`')"; + $sql = <<<SQL +SELECT +pg_total_relation_size('`{$this->pdo->prefix()}category`') +pg_total_relation_size('`{$this->pdo->prefix()}feed`') +pg_total_relation_size('`{$this->pdo->prefix()}entry`') +pg_total_relation_size('`{$this->pdo->prefix()}entrytmp`') +pg_total_relation_size('`{$this->pdo->prefix()}tag`') +pg_total_relation_size('`{$this->pdo->prefix()}entrytag`') +SQL; $stm = $this->pdo->query($sql); } if ($stm == false) { diff --git a/app/Models/Entry.php b/app/Models/Entry.php index b5b28c97a..6e14d43b7 100644 --- a/app/Models/Entry.php +++ b/app/Models/Entry.php @@ -23,7 +23,7 @@ class FreshRSS_Entry extends Minz_Model { private $tags; public function __construct($feedId = '', $guid = '', $title = '', $authors = '', $content = '', - $link = '', $pubdate = 0, $is_read = false, $is_favorite = false, $tags = '') { + $link = '', $pubdate = 0, $is_read = false, $is_favorite = false, $tags = '') { $this->_title($title); $this->_authors($authors); $this->_content($content); diff --git a/app/Models/EntryDAO.php b/app/Models/EntryDAO.php index 6f7a4b48f..a9bf5a49b 100644 --- a/app/Models/EntryDAO.php +++ b/app/Models/EntryDAO.php @@ -578,14 +578,14 @@ SQL; if (!empty($options['keep_min']) && $options['keep_min'] > 0) { //Double SELECT for MySQL workaround ERROR 1093 (HY000) $sql .= ' AND `lastSeen` < (SELECT `lastSeen`' - . ' FROM (SELECT e2.`lastSeen` FROM `_entry` e2 WHERE e2.id_feed = :id_feed2' - . ' ORDER BY e2.`lastSeen` DESC LIMIT 1 OFFSET :keep_min) last_seen2)'; + . ' FROM (SELECT e2.`lastSeen` FROM `_entry` e2 WHERE e2.id_feed = :id_feed2' + . ' ORDER BY e2.`lastSeen` DESC LIMIT 1 OFFSET :keep_min) last_seen2)'; $params[':id_feed2'] = $id_feed; $params[':keep_min'] = (int)$options['keep_min']; } //Keep at least the articles seen at the last refresh $sql .= ' AND `lastSeen` < (SELECT maxlastseen' - . ' FROM (SELECT MAX(e3.`lastSeen`) AS maxlastseen FROM `_entry` e3 WHERE e3.id_feed = :id_feed3) last_seen3)'; + . ' FROM (SELECT MAX(e3.`lastSeen`) AS maxlastseen FROM `_entry` e3 WHERE e3.id_feed = :id_feed3) last_seen3)'; $params[':id_feed3'] = $id_feed; //==Inclusions== @@ -598,8 +598,8 @@ SQL; } if (!empty($options['keep_max']) && $options['keep_max'] > 0) { $sql .= ' OR `lastSeen` <= (SELECT `lastSeen`' - . ' FROM (SELECT e4.`lastSeen` FROM `_entry` e4 WHERE e4.id_feed = :id_feed4' - . ' ORDER BY e4.`lastSeen` DESC LIMIT 1 OFFSET :keep_max) last_seen4)'; + . ' FROM (SELECT e4.`lastSeen` FROM `_entry` e4 WHERE e4.id_feed = :id_feed4' + . ' ORDER BY e4.`lastSeen` DESC LIMIT 1 OFFSET :keep_max) last_seen4)'; $params[':id_feed4'] = $id_feed; $params[':keep_max'] = (int)$options['keep_max']; } @@ -670,7 +670,8 @@ SQL; return 'CONCAT(' . $s1 . ',' . $s2 . ')'; //MySQL } - protected function sqlListEntriesWhere($alias = '', $filters = null, $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $firstId = '', $date_min = 0) { + protected function sqlListEntriesWhere($alias = '', $filters = null, $state = FreshRSS_Entry::STATE_ALL, + $order = 'DESC', $firstId = '', $date_min = 0) { $search = ' '; $values = array(); if ($state & FreshRSS_Entry::STATE_NOT_READ) { @@ -831,13 +832,15 @@ SQL; if ($filter->getSearch()) { foreach ($filter->getSearch() as $search_value) { - $sub_search .= 'AND ' . $this->sqlConcat($alias . 'title', $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ? '; + $sub_search .= 'AND ' . $this->sqlConcat($alias . 'title', + $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ? '; $values[] = "%{$search_value}%"; } } if ($filter->getNotSearch()) { foreach ($filter->getNotSearch() as $search_value) { - $sub_search .= 'AND (NOT ' . $this->sqlConcat($alias . 'title', $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ?) '; + $sub_search .= 'AND (NOT ' . $this->sqlConcat($alias . 'title', + $this->isCompressed() ? 'UNCOMPRESS(' . $alias . 'content_bin)' : '' . $alias . 'content') . ' LIKE ?) '; $values[] = "%{$search_value}%"; } } @@ -859,7 +862,8 @@ SQL; return array($values, $search); } - private function sqlListWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) { + private function sqlListWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, + $order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) { if (!$state) { $state = FreshRSS_Entry::STATE_ALL; } @@ -917,7 +921,8 @@ SQL; . ($limit > 0 ? ' LIMIT ' . intval($limit) : '')); //TODO: See http://explainextended.com/2009/10/23/mysql-order-by-limit-performance-late-row-lookups/ } - public function listWhereRaw($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) { + public function listWhereRaw($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, + $order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) { list($values, $sql) = $this->sqlListWhere($type, $id, $state, $order, $limit, $firstId, $filters, $date_min); $sql = 'SELECT e0.id, e0.guid, e0.title, e0.author, ' @@ -939,7 +944,8 @@ SQL; } } - public function listWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) { + public function listWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, + $order = 'DESC', $limit = 1, $firstId = '', $filters = null, $date_min = 0) { $stm = $this->listWhereRaw($type, $id, $state, $order, $limit, $firstId, $filters, $date_min); if ($stm) { while ($row = $stm->fetch(PDO::FETCH_ASSOC)) { @@ -969,7 +975,8 @@ SQL; } } - public function listIdsWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, $order = 'DESC', $limit = 1, $firstId = '', $filters = null) { //For API + public function listIdsWhere($type = 'a', $id = '', $state = FreshRSS_Entry::STATE_ALL, + $order = 'DESC', $limit = 1, $firstId = '', $filters = null) { //For API list($values, $sql) = $this->sqlListWhere($type, $id, $state, $order, $limit, $firstId, $filters); $stm = $this->pdo->prepare($sql); @@ -983,7 +990,8 @@ SQL; return array(); } $guids = array_unique($guids); - $sql = 'SELECT guid, ' . $this->sqlHexEncode('hash') . ' AS hex_hash FROM `_entry` WHERE id_feed=? AND guid IN (' . str_repeat('?,', count($guids) - 1). '?)'; + $sql = 'SELECT guid, ' . $this->sqlHexEncode('hash') . + ' AS hex_hash FROM `_entry` WHERE id_feed=? AND guid IN (' . str_repeat('?,', count($guids) - 1). '?)'; $stm = $this->pdo->prepare($sql); $values = array($id_feed); $values = array_merge($values, $guids); diff --git a/app/Models/EntryDAOSQLite.php b/app/Models/EntryDAOSQLite.php index e53583654..82d7c099c 100644 --- a/app/Models/EntryDAOSQLite.php +++ b/app/Models/EntryDAOSQLite.php @@ -114,13 +114,13 @@ DROP TABLE IF EXISTS `tmp`; public function markRead($ids, $is_read = true) { FreshRSS_UserDAO::touch(); if (is_array($ids)) { //Many IDs at once (used by API) - if (true) { //Speed heuristics //TODO: Not implemented yet for SQLite (so always call IDs one by one) + //if (true) { //Speed heuristics //TODO: Not implemented yet for SQLite (so always call IDs one by one) $affected = 0; foreach ($ids as $id) { $affected += $this->markRead($id, $is_read); } return $affected; - } + //} } else { $this->pdo->beginTransaction(); $sql = 'UPDATE `_entry` SET is_read=? WHERE id=? AND is_read=?'; diff --git a/app/Models/FeedDAO.php b/app/Models/FeedDAO.php index 2b2b3c0ec..43485451c 100644 --- a/app/Models/FeedDAO.php +++ b/app/Models/FeedDAO.php @@ -175,9 +175,7 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable { } public function updateLastUpdate($id, $inError = false, $mtime = 0) { //See also updateCachedValue() - $sql = 'UPDATE `_feed` ' - . 'SET `lastUpdate`=?, error=? ' - . 'WHERE id=?'; + $sql = 'UPDATE `_feed` SET `lastUpdate`=?, error=? WHERE id=?'; $values = array( $mtime <= 0 ? time() : $mtime, $inError ? 1 : 0, @@ -248,9 +246,11 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable { } public function selectAll() { - $sql = 'SELECT id, url, category, name, website, description, `lastUpdate`, priority, ' - . '`pathEntries`, `httpAuth`, error, ttl, attributes ' - . 'FROM `_feed`'; + $sql = <<<'SQL' +SELECT id, url, category, name, website, description, `lastUpdate`, + priority, `pathEntries`, `httpAuth`, error, ttl, attributes +FROM `_feed` +SQL; $stm = $this->pdo->query($sql); while ($row = $stm->fetch(PDO::FETCH_ASSOC)) { yield $row; @@ -317,8 +317,10 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable { } public function arrayFeedCategoryNames() { //For API - $sql = 'SELECT f.id, f.name, c.name as c_name FROM `_feed` f ' - . 'INNER JOIN `_category` c ON c.id = f.category'; + $sql = <<<'SQL' +SELECT f.id, f.name, c.name as c_name FROM `_feed` f +INNER JOIN `_category` c ON c.id = f.category +SQL; $stm = $this->pdo->query($sql); $res = $stm->fetchAll(PDO::FETCH_ASSOC); $feedCategoryNames = array(); @@ -337,12 +339,12 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable { public function listFeedsOrderUpdate($defaultCacheDuration = 3600, $limit = 0) { $this->updateTTL(); $sql = 'SELECT id, url, name, website, `lastUpdate`, `pathEntries`, `httpAuth`, ttl, attributes ' - . 'FROM `_feed` ' - . ($defaultCacheDuration < 0 ? '' : 'WHERE ttl >= ' . FreshRSS_Feed::TTL_DEFAULT - . ' AND `lastUpdate` < (' . (time() + 60) - . '-(CASE WHEN ttl=' . FreshRSS_Feed::TTL_DEFAULT . ' THEN ' . intval($defaultCacheDuration) . ' ELSE ttl END)) ') - . 'ORDER BY `lastUpdate` ' - . ($limit < 1 ? '' : 'LIMIT ' . intval($limit)); + . 'FROM `_feed` ' + . ($defaultCacheDuration < 0 ? '' : 'WHERE ttl >= ' . FreshRSS_Feed::TTL_DEFAULT + . ' AND `lastUpdate` < (' . (time() + 60) + . '-(CASE WHEN ttl=' . FreshRSS_Feed::TTL_DEFAULT . ' THEN ' . intval($defaultCacheDuration) . ' ELSE ttl END)) ') + . 'ORDER BY `lastUpdate` ' + . ($limit < 1 ? '' : 'LIMIT ' . intval($limit)); $stm = $this->pdo->query($sql); if ($stm !== false) { return self::daoToFeed($stm->fetchAll(PDO::FETCH_ASSOC)); @@ -394,9 +396,9 @@ class FreshRSS_FeedDAO extends Minz_ModelPdo implements FreshRSS_Searchable { public function updateCachedValues($id = null) { //2 sub-requests with FOREIGN KEY(e.id_feed), INDEX(e.is_read) faster than 1 request with GROUP BY or CASE $sql = 'UPDATE `_feed` ' - . 'SET `cache_nbEntries`=(SELECT COUNT(e1.id) FROM `_entry` e1 WHERE e1.id_feed=`_feed`.id),' - . '`cache_nbUnreads`=(SELECT COUNT(e2.id) FROM `_entry` e2 WHERE e2.id_feed=`_feed`.id AND e2.is_read=0)' - . ($id != null ? ' WHERE id=:id' : ''); + . 'SET `cache_nbEntries`=(SELECT COUNT(e1.id) FROM `_entry` e1 WHERE e1.id_feed=`_feed`.id),' + . '`cache_nbUnreads`=(SELECT COUNT(e2.id) FROM `_entry` e2 WHERE e2.id_feed=`_feed`.id AND e2.is_read=0)' + . ($id != null ? ' WHERE id=:id' : ''); $stm = $this->pdo->prepare($sql); if ($id != null) { $stm->bindParam(':id', $id, PDO::PARAM_INT); diff --git a/app/Models/FormAuth.php b/app/Models/FormAuth.php index 1aca7c3d1..5211fd5d1 100644 --- a/app/Models/FormAuth.php +++ b/app/Models/FormAuth.php @@ -6,10 +6,7 @@ class FreshRSS_FormAuth { !ctype_graph($hash) || !ctype_graph($challenge) || !ctype_alnum($nonce)) { - Minz_Log::debug('Invalid credential parameters:' . - ' user=' . $username . - ' challenge=' . $challenge . - ' nonce=' . $nonce); + Minz_Log::debug("Invalid credential parameters: user={$username}, challenge={$challenge}, nonce={$nonce}"); return false; } diff --git a/app/Models/Share.php b/app/Models/Share.php index 218781dcc..7988a021f 100644 --- a/app/Models/Share.php +++ b/app/Models/Share.php @@ -97,8 +97,7 @@ class FreshRSS_Share { * @param $help_url is an optional url to give help on this option. * @param $method defines the sharing method (GET or POST) */ - private function __construct($type, $url_transform, $transform, - $form_type, $help_url, $method, $field) { + private function __construct($type, $url_transform, $transform, $form_type, $help_url, $method, $field) { $this->type = $type; $this->name = _t('gen.share.' . $type); $this->url_transform = $url_transform; diff --git a/app/Models/StatsDAO.php b/app/Models/StatsDAO.php index cbfa79c61..a73657e9a 100644 --- a/app/Models/StatsDAO.php +++ b/app/Models/StatsDAO.php @@ -15,8 +15,8 @@ class FreshRSS_StatsDAO extends Minz_ModelPdo { */ public function calculateEntryRepartition() { return array( - 'main_stream' => $this->calculateEntryRepartitionPerFeed(null, true), - 'all_feeds' => $this->calculateEntryRepartitionPerFeed(null, false), + 'main_stream' => $this->calculateEntryRepartitionPerFeed(null, true), + 'all_feeds' => $this->calculateEntryRepartitionPerFeed(null, false), ); } diff --git a/app/Models/TagDAO.php b/app/Models/TagDAO.php index a9aad519d..7f95e2ac2 100644 --- a/app/Models/TagDAO.php +++ b/app/Models/TagDAO.php @@ -42,9 +42,13 @@ class FreshRSS_TagDAO extends Minz_ModelPdo implements FreshRSS_Searchable { } public function addTag($valuesTmp) { - $sql = 'INSERT INTO `_tag`(name, attributes) ' - . 'SELECT * FROM (SELECT TRIM(?) as name, TRIM(?) as attributes) t2 ' //TRIM() gives a text type hint to PostgreSQL - . 'WHERE NOT EXISTS (SELECT 1 FROM `_category` WHERE name = TRIM(?))'; //No category of the same name + // TRIM() gives a text type hint to PostgreSQL + // No category of the same name + $sql = <<<'SQL' +INSERT INTO `_tag`(name, attributes) +SELECT * FROM (SELECT TRIM(?) as name, TRIM(?) as attributes) t2 +WHERE NOT EXISTS (SELECT 1 FROM `_category` WHERE name = TRIM(?)) +SQL; $stm = $this->pdo->prepare($sql); $valuesTmp['name'] = mb_strcut(trim($valuesTmp['name']), 0, 63, 'UTF-8'); @@ -79,8 +83,12 @@ class FreshRSS_TagDAO extends Minz_ModelPdo implements FreshRSS_Searchable { } public function updateTag($id, $valuesTmp) { - $sql = 'UPDATE `_tag` SET name=?, attributes=? WHERE id=? ' - . 'AND NOT EXISTS (SELECT 1 FROM `_category` WHERE name = ?)'; //No category of the same name + // No category of the same name + $sql = <<<'SQL' +UPDATE `_tag` SET name=?, attributes=? WHERE id=? +AND NOT EXISTS (SELECT 1 FROM `_category` WHERE name = ?) +SQL; + $stm = $this->pdo->prepare($sql); $valuesTmp['name'] = mb_strcut(trim($valuesTmp['name']), 0, 63, 'UTF-8'); @@ -149,7 +157,11 @@ class FreshRSS_TagDAO extends Minz_ModelPdo implements FreshRSS_Searchable { } public function updateEntryTag($oldTagId, $newTagId) { - $sql = 'DELETE FROM `_entrytag` WHERE EXISTS (SELECT 1 FROM `_entrytag` AS e WHERE e.id_entry = `_entrytag`.id_entry AND e.id_tag = ? AND `_entrytag`.id_tag = ?)'; + $sql = <<<'SQL' +DELETE FROM `_entrytag` WHERE EXISTS ( + SELECT 1 FROM `_entrytag` AS e + WHERE e.id_entry = `_entrytag`.id_entry AND e.id_tag = ? AND `_entrytag`.id_tag = ?) +SQL; $stm = $this->pdo->prepare($sql); if (!($stm && $stm->execute([$newTagId, $oldTagId]))) { diff --git a/app/Models/UserQuery.php b/app/Models/UserQuery.php index a5a5a6ce2..88ddd3629 100644 --- a/app/Models/UserQuery.php +++ b/app/Models/UserQuery.php @@ -59,12 +59,12 @@ class FreshRSS_UserQuery { */ public function toArray() { return array_filter(array( - 'get' => $this->get, - 'name' => $this->name, - 'order' => $this->order, - 'search' => $this->search->__toString(), - 'state' => $this->state, - 'url' => $this->url, + 'get' => $this->get, + 'name' => $this->name, + 'order' => $this->order, + 'search' => $this->search->__toString(), + 'state' => $this->state, + 'url' => $this->url, )); } diff --git a/app/install.php b/app/install.php index a156027e4..b3e96a773 100644 --- a/app/install.php +++ b/app/install.php @@ -104,9 +104,9 @@ function saveStep2() { ]); } else { if (empty($_POST['type']) || - empty($_POST['host']) || - empty($_POST['user']) || - empty($_POST['base'])) { + empty($_POST['host']) || + empty($_POST['user']) || + empty($_POST['base'])) { Minz_Session::_param('bd_error', 'Missing parameters!'); } Minz_Session::_params([ @@ -336,7 +336,7 @@ function printStep0() { ?> <?php if ($s0['all'] === 'ok') { ?> <p class="alert alert-success"><span class="alert-head"><?= _t('gen.short.ok') ?></span> <?= _t('install.language.defined') ?></p> - <?php } else if (!empty($_POST) && $s0['sessionWorking'] !== 'ok') { ?> + <?php } elseif (!empty($_POST) && $s0['sessionWorking'] !== 'ok') { ?> <p class="alert alert-error"><span class="alert-head"><?= _t('gen.short.damn') ?></span> <?= _t('install.session.nok') ?></p> <?php } ?> @@ -426,7 +426,8 @@ function printStep1() { <form action="index.php?step=1" method="post"> <input type="hidden" name="freshrss-keep-install" value="1" /> <button type="submit" class="btn btn-important next-step" tabindex="1" ><?= _t('install.action.keep_install') ?></button> - <a class="btn btn-attention next-step confirm" data-str-confirm="<?= _t('install.js.confirm_reinstall') ?>" href="?step=2" tabindex="2" ><?= _t('install.action.reinstall') ?></a> + <a class="btn btn-attention next-step confirm" data-str-confirm="<?= _t('install.js.confirm_reinstall') ?>" + href="?step=2" tabindex="2" ><?= _t('install.action.reinstall') ?></a> </form> <?php } elseif ($res['all'] == 'ok') { ?> @@ -443,7 +444,8 @@ function printStep2() { <?php $s2 = checkStep2(); if ($s2['all'] == 'ok') { ?> <p class="alert alert-success"><span class="alert-head"><?= _t('gen.short.ok') ?></span> <?= _t('install.bdd.conf.ok') ?></p> <?php } elseif ($s2['conn'] == 'ko') { ?> - <p class="alert alert-error"><span class="alert-head"><?= _t('gen.short.damn') ?></span> <?= _t('install.bdd.conf.ko'),(empty($_SESSION['bd_error']) ? '' : ' : ' . $_SESSION['bd_error']) ?></p> + <p class="alert alert-error"><span class="alert-head"><?= _t('gen.short.damn') ?></span> <?= _t('install.bdd.conf.ko'), + (empty($_SESSION['bd_error']) ? '' : ' : ' . $_SESSION['bd_error']) ?></p> <?php } ?> <form action="index.php?step=2" method="post" autocomplete="off"> @@ -454,19 +456,19 @@ function printStep2() { <select name="type" id="type" tabindex="1"> <?php if (extension_loaded('pdo_sqlite')) {?> <option value="sqlite" - <?php echo(isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'sqlite') ? 'selected="selected"' : ''; ?>> + <?= isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'sqlite' ? 'selected="selected"' : '' ?>> SQLite </option> <?php }?> <?php if (extension_loaded('pdo_mysql')) {?> <option value="mysql" - <?php echo(isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'mysql') ? 'selected="selected"' : ''; ?>> + <?= isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'mysql' ? 'selected="selected"' : '' ?>> MySQL </option> <?php }?> <?php if (extension_loaded('pdo_pgsql')) {?> <option value="pgsql" - <?php echo(isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'pgsql') ? 'selected="selected"' : ''; ?>> + <?= isset($_SESSION['bd_type']) && $_SESSION['bd_type'] === 'pgsql' ? 'selected="selected"' : '' ?>> PostgreSQL </option> <?php }?> @@ -478,35 +480,40 @@ function printStep2() { <div class="form-group"> <label class="group-name" for="host"><?= _t('install.bdd.host') ?></label> <div class="group-controls"> - <input type="text" id="host" name="host" pattern="[0-9A-Z/a-z_.-]{1,64}(:[0-9]{2,5})?" value="<?= isset($_SESSION['bd_host']) ? $_SESSION['bd_host'] : $system_default_config->db['host'] ?>" tabindex="2" /> + <input type="text" id="host" name="host" pattern="[0-9A-Z/a-z_.-]{1,64}(:[0-9]{2,5})?" value="<?= + isset($_SESSION['bd_host']) ? $_SESSION['bd_host'] : $system_default_config->db['host'] ?>" tabindex="2" /> </div> </div> <div class="form-group"> <label class="group-name" for="user"><?= _t('install.bdd.username') ?></label> <div class="group-controls"> - <input type="text" id="user" name="user" maxlength="64" pattern="[0-9A-Za-z@_.-]{1,64}" value="<?= isset($_SESSION['bd_user']) ? $_SESSION['bd_user'] : '' ?>" tabindex="3" /> + <input type="text" id="user" name="user" maxlength="64" pattern="[0-9A-Za-z@_.-]{1,64}" value="<?= + isset($_SESSION['bd_user']) ? $_SESSION['bd_user'] : '' ?>" tabindex="3" /> </div> </div> <div class="form-group"> <label class="group-name" for="pass"><?= _t('install.bdd.password') ?></label> <div class="group-controls"> - <input type="password" id="pass" name="pass" value="<?= isset($_SESSION['bd_password']) ? $_SESSION['bd_password'] : '' ?>" tabindex="4" autocomplete="off" /> + <input type="password" id="pass" name="pass" value="<?= + isset($_SESSION['bd_password']) ? $_SESSION['bd_password'] : '' ?>" tabindex="4" autocomplete="off" /> </div> </div> <div class="form-group"> <label class="group-name" for="base"><?= _t('install.bdd') ?></label> <div class="group-controls"> - <input type="text" id="base" name="base" maxlength="64" pattern="[0-9A-Za-z_-]{1,64}" value="<?= isset($_SESSION['bd_base']) ? $_SESSION['bd_base'] : '' ?>" tabindex="5" /> + <input type="text" id="base" name="base" maxlength="64" pattern="[0-9A-Za-z_-]{1,64}" value="<?= + isset($_SESSION['bd_base']) ? $_SESSION['bd_base'] : '' ?>" tabindex="5" /> </div> </div> <div class="form-group"> <label class="group-name" for="prefix"><?= _t('install.bdd.prefix') ?></label> <div class="group-controls"> - <input type="text" id="prefix" name="prefix" maxlength="16" pattern="[0-9A-Za-z_]{1,16}" value="<?= isset($_SESSION['bd_prefix']) ? $_SESSION['bd_prefix'] : $system_default_config->db['prefix'] ?>" tabindex="6" /> + <input type="text" id="prefix" name="prefix" maxlength="16" pattern="[0-9A-Za-z_]{1,16}" value="<?= + isset($_SESSION['bd_prefix']) ? $_SESSION['bd_prefix'] : $system_default_config->db['prefix'] ?>" tabindex="6" /> </div> </div> </div> @@ -539,7 +546,9 @@ function printStep3() { <div class="form-group"> <label class="group-name" for="default_user"><?= _t('install.default_user') ?></label> <div class="group-controls"> - <input type="text" id="default_user" name="default_user" autocomplete="username" required="required" size="16" pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" value="<?= isset($_SESSION['default_user']) ? $_SESSION['default_user'] : '' ?>" placeholder="<?= httpAuthUser() == '' ? 'alice' : httpAuthUser() ?>" tabindex="3" /> + <input type="text" id="default_user" name="default_user" autocomplete="username" required="required" size="16" + pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" value="<?= isset($_SESSION['default_user']) ? $_SESSION['default_user'] : '' ?>" + placeholder="<?= httpAuthUser() == '' ? 'alice' : httpAuthUser() ?>" tabindex="3" /> </div> </div> @@ -553,9 +562,12 @@ function printStep3() { } $auth_type = isset($_SESSION['auth_type']) ? $_SESSION['auth_type'] : ''; ?> - <option value="form"<?= $auth_type === 'form' || (no_auth($auth_type) && cryptAvailable()) ? ' selected="selected"' : '', cryptAvailable() ? '' : ' disabled="disabled"' ?>><?= _t('install.auth.form') ?></option> - <option value="http_auth"<?= $auth_type === 'http_auth' ? ' selected="selected"' : '', httpAuthUser() == '' ? ' disabled="disabled"' : '' ?>><?= _t('install.auth.http') ?>(REMOTE_USER = '<?= httpAuthUser() ?>')</option> - <option value="none"<?= $auth_type === 'none' || (no_auth($auth_type) && !cryptAvailable()) ? ' selected="selected"' : '' ?>><?= _t('install.auth.none') ?></option> + <option value="form"<?= $auth_type === 'form' || (no_auth($auth_type) && cryptAvailable()) ? ' selected="selected"' : '', + cryptAvailable() ? '' : ' disabled="disabled"' ?>><?= _t('install.auth.form') ?></option> + <option value="http_auth"<?= $auth_type === 'http_auth' ? ' selected="selected"' : '', + httpAuthUser() == '' ? ' disabled="disabled"' : '' ?>><?= _t('install.auth.http') ?>(REMOTE_USER = '<?= httpAuthUser() ?>')</option> + <option value="none"<?= $auth_type === 'none' || (no_auth($auth_type) && !cryptAvailable()) ? ' selected="selected"' : '' + ?>><?= _t('install.auth.none') ?></option> </select> </div> </div> @@ -564,7 +576,8 @@ function printStep3() { <label class="group-name" for="passwordPlain"><?= _t('install.auth.password_form') ?></label> <div class="group-controls"> <div class="stick"> - <input type="password" id="passwordPlain" name="passwordPlain" pattern=".{7,}" autocomplete="off" <?= $auth_type === 'form' ? ' required="required"' : '' ?> tabindex="5" /> + <input type="password" id="passwordPlain" name="passwordPlain" pattern=".{7,}" + autocomplete="off" <?= $auth_type === 'form' ? ' required="required"' : '' ?> tabindex="5" /> <a class="btn toggle-password" data-toggle="passwordPlain"><?= FreshRSS_Themes::icon('key') ?></a> </div> <p class="help"><?= _i('help') ?> <?= _t('install.auth.password_format') ?></p> diff --git a/app/layout/aside_configure.phtml b/app/layout/aside_configure.phtml index e74630b5a..5738cbb0f 100644 --- a/app/layout/aside_configure.phtml +++ b/app/layout/aside_configure.phtml @@ -18,8 +18,7 @@ <li class="item<?= Minz_Request::actionName() === 'queries' ? ' active' : '' ?>"> <a href="<?= _url('configure', 'queries') ?>"><?= _t('gen.menu.queries') ?></a> </li> - <li class="item<?php echo Minz_Request::controllerName() === 'user' && - Minz_Request::actionName() === 'profile'? ' active' : ''; ?>"> + <li class="item<?= Minz_Request::controllerName() === 'user' && Minz_Request::actionName() === 'profile' ? ' active' : '' ?>"> <a href="<?= _url('user', 'profile') ?>"><?= _t('gen.menu.user_profile') ?></a> </li> <li class="item<?= Minz_Request::controllerName() === 'extension' ? ' active' : '' ?>"> @@ -32,20 +31,17 @@ <li class="item<?= Minz_Request::actionName() === 'system' ? ' active' : '' ?>"> <a href="<?= _url('configure', 'system') ?>"><?= _t('gen.menu.system') ?></a> </li> - <li class="item<?php echo Minz_Request::controllerName() === 'user' && - Minz_Request::actionName() === 'manage' ? ' active' : ''; ?>"> + <li class="item<?= Minz_Request::controllerName() === 'user' && Minz_Request::actionName() === 'manage' ? ' active' : '' ?>"> <a href="<?= _url('user', 'manage') ?>"><?= _t('gen.menu.user_management') ?></a> </li> <li class="item<?= Minz_Request::controllerName() === 'auth' ? ' active' : '' ?>"> <a href="<?= _url('auth', 'index') ?>"><?= _t('gen.menu.authentication') ?></a> </li> - <li class="item<?php echo Minz_Request::controllerName() === 'update' && - Minz_Request::actionName() === 'checkInstall' ? ' active' : ''; ?>"> + <li class="item<?= Minz_Request::controllerName() === 'update' && Minz_Request::actionName() === 'checkInstall' ? ' active' : '' ?>"> <a href="<?= _url('update', 'checkInstall') ?>"><?= _t('gen.menu.check_install') ?></a> </li> <?php if (!Minz_Configuration::get('system')->disable_update) { ?> - <li class="item<?php echo Minz_Request::controllerName() === 'update' && - Minz_Request::actionName() === 'index' ? ' active' : ''; ?>"> + <li class="item<?= Minz_Request::controllerName() === 'update' && Minz_Request::actionName() === 'index' ? ' active' : '' ?>"> <a href="<?= _url('update', 'index') ?>"><?= _t('gen.menu.update') ?></a> </li> <?php } ?> diff --git a/app/layout/aside_feed.phtml b/app/layout/aside_feed.phtml index 98daf633c..c3f066601 100644 --- a/app/layout/aside_feed.phtml +++ b/app/layout/aside_feed.phtml @@ -27,7 +27,8 @@ <ul id="sidebar" class="tree"> <li class="tree-folder category all<?= FreshRSS_Context::isCurrentGet('a') ? ' active' : '' ?>"> <div class="tree-folder-title"> - <?= _i('all') ?> <a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_unread) ?>" href="<?= _url('index', $actual_view) ?>"><?= _t('index.menu.main_stream') ?></a> + <?= _i('all') ?> <a class="title" data-unread="<?= format_number(FreshRSS_Context::$total_unread) ?>" href="<?= + _url('index', $actual_view) ?>"><?= _t('index.menu.main_stream') ?></a> </div> </li> @@ -59,7 +60,8 @@ <a class="dropdown-toggle"><?= _i('configure') ?></a> <?php /* tag_config_template */ ?> </div> - <?= FreshRSS_Themes::alt('label') ?> <a class="item-title" data-unread="<?= format_number($tag->nbUnread()) ?>" href="<?= _url('index', $actual_view, 'get', 't_' . $tag->id()) . $state_filter ?>"><?= $tag->name() ?></a> + <?= FreshRSS_Themes::alt('label') ?> <a class="item-title" data-unread="<?= format_number($tag->nbUnread()) ?>" href="<?= + _url('index', $actual_view, 'get', 't_' . $tag->id()) . $state_filter ?>"><?= $tag->name() ?></a> </li> <?php endforeach; ?> </ul> @@ -71,12 +73,15 @@ $position = $cat->attributes('position'); if (!empty($feeds)) { $c_active = FreshRSS_Context::isCurrentGet('c_' . $cat->id()); - $c_show = ($c_active && in_array(FreshRSS_Context::$user_conf->display_categories, [ 'active', 'remember' ])) || FreshRSS_Context::$user_conf->display_categories === 'all'; + $c_show = ($c_active && in_array(FreshRSS_Context::$user_conf->display_categories, [ 'active', 'remember' ])) + || FreshRSS_Context::$user_conf->display_categories === 'all'; ?> - <li id="c_<?= $cat->id() ?>" class="tree-folder category<?= $c_active ? ' active' : '' ?>"<?= null === $position ? '' : "data-position='$position'" ?> data-unread="<?= $cat->nbNotRead() ?>"> + <li id="c_<?= $cat->id() ?>" class="tree-folder category<?= $c_active ? ' active' : '' ?>"<?= + null === $position ? '' : "data-position='$position'" ?> data-unread="<?= $cat->nbNotRead() ?>"> <div class="tree-folder-title"> <a class="dropdown-toggle" href="#"><?= _i($c_show ? 'up' : 'down') ?></a> - <a class="title<?= $cat->hasFeedsWithError() ? ' error' : '' ?>" data-unread="<?= format_number($cat->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'c_' . $cat->id()) ?>"><?= $cat->name() ?></a> + <a class="title<?= $cat->hasFeedsWithError() ? ' error' : '' ?>" data-unread="<?= + format_number($cat->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'c_' . $cat->id()) ?>"><?= $cat->name() ?></a> </div> <ul class="tree-folder-items<?= $c_show ? ' active' : '' ?>"> @@ -84,14 +89,17 @@ foreach ($feeds as $feed) { $f_active = FreshRSS_Context::isCurrentGet('f_' . $feed->id()); ?> - <li id="f_<?= $feed->id() ?>" class="item feed<?= $f_active ? ' active' : '', $feed->mute() ? ' mute' : '' ?><?= $feed->inError() ? ' error' : '' ?><?= $feed->nbEntries() <= 0 ? ' empty' : '' ?>" data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>"> + <li id="f_<?= $feed->id() ?>" class="item feed<?= $f_active ? ' active' : '', $feed->mute() ? ' mute' : '' ?><?= + $feed->inError() ? ' error' : '' ?><?= $feed->nbEntries() <= 0 ? ' empty' : '' + ?>" data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>"> <div class="dropdown no-mobile"> <div class="dropdown-target"></div> <a class="dropdown-toggle" data-fweb="<?= $feed->website() ?>"><?= _i('configure') ?></a> <?php /* feed_config_template */ ?> </div> <?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?> - <a class="item-title" data-unread="<?= format_number($feed->nbNotRead()) ?>" href="<?= _url('index', $actual_view, 'get', 'f_' . $feed->id()) ?>"><?= $feed->name() ?></a> + <a class="item-title" data-unread="<?= format_number($feed->nbNotRead()) ?>" href="<?= + _url('index', $actual_view, 'get', 'f_' . $feed->id()) ?>"><?= $feed->name() ?></a> </li> <?php } ?> </ul> @@ -134,9 +142,9 @@ <li class="item"> <?php $confirm = FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : ''; ?> <button class="read_all as-link <?= $confirm ?>" - form="mark-read-aside" - formaction="<?= _url('entry', 'read', 'get', 'f_------') ?>" - type="submit"><?= _t('gen.action.mark_read') ?></button> + form="mark-read-aside" + formaction="<?= _url('entry', 'read', 'get', 'f_------') ?>" + type="submit"><?= _t('gen.action.mark_read') ?></button> </li> <?php } ?> </ul> diff --git a/app/layout/nav_menu.phtml b/app/layout/nav_menu.phtml index 5a385589f..0724abc16 100644 --- a/app/layout/nav_menu.phtml +++ b/app/layout/nav_menu.phtml @@ -3,7 +3,7 @@ ?> <div class="nav_menu"> - <?php if ($actual_view === 'normal' || $actual_view === 'reader' ) { ?> + <?php if ($actual_view === 'normal' || $actual_view === 'reader') { ?> <a class="btn toggle_aside" href="#aside_feed"><?= _i('category') ?></a> <?php } ?> @@ -23,10 +23,10 @@ $url_state['params']['state'] = FreshRSS_Context::getRevertState($state); ?> <a id="toggle-<?= $state_str ?>" - class="btn <?= $state_enabled ? 'active' : '' ?>" - role="checkbox" aria-checked="<?= $state_enabled ? 'true' : 'false' ?>" - title="<?= _t('index.menu.' . $state_str) ?>" - href="<?= Minz_Url::display($url_state) ?>"><?= _i($state_str) ?></a> + class="btn <?= $state_enabled ? 'active' : '' ?>" + role="checkbox" aria-checked="<?= $state_enabled ? 'true' : 'false' ?>" + title="<?= _t('index.menu.' . $state_str) ?>" + href="<?= Minz_Url::display($url_state) ?>"><?= _i($state_str) ?></a> <?php } ?> <div class="dropdown"> @@ -92,9 +92,9 @@ <form id="mark-read-menu" method="post"> <?php $confirm = FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : ''; ?> <button class="read_all btn <?= $confirm ?>" - form="mark-read-menu" - formaction="<?= Minz_Url::display($mark_read_url) ?>" - type="submit"><?= _t('gen.action.mark_read') ?></button> + form="mark-read-menu" + formaction="<?= Minz_Url::display($mark_read_url) ?>" + type="submit"><?= _t('gen.action.mark_read') ?></button> <div class="dropdown"> <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken() ?>" /> @@ -106,9 +106,9 @@ <li class="item"> <button class="as-link <?= $confirm ?>" - form="mark-read-menu" - formaction="<?= Minz_Url::display($mark_read_url) ?>" - type="submit"><?= $string_mark ?></button> + form="mark-read-menu" + formaction="<?= Minz_Url::display($mark_read_url) ?>" + type="submit"><?= $string_mark ?></button> </li> <li class="separator"></li> <?php @@ -121,22 +121,22 @@ ?> <li class="item"> <button class="as-link <?= $confirm ?>" - form="mark-read-menu" - formaction="<?= Minz_Url::display($mark_before_today) ?>" - type="submit"><?= _t('index.menu.before_one_day') ?></button> + form="mark-read-menu" + formaction="<?= Minz_Url::display($mark_before_today) ?>" + type="submit"><?= _t('index.menu.before_one_day') ?></button> </li> <li class="item"> <button class="as-link <?= $confirm ?>" - form="mark-read-menu" - formaction="<?= Minz_Url::display($mark_before_one_week) ?>" - type="submit"><?= _t('index.menu.before_one_week') ?></button> + form="mark-read-menu" + formaction="<?= Minz_Url::display($mark_before_one_week) ?>" + type="submit"><?= _t('index.menu.before_one_week') ?></button> </li> <li class="separator"></li> <li class="item"> <button class="as-link <?= $mark_unread_enabled ? $confirm : '" disabled="disabled' ?>" - form="mark-read-menu" - formaction="<?= Minz_Url::display($mark_unread_url) ?>" - type="submit"><?= $string_unmark ?></button> + form="mark-read-menu" + formaction="<?= Minz_Url::display($mark_unread_url) ?>" + type="submit"><?= $string_unmark ?></button> </li> </ul> </div> @@ -153,7 +153,8 @@ /** @var FreshRSS_ReadingMode $mode */ foreach ($readingModes as $mode) { ?> - <a class="<?= $mode->getId() ?> btn <?php if ($mode->isActive()) { echo 'active'; } ?>" title="<?= $mode->getTitle() ?>" href="<?= Minz_Url::display($mode->getUrlParams()) ?>"> + <a class="<?= $mode->getId() ?> btn <?php if ($mode->isActive()) { echo 'active'; } ?>" title="<?= + $mode->getTitle() ?>" href="<?= Minz_Url::display($mode->getUrlParams()) ?>"> <?= $mode->getName() ?> </a> <?php @@ -178,7 +179,7 @@ <?php $nav_menu_hooks = Minz_ExtensionManager::callHook('nav_menu'); ?> <?php if ($nav_menu_hooks != '') { ?> <div class="stick" id="nav_menu_hooks"> - <?php echo $nav_menu_hooks; ?> + <?= $nav_menu_hooks ?> </div> <?php } ?> diff --git a/app/views/auth/formLogin.phtml b/app/views/auth/formLogin.phtml index b5fee2c27..0f3910a3c 100644 --- a/app/views/auth/formLogin.phtml +++ b/app/views/auth/formLogin.phtml @@ -10,7 +10,8 @@ <div class="form-group"> <label for="username"><?= _t('gen.auth.username') ?></label> - <input type="text" id="username" name="username" autocomplete="username" size="16" required="required" pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" autofocus="autofocus" autocapitalize="off" /> + <input type="text" id="username" name="username" autocomplete="username" size="16" required="required" + pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" autofocus="autofocus" autocapitalize="off" /> </div> <div class="form-group"> diff --git a/app/views/auth/index.phtml b/app/views/auth/index.phtml index c1cf95b2b..313a7c14d 100644 --- a/app/views/auth/index.phtml +++ b/app/views/auth/index.phtml @@ -14,8 +14,10 @@ <?php if (!in_array(FreshRSS_Context::$system_conf->auth_type, array('form', 'http_auth', 'none'))) { ?> <option selected="selected"></option> <?php } ?> - <option value="form"<?= FreshRSS_Context::$system_conf->auth_type === 'form' ? ' selected="selected"' : '', cryptAvailable() ? '' : ' disabled="disabled"' ?>><?= _t('admin.auth.form') ?></option> - <option value="http_auth"<?= FreshRSS_Context::$system_conf->auth_type === 'http_auth' ? ' selected="selected"' : '', httpAuthUser() == '' ? ' disabled="disabled"' : '' ?>><?= _t('admin.auth.http') ?> (REMOTE_USER = '<?= httpAuthUser() ?>')</option> + <option value="form"<?= FreshRSS_Context::$system_conf->auth_type === 'form' ? ' selected="selected"' : '', + cryptAvailable() ? '' : ' disabled="disabled"' ?>><?= _t('admin.auth.form') ?></option> + <option value="http_auth"<?= FreshRSS_Context::$system_conf->auth_type === 'http_auth' ? ' selected="selected"' : '', + httpAuthUser() == '' ? ' disabled="disabled"' : '' ?>><?= _t('admin.auth.http') ?> (REMOTE_USER = '<?= httpAuthUser() ?>')</option> <option value="none"<?= FreshRSS_Context::$system_conf->auth_type === 'none' ? ' selected="selected"' : '' ?>><?= _t('admin.auth.none') ?></option> </select> </div> @@ -24,8 +26,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="anon_access"> - <input type="checkbox" name="anon_access" id="anon_access" value="1"<?php echo FreshRSS_Context::$system_conf->allow_anonymous ? ' checked="checked"' : '', - FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->allow_anonymous ?>"/> + <input type="checkbox" name="anon_access" id="anon_access" value="1"<?= + FreshRSS_Context::$system_conf->allow_anonymous ? ' checked="checked"' : '', + FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"' ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->allow_anonymous ?>"/> <?= _t('admin.auth.allow_anonymous', FreshRSS_Context::$system_conf->default_user) ?> </label> </div> @@ -34,8 +37,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="anon_refresh"> - <input type="checkbox" name="anon_refresh" id="anon_refresh" value="1"<?php echo FreshRSS_Context::$system_conf->allow_anonymous_refresh ? ' checked="checked"' : '', - FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->allow_anonymous_refresh ?>"/> + <input type="checkbox" name="anon_refresh" id="anon_refresh" value="1"<?= + FreshRSS_Context::$system_conf->allow_anonymous_refresh ? ' checked="checked"' : '', + FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"' ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->allow_anonymous_refresh ?>"/> <?= _t('admin.auth.allow_anonymous_refresh') ?> </label> </div> @@ -44,8 +48,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="unsafe_autologin"> - <input type="checkbox" name="unsafe_autologin" id="unsafe_autologin" value="1"<?php echo FreshRSS_Context::$system_conf->unsafe_autologin_enabled ? ' checked="checked"' : '', - FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->unsafe_autologin_enabled ?>"/> + <input type="checkbox" name="unsafe_autologin" id="unsafe_autologin" value="1"<?= + FreshRSS_Context::$system_conf->unsafe_autologin_enabled ? ' checked="checked"' : '', + FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"' ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->unsafe_autologin_enabled ?>"/> <?= _t('admin.auth.unsafe_autologin') ?> <kbd><?= Minz_Url::display(array('c' => 'auth', 'a' => 'login', 'params' => array('u' => 'alice', 'p' => '1234')), 'html', true) ?></kbd> </label> @@ -55,8 +60,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="api_enabled"> - <input type="checkbox" name="api_enabled" id="api_enabled" value="1"<?php echo FreshRSS_Context::$system_conf->api_enabled ? ' checked="checked"' : '', - FreshRSS_Auth::accessNeedsLogin() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->api_enabled ?>"/> + <input type="checkbox" name="api_enabled" id="api_enabled" value="1"<?= + FreshRSS_Context::$system_conf->api_enabled ? ' checked="checked"' : '', + FreshRSS_Auth::accessNeedsLogin() ? '' : ' disabled="disabled"' ?> data-leave-validation="<?= FreshRSS_Context::$system_conf->api_enabled ?>"/> <?= _t('admin.auth.api_enabled') ?> </label> </div> diff --git a/app/views/auth/register.phtml b/app/views/auth/register.phtml index b2494a8ab..c0c05758f 100644 --- a/app/views/auth/register.phtml +++ b/app/views/auth/register.phtml @@ -16,7 +16,8 @@ <div class="form-group"> <label for="new_user_name"><?= _t('gen.auth.username') ?></label> - <input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off" pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" autocapitalize="off" /> + <input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off" + pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" autocapitalize="off" /> <p class="help"><?= _i('help') ?> <?= _t('gen.auth.username.format') ?></p> </div> diff --git a/app/views/configure/archiving.phtml b/app/views/configure/archiving.phtml index 9c183f81f..3cc014b15 100644 --- a/app/views/configure/archiving.phtml +++ b/app/views/configure/archiving.phtml @@ -14,17 +14,18 @@ <select class="number" name="ttl_default" id="ttl_default" required="required" data-leave-validation="<?= FreshRSS_Context::$user_conf->ttl_default ?>"><?php $found = false; foreach (array(1200 => '20min', 1500 => '25min', 1800 => '30min', 2700 => '45min', - 3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h', - 36000 => '10h', 43200 => '12h', 64800 => '18h', - 86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d', - 604800 => '1wk') as $v => $t) { + 3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h', + 36000 => '10h', 43200 => '12h', 64800 => '18h', + 86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d', + 604800 => '1wk') as $v => $t) { echo '<option value="' . $v . (FreshRSS_Context::$user_conf->ttl_default == $v ? '" selected="selected' : '') . '">' . $t . '</option>'; if (FreshRSS_Context::$user_conf->ttl_default == $v) { $found = true; } } if (!$found) { - echo '<option value="' . intval(FreshRSS_Context::$user_conf->ttl_default) . '" selected="selected">' . intval(FreshRSS_Context::$user_conf->ttl_default) . 's</option>'; + echo '<option value="' . intval(FreshRSS_Context::$user_conf->ttl_default) . '" selected="selected">' + . intval(FreshRSS_Context::$user_conf->ttl_default) . 's</option>'; } ?></select> (<?= _t('gen.short.by_default') ?>) </div> @@ -38,7 +39,9 @@ <label class="group-name"><?= _t('conf.archiving.policy') ?><br /><small>(<?= _t('gen.short.by_default') ?>)</small></label> <div class="group-controls"> <label class="checkbox" for="enable_keep_max"> - <input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? '' : ' checked="checked"' ?> data-leave-validation="<?= empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? 0 : 1 ?>"/> + <input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= + empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? '' : ' checked="checked"' ?> + data-leave-validation="<?= empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? 0 : 1 ?>"/> <?= _t('conf.archiving.keep_max') ?> <?php $keepMax = empty(FreshRSS_Context::$user_conf->archiving['keep_max']) ? 200 : FreshRSS_Context::$user_conf->archiving['keep_max']; ?> <input type="number" id="keep_max" name="keep_max" min="0" value="<?= $keepMax ?>" data-leave-validation="<?= $keepMax ?>"/> @@ -49,9 +52,12 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="enable_keep_period"> - <input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= FreshRSS_Context::$user_conf->volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['enable_keep_period'] ? 1 : 0 ?>"/> + <input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= + FreshRSS_Context::$user_conf->volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['enable_keep_period'] ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_period') ?> - <input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= FreshRSS_Context::$user_conf->volatile['keep_period_count'] ?>" data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['keep_period_count'] ?>"/> + <input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= FreshRSS_Context::$user_conf->volatile['keep_period_count'] ?>" + data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['keep_period_count'] ?>"/> <select class="number" name="keep_period_unit" id="keep_period_unit" data-leave-validation="<?= FreshRSS_Context::$user_conf->volatile['keep_period_unit'] ?>"> <option></option> <option value="P1Y" <?= 'P1Y' === FreshRSS_Context::$user_conf->volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.years') ?></option> @@ -68,7 +74,9 @@ <label class="group-name"><?= _t('conf.archiving.exception') ?><br /><small>(<?= _t('gen.short.by_default') ?>)</small></label> <div class="group-controls"> <label class="checkbox" for="keep_favourites"> - <input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= FreshRSS_Context::$user_conf->archiving['keep_favourites'] !== false ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_favourites'] !== false ? 1 : 0 ?>"/> + <input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= + FreshRSS_Context::$user_conf->archiving['keep_favourites'] !== false ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_favourites'] !== false ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_favourites') ?> </label> </div> @@ -77,7 +85,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="keep_labels"> - <input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= FreshRSS_Context::$user_conf->archiving['keep_labels'] !== false ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_labels'] !== false ? 1 : 0 ?>"/> + <input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= + FreshRSS_Context::$user_conf->archiving['keep_labels'] !== false ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_labels'] !== false ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_labels') ?> </label> </div> @@ -86,7 +96,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="keep_unreads"> - <input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= FreshRSS_Context::$user_conf->archiving['keep_unreads'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_unreads'] ? 1 : 0 ?>"/> + <input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= + FreshRSS_Context::$user_conf->archiving['keep_unreads'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_unreads'] ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_unreads') ?> </label> </div> @@ -95,7 +107,9 @@ <div class="form-group"> <div class="group-controls"> <label for="keep_min_default"><?= _t('conf.archiving.keep_min_by_feed') ?> - <input type="number" id="keep_min_default" name="keep_min_default" min="0" value="<?= FreshRSS_Context::$user_conf->archiving['keep_min'] ?>" data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_min'] ?>"> + <input type="number" id="keep_min_default" name="keep_min_default" min="0" value="<?= + FreshRSS_Context::$user_conf->archiving['keep_min'] ?>" + data-leave-validation="<?= FreshRSS_Context::$user_conf->archiving['keep_min'] ?>"> </label> </div> </div> diff --git a/app/views/configure/display.phtml b/app/views/configure/display.phtml index c1cfecc2a..8e2105333 100644 --- a/app/views/configure/display.phtml +++ b/app/views/configure/display.phtml @@ -25,7 +25,9 @@ <ul class="slides"> <?php $slides = count($this->themes); $i = 1; ?> <?php foreach($this->themes as $theme) { ?> - <input type="radio" name="theme" id="img-<?= $i ?>" <?php if (FreshRSS_Context::$user_conf->theme === $theme['id']) {echo "checked";}?> value="<?= $theme['id'] ?>" data-leave-validation="<?= (FreshRSS_Context::$user_conf->theme === $theme['id']) ? 1 : 0 ?>"/> + <input type="radio" name="theme" id="img-<?= $i ?>" <?= + FreshRSS_Context::$user_conf->theme === $theme['id'] ? 'checked="checked"' : '' ?> value="<?= $theme['id'] ?>" + data-leave-validation="<?= (FreshRSS_Context::$user_conf->theme === $theme['id']) ? 1 : 0 ?>"/> <li class="slide-container"> <div class="slide"> <img src="<?= Minz_Url::display('/themes/' . $theme['id'] . '/thumbs/original.png') ?>"/> @@ -55,16 +57,16 @@ <label class="group-name" for="content_width"><?= _t('conf.display.width.content') ?></label> <div class="group-controls"> <select name="content_width" id="content_width" required="" data-leave-validation="<?= $width ?>"> - <option value="thin" <?= $width === 'thin'? 'selected="selected"' : '' ?>> + <option value="thin" <?= $width === 'thin' ? 'selected="selected"' : '' ?>> <?= _t('conf.display.width.thin') ?> </option> - <option value="medium" <?= $width === 'medium'? 'selected="selected"' : '' ?>> + <option value="medium" <?= $width === 'medium' ? 'selected="selected"' : '' ?>> <?= _t('conf.display.width.medium') ?> </option> - <option value="large" <?= $width === 'large'? 'selected="selected"' : '' ?>> + <option value="large" <?= $width === 'large' ? 'selected="selected"' : '' ?>> <?= _t('conf.display.width.large') ?> </option> - <option value="no_limit" <?= $width === 'no_limit'? 'selected="selected"' : '' ?>> + <option value="no_limit" <?= $width === 'no_limit' ? 'selected="selected"' : '' ?>> <?= _t('conf.display.width.no_limit') ?> </option> </select> @@ -89,22 +91,43 @@ <tbody> <tr> <th><?= _t('conf.display.icon.top_line') ?></th> - <td><input type="checkbox" name="topline_read" value="1"<?= FreshRSS_Context::$user_conf->topline_read ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_read ?>"/></td> - <td><input type="checkbox" name="topline_favorite" value="1"<?= FreshRSS_Context::$user_conf->topline_favorite ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_favorite ?>"/></td> + <td><input type="checkbox" name="topline_read" value="1"<?= + FreshRSS_Context::$user_conf->topline_read ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_read ?>"/></td> + <td><input type="checkbox" name="topline_favorite" value="1"<?= + FreshRSS_Context::$user_conf->topline_favorite ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_favorite ?>"/></td> <td><input type="checkbox" disabled="disabled" /></td> <td><input type="checkbox" disabled="disabled" /></td> - <td><input type="checkbox" name="topline_display_authors" value="1"<?= FreshRSS_Context::$user_conf->topline_display_authors ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_display_authors ?>"/></td> - <td><input type="checkbox" name="topline_date" value="1"<?= FreshRSS_Context::$user_conf->topline_date ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_date ?>"/></td> - <td><input type="checkbox" name="topline_link" value="1"<?= FreshRSS_Context::$user_conf->topline_link ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_link ?>"/></td> + <td><input type="checkbox" name="topline_display_authors" value="1"<?= + FreshRSS_Context::$user_conf->topline_display_authors ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_display_authors ?>"/></td> + <td><input type="checkbox" name="topline_date" value="1"<?= + FreshRSS_Context::$user_conf->topline_date ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_date ?>"/></td> + <td><input type="checkbox" name="topline_link" value="1"<?= FreshRSS_Context::$user_conf->topline_link ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->topline_link ?>"/></td> </tr><tr> <th><?= _t('conf.display.icon.bottom_line') ?></th> - <td><input type="checkbox" name="bottomline_read" value="1"<?= FreshRSS_Context::$user_conf->bottomline_read ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_read ?>"/></td> - <td><input type="checkbox" name="bottomline_favorite" value="1"<?= FreshRSS_Context::$user_conf->bottomline_favorite ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_favorite ?>"/></td> - <td><input type="checkbox" name="bottomline_tags" value="1"<?= FreshRSS_Context::$user_conf->bottomline_tags ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_tags ?>"/></td> - <td><input type="checkbox" name="bottomline_sharing" value="1"<?= FreshRSS_Context::$user_conf->bottomline_sharing ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_sharing ?>"/></td> + <td><input type="checkbox" name="bottomline_read" value="1"<?= + FreshRSS_Context::$user_conf->bottomline_read ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_read ?>"/></td> + <td><input type="checkbox" name="bottomline_favorite" value="1"<?= + FreshRSS_Context::$user_conf->bottomline_favorite ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_favorite ?>"/></td> + <td><input type="checkbox" name="bottomline_tags" value="1"<?= + FreshRSS_Context::$user_conf->bottomline_tags ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_tags ?>"/></td> + <td><input type="checkbox" name="bottomline_sharing" value="1"<?= + FreshRSS_Context::$user_conf->bottomline_sharing ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_sharing ?>"/></td> <td><input type="checkbox" disabled="disabled" /></td> - <td><input type="checkbox" name="bottomline_date" value="1"<?= FreshRSS_Context::$user_conf->bottomline_date ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_date ?>"/></td> - <td><input type="checkbox" name="bottomline_link" value="1"<?= FreshRSS_Context::$user_conf->bottomline_link ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_link ?>"/></td> + <td><input type="checkbox" name="bottomline_date" value="1"<?= + FreshRSS_Context::$user_conf->bottomline_date ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_date ?>"/></td> + <td><input type="checkbox" name="bottomline_link" value="1"<?= + FreshRSS_Context::$user_conf->bottomline_link ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->bottomline_link ?>"/></td> </tr> </tbody> </table><br /> @@ -113,14 +136,18 @@ <div class="form-group"> <label class="group-name" for="html5_notif_timeout"><?= _t('conf.display.notif_html5.timeout') ?></label> <div class="group-controls"> - <input type="number" id="html5_notif_timeout" name="html5_notif_timeout" value="<?= FreshRSS_Context::$user_conf->html5_notif_timeout ?>" data-leave-validation="<?= FreshRSS_Context::$user_conf->html5_notif_timeout ?>"/> <?= _t('conf.display.notif_html5.seconds') ?> + <input type="number" id="html5_notif_timeout" name="html5_notif_timeout" value="<?= + FreshRSS_Context::$user_conf->html5_notif_timeout ?>" + data-leave-validation="<?= FreshRSS_Context::$user_conf->html5_notif_timeout ?>"/> <?= _t('conf.display.notif_html5.seconds') ?> </div> </div> <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="show_nav_buttons"> - <input type="checkbox" name="show_nav_buttons" id="show_nav_buttons" value="1"<?= FreshRSS_Context::$user_conf->show_nav_buttons ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->show_nav_buttons ?>"/> + <input type="checkbox" name="show_nav_buttons" id="show_nav_buttons" value="1"<?= + FreshRSS_Context::$user_conf->show_nav_buttons ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->show_nav_buttons ?>"/> <?= _t('conf.display.show_nav_buttons') ?> </label> </div> diff --git a/app/views/configure/integration.phtml b/app/views/configure/integration.phtml index 19d46d8a3..e8ca5c3a3 100644 --- a/app/views/configure/integration.phtml +++ b/app/views/configure/integration.phtml @@ -4,8 +4,10 @@ <a href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a> <form method="post" action="<?= _url('configure', 'integration') ?>" - data-simple='<div class="form-group" id="group-share-##key##"><label class="group-name">##label##</label><div class="group-controls"><div class="stick"><input type="text" id="share_##key##_name" name="share[##key##][name]" class="extend" value="##label##" placeholder="<?= _t('conf.sharing.share_name') ?>" size="64" /> - <input type="url" id="share_##key##_url" name="share[##key##][url]" class="extend" value="" placeholder="<?= _t('gen.short.not_applicable') ?>" size="64" disabled /><a href="#" class="remove btn btn-attention"><?= _i('close') ?></a></div> + data-simple='<div class="form-group" id="group-share-##key##"><label class="group-name">##label##</label><div class="group-controls"><div class="stick"> + <input type="text" id="share_##key##_name" name="share[##key##][name]" class="extend" value="##label##" placeholder="<?= _t('conf.sharing.share_name') ?>" size="64" /> + <input type="url" id="share_##key##_url" name="share[##key##][url]" class="extend" value="" placeholder="<?= _t('gen.short.not_applicable') ?>" size="64" disabled /> + <a href="#" class="remove btn btn-attention"><?= _i('close') ?></a></div> <input type="hidden" id="share_##key##_type" name="share[##key##][type]" value="##type##" /></div></div>' data-advanced='<div class="form-group" id="group-share-##key##"><label class="group-name">##label##</label><div class="group-controls"> <input type="hidden" id="share_##key##_type" name="share[##key##][type]" value="##type##" /> @@ -33,11 +35,14 @@ <input type='hidden' id='share_<?= $key ?>_method' name="share[<?= $key ?>][method]" value='<?= $share->method() ?>' /> <input type='hidden' id='share_<?= $key ?>_field' name="share[<?= $key ?>][field]" value='<?= $share->field() ?>' /> <div class="stick"> - <input type="text" id="share_<?= $key ?>_name" name="share[<?= $key ?>][name]" class="extend" value="<?= $share->name() ?>" placeholder="<?= _t('conf.sharing.share_name') ?>" size="64" data-leave-validation="<?= $share->name() ?>"/> + <input type="text" id="share_<?= $key ?>_name" name="share[<?= $key ?>][name]" class="extend" value="<?= $share->name() ?>" + placeholder="<?= _t('conf.sharing.share_name') ?>" size="64" data-leave-validation="<?= $share->name() ?>"/> <?php if ($share->formType() === 'advanced') { ?> - <input type="url" id="share_<?= $key ?>_url" name="share[<?= $key ?>][url]" class="extend" value="<?= $share->baseUrl() ?>" placeholder="<?= _t('conf.sharing.share_url') ?>" size="64" data-leave-validation="<?= $share->baseUrl() ?>"/> + <input type="url" id="share_<?= $key ?>_url" name="share[<?= $key ?>][url]" class="extend" value="<?= $share->baseUrl() ?>" + placeholder="<?= _t('conf.sharing.share_url') ?>" size="64" data-leave-validation="<?= $share->baseUrl() ?>"/> <?php } else { ?> - <input type="url" id="share_<?= $key ?>_url" name="share[<?= $key ?>][url]" class="extend" value="<?= $share->baseUrl() ?>" placeholder="<?= _t('gen.short.not_applicable') ?>" size="64" disabled/> + <input type="url" id="share_<?= $key ?>_url" name="share[<?= $key ?>][url]" class="extend" value="<?= $share->baseUrl() ?>" + placeholder="<?= _t('gen.short.not_applicable') ?>" size="64" disabled="disabled" /> <?php } ?> <a href='#' class='remove btn btn-attention' title="<?= _t('conf.sharing.remove') ?>"><?= _i('close') ?></a> </div> @@ -52,7 +57,8 @@ <div class="group-controls"> <select> <?php foreach (FreshRSS_Share::enum() as $share) { ?> - <option value='<?= $share->type() ?>' data-form='<?= $share->formType() ?>' data-help='<?= $share->help() ?>' data-method='<?= $share->method() ?>' data-field='<?= $share->field() ?>'> + <option value='<?= $share->type() ?>' data-form='<?= $share->formType() ?>' data-help='<?= $share->help() ?>' + data-method='<?= $share->method() ?>' data-field='<?= $share->field() ?>'> <?= $share->name(true) ?> </option> <?php } ?> diff --git a/app/views/configure/reading.phtml b/app/views/configure/reading.phtml index 68fbc5bf2..199bd5ab6 100644 --- a/app/views/configure/reading.phtml +++ b/app/views/configure/reading.phtml @@ -10,7 +10,9 @@ <div class="form-group"> <label class="group-name" for="posts_per_page"><?= _t('conf.reading.articles_per_page') ?></label> <div class="group-controls"> - <input type="number" id="posts_per_page" name="posts_per_page" value="<?= FreshRSS_Context::$user_conf->posts_per_page ?>" min="5" max="500" data-leave-validation="<?= FreshRSS_Context::$user_conf->posts_per_page ?>"/> + <input type="number" id="posts_per_page" name="posts_per_page" value="<?= + FreshRSS_Context::$user_conf->posts_per_page ?>" min="5" max="500" + data-leave-validation="<?= FreshRSS_Context::$user_conf->posts_per_page ?>"/> <p class="help"><?= _i('help') ?> <?= _t('conf.reading.number_divided_when_reader') ?></p> </div> </div> @@ -51,10 +53,14 @@ <label class="group-name" for="default_view"><?= _t('conf.reading.display_categories_unfolded') ?></label> <div class="group-controls"> <select name="display_categories" id="display_categories" data-leave-validation="<?= FreshRSS_Context::$user_conf->display_categories ?>"> - <option value="active"<?= FreshRSS_Context::$user_conf->display_categories === 'active' ? ' selected="selected"' : '' ?>><?= _t('conf.reading.show.active_category') ?></option> - <option value="remember"<?= FreshRSS_Context::$user_conf->display_categories === 'remember' ? ' selected="selected"' : '' ?>><?= _t('conf.reading.show.remember_categories') ?></option> - <option value="all"<?= FreshRSS_Context::$user_conf->display_categories === 'all' ? ' selected="selected"' : '' ?>><?= _t('conf.reading.show.all_categories') ?></option> - <option value="none"<?= FreshRSS_Context::$user_conf->display_categories === 'none' ? ' selected="selected"' : '' ?>><?= _t('conf.reading.show.no_category') ?></option> + <option value="active"<?= FreshRSS_Context::$user_conf->display_categories === 'active' ? ' selected="selected"' : '' ?>><?= + _t('conf.reading.show.active_category') ?></option> + <option value="remember"<?= FreshRSS_Context::$user_conf->display_categories === 'remember' ? ' selected="selected"' : '' ?>><?= + _t('conf.reading.show.remember_categories') ?></option> + <option value="all"<?= FreshRSS_Context::$user_conf->display_categories === 'all' ? ' selected="selected"' : '' ?>><?= + _t('conf.reading.show.all_categories') ?></option> + <option value="none"<?= FreshRSS_Context::$user_conf->display_categories === 'none' ? ' selected="selected"' : '' ?>><?= + _t('conf.reading.show.no_category') ?></option> </select> </div> </div> @@ -62,7 +68,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="hide_read_feeds"> - <input type="checkbox" name="hide_read_feeds" id="hide_read_feeds" value="1"<?= FreshRSS_Context::$user_conf->hide_read_feeds ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->hide_read_feeds ?>"/> + <input type="checkbox" name="hide_read_feeds" id="hide_read_feeds" value="1"<?= + FreshRSS_Context::$user_conf->hide_read_feeds ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->hide_read_feeds ?>"/> <?= _t('conf.reading.hide_read_feeds') ?> </label> </div> @@ -71,7 +79,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="show_fav_unread"> - <input type="checkbox" name="show_fav_unread" id="show_fav_unread" value="1"<?= FreshRSS_Context::$user_conf->show_fav_unread ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->show_fav_unread ?>"/> + <input type="checkbox" name="show_fav_unread" id="show_fav_unread" value="1"<?= + FreshRSS_Context::$user_conf->show_fav_unread ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->show_fav_unread ?>"/> <?= _t('conf.reading.always_show_favorites') ?> <p class="help"><?= _i('help') ?> <?= _t('conf.reading.show_fav_unread_help') ?></p> </label> @@ -81,7 +91,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="display_posts"> - <input type="checkbox" name="display_posts" id="display_posts" value="1"<?= FreshRSS_Context::$user_conf->display_posts ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->display_posts ?>"/> + <input type="checkbox" name="display_posts" id="display_posts" value="1"<?= + FreshRSS_Context::$user_conf->display_posts ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->display_posts ?>"/> <?= _t('conf.reading.display_articles_unfolded') ?> <noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript> </label> @@ -91,7 +103,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="sticky_post"> - <input type="checkbox" name="sticky_post" id="sticky_post" value="1"<?= FreshRSS_Context::$user_conf->sticky_post ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->sticky_post ?>"/> + <input type="checkbox" name="sticky_post" id="sticky_post" value="1"<?= + FreshRSS_Context::$user_conf->sticky_post ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->sticky_post ?>"/> <?= _t('conf.reading.sticky_post') ?> <noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript> </label> @@ -101,7 +115,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="auto_load_more"> - <input type="checkbox" name="auto_load_more" id="auto_load_more" value="1"<?= FreshRSS_Context::$user_conf->auto_load_more ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->auto_load_more ?>"/> + <input type="checkbox" name="auto_load_more" id="auto_load_more" value="1"<?= + FreshRSS_Context::$user_conf->auto_load_more ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->auto_load_more ?>"/> <?= _t('conf.reading.auto_load_more') ?> <noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript> </label> @@ -111,7 +127,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="lazyload"> - <input type="checkbox" name="lazyload" id="lazyload" value="1"<?= FreshRSS_Context::$user_conf->lazyload ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->lazyload ?>"/> + <input type="checkbox" name="lazyload" id="lazyload" value="1"<?= + FreshRSS_Context::$user_conf->lazyload ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->lazyload ?>"/> <?= _t('conf.reading.img_with_lazyload') ?> <noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript> </label> @@ -121,7 +139,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="sides_close_article"> - <input type="checkbox" name="sides_close_article" id="sides_close_article" value="1"<?= FreshRSS_Context::$user_conf->sides_close_article ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->sides_close_article ?>"/> + <input type="checkbox" name="sides_close_article" id="sides_close_article" value="1"<?= + FreshRSS_Context::$user_conf->sides_close_article ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->sides_close_article ?>"/> <?= _t('conf.reading.sides_close_article') ?> <noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript> </label> @@ -131,7 +151,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="reading_confirm"> - <input type="checkbox" name="reading_confirm" id="reading_confirm" value="1"<?= FreshRSS_Context::$user_conf->reading_confirm ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->reading_confirm ?>"/> + <input type="checkbox" name="reading_confirm" id="reading_confirm" value="1"<?= + FreshRSS_Context::$user_conf->reading_confirm ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->reading_confirm ?>"/> <?= _t('conf.reading.confirm_enabled') ?> <noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript> </label> @@ -141,7 +163,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="auto_remove_article"> - <input type="checkbox" name="auto_remove_article" id="auto_remove_article" value="1"<?= FreshRSS_Context::$user_conf->auto_remove_article ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->auto_remove_article ?>"/> + <input type="checkbox" name="auto_remove_article" id="auto_remove_article" value="1"<?= + FreshRSS_Context::$user_conf->auto_remove_article ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->auto_remove_article ?>"/> <?= _t('conf.reading.auto_remove_article') ?> <noscript> — <strong><?= _t('gen.js.should_be_activated') ?></strong></noscript> </label> @@ -151,7 +175,9 @@ <div class="form-group"> <div class="group-controls"> <label class="checkbox" for="mark_updated_article_unread"> - <input type="checkbox" name="mark_updated_article_unread" id="mark_updated_article_unread" value="1"<?= FreshRSS_Context::$user_conf->mark_updated_article_unread ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_updated_article_unread ?>"/> + <input type="checkbox" name="mark_updated_article_unread" id="mark_updated_article_unread" value="1"<?= + FreshRSS_Context::$user_conf->mark_updated_article_unread ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_updated_article_unread ?>"/> <?= _t('conf.reading.mark_updated_article_unread') ?> </label> </div> @@ -161,19 +187,27 @@ <label class="group-name"><?= _t('conf.reading.read.when') ?></label> <div class="group-controls"> <label class="checkbox" for="check_open_article"> - <input type="checkbox" name="mark_open_article" id="check_open_article" value="1"<?= FreshRSS_Context::$user_conf->mark_when['article'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['article'] ?>"/> + <input type="checkbox" name="mark_open_article" id="check_open_article" value="1"<?= + FreshRSS_Context::$user_conf->mark_when['article'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['article'] ?>"/> <?= _t('conf.reading.read.article_viewed') ?> </label> <label class="checkbox" for="check_open_site"> - <input type="checkbox" name="mark_open_site" id="check_open_site" value="1"<?= FreshRSS_Context::$user_conf->mark_when['site'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['site'] ?>"/> + <input type="checkbox" name="mark_open_site" id="check_open_site" value="1"<?= + FreshRSS_Context::$user_conf->mark_when['site'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['site'] ?>"/> <?= _t('conf.reading.read.article_open_on_website') ?> </label> <label class="checkbox" for="check_scroll"> - <input type="checkbox" name="mark_scroll" id="check_scroll" value="1"<?= FreshRSS_Context::$user_conf->mark_when['scroll'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['scroll'] ?>"/> + <input type="checkbox" name="mark_scroll" id="check_scroll" value="1"<?= + FreshRSS_Context::$user_conf->mark_when['scroll'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['scroll'] ?>"/> <?= _t('conf.reading.read.scroll') ?> </label> <label class="checkbox" for="check_reception"> - <input type="checkbox" name="mark_upon_reception" id="check_reception" value="1"<?= FreshRSS_Context::$user_conf->mark_when['reception'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['reception'] ?>"/> + <input type="checkbox" name="mark_upon_reception" id="check_reception" value="1"<?= + FreshRSS_Context::$user_conf->mark_when['reception'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->mark_when['reception'] ?>"/> <?= _t('conf.reading.read.upon_reception') ?> </label> </div> @@ -183,7 +217,9 @@ <label class="group-name"><?= _t('conf.reading.after_onread') ?></label> <div class="group-controls"> <label class="checkbox" for="onread_jump_next"> - <input type="checkbox" name="onread_jump_next" id="onread_jump_next" value="1"<?= FreshRSS_Context::$user_conf->onread_jump_next ? ' checked="checked"' : '' ?> data-leave-validation="<?= FreshRSS_Context::$user_conf->onread_jump_next ?>"/> + <input type="checkbox" name="onread_jump_next" id="onread_jump_next" value="1"<?= + FreshRSS_Context::$user_conf->onread_jump_next ? ' checked="checked"' : '' ?> + data-leave-validation="<?= FreshRSS_Context::$user_conf->onread_jump_next ?>"/> <?= _t('conf.reading.jump_next') ?> </label> </div> diff --git a/app/views/configure/shortcut.phtml b/app/views/configure/shortcut.phtml index b24bc9101..2194457ee 100644 --- a/app/views/configure/shortcut.phtml +++ b/app/views/configure/shortcut.phtml @@ -22,28 +22,32 @@ <div class="form-group"> <label class="group-name" for="normal_view_shortcut"><?= _t('conf.shortcut.normal_view') ?></label> <div class="group-controls"> - <input type="text" id="normal_view_shortcut" name="shortcuts[normal_view]" list="keys" value="<?= $s['normal_view'] ?>" data-leave-validation="<?= $s['normal_view'] ?>"/> + <input type="text" id="normal_view_shortcut" name="shortcuts[normal_view]" list="keys" value="<?= $s['normal_view'] ?>" + data-leave-validation="<?= $s['normal_view'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="global_view_shortcut"><?= _t('conf.shortcut.global_view') ?></label> <div class="group-controls"> - <input type="text" id="global_view_shortcut" name="shortcuts[global_view]" list="keys" value="<?= $s['global_view'] ?>" data-leave-validation="<?= $s['global_view'] ?>"/> + <input type="text" id="global_view_shortcut" name="shortcuts[global_view]" list="keys" value="<?= $s['global_view'] ?>" + data-leave-validation="<?= $s['global_view'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="reading_view_shortcut"><?= _t('conf.shortcut.reading_view') ?></label> <div class="group-controls"> - <input type="text" id="reading_view_shortcut" name="shortcuts[reading_view]" list="keys" value="<?= $s['reading_view'] ?>" data-leave-validation="<?= $s['reading_view'] ?>"/> + <input type="text" id="reading_view_shortcut" name="shortcuts[reading_view]" list="keys" value="<?= $s['reading_view'] ?>" + data-leave-validation="<?= $s['reading_view'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="rss_view_shortcut"><?= _t('conf.shortcut.rss_view') ?></label> <div class="group-controls"> - <input type="text" id="rss_view_shortcut" name="shortcuts[rss_view]" list="keys" value="<?= $s['rss_view'] ?>" data-leave-validation="<?= $s['rss_view'] ?>"/> + <input type="text" id="rss_view_shortcut" name="shortcuts[rss_view]" list="keys" value="<?= $s['rss_view'] ?>" + data-leave-validation="<?= $s['rss_view'] ?>"/> </div> </div> @@ -54,28 +58,32 @@ <div class="form-group"> <label class="group-name" for="next_entry"><?= _t('conf.shortcut.next_article') ?></label> <div class="group-controls"> - <input type="text" id="next_entry" name="shortcuts[next_entry]" list="keys" value="<?= $s['next_entry'] ?>" data-leave-validation="<?= $s['next_entry'] ?>"/> + <input type="text" id="next_entry" name="shortcuts[next_entry]" list="keys" value="<?= $s['next_entry'] ?>" + data-leave-validation="<?= $s['next_entry'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="prev_entry"><?= _t('conf.shortcut.previous_article') ?></label> <div class="group-controls"> - <input type="text" id="prev_entry" name="shortcuts[prev_entry]" list="keys" value="<?= $s['prev_entry'] ?>" data-leave-validation="<?= $s['prev_entry'] ?>"/> + <input type="text" id="prev_entry" name="shortcuts[prev_entry]" list="keys" value="<?= $s['prev_entry'] ?>" + data-leave-validation="<?= $s['prev_entry'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="first_entry"><?= _t('conf.shortcut.first_article') ?></label> <div class="group-controls"> - <input type="text" id="first_entry" name="shortcuts[first_entry]" list="keys" value="<?= $s['first_entry'] ?>" data-leave-validation="<?= $s['first_entry'] ?>"/> + <input type="text" id="first_entry" name="shortcuts[first_entry]" list="keys" value="<?= $s['first_entry'] ?>" + data-leave-validation="<?= $s['first_entry'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="last_entry"><?= _t('conf.shortcut.last_article') ?></label> <div class="group-controls"> - <input type="text" id="last_entry" name="shortcuts[last_entry]" list="keys" value="<?= $s['last_entry'] ?>" data-leave-validation="<?= $s['last_entry'] ?>"/> + <input type="text" id="last_entry" name="shortcuts[last_entry]" list="keys" value="<?= $s['last_entry'] ?>" + data-leave-validation="<?= $s['last_entry'] ?>"/> </div> </div> @@ -84,14 +92,16 @@ <div class="form-group"> <label class="group-name" for="skip_next_entry"><?= _t('conf.shortcut.skip_next_article') ?></label> <div class="group-controls"> - <input type="text" id="skip_next_entry" name="shortcuts[skip_next_entry]" list="keys" value="<?= $s['skip_next_entry'] ?>" data-leave-validation="<?= $s['skip_next_entry'] ?>"/> + <input type="text" id="skip_next_entry" name="shortcuts[skip_next_entry]" list="keys" value="<?= $s['skip_next_entry'] ?>" + data-leave-validation="<?= $s['skip_next_entry'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="skip_prev_entry"><?= _t('conf.shortcut.skip_previous_article') ?></label> <div class="group-controls"> - <input type="text" id="skip_prev_entry" name="shortcuts[skip_prev_entry]" list="keys" value="<?= $s['skip_prev_entry'] ?>" data-leave-validation="<?= $s['skip_prev_entry'] ?>"/> + <input type="text" id="skip_prev_entry" name="shortcuts[skip_prev_entry]" list="keys" value="<?= $s['skip_prev_entry'] ?>" + data-leave-validation="<?= $s['skip_prev_entry'] ?>"/> </div> </div> @@ -101,7 +111,8 @@ <p class="alert alert-warn"><?= _t('conf.shortcut.shift_for_all_read') ?></p> <label class="group-name" for="mark_read"><?= _t('conf.shortcut.mark_read') ?></label> <div class="group-controls"> - <input type="text" id="mark_read" name="shortcuts[mark_read]" list="keys" value="<?= $s['mark_read'] ?>" data-leave-validation="<?= $s['mark_read'] ?>"/> + <input type="text" id="mark_read" name="shortcuts[mark_read]" list="keys" value="<?= $s['mark_read'] ?>" + data-leave-validation="<?= $s['mark_read'] ?>"/> </div> </div> @@ -110,21 +121,24 @@ <div class="form-group"> <label class="group-name" for="mark_favorite"><?= _t('conf.shortcut.mark_favorite') ?></label> <div class="group-controls"> - <input type="text" id="mark_favorite" name="shortcuts[mark_favorite]" list="keys" value="<?= $s['mark_favorite'] ?>" data-leave-validation="<?= $s['mark_favorite'] ?>"/> + <input type="text" id="mark_favorite" name="shortcuts[mark_favorite]" list="keys" value="<?= $s['mark_favorite'] ?>" + data-leave-validation="<?= $s['mark_favorite'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="go_website"><?= _t('conf.shortcut.see_on_website') ?></label> <div class="group-controls"> - <input type="text" id="go_website" name="shortcuts[go_website]" list="keys" value="<?= $s['go_website'] ?>" data-leave-validation="<?= $s['go_website'] ?>"/> + <input type="text" id="go_website" name="shortcuts[go_website]" list="keys" value="<?= $s['go_website'] ?>" + data-leave-validation="<?= $s['go_website'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="auto_share_shortcut"><?= _t('conf.shortcut.auto_share') ?></label> <div class="group-controls"> - <input type="text" id="auto_share_shortcut" name="shortcuts[auto_share]" list="keys" value="<?= $s['auto_share'] ?>" data-leave-validation="<?= $s['auto_share'] ?>"/> + <input type="text" id="auto_share_shortcut" name="shortcuts[auto_share]" list="keys" value="<?= $s['auto_share'] ?>" + data-leave-validation="<?= $s['auto_share'] ?>"/> <?= _t('conf.shortcut.auto_share_help') ?> </div> </div> @@ -132,14 +146,16 @@ <div class="form-group"> <label class="group-name" for="collapse_entry"><?= _t('conf.shortcut.collapse_article') ?></label> <div class="group-controls"> - <input type="text" id="collapse_entry" name="shortcuts[collapse_entry]" list="keys" value="<?= $s['collapse_entry'] ?>" data-leave-validation="<?= $s['collapse_entry'] ?>"/> + <input type="text" id="collapse_entry" name="shortcuts[collapse_entry]" list="keys" value="<?= $s['collapse_entry'] ?>" + data-leave-validation="<?= $s['collapse_entry'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="toggle_media"><?= _t('conf.shortcut.toggle_media') ?></label> <div class="group-controls"> - <input type="text" id="toggle_media" name="shortcuts[toggle_media]" list="keys" value="<?= $s['toggle_media'] ?>" data-leave-validation="<?= $s['toggle_media'] ?>"/> + <input type="text" id="toggle_media" name="shortcuts[toggle_media]" list="keys" value="<?= $s['toggle_media'] ?>" + data-leave-validation="<?= $s['toggle_media'] ?>"/> </div> </div> @@ -148,21 +164,24 @@ <div class="form-group"> <label class="group-name" for="load_more_shortcut"><?= _t('conf.shortcut.load_more') ?></label> <div class="group-controls"> - <input type="text" id="load_more_shortcut" name="shortcuts[load_more]" list="keys" value="<?= $s['load_more'] ?>" data-leave-validation="<?= $s['load_more'] ?>"/> + <input type="text" id="load_more_shortcut" name="shortcuts[load_more]" list="keys" value="<?= $s['load_more'] ?>" + data-leave-validation="<?= $s['load_more'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="focus_search_shortcut"><?= _t('conf.shortcut.focus_search') ?></label> <div class="group-controls"> - <input type="text" id="focus_search_shortcut" name="shortcuts[focus_search]" list="keys" value="<?= $s['focus_search'] ?>" data-leave-validation="<?= $s['focus_search'] ?>"/> + <input type="text" id="focus_search_shortcut" name="shortcuts[focus_search]" list="keys" value="<?= $s['focus_search'] ?>" + data-leave-validation="<?= $s['focus_search'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="user_filter_shortcut"><?= _t('conf.shortcut.user_filter') ?></label> <div class="group-controls"> - <input type="text" id="user_filter_shortcut" name="shortcuts[user_filter]" list="keys" value="<?= $s['user_filter'] ?>" data-leave-validation="<?= $s['user_filter'] ?>"/> + <input type="text" id="user_filter_shortcut" name="shortcuts[user_filter]" list="keys" value="<?= $s['user_filter'] ?>" + data-leave-validation="<?= $s['user_filter'] ?>"/> <?= _t('conf.shortcut.user_filter_help') ?> </div> </div> @@ -170,14 +189,16 @@ <div class="form-group"> <label class="group-name" for="close_dropdown_shortcut"><?= _t('conf.shortcut.close_dropdown') ?></label> <div class="group-controls"> - <input type="text" id="close_dropdown" name="shortcuts[close_dropdown]" list="keys" value="<?= $s['close_dropdown'] ?>" data-leave-validation="<?= $s['close_dropdown'] ?>"/> + <input type="text" id="close_dropdown" name="shortcuts[close_dropdown]" list="keys" value="<?= $s['close_dropdown'] ?>" + data-leave-validation="<?= $s['close_dropdown'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="help_shortcut"><?= _t('conf.shortcut.help') ?></label> <div class="group-controls"> - <input type="text" id="help_shortcut" name="shortcuts[help]" list="keys" value="<?= $s['help'] ?>" data-leave-validation="<?= $s['help'] ?>"/> + <input type="text" id="help_shortcut" name="shortcuts[help]" list="keys" value="<?= $s['help'] ?>" + data-leave-validation="<?= $s['help'] ?>"/> </div> </div> diff --git a/app/views/configure/system.phtml b/app/views/configure/system.phtml index 79376bc4e..f185fb1d3 100644 --- a/app/views/configure/system.phtml +++ b/app/views/configure/system.phtml @@ -10,21 +10,24 @@ <div class="form-group"> <label class="group-name" for="instance-name"><?= _t('admin.system.instance-name') ?></label> <div class="group-controls"> - <input type="text" class="extend" id="instance-name" name="instance-name" value="<?= FreshRSS_Context::$system_conf->title ?>" data-leave-validation="<?= FreshRSS_Context::$system_conf->title ?>"/> + <input type="text" class="extend" id="instance-name" name="instance-name" value="<?= FreshRSS_Context::$system_conf->title ?>" + data-leave-validation="<?= FreshRSS_Context::$system_conf->title ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="auto-update-url"><?= _t('admin.system.auto-update-url') ?></label> <div class="group-controls"> - <input type="text" class="extend" id="auto-update-url" name="auto-update-url" value="<?= FreshRSS_Context::$system_conf->auto_update_url ?>" data-leave-validation="<?= FreshRSS_Context::$system_conf->auto_update_url ?>"/> + <input type="text" class="extend" id="auto-update-url" name="auto-update-url" value="<?= FreshRSS_Context::$system_conf->auto_update_url ?>" + data-leave-validation="<?= FreshRSS_Context::$system_conf->auto_update_url ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="max-registrations"><?= _t('admin.system.registration.number') ?></label> <div class="group-controls"> - <input type="number" id="max-registrations" name="max-registrations" value="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] ?>" min="0" data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] ?>"/> + <input type="number" id="max-registrations" name="max-registrations" value="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] ?>" min="0" + data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_registrations'] ?>"/> <p class="help"><?= _i('help') ?> <?= _t('admin.system.registration.help') ?></p> </div> </div> @@ -57,21 +60,24 @@ <div class="form-group"> <label class="group-name" for="max-feeds"><?= _t('admin.system.max-feeds') ?></label> <div class="group-controls"> - <input type="number" id="max-feeds" name="max-feeds" value="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>" min="1" data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>"/> + <input type="number" id="max-feeds" name="max-feeds" value="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>" min="1" + data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_feeds'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="max-categories"><?= _t('admin.system.max-categories') ?></label> <div class="group-controls"> - <input type="number" id="max-categories" name="max-categories" value="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>" min="1" data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>"/> + <input type="number" id="max-categories" name="max-categories" value="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>" min="1" + data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['max_categories'] ?>"/> </div> </div> <div class="form-group"> <label class="group-name" for="cookie-duration"><?= _t('admin.system.cookie-duration.number') ?></label> <div class="group-controls"> - <input type="number" id="cookie-duration" name="cookie-duration" value="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>" min="0" data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>"/> + <input type="number" id="cookie-duration" name="cookie-duration" value="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>" min="0" + data-leave-validation="<?= FreshRSS_Context::$system_conf->limits['cookie_duration'] ?>"/> <p class="help"><?= _i('help') ?> <?= _t('admin.system.cookie-duration.help') ?></p> </div> </div> diff --git a/app/views/extension/index.phtml b/app/views/extension/index.phtml index f5c5bf032..bb163c8ee 100644 --- a/app/views/extension/index.phtml +++ b/app/views/extension/index.phtml @@ -55,7 +55,7 @@ <span class="alert alert-success"> <?= _t('admin.extensions.latest') ?> </span> - <?php } else if ($this->extensions_installed[$ext['name']] != $ext['version']) { ?> + <?php } elseif ($this->extensions_installed[$ext['name']] != $ext['version']) { ?> <span class="alert alert-warn"> <?= _t('admin.extensions.update') ?> </span> diff --git a/app/views/helpers/category/update.phtml b/app/views/helpers/category/update.phtml index 350a57287..022d5e8e3 100644 --- a/app/views/helpers/category/update.phtml +++ b/app/views/helpers/category/update.phtml @@ -87,7 +87,8 @@ <label class="group-name"><?= _t('conf.archiving.policy') ?></label> <div class="group-controls"> <label class="checkbox"> - <input type="checkbox" name="use_default_purge_options" id="use_default_purge_options" value="1"<?= $archiving['default'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['default'] ? 1 : 0 ?>" /> + <input type="checkbox" name="use_default_purge_options" id="use_default_purge_options" value="1"<?= $archiving['default'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $archiving['default'] ? 1 : 0 ?>" /> <?= _t('gen.short.by_default') ?> </label> </div> @@ -95,18 +96,22 @@ <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label class="checkbox" for="enable_keep_max"> - <input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty($archiving['keep_max']) ? '' : ' checked="checked"' ?> data-leave-validation="<?= empty($archiving['keep_max']) ? 0 : 1 ?>"/> + <input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty($archiving['keep_max']) ? '' : ' checked="checked"' ?> + data-leave-validation="<?= empty($archiving['keep_max']) ? 0 : 1 ?>"/> <?= _t('conf.archiving.keep_max') ?> - <input type="number" id="keep_max" name="keep_max" min="0" value="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>" data-leave-validation="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"/> + <input type="number" id="keep_max" name="keep_max" min="0" value="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>" + data-leave-validation="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"/> </label> </div> </div> <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label class="checkbox" for="enable_keep_period"> - <input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= $volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $volatile['enable_keep_period'] ? 1 : 0 ?>"/> + <input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= $volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $volatile['enable_keep_period'] ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_period') ?> - <input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= $volatile['keep_period_count'] ?>" data-leave-validation="<?= $volatile['keep_period_count'] ?>"/> + <input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= $volatile['keep_period_count'] ?>" + data-leave-validation="<?= $volatile['keep_period_count'] ?>"/> <select class="number" name="keep_period_unit" id="keep_period_unit" data-leave-validation="<?= $volatile['keep_period_unit'] ?>"> <option></option> <option value="P1Y" <?= 'P1Y' === $volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.years') ?></option> @@ -122,7 +127,8 @@ <label class="group-name"><?= _t('conf.archiving.exception') ?></label> <div class="group-controls"> <label class="checkbox" for="keep_favourites"> - <input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= $archiving['keep_favourites'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_favourites'] ? 1 : 0 ?>"/> + <input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= $archiving['keep_favourites'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $archiving['keep_favourites'] ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_favourites') ?> </label> </div> @@ -130,7 +136,8 @@ <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label class="checkbox" for="keep_labels"> - <input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= $archiving['keep_labels'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_labels'] ? 1 : 0 ?>"/> + <input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= $archiving['keep_labels'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $archiving['keep_labels'] ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_labels') ?> </label> </div> @@ -138,7 +145,8 @@ <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label class="checkbox" for="keep_unreads"> - <input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= $archiving['keep_unreads'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_unreads'] ? 1 : 0 ?>"/> + <input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= $archiving['keep_unreads'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $archiving['keep_unreads'] ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_unreads') ?> </label> </div> @@ -146,7 +154,8 @@ <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label for="keep_min"><?= _t('sub.feed.keep_min') ?> - <input type="number" id="keep_min" name="keep_min" min="0" value="<?= $archiving['keep_min'] ?>" data-leave-validation="<?= $archiving['keep_min'] ?>"> + <input type="number" id="keep_min" name="keep_min" min="0" value="<?= $archiving['keep_min'] ?>" + data-leave-validation="<?= $archiving['keep_min'] ?>"> </label> </div> </div> diff --git a/app/views/helpers/configure/query.phtml b/app/views/helpers/configure/query.phtml index 9c6e1da3d..7298a0a9a 100644 --- a/app/views/helpers/configure/query.phtml +++ b/app/views/helpers/configure/query.phtml @@ -26,19 +26,23 @@ <label class="group-name" for=""><?= _t('conf.query.filter.state') ?></label> <div class="group-controls"> <label class="checkbox" for="show_read"> - <input type="checkbox" name="query[state][]" id="show_read" value="<?= FreshRSS_Entry::STATE_READ ?>" <?= FreshRSS_Entry::STATE_READ & $this->query->getState() ? 'checked="checked"' : ''?> /> + <input type="checkbox" name="query[state][]" id="show_read" + value="<?= FreshRSS_Entry::STATE_READ ?>" <?= FreshRSS_Entry::STATE_READ & $this->query->getState() ? 'checked="checked"' : ''?> /> <?= _t('index.menu.read') ?> </label> <label class="checkbox" for="show_not_read"> - <input type="checkbox" name="query[state][]" id="show_not_read" value="<?= FreshRSS_Entry::STATE_NOT_READ ?>" <?= FreshRSS_Entry::STATE_NOT_READ & $this->query->getState() ? 'checked="checked"' : ''?> /> + <input type="checkbox" name="query[state][]" id="show_not_read" + value="<?= FreshRSS_Entry::STATE_NOT_READ ?>" <?= FreshRSS_Entry::STATE_NOT_READ & $this->query->getState() ? 'checked="checked"' : ''?> /> <?= _t('index.menu.unread') ?> </label> <label class="checkbox" for="show_favorite"> - <input type="checkbox" name="query[state][]" id="show_favorite" value="<?= FreshRSS_Entry::STATE_FAVORITE ?>" <?= FreshRSS_Entry::STATE_FAVORITE & $this->query->getState() ? 'checked="checked"' : ''?> /> + <input type="checkbox" name="query[state][]" id="show_favorite" + value="<?= FreshRSS_Entry::STATE_FAVORITE ?>" <?= FreshRSS_Entry::STATE_FAVORITE & $this->query->getState() ? 'checked="checked"' : ''?> /> <?= _t('index.menu.starred') ?> </label> <label class="checkbox" for="show_not_favorite"> - <input type="checkbox" name="query[state][]" id="show_not_favorite" value="<?= FreshRSS_Entry::STATE_NOT_FAVORITE ?>" <?= FreshRSS_Entry::STATE_NOT_FAVORITE & $this->query->getState() ? 'checked="checked"' : ''?> /> + <input type="checkbox" name="query[state][]" id="show_not_favorite" + value="<?= FreshRSS_Entry::STATE_NOT_FAVORITE ?>" <?= FreshRSS_Entry::STATE_NOT_FAVORITE & $this->query->getState() ? 'checked="checked"' : ''?> /> <?= _t('index.menu.non-starred') ?> </label> </div> diff --git a/app/views/helpers/extension/configure.phtml b/app/views/helpers/extension/configure.phtml index cb6ebd6bb..4a6dfe357 100644 --- a/app/views/helpers/extension/configure.phtml +++ b/app/views/helpers/extension/configure.phtml @@ -1,8 +1,7 @@ <div class="post"> <h1> <?= $this->extension->getName() ?> (<?= $this->extension->getVersion() ?>) — - <?php echo $this->extension->isEnabled() ? _t('admin.extensions.enabled') - : _t('admin.extensions.disabled'); ?> + <?= $this->extension->isEnabled() ? _t('admin.extensions.enabled') : _t('admin.extensions.disabled') ?> </h1> <p class="alert alert-warn"><?= $this->extension->getDescription() ?> — <?= _t('gen.short.by_author'), ' ', $this->extension->getAuthor() ?></p> diff --git a/app/views/helpers/feed/update.phtml b/app/views/helpers/feed/update.phtml index 361f94ab8..06dc859e1 100644 --- a/app/views/helpers/feed/update.phtml +++ b/app/views/helpers/feed/update.phtml @@ -23,7 +23,7 @@ <div class="form-group"> <label class="group-name" for="name"><?= _t('sub.feed.title') ?></label> <div class="group-controls"> - <input type="text" name="name" id="name" class="extend" value="<?= $this->feed->name() ?>" /> + <input type="text" name="name" id="name" class="extend" value="<?= $this->feed->name() ?>" /> </div> </div> <div class="form-group"> @@ -49,7 +49,8 @@ <a class="btn" target="_blank" rel="noreferrer" href="<?= $this->feed->url() ?>"><?= _i('link') ?></a> </div> - <a class="btn" target="_blank" rel="noreferrer" href="https://validator.w3.org/feed/check.cgi?url=<?= rawurlencode(htmlspecialchars_decode($this->feed->url(), ENT_QUOTES)) ?>"><?= _t('sub.feed.validator') ?></a> + <a class="btn" target="_blank" rel="noreferrer" href="https://validator.w3.org/feed/check.cgi?url=<?= + rawurlencode(htmlspecialchars_decode($this->feed->url(), ENT_QUOTES)) ?>"><?= _t('sub.feed.validator') ?></a> </div> </div> <div class="form-group"> @@ -57,7 +58,7 @@ <div class="group-controls"> <select name="category" id="category"> <?php foreach ($this->categories as $cat) { ?> - <option value="<?= $cat->id() ?>"<?= $cat->id()== $this->feed->category() ? ' selected="selected"' : '' ?>> + <option value="<?= $cat->id() ?>"<?= $cat->id() == $this->feed->category() ? ' selected="selected"' : '' ?>> <?= $cat->name() ?> </option> <?php } ?> @@ -68,9 +69,12 @@ <label class="group-name" for="priority"><?= _t('sub.feed.priority') ?></label> <div class="group-controls"> <select name="priority" id="priority"> - <option value='<?= FreshRSS_Feed::PRIORITY_MAIN_STREAM ?>' <?php if (FreshRSS_Feed::PRIORITY_MAIN_STREAM === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.main_stream') ?></option> - <option value='<?= FreshRSS_Feed::PRIORITY_NORMAL ?>' <?php if (FreshRSS_Feed::PRIORITY_NORMAL === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.normal') ?></option> - <option value='<?= FreshRSS_Feed::PRIORITY_ARCHIVED ?>' <?php if (FreshRSS_Feed::PRIORITY_ARCHIVED === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.archived') ?></option> + <option value='<?= FreshRSS_Feed::PRIORITY_MAIN_STREAM ?>' <?php + if (FreshRSS_Feed::PRIORITY_MAIN_STREAM === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.main_stream') ?></option> + <option value='<?= FreshRSS_Feed::PRIORITY_NORMAL ?>' <?php + if (FreshRSS_Feed::PRIORITY_NORMAL === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.normal') ?></option> + <option value='<?= FreshRSS_Feed::PRIORITY_ARCHIVED ?>' <?php + if (FreshRSS_Feed::PRIORITY_ARCHIVED === $this->feed->priority()) {echo 'selected="selected"';}?>><?= _t('sub.feed.priority.archived') ?></option> </select> </div> </div> @@ -80,9 +84,9 @@ <button class="btn btn-important"><?= _t('gen.action.submit') ?></button> <button type="reset" class="btn"><?= _t('gen.action.cancel') ?></button> <button class="btn btn-attention confirm" - data-str-confirm="<?= _t('gen.js.confirm_action_feed_cat') ?>" - formaction="<?= _url('feed', 'delete', 'id', $this->feed->id()) ?>" - formmethod="post"><?= _t('gen.action.remove') ?></button> + data-str-confirm="<?= _t('gen.js.confirm_action_feed_cat') ?>" + formaction="<?= _url('feed', 'delete', 'id', $this->feed->id()) ?>" + formmethod="post"><?= _t('gen.action.remove') ?></button> </div> </div> @@ -143,7 +147,8 @@ <label class="group-name"><?= _t('conf.archiving.policy') ?></label> <div class="group-controls"> <label class="checkbox"> - <input type="checkbox" name="use_default_purge_options" id="use_default_purge_options" value="1"<?= $archiving['default'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['default'] ? 1 : 0 ?>" /> + <input type="checkbox" name="use_default_purge_options" id="use_default_purge_options" value="1"<?= $archiving['default'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $archiving['default'] ? 1 : 0 ?>" /> <?= _t('gen.short.by_default') ?> </label> </div> @@ -151,18 +156,22 @@ <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label class="checkbox" for="enable_keep_max"> - <input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty($archiving['keep_max']) ? '' : ' checked="checked"' ?> data-leave-validation="<?= empty($archiving['keep_max']) ? 0 : 1 ?>"/> + <input type="checkbox" name="enable_keep_max" id="enable_keep_max" value="1"<?= empty($archiving['keep_max']) ? '' : ' checked="checked"' ?> + data-leave-validation="<?= empty($archiving['keep_max']) ? 0 : 1 ?>"/> <?= _t('conf.archiving.keep_max') ?> - <input type="number" id="keep_max" name="keep_max" min="0" value="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>" data-leave-validation="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"/> + <input type="number" id="keep_max" name="keep_max" min="0" value="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>" + data-leave-validation="<?= empty($archiving['keep_max']) ? 200 : $archiving['keep_max'] ?>"/> </label> </div> </div> <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label class="checkbox" for="enable_keep_period"> - <input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= $volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $volatile['enable_keep_period'] ? 1 : 0 ?>"/> + <input type="checkbox" name="enable_keep_period" id="enable_keep_period" value="1"<?= $volatile['enable_keep_period'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $volatile['enable_keep_period'] ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_period') ?> - <input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= $volatile['keep_period_count'] ?>" data-leave-validation="<?= $volatile['keep_period_count'] ?>"/> + <input type="number" id="keep_period_count" name="keep_period_count" min="0" value="<?= $volatile['keep_period_count'] ?>" + data-leave-validation="<?= $volatile['keep_period_count'] ?>"/> <select class="number" name="keep_period_unit" id="keep_period_unit" data-leave-validation="<?= $volatile['keep_period_unit'] ?>"> <option></option> <option value="P1Y" <?= 'P1Y' === $volatile['keep_period_unit'] ? 'selected="selected"' : '' ?>><?= _t('gen.period.years') ?></option> @@ -178,7 +187,8 @@ <label class="group-name"><?= _t('conf.archiving.exception') ?></label> <div class="group-controls"> <label class="checkbox" for="keep_favourites"> - <input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= $archiving['keep_favourites'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_favourites'] ? 1 : 0 ?>"/> + <input type="checkbox" name="keep_favourites" id="keep_favourites" value="1"<?= $archiving['keep_favourites'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $archiving['keep_favourites'] ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_favourites') ?> </label> </div> @@ -186,7 +196,8 @@ <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label class="checkbox" for="keep_labels"> - <input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= $archiving['keep_labels'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_labels'] ? 1 : 0 ?>"/> + <input type="checkbox" name="keep_labels" id="keep_labels" value="1"<?= $archiving['keep_labels'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $archiving['keep_labels'] ? 1 : 0 ?>"/> <?= _t('conf.archiving.keep_labels') ?> </label> </div> @@ -194,7 +205,8 @@ <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label class="checkbox" for="keep_unreads"> - <input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= $archiving['keep_unreads'] ? ' checked="checked"' : '' ?> data-leave-validation="<?= $archiving['keep_unreads'] ?>"/> + <input type="checkbox" name="keep_unreads" id="keep_unreads" value="1"<?= $archiving['keep_unreads'] ? ' checked="checked"' : '' ?> + data-leave-validation="<?= $archiving['keep_unreads'] ?>"/> <?= _t('conf.archiving.keep_unreads') ?> </label> </div> @@ -202,7 +214,8 @@ <div class="form-group archiving"<?= $archiving['default'] ? ' hidden="hidden"' : '' ?>> <div class="group-controls"> <label for="keep_min"><?= _t('sub.feed.keep_min') ?> - <input type="number" id="keep_min" name="keep_min" min="0" value="<?= $archiving['keep_min'] ?>" data-leave-validation="<?= $archiving['keep_min'] ?>"> + <input type="number" id="keep_min" name="keep_min" min="0" value="<?= $archiving['keep_min'] ?>" + data-leave-validation="<?= $archiving['keep_min'] ?>"> </label> </div> </div> @@ -213,10 +226,10 @@ <select class="number" name="ttl" id="ttl" required="required"><?php $found = false; foreach (array(FreshRSS_Feed::TTL_DEFAULT => _t('gen.short.by_default'), 900 => '15min', 1200 => '20min', 1500 => '25min', 1800 => '30min', 2700 => '45min', - 3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h', - 36000 => '10h', 43200 => '12h', 64800 => '18h', - 86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d', - 604800 => '1wk', 1209600 => '2wk', 1814400 => '3wk', 2419200 => '4wk', 2629744 => '1mo') as $v => $t) { + 3600 => '1h', 5400 => '1.5h', 7200 => '2h', 10800 => '3h', 14400 => '4h', 18800 => '5h', 21600 => '6h', 25200 => '7h', 28800 => '8h', + 36000 => '10h', 43200 => '12h', 64800 => '18h', + 86400 => '1d', 129600 => '1.5d', 172800 => '2d', 259200 => '3d', 345600 => '4d', 432000 => '5d', 518400 => '6d', + 604800 => '1wk', 1209600 => '2wk', 1814400 => '3wk', 2419200 => '4wk', 2629744 => '1mo') as $v => $t) { echo '<option value="' . $v . ($this->feed->ttl() === $v ? '" selected="selected' : '') . '">' . $t . '</option>'; if ($this->feed->ttl() == $v) { $found = true; @@ -257,13 +270,15 @@ <div class="form-group"> <label class="group-name" for="http_user_feed<?= $this->feed->id() ?>"><?= _t('sub.feed.auth.username') ?></label> <div class="group-controls"> - <input type="text" name="http_user_feed<?= $this->feed->id() ?>" id="http_user_feed<?= $this->feed->id() ?>" class="extend" value="<?= empty($auth['username']) ? ' ' : $auth['username'] ?>" autocomplete="off" /> + <input type="text" name="http_user_feed<?= $this->feed->id() ?>" id="http_user_feed<?= $this->feed->id() ?>" class="extend" value="<?= + empty($auth['username']) ? ' ' : $auth['username'] ?>" autocomplete="off" /> <p class="help"><?= _i('help') ?> <?= _t('sub.feed.auth.help') ?></p> </div> <label class="group-name" for="http_pass_feed<?= $this->feed->id() ?>"><?= _t('sub.feed.auth.password') ?></label> <div class="group-controls"> - <input type="password" name="http_pass_feed<?= $this->feed->id() ?>" id="http_pass_feed<?= $this->feed->id() ?>" class="extend" value="<?= $auth['password'] ?>" autocomplete="new-password" /> + <input type="password" name="http_pass_feed<?= $this->feed->id() ?>" id="http_pass_feed<?= $this->feed->id() ?>" class="extend" value="<?= + $auth['password'] ?>" autocomplete="new-password" /> </div> </div> @@ -279,8 +294,10 @@ <label class="group-name" for="path_entries"><?= _t('sub.feed.css_path') ?></label> <div class="group-controls"> <div class="stick"> - <input type="text" name="path_entries" id="path_entries" class="extend" value="<?= $this->feed->pathEntries() ?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>" /> - <a id="popup-preview-selector" class="btn" href="<?= _url('feed', 'contentSelectorPreview', 'id', $this->feed->id(), 'selector', 'selector-token') ?>"><?= _i('look') ?></a> + <input type="text" name="path_entries" id="path_entries" class="extend" value="<?= $this->feed->pathEntries() ?>" + placeholder="<?= _t('gen.short.blank_to_disable') ?>" /> + <a id="popup-preview-selector" class="btn" href="<?= + _url('feed', 'contentSelectorPreview', 'id', $this->feed->id(), 'selector', 'selector-token') ?>"><?= _i('look') ?></a> </div> <p class="help"><?= _i('help') ?> <?= _t('sub.feed.css_help') ?></p> </div> @@ -290,8 +307,8 @@ <label class="group-name" for="path_entries"><?= _t('sub.feed.css_cookie') ?></label> <div class="group-controls"> <div class="stick"> - <input type="text" name="curl_params_cookie" id="curl_params_cookie" class="extend" value="<?= - is_array($this->feed->attributes('curl_params')) && !empty($this->feed->attributes('curl_params')[CURLOPT_COOKIE]) ? + <input type="text" name="curl_params_cookie" id="curl_params_cookie" class="extend" value="<?= + is_array($this->feed->attributes('curl_params')) && !empty($this->feed->attributes('curl_params')[CURLOPT_COOKIE]) ? $this->feed->attributes('curl_params')[CURLOPT_COOKIE] : '' ?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>" /> </div> @@ -325,7 +342,7 @@ </select> <div class="stick"> <input type="text" name="curl_params" id="curl_params" class="extend" value="<?= - is_array($this->feed->attributes('curl_params')) && !empty($this->feed->attributes('curl_params')[CURLOPT_PROXY]) ? + is_array($this->feed->attributes('curl_params')) && !empty($this->feed->attributes('curl_params')[CURLOPT_PROXY]) ? $this->feed->attributes('curl_params')[CURLOPT_PROXY] : '' ?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>" /> </div> diff --git a/app/views/helpers/index/normal/entry_header.phtml b/app/views/helpers/index/normal/entry_header.phtml index 863062dd3..7ab2ff70b 100644 --- a/app/views/helpers/index/normal/entry_header.phtml +++ b/app/views/helpers/index/normal/entry_header.phtml @@ -45,5 +45,6 @@ endif; ?></a></li> <?php if ($topline_date) { ?><li class="item date"><time datetime="<?= $this->entry->machineReadableDate() ?>"><?= $this->entry->date() ?></time> </li><?php } ?> - <?php if ($topline_link) { ?><li class="item link"><a target="_blank" rel="noreferrer" href="<?= $this->entry->link() ?>" title="<?= _t('conf.shortcut.see_on_website') ?>"><?= _i('link') ?></a></li><?php } ?> + <?php if ($topline_link) { ?><li class="item link"><a target="_blank" rel="noreferrer" href="<?= $this->entry->link() ?>" title="<?= + _t('conf.shortcut.see_on_website') ?>"><?= _i('link') ?></a></li><?php } ?> </ul> diff --git a/app/views/helpers/pagination.phtml b/app/views/helpers/pagination.phtml index b7d62ceab..0022ba299 100755 --- a/app/views/helpers/pagination.phtml +++ b/app/views/helpers/pagination.phtml @@ -27,10 +27,10 @@ </a> <?php } elseif ($url_mark_read) { ?> <button id="bigMarkAsRead" - class="as-link <?= FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : '' ?>" - form="mark-read-pagination" - formaction="<?= Minz_Url::display($url_mark_read) ?>" - type="submit"> + class="as-link <?= FreshRSS_Context::$user_conf->reading_confirm ? 'confirm" disabled="disabled' : '' ?>" + form="mark-read-pagination" + formaction="<?= Minz_Url::display($url_mark_read) ?>" + type="submit"> <?= _t('gen.pagination.nothing_to_load') ?><br /> <span class="bigTick">✓</span><br /> <?= _t('gen.pagination.mark_all_read') ?> diff --git a/app/views/index/global.phtml b/app/views/index/global.phtml index af16a0bfa..e286d0946 100644 --- a/app/views/index/global.phtml +++ b/app/views/index/global.phtml @@ -27,7 +27,8 @@ if (!empty($feeds)) { ?> <div class="box category" data-unread="<?= $cat->nbNotRead() ?>"> - <div class="box-title"><a class="title" data-unread="<?= format_number($cat->nbNotRead()) ?>" href="<?= Minz_Url::display($url_base) ?>"><?= $cat->name() ?></a></div> + <div class="box-title"><a class="title" data-unread="<?= format_number($cat->nbNotRead()) ?>" + href="<?= Minz_Url::display($url_base) ?>"><?= $cat->name() ?></a></div> <ul class="box-content"> <?php @@ -37,7 +38,8 @@ $empty = $feed->nbEntries() === 0 ? ' empty' : ''; $url_base['params']['get'] = 'f_' . $feed->id(); ?> - <li id="f_<?= $feed->id() ?>" class="item feed<?= $error, $empty, $feed->mute() ? ' mute' : '' ?>" data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>"> + <li id="f_<?= $feed->id() ?>" class="item feed<?= $error, $empty, $feed->mute() ? ' mute' : '' ?>" + data-unread="<?= $feed->nbNotRead() ?>" data-priority="<?= $feed->priority() ?>"> <?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?> <a class="item-title" data-unread="<?= format_number($feed->nbNotRead()) ?>" href="<?= Minz_Url::display($url_base) ?>"><?= $feed->name() ?></a> </li> diff --git a/app/views/index/logs.phtml b/app/views/index/logs.phtml index 2deb1c315..3bbf233ac 100644 --- a/app/views/index/logs.phtml +++ b/app/views/index/logs.phtml @@ -15,10 +15,12 @@ <?php $this->logsPaginator->render('logs_pagination.phtml', 'page'); ?> <?php foreach ($items as $log) { ?> - <div class="log <?= $log->level() ?>"><span class="date"><?= @date('Y-m-d H:i:s', @strtotime($log->date())) ?></span><?= htmlspecialchars($log->info(), ENT_NOQUOTES, 'UTF-8') ?></div> + <div class="log <?= $log->level() ?>"><span class="date"> + <?= @date('Y-m-d H:i:s', @strtotime($log->date())) ?> + </span><?= htmlspecialchars($log->info(), ENT_NOQUOTES, 'UTF-8') ?></div> <?php } ?> - <?php $this->logsPaginator->render('logs_pagination.phtml','page'); ?> + <?php $this->logsPaginator->render('logs_pagination.phtml', 'page'); ?> </div> <?php } else { ?> <p class="alert alert-warn"><?= _t('index.log.empty') ?></p> diff --git a/app/views/index/normal.phtml b/app/views/index/normal.phtml index aee7246d0..ba941066e 100644 --- a/app/views/index/normal.phtml +++ b/app/views/index/normal.phtml @@ -61,10 +61,10 @@ $today = @strtotime('today'); ?></div><?php $display_others = false; } - ?><div class="flux<?php echo !$this->entry->isRead() ? ' not_read' : ''; - ?><?php echo $this->entry->isFavorite() ? ' favorite' : ''; - ?>" id="flux_<?php echo $this->entry->id(); - ?>" data-feed="<?php echo $this->feed->id(); + ?><div class="flux<?= !$this->entry->isRead() ? ' not_read' : '' + ?><?= $this->entry->isFavorite() ? ' favorite' : '' + ?>" id="flux_<?= $this->entry->id() + ?>" data-feed="<?= $this->feed->id() ?>"><?php $this->renderHelper('index/normal/entry_header'); @@ -74,7 +74,9 @@ $today = @strtotime('today'); <h1 class="title"><a target="_blank" rel="noreferrer" class="go_website" href="<?= $this->entry->link() ?>"><?= $this->entry->title() ?></a></h1> <div class="subtitle"> <div class="website"><a href="<?= _url('index', 'index', 'get', 'f_' . $this->feed->id()) ?>"> - <?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $this->feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?> + <?php if (FreshRSS_Context::$user_conf->show_favicons): ?> + <img class="favicon" src="<?= $this->feed->favicon() ?>" alt="✇" loading="lazy" /> + <?php endif; ?> <span><?= $this->feed->name() ?></span></a> </div> <div class="date"><?= $this->entry->date() ?></div> @@ -88,7 +90,9 @@ $today = @strtotime('today'); echo $first ? _t('gen.short.by_author') . ' ' : '· '; $first = false; ?> - <em><a href="<?= Minz_Url::display(Minz_Request::modifiedCurrentRequest(['search' => 'author:"' . htmlspecialchars_decode($author, ENT_QUOTES) . '"'])) ?>"><?= $author ?></a></em> + <em><a href="<?= Minz_Url::display(Minz_Request::modifiedCurrentRequest( + ['search' => 'author:"' . htmlspecialchars_decode($author, ENT_QUOTES) . '"']) + ) ?>"><?= $author ?></a></em> <?php endforeach; ?> </div><?php endif; ?> </div> diff --git a/app/views/index/reader.phtml b/app/views/index/reader.phtml index f2f76f8b6..9febbb52f 100644 --- a/app/views/index/reader.phtml +++ b/app/views/index/reader.phtml @@ -44,7 +44,9 @@ $content_width = FreshRSS_Context::$user_conf->content_width; <?= _i($item->isFavorite() ? 'starred' : 'non-starred') ?> </a> <a class="website" href="<?= _url('index', 'reader', 'get', 'f_' . $feed->id()) ?>"> - <?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?> + <?php if (FreshRSS_Context::$user_conf->show_favicons): ?> + <img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /> + <?php endif; ?> <span><?= $feed->name() ?></span> </a> <h1 class="title"><a target="_blank" rel="noreferrer" class="go_website" href="<?= $item->link() ?>"><?= $item->title() ?></a></h1> @@ -57,7 +59,9 @@ $content_width = FreshRSS_Context::$user_conf->content_width; echo $first ? _t('gen.short.by_author') . ' ' : '· '; $first = false; ?> -<em><a href="<?= Minz_Url::display(Minz_Request::modifiedCurrentRequest(['search' => 'author:' . str_replace(' ', '+', htmlspecialchars_decode($author, ENT_QUOTES))])) ?>"><?= $author ?></a></em> +<em><a href="<?= Minz_Url::display(Minz_Request::modifiedCurrentRequest( + ['search' => 'author:' . str_replace(' ', '+', htmlspecialchars_decode($author, ENT_QUOTES))]) + ) ?>"><?= $author ?></a></em> <?php endforeach; echo ' — '; diff --git a/app/views/stats/idle.phtml b/app/views/stats/idle.phtml index 9421893fb..7834d23c7 100644 --- a/app/views/stats/idle.phtml +++ b/app/views/stats/idle.phtml @@ -26,11 +26,13 @@ <div class="stick"> <a class="btn" href="<?= _url('index', 'index', 'get', 'f_' . $feed['id']) ?>"><?= _i('link') ?> <?= _t('gen.action.filter') ?></a> <a class="btn" href="<?= _url('subscription', 'index', 'id', $feed['id']) ?>"><?= _i('configure') ?> <?= _t('gen.action.manage') ?></a> - <button class="btn btn-attention confirm" form="form-delete" formaction="<?= _url('feed', 'delete', 'id', $feed['id'], 'r', $current_url) ?>"><?= _t('gen.action.remove') ?></button> + <button class="btn btn-attention confirm" form="form-delete" + formaction="<?= _url('feed', 'delete', 'id', $feed['id'], 'r', $current_url) ?>"><?= _t('gen.action.remove') ?></button> </div> </li> <li class="item"> - <span title="<?= timestamptodate($feed['last_date'], false) ?>"><?= $feed['name'] ?> (<?= _t('admin.stats.number_entries', $feed['nb_articles']) ?>)</span> + <span title="<?= timestamptodate($feed['last_date'], false) ?>"><?= $feed['name'] ?> + (<?= _t('admin.stats.number_entries', $feed['nb_articles']) ?>)</span> </li> </ul> <?php } ?> diff --git a/app/views/stats/repartition.phtml b/app/views/stats/repartition.phtml index 7b445a7cc..4ec843a10 100644 --- a/app/views/stats/repartition.phtml +++ b/app/views/stats/repartition.phtml @@ -13,9 +13,11 @@ echo '<optgroup label="', $category->name(), '">'; foreach ($feeds as $feed) { if ($this->feed && $feed->id() == $this->feed->id()) { - echo '<option value="', $feed->id(), '" selected="selected" data-url="', _url('stats', 'repartition', 'id', $feed->id()), '">', $feed->name(), '</option>'; + echo '<option value="', $feed->id(), '" selected="selected" data-url="', + _url('stats', 'repartition', 'id', $feed->id()), '">', $feed->name(), '</option>'; } else { - echo '<option value="', $feed->id(), '" data-url="', _url('stats', 'repartition', 'id', $feed->id()), '">', $feed->name(), '</option>'; + echo '<option value="', $feed->id(), '" data-url="', + _url('stats', 'repartition', 'id', $feed->id()), '">', $feed->name(), '</option>'; } } echo '</optgroup>'; diff --git a/app/views/subscription/bookmarklet.phtml b/app/views/subscription/bookmarklet.phtml index e6f311f58..6941a02e9 100644 --- a/app/views/subscription/bookmarklet.phtml +++ b/app/views/subscription/bookmarklet.phtml @@ -4,7 +4,9 @@ <a href="<?= _url('index', 'index') ?>"><?= _t('gen.action.back_to_rss_feeds') ?></a> <legend><?= _t('sub.bookmarklet.title') ?></legend> - <p><a class="btn btn-important" href="javascript:(function(){var%20url%20=%20location.href;var%20otherWindow=window.open('about:blank','_blank');otherWindow.opener=null;otherWindow.location='<?= Minz_Url::display(array('c' => 'feed', 'a' => 'add'), 'html', true) ?>&url_rss='+encodeURIComponent(url);})();"><?= _t('sub.bookmarklet.label') ?></a></p> + <p><a class="btn btn-important" + href="javascript:(function(){var%20url%20=%20location.href;var%20otherWindow=window.open('about:blank','_blank');otherWindow.opener=null;otherWindow.location='<?= + Minz_Url::display(array('c' => 'feed', 'a' => 'add'), 'html', true) ?>&url_rss='+encodeURIComponent(url);})();"><?= _t('sub.bookmarklet.label') ?></a></p> <?= _t('sub.bookmarklet.documentation') ?> <legend><?= _t('sub.firefox.title') ?></legend> diff --git a/app/views/subscription/index.phtml b/app/views/subscription/index.phtml index 131a1db91..7b36a02c1 100644 --- a/app/views/subscription/index.phtml +++ b/app/views/subscription/index.phtml @@ -42,10 +42,10 @@ $error = $feed->inError() ? ' error' : ''; $empty = $feed->nbEntries() == 0 ? ' empty' : ''; ?> - <li class="item feed<?= $error, $empty, $feed->mute() ? ' mute': '' ?>" - draggable="true" - data-feed-id="<?= $feed->id() ?>" - dropzone="move"> + <li class="item feed<?= $error, $empty, $feed->mute() ? ' mute' : '' ?>" + draggable="true" + data-feed-id="<?= $feed->id() ?>" + dropzone="move"> <a class="configure open-slider" href="<?= _url('subscription', 'feed', 'id', $feed->id()) ?>"><?= _i('configure') ?></a> <?php if (FreshRSS_Context::$user_conf->show_favicons): ?><img class="favicon" src="<?= $feed->favicon() ?>" alt="✇" loading="lazy" /><?php endif; ?> <?= $feed->name() ?> diff --git a/app/views/user/details.phtml b/app/views/user/details.phtml index b93cd4d72..582910285 100644 --- a/app/views/user/details.phtml +++ b/app/views/user/details.phtml @@ -5,82 +5,83 @@ <?php $enabled = $this->details['enabled']; ?> <div class="post"> - <a href="<?= _url('user', 'manage'); ?>"><?= _t('admin.user.back_to_manage'); ?></a> + <a href="<?= _url('user', 'manage'); ?>"><?= _t('admin.user.back_to_manage'); ?></a> - <legend><?= $this->username ?><?php if ($isAdmin) echo ' ― ', _t('admin.user.admin'); ?></legend> - <form method="post" action="<?= _url('user', 'manage', 'username', $this->username); ?>"> - <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken(); ?>" /> + <legend><?= $this->username ?><?php if ($isAdmin) echo ' ― ', _t('admin.user.admin'); ?></legend> + <form method="post" action="<?= _url('user', 'manage', 'username', $this->username); ?>"> + <input type="hidden" name="_csrf" value="<?= FreshRSS_Auth::csrfToken(); ?>" /> - <div class="form-group"> - <label class="group-name"><?= _t('admin.user.email') ?></label> - <div class="group-controls"> - <?= $this->details['mail_login'] ?> - </div> - </div> + <div class="form-group"> + <label class="group-name"><?= _t('admin.user.email') ?></label> + <div class="group-controls"> + <?= $this->details['mail_login'] ?> + </div> + </div> - <div class="form-group"> - <label class="group-name"><?= _t('admin.user.language') ?></label> - <div class="group-controls"> - <?= _t("gen.lang.{$this->details['language']}") ?> - </div> - </div> + <div class="form-group"> + <label class="group-name"><?= _t('admin.user.language') ?></label> + <div class="group-controls"> + <?= _t("gen.lang.{$this->details['language']}") ?> + </div> + </div> - <div class="form-group"> - <label class="group-name"><?= _t('admin.user.feed_count') ?></label> - <div class="group-controls"> - <?= format_number($this->details['feed_count']) ?> - </div> - </div> + <div class="form-group"> + <label class="group-name"><?= _t('admin.user.feed_count') ?></label> + <div class="group-controls"> + <?= format_number($this->details['feed_count']) ?> + </div> + </div> - <div class="form-group"> - <label class="group-name"><?= _t('admin.user.article_count') ?></label> - <div class="group-controls"> - <?= format_number($this->details['article_count']) ?> - </div> - </div> + <div class="form-group"> + <label class="group-name"><?= _t('admin.user.article_count') ?></label> + <div class="group-controls"> + <?= format_number($this->details['article_count']) ?> + </div> + </div> - <div class="form-group"> - <label class="group-name"><?= _t('admin.user.database_size') ?></label> - <div class="group-controls"> - <?= format_bytes($this->details['database_size']) ?> - </div> - </div> + <div class="form-group"> + <label class="group-name"><?= _t('admin.user.database_size') ?></label> + <div class="group-controls"> + <?= format_bytes($this->details['database_size']) ?> + </div> + </div> - <div class="form-group"> - <label class="group-name"><?= _t('admin.user.last_user_activity') ?></label> - <div class="group-controls"> - <?= $this->details['last_user_activity'] ?> - </div> - </div> + <div class="form-group"> + <label class="group-name"><?= _t('admin.user.last_user_activity') ?></label> + <div class="group-controls"> + <?= $this->details['last_user_activity'] ?> + </div> + </div> - <div class="form-group"> - <label class="group-name" for="newPasswordPlain"><?= _t('admin.user.password_form') ?></label> - <div class="group-controls"> - <div class="stick"> - <input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/> - <a class="btn toggle-password" data-toggle="password-<?= $this->username; ?>"><?= _i('key') ?></a> - </div> - <p class="help"><?= _i('help'); ?> <?= _t('admin.user.password_format') ?></p> - </div> - </div> + <div class="form-group"> + <label class="group-name" for="newPasswordPlain"><?= _t('admin.user.password_form') ?></label> + <div class="group-controls"> + <div class="stick"> + <input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" + pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/> + <a class="btn toggle-password" data-toggle="password-<?= $this->username; ?>"><?= _i('key') ?></a> + </div> + <p class="help"><?= _i('help'); ?> <?= _t('admin.user.password_format') ?></p> + </div> + </div> - <div class="form-group form-actions"> - <noscript><b><?= _t('gen.js.should_be_activated'); ?></b></noscript> - <div class="group-controls"> - <button type="submit" class="btn btn-important" name="action" value="update"><?= _t('gen.action.update') ?></button> - <button type="submit" class="btn btn-attention confirm" name="action" value="purge"><?= _t('gen.action.purge') ?></button> - <button type="submit" class="btn btn-attention confirm" name="action" value="delete"><?= _t('gen.action.remove') ?></button> - <?php if ($isAdmin && !$isDefault): ?> - <button type="submit" class="btn btn-attention confirm" name="action" value="demote"><?= _t('gen.action.demote') ?></button> - <?php elseif (!$isAdmin): ?> - <button type="submit" class="btn btn-attention confirm" name="action" value="promote"><?= _t('gen.action.promote') ?></button> - <?php endif; ?> - <?php if ($enabled && !$isDefault): ?> - <button type="submit" class="btn btn-attention" name="action" value="disable"><?= _t('gen.action.disable') ?></button> - <?php elseif (!$enabled): ?> - <button type="submit" class="btn btn-attention" name="action" value="enable"><?= _t('gen.action.enable') ?></button> - <?php endif; ?> - <div> - </div> - </form> + <div class="form-group form-actions"> + <noscript><b><?= _t('gen.js.should_be_activated'); ?></b></noscript> + <div class="group-controls"> + <button type="submit" class="btn btn-important" name="action" value="update"><?= _t('gen.action.update') ?></button> + <button type="submit" class="btn btn-attention confirm" name="action" value="purge"><?= _t('gen.action.purge') ?></button> + <button type="submit" class="btn btn-attention confirm" name="action" value="delete"><?= _t('gen.action.remove') ?></button> + <?php if ($isAdmin && !$isDefault): ?> + <button type="submit" class="btn btn-attention confirm" name="action" value="demote"><?= _t('gen.action.demote') ?></button> + <?php elseif (!$isAdmin): ?> + <button type="submit" class="btn btn-attention confirm" name="action" value="promote"><?= _t('gen.action.promote') ?></button> + <?php endif; ?> + <?php if ($enabled && !$isDefault): ?> + <button type="submit" class="btn btn-attention" name="action" value="disable"><?= _t('gen.action.disable') ?></button> + <?php elseif (!$enabled): ?> + <button type="submit" class="btn btn-attention" name="action" value="enable"><?= _t('gen.action.enable') ?></button> + <?php endif; ?> + <div> + </div> + </form> </div> diff --git a/app/views/user/manage.phtml b/app/views/user/manage.phtml index cf053d918..4332562e9 100644 --- a/app/views/user/manage.phtml +++ b/app/views/user/manage.phtml @@ -13,7 +13,8 @@ <select name="new_user_language" id="new_user_language"> <?php $languages = Minz_Translate::availableLanguages(); ?> <?php foreach ($languages as $lang) { ?> - <option value="<?= $lang ?>"<?= FreshRSS_Context::$user_conf->language === $lang ? ' selected="selected"' : '' ?>><?= _t('gen.lang.' . $lang) ?></option> + <option value="<?= $lang ?>"<?= FreshRSS_Context::$user_conf->language === $lang ? + ' selected="selected"' : '' ?>><?= _t('gen.lang.' . $lang) ?></option> <?php } ?> </select> </div> @@ -22,7 +23,8 @@ <div class="form-group"> <label class="group-name" for="new_user_name"><?= _t('admin.user.username') ?></label> <div class="group-controls"> - <input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off" pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" placeholder="demo" /> + <input id="new_user_name" name="new_user_name" type="text" size="16" required="required" autocomplete="off" + pattern="<?= FreshRSS_user_Controller::USERNAME_PATTERN ?>" placeholder="demo" /> </div> </div> @@ -83,7 +85,7 @@ </thead> <tbody> <?php foreach ($this->users as $username => $values) : ?> - <tr <?php if ($values['is_default']):?>class="default-user"<?php endif; ?>> + <tr <?= $values['is_default'] ? 'class="default-user"' : '' ?>> <td><a href="<?= _url('user', 'details', 'username', $username) ?>"><?= $username ?></a></td> <td><?= $values['enabled'] ? '✔' : ' ' ?></td> <td><?= $values['is_admin'] ? '✔' : ' ' ?></td> diff --git a/app/views/user/profile.phtml b/app/views/user/profile.phtml index 9e272b20a..3fc79bb47 100644 --- a/app/views/user/profile.phtml +++ b/app/views/user/profile.phtml @@ -40,7 +40,8 @@ <label class="group-name" for="newPasswordPlain"><?= _t('conf.profile.password_form') ?></label> <div class="group-controls"> <div class="stick"> - <input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/> + <input type="password" id="newPasswordPlain" name="newPasswordPlain" autocomplete="new-password" + pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/> <a class="btn toggle-password" data-toggle="newPasswordPlain"><?= _i('key') ?></a> </div> <p class="help"><?= _i('help') ?> <?= _t('conf.profile.password_format') ?></p> @@ -56,7 +57,8 @@ <input type="text" id="token" name="token" value="<?= $token ?>" placeholder="<?= _t('gen.short.blank_to_disable') ?>"<?php echo FreshRSS_Auth::accessNeedsAction() ? '' : ' disabled="disabled"'; ?> data-leave-validation="<?= $token ?>"/> <p class="help"><?= _i('help') ?> <?= _t('admin.auth.token_help') ?></p> - <kbd><?= Minz_Url::display(array('a' => 'rss', 'params' => array('user' => Minz_Session::param('currentUser'), 'token' => $token, 'hours' => FreshRSS_Context::$user_conf->since_hours_posts_per_rss)), 'html', true) ?></kbd> + <kbd><?= Minz_Url::display(array('a' => 'rss', 'params' => array('user' => Minz_Session::param('currentUser'), + 'token' => $token, 'hours' => FreshRSS_Context::$user_conf->since_hours_posts_per_rss)), 'html', true) ?></kbd> </div> </div> <?php } ?> @@ -78,7 +80,8 @@ <label class="group-name" for="apiPasswordPlain"><?= _t('conf.profile.password_api') ?></label> <div class="group-controls"> <div class="stick"> - <input type="password" id="apiPasswordPlain" name="apiPasswordPlain" autocomplete="new-password" pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/> + <input type="password" id="apiPasswordPlain" name="apiPasswordPlain" autocomplete="new-password" + pattern=".{7,}" <?= cryptAvailable() ? '' : 'disabled="disabled" ' ?>/> <a class="btn toggle-password" data-toggle="apiPasswordPlain"><?= _i('key') ?></a> </div> <p class="help"><?= _i('help') ?> <kbd><a href="../api/"><?= Minz_Url::display('/api/', 'html', true) ?></a></kbd></p> diff --git a/lib/Minz/Configuration.php b/lib/Minz/Configuration.php index 7c60c7567..8c9c59802 100644 --- a/lib/Minz/Configuration.php +++ b/lib/Minz/Configuration.php @@ -17,8 +17,7 @@ class Minz_Configuration { * @param $default_filename a filename containing default values for the configuration * @param $configuration_setter an optional helper to set values in configuration */ - public static function register($namespace, $config_filename, $default_filename = null, - $configuration_setter = null) { + public static function register($namespace, $config_filename, $default_filename = null, $configuration_setter = null) { self::$config_list[$namespace] = new Minz_Configuration( $namespace, $config_filename, $default_filename, $configuration_setter ); @@ -103,8 +102,7 @@ class Minz_Configuration { * @param $default_filename the file containing default values, null by default. * @param $configuration_setter an optional helper to set values in configuration */ - private function __construct($namespace, $config_filename, $default_filename = null, - $configuration_setter = null) { + private function __construct($namespace, $config_filename, $default_filename = null, $configuration_setter = null) { $this->namespace = $namespace; $this->config_filename = $config_filename; $this->default_filename = $default_filename; @@ -206,8 +204,7 @@ class Minz_Configuration { @rename($this->config_filename, $back_filename); if (file_put_contents($this->config_filename, - "<?php\nreturn " . var_export($this->data, true) . ';', - LOCK_EX) === false) { + "<?php\nreturn " . var_export($this->data, true) . ';', LOCK_EX) === false) { return false; } diff --git a/lib/Minz/ControllerNotActionControllerException.php b/lib/Minz/ControllerNotActionControllerException.php index 1a8e0729c..5cf418404 100644 --- a/lib/Minz/ControllerNotActionControllerException.php +++ b/lib/Minz/ControllerNotActionControllerException.php @@ -1,8 +1,7 @@ <?php class Minz_ControllerNotActionControllerException extends Minz_Exception { public function __construct ($controller_name, $code = self::ERROR) { - $message = 'Controller `' . $controller_name - . '` isn\'t instance of ActionController'; + $message = 'Controller `' . $controller_name . '` isn’t instance of ActionController'; parent::__construct ($message, $code); } diff --git a/lib/Minz/ExtensionException.php b/lib/Minz/ExtensionException.php index 647f1a9b9..ab4c5c419 100644 --- a/lib/Minz/ExtensionException.php +++ b/lib/Minz/ExtensionException.php @@ -3,11 +3,9 @@ class Minz_ExtensionException extends Minz_Exception { public function __construct ($message, $extension_name = false, $code = self::ERROR) { if ($extension_name) { - $message = 'An error occured in `' . $extension_name - . '` extension with the message: ' . $message; + $message = 'An error occured in `' . $extension_name . '` extension with the message: ' . $message; } else { - $message = 'An error occured in an unnamed ' - . 'extension with the message: ' . $message; + $message = 'An error occured in an unnamed extension with the message: ' . $message; } parent::__construct($message, $code); diff --git a/lib/Minz/ExtensionManager.php b/lib/Minz/ExtensionManager.php index 841d970dd..0f542894d 100644 --- a/lib/Minz/ExtensionManager.php +++ b/lib/Minz/ExtensionManager.php @@ -15,63 +15,63 @@ class Minz_ExtensionManager { // List of available hooks. Please keep this list sorted. private static $hook_list = array( - 'check_url_before_add' => array( // function($url) -> Url | null + 'check_url_before_add' => array( // function($url) -> Url | null 'list' => array(), 'signature' => 'OneToOne', ), - 'entry_before_display' => array( // function($entry) -> Entry | null + 'entry_before_display' => array( // function($entry) -> Entry | null 'list' => array(), 'signature' => 'OneToOne', ), - 'entry_before_insert' => array( // function($entry) -> Entry | null + 'entry_before_insert' => array( // function($entry) -> Entry | null 'list' => array(), 'signature' => 'OneToOne', ), - 'feed_before_actualize' => array( // function($feed) -> Feed | null + 'feed_before_actualize' => array( // function($feed) -> Feed | null 'list' => array(), 'signature' => 'OneToOne', ), - 'feed_before_insert' => array( // function($feed) -> Feed | null + 'feed_before_insert' => array( // function($feed) -> Feed | null 'list' => array(), 'signature' => 'OneToOne', ), - 'freshrss_init' => array( // function() -> none + 'freshrss_init' => array( // function() -> none 'list' => array(), 'signature' => 'NoneToNone', ), - 'freshrss_user_maintenance' => array( // function() -> none + 'freshrss_user_maintenance' => array( // function() -> none 'list' => array(), 'signature' => 'NoneToNone', ), - 'js_vars' => array( // function($vars = array) -> array | null + 'js_vars' => array( // function($vars = array) -> array | null 'list' => array(), 'signature' => 'OneToOne', ), - 'menu_admin_entry' => array( // function() -> string + 'menu_admin_entry' => array( // function() -> string 'list' => array(), 'signature' => 'NoneToString', ), - 'menu_configuration_entry' => array( // function() -> string + 'menu_configuration_entry' => array( // function() -> string 'list' => array(), 'signature' => 'NoneToString', ), - 'menu_other_entry' => array( // function() -> string + 'menu_other_entry' => array( // function() -> string 'list' => array(), 'signature' => 'NoneToString', ), - 'nav_menu' => array( // function() -> string + 'nav_menu' => array( // function() -> string 'list' => array(), 'signature' => 'NoneToString', ), - 'nav_reading_modes' => array( // function($readingModes = array) -> array | null + 'nav_reading_modes' => array( // function($readingModes = array) -> array | null 'list' => array(), 'signature' => 'OneToOne', ), - 'post_update' => array( // function(none) -> none + 'post_update' => array( // function(none) -> none 'list' => array(), 'signature' => 'NoneToNone', ), - 'simplepie_before_init' => array( // function($simplePie, $feed) -> none + 'simplepie_before_init' => array( // function($simplePie, $feed) -> none 'list' => array(), 'signature' => 'PassArguments', ), @@ -144,9 +144,7 @@ class Minz_ExtensionManager { */ public static function isValidMetadata($meta) { $valid_chars = array('_'); - return !(empty($meta['name']) || - empty($meta['entrypoint']) || - !ctype_alnum(str_replace($valid_chars, '', $meta['entrypoint']))); + return !(empty($meta['name']) || empty($meta['entrypoint']) || !ctype_alnum(str_replace($valid_chars, '', $meta['entrypoint']))); } /** @@ -163,8 +161,7 @@ class Minz_ExtensionManager { // Test if the given extension class exists. if (!class_exists($ext_class_name)) { - Minz_Log::warning('`' . $ext_class_name . - '` cannot be found in `' . $entry_point_filename . '`'); + Minz_Log::warning("`{$ext_class_name}` cannot be found in `{$entry_point_filename}`"); return null; } @@ -174,14 +171,13 @@ class Minz_ExtensionManager { $extension = new $ext_class_name($info); } catch (Exception $e) { // We cannot load the extension? Invalid! - Minz_Log::warning('Invalid extension `' . $ext_class_name . '`: ' . $e->getMessage()); + Minz_Log::warning("Invalid extension `{$ext_class_name}`: " . $e->getMessage()); return null; } // Test if class is correct. if (!($extension instanceof Minz_Extension)) { - Minz_Log::warning('`' . $ext_class_name . - '` is not an instance of `Minz_Extension`'); + Minz_Log::warning("`{$ext_class_name}` is not an instance of `Minz_Extension`"); return null; } diff --git a/lib/Minz/Log.php b/lib/Minz/Log.php index f8d024c1f..1686bdaf0 100644 --- a/lib/Minz/Log.php +++ b/lib/Minz/Log.php @@ -30,9 +30,7 @@ class Minz_Log { } } - if (! ($env === 'silent' - || ($env === 'production' - && ($level >= LOG_NOTICE)))) { + if (! ($env === 'silent' || ($env === 'production' && ($level >= LOG_NOTICE)))) { $username = Minz_Session::param('currentUser', ''); if ($username == '') { $username = '_'; @@ -61,9 +59,7 @@ class Minz_Log { $level_label = 'info'; } - $log = '[' . date('r') . ']' - . ' [' . $level_label . ']' - . ' --- ' . $information . "\n"; + $log = '[' . date('r') . '] [' . $level_label . '] --- ' . $information . "\n"; if (defined('COPY_LOG_TO_SYSLOG') && COPY_LOG_TO_SYSLOG) { syslog($level, '[' . $username . '] ' . trim($log)); diff --git a/lib/Minz/Paginator.php b/lib/Minz/Paginator.php index 795085a30..ae506f1ae 100644 --- a/lib/Minz/Paginator.php +++ b/lib/Minz/Paginator.php @@ -144,7 +144,7 @@ class Minz_Paginator { return $array; } - public function nbItemsPerPage () { + public function nbItemsPerPage () { return $this->nbItemsPerPage; } public function currentPage () { diff --git a/lib/lib_install.php b/lib/lib_install.php index e1a4c98dd..f28cb094d 100644 --- a/lib/lib_install.php +++ b/lib/lib_install.php @@ -68,7 +68,7 @@ function checkRequirements($dbType = '') { 'favicons' => $favicons ? 'ok' : 'ko', 'message' => $message ?: '', 'all' => $php && $curl && $pdo && $pcre && $ctype && $dom && $xml && - $data && $cache && $tmp && $users && $favicons && $message == '' ? 'ok' : 'ko' + $data && $cache && $tmp && $users && $favicons && $message == '' ? 'ok' : 'ko' ); } diff --git a/lib/lib_rss.php b/lib/lib_rss.php index 067b7653d..13fce3d8c 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -124,7 +124,7 @@ function escapeToUnicodeAlternative($text, $extended = true) { function format_number($n, $precision = 0) { // number_format does not seem to be Unicode-compatible - return str_replace(' ', ' ', //Espace fine insécable + return str_replace(' ', ' ', //Espace fine insécable number_format($n, $precision, '.', ' ') ); } @@ -358,8 +358,8 @@ function get_user_configuration($username) { $namespace = 'user_' . $username; try { Minz_Configuration::register($namespace, - join_path(USERS_PATH, $username, 'config.php'), - join_path(FRESHRSS_PATH, 'config-user.default.php')); + USERS_PATH . '/' . $username . '/config.php', + FRESHRSS_PATH . '/config-user.default.php'); } catch (Minz_ConfigurationNamespaceException $e) { // namespace already exists, do nothing. Minz_Log::warning($e->getMessage(), USERS_PATH . '/_/log.txt'); @@ -572,7 +572,8 @@ function errorMessage($errorTitle, $error = '') { <h1>{$errorTitle}</h1> {$error} <h2>Common problems</h2> - <p>A typical problem leading to this message is wrong file permissions in the <code>./FreshRSS/data/</code> folder so make sure the Web server can write there and in sub-directories.</p> + <p>A typical problem leading to this message is wrong file permissions in the <code>./FreshRSS/data/</code> folder + so make sure the Web server can write there and in sub-directories.</p> <h2>Common locations for additional logs</h2> <p><strong>N.B.:</strong> Adapt names and paths according to your local setup.</p> <ul> diff --git a/p/api/fever.php b/p/api/fever.php index ae9e45084..8d1ba169f 100644 --- a/p/api/fever.php +++ b/p/api/fever.php @@ -13,7 +13,7 @@ // ================================================================================================ // BOOTSTRAP FreshRSS require(__DIR__ . '/../../constants.php'); -require(LIB_PATH . '/lib_rss.php'); //Includes class autoloader +require(LIB_PATH . '/lib_rss.php'); //Includes class autoloader FreshRSS_Context::initSystem(); // check if API is enabled globally @@ -506,7 +506,7 @@ class FeverAPI if (!ctype_digit($max_id)) { $max_id = null; } - } else if (isset($_REQUEST['with_ids'])) { + } elseif (isset($_REQUEST['with_ids'])) { $entry_ids = explode(',', $_REQUEST['with_ids']); } else { // use the since_id argument to request the next $item_limit items diff --git a/p/api/greader.php b/p/api/greader.php index a1665b952..a2542adef 100644 --- a/p/api/greader.php +++ b/p/api/greader.php @@ -147,7 +147,8 @@ function checkCompatibility() { } function authorizationToUser() { - $headerAuth = headerVariable('Authorization', 'GoogleLogin_auth'); //Input is 'GoogleLogin auth', but PHP replaces spaces by '_' http://php.net/language.variables.external + //Input is 'GoogleLogin auth', but PHP replaces spaces by '_' http://php.net/language.variables.external + $headerAuth = headerVariable('Authorization', 'GoogleLogin_auth'); if ($headerAuth != '') { $headerAuthX = explode('/', $headerAuth, 2); if (count($headerAuthX) === 2) { @@ -864,7 +865,7 @@ function editTag($e_ids, $a, $r) { function renameTag($s, $dest) { if ($s != '' && strpos($s, 'user/-/label/') === 0 && - $dest != '' && strpos($dest, 'user/-/label/') === 0) { + $dest != '' && strpos($dest, 'user/-/label/') === 0) { $s = substr($s, 13); $s = htmlspecialchars($s, ENT_COMPAT, 'UTF-8'); $dest = substr($dest, 13); @@ -990,8 +991,10 @@ if ($pathInfos[1] === 'accounts') { * request, but xt appears in other listing requests). */ $exclude_target = isset($_GET['xt']) ? $_GET['xt'] : ''; $filter_target = isset($_GET['it']) ? $_GET['it'] : ''; - $count = isset($_GET['n']) ? intval($_GET['n']) : 20; //n=[integer] : The maximum number of results to return. - $order = isset($_GET['r']) ? $_GET['r'] : 'd'; //r=[d|n|o] : Sort order of item results. d or n gives items in descending date order, o in ascending order. + //n=[integer] : The maximum number of results to return. + $count = isset($_GET['n']) ? intval($_GET['n']) : 20; + //r=[d|n|o] : Sort order of item results. d or n gives items in descending date order, o in ascending order. + $order = isset($_GET['r']) ? $_GET['r'] : 'd'; /* ot=[unix timestamp] : The time from which you want to retrieve * items. Only items that have been crawled by Google Reader after * this time will be returned. */ @@ -1030,7 +1033,8 @@ if ($pathInfos[1] === 'accounts') { if ($pathInfos[9] === 'com.google' && isset($pathInfos[10])) { if ($pathInfos[10] === 'reading-list' || $pathInfos[10] === 'starred') { $include_target = ''; - streamContents($pathInfos[10], $include_target, $start_time, $stop_time, $count, $order, $filter_target, $exclude_target, $continuation); + streamContents($pathInfos[10], $include_target, $start_time, $stop_time, $count, $order, + $filter_target, $exclude_target, $continuation); } } } elseif ($pathInfos[8] === 'label') { @@ -79,7 +79,8 @@ function is_valid_path_extension($path, $extensionPath, $isStatic = true) { * */ function is_valid_path($path) { - return is_valid_path_extension($path, CORE_EXTENSIONS_PATH) || is_valid_path_extension($path, THIRDPARTY_EXTENSIONS_PATH) || is_valid_path_extension($path, USERS_PATH, $false); + return is_valid_path_extension($path, CORE_EXTENSIONS_PATH) || is_valid_path_extension($path, THIRDPARTY_EXTENSIONS_PATH) + || is_valid_path_extension($path, USERS_PATH, $false); } function sendBadRequestResponse(string $message = null) { diff --git a/p/scripts/install.js b/p/scripts/install.js index ca1a2d7af..448f70b56 100644 --- a/p/scripts/install.js +++ b/p/scripts/install.js @@ -17,7 +17,7 @@ function hide_password(ev) { return false; } const toggles = document.getElementsByClassName('toggle-password'); -for (let i = 0 ; i < toggles.length ; i++) { +for (let i = 0; i < toggles.length; i++) { toggles[i].addEventListener('mousedown', show_password); toggles[i].addEventListener('mouseup', hide_password); } @@ -68,7 +68,7 @@ function ask_confirmation(ev) { } } const confirms = document.getElementsByClassName('confirm'); -for (let i = 0 ; i < confirms.length ; i++) { +for (let i = 0; i < confirms.length; i++) { confirms[i].addEventListener('click', ask_confirmation); } // @license-end diff --git a/p/scripts/integration.js b/p/scripts/integration.js index 076f379ec..bf9ac1ca6 100644 --- a/p/scripts/integration.js +++ b/p/scripts/integration.js @@ -9,41 +9,41 @@ const init_integration = function() { } setTimeout(init_integration, 50); return; - } + } - let shares = document.querySelectorAll('.group-share').length; - document.querySelector('.share.add').addEventListener('click', event => { - const shareTypes = event.target.closest('.group-controls').querySelector('select'); - const shareType = shareTypes.options[shareTypes.selectedIndex]; - let newShare = event.target.closest('form').getAttribute(`data-${shareType.getAttribute('data-form')}`); - newShare = newShare.replace(/##label##/g, shareType.text); - newShare = newShare.replace(/##type##/g, shareType.value); - newShare = newShare.replace(/##help##/g, shareType.getAttribute('data-help')); - newShare = newShare.replace(/##key##/g, shares); - newShare = newShare.replace(/##method##/g, shareType.getAttribute('data-method')); - newShare = newShare.replace(/##field##/g, shareType.getAttribute('data-field')); - event.target.closest('.form-group').insertAdjacentHTML('beforebegin', newShare); - shares++; - }); + let shares = document.querySelectorAll('.group-share').length; + document.querySelector('.share.add').addEventListener('click', event => { + const shareTypes = event.target.closest('.group-controls').querySelector('select'); + const shareType = shareTypes.options[shareTypes.selectedIndex]; + let newShare = event.target.closest('form').getAttribute('data-' + shareType.getAttribute('data-form')); + newShare = newShare.replace(/##label##/g, shareType.text); + newShare = newShare.replace(/##type##/g, shareType.value); + newShare = newShare.replace(/##help##/g, shareType.getAttribute('data-help')); + newShare = newShare.replace(/##key##/g, shares); + newShare = newShare.replace(/##method##/g, shareType.getAttribute('data-method')); + newShare = newShare.replace(/##field##/g, shareType.getAttribute('data-field')); + event.target.closest('.form-group').insertAdjacentHTML('beforebegin', newShare); + shares++; + }); - document.querySelector('.post').addEventListener('click', event => { - if (!event.target || !event.target.closest) { - return; - } + document.querySelector('.post').addEventListener('click', event => { + if (!event.target || !event.target.closest) { + return; + } - const deleteButton = event.target.closest('a.remove'); - if (null === deleteButton || !deleteButton.closest) { - return; - } + const deleteButton = event.target.closest('a.remove'); + if (null === deleteButton || !deleteButton.closest) { + return; + } - const share = deleteButton.closest('.group-share'); - const form = deleteButton.closest('form'); - if (!share.remove || !form.submit) { - return; - } - share.remove(); - form.submit(); - }); + const share = deleteButton.closest('.group-share'); + const form = deleteButton.closest('form'); + if (!share.remove || !form.submit) { + return; + } + share.remove(); + form.submit(); + }); }; if (document.readyState && document.readyState !== 'loading') { diff --git a/p/scripts/main.js b/p/scripts/main.js index 0dbae3913..61a6d7239 100644 --- a/p/scripts/main.js +++ b/p/scripts/main.js @@ -21,8 +21,11 @@ if (!Element.prototype.remove) Element.prototype.remove = function () { if (this function xmlHttpRequestJson(req) { let json = req.response; if (req.responseType !== 'json') { //IE11 - try { json = JSON.parse(req.responseText); } - catch (ex) { json = null; } + try { + json = JSON.parse(req.responseText); + } catch (ex) { + json = null; + } } return json; } @@ -81,7 +84,7 @@ function numberFormat(nStr) { rgx = /(\d+)(\d{3})/; let x1 = x[0]; while (rgx.test(x1)) { - x1 = x1.replace(rgx, '$1' + ' ' + '$2'); + x1 = x1.replace(rgx, '$1 $2'); } return x1 + x2; } @@ -908,7 +911,7 @@ function init_shortcuts() { if (k === s.reading_view) { delayedClick(document.querySelector('#nav_menu_views .view-reader')); return false; } if (k === s.global_view) { delayedClick(document.querySelector('#nav_menu_views .view-global')); return false; } if (k === s.rss_view) { delayedClick(document.querySelector('#nav_menu_views .view-rss')); return false; } - if (k === s.toggle_media) { toggle_media(); return false;} + if (k === s.toggle_media) { toggle_media(); return false; } return true; }; } diff --git a/p/scripts/stats.js b/p/scripts/stats.js index 54ea0e4de..6ca598784 100644 --- a/p/scripts/stats.js +++ b/p/scripts/stats.js @@ -32,7 +32,7 @@ function initStats() { grid: {verticalLines: false}, xaxis: {noTicks: 6, showLabels: false, tickDecimals: 0, min: -30.75, max: -0.25}, yaxis: {min: 0}, - mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return numberFormat(obj.y);}} + mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function (obj) { return numberFormat(obj.y); }}, }); // Feed per category Flotr.draw(document.getElementById('statsFeedPerCategory'), @@ -42,7 +42,9 @@ function initStats() { pie: {explode: 10, show: true, labelFormatter: function(){return '';}}, xaxis: {showLabels: false}, yaxis: {showLabels: false}, - mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return obj.series.label + ' - '+ numberFormat(obj.y) + ' ('+ (obj.fraction * 100).toFixed(1) + '%)';}}, + mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function (obj) { + return obj.series.label + ' - ' + numberFormat(obj.y) + ' (' + (obj.fraction * 100).toFixed(1) + '%)'; + }}, legend: {container: document.getElementById('statsFeedPerCategoryLegend'), noColumns: 3} }); // Entry per category @@ -50,10 +52,12 @@ function initStats() { stats.entryByCategory, { grid: {verticalLines: false, horizontalLines: false}, - pie: {explode: 10, show: true, labelFormatter: function(){return '';}}, + pie: {explode: 10, show: true, labelFormatter: function () { return ''; }}, xaxis: {showLabels: false}, yaxis: {showLabels: false}, - mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function(obj) {return obj.series.label + ' - '+ numberFormat(obj.y) + ' ('+ (obj.fraction * 100).toFixed(1) + '%)';}}, + mouse: {relative: true, track: true, trackDecimals: 0, trackFormatter: function (obj) { + return obj.series.label + ' - ' + numberFormat(obj.y) + ' (' + (obj.fraction * 100).toFixed(1) + '%)'; + }}, legend: {container: document.getElementById('statsEntryPerCategoryLegend'), noColumns: 3} }); } diff --git a/p/themes/Alternative-Dark/adark.rtl.css b/p/themes/Alternative-Dark/adark.rtl.css index fc770362f..642d61adb 100644 --- a/p/themes/Alternative-Dark/adark.rtl.css +++ b/p/themes/Alternative-Dark/adark.rtl.css @@ -695,7 +695,7 @@ a.btn { .prompt .stick, .prompt input { width: 100%; - box-sizing: border-box; + box-sizing: border-box; } .prompt .btn.btn-important { diff --git a/p/themes/Ansum/ansum.css b/p/themes/Ansum/ansum.css index 565e1edb5..b84907784 100644 --- a/p/themes/Ansum/ansum.css +++ b/p/themes/Ansum/ansum.css @@ -1,216 +1,216 @@ @font-face { - font-family: "lato"; - font-style: normal; - font-stretch: normal; - font-weight: 400; - src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff"); + font-family: "lato"; + font-style: normal; + font-stretch: normal; + font-weight: 400; + src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: italic; - font-stretch: normal; - font-weight: 400; - src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff"); + font-family: "lato"; + font-style: italic; + font-stretch: normal; + font-weight: 400; + src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: normal; - font-stretch: normal; - font-weight: 700; - src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff"); + font-family: "lato"; + font-style: normal; + font-stretch: normal; + font-weight: 700; + src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: italic; - font-stretch: normal; - font-weight: 700; - src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff"); + font-family: "lato"; + font-style: italic; + font-stretch: normal; + font-weight: 700; + src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: normal; - font-stretch: normal; - font-weight: 400; - src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff"); + font-family: "spectral"; + font-style: normal; + font-stretch: normal; + font-weight: 400; + src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: italic; - font-stretch: normal; - font-weight: 400; - src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff"); + font-family: "spectral"; + font-style: italic; + font-stretch: normal; + font-weight: 400; + src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: normal; - font-stretch: normal; - font-weight: 700; - src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff"); + font-family: "spectral"; + font-style: normal; + font-stretch: normal; + font-weight: 700; + src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: italic; - font-stretch: normal; - font-weight: 700; - src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff"); + font-family: "spectral"; + font-style: italic; + font-stretch: normal; + font-weight: 700; + src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff"); } /* stylelint-disable property-no-vendor-prefix */ /* FUNCTIONS */ /* btns */ .btn { - margin: 0; - padding: 0.5rem 1.5rem; - background: #fcfaf8; - display: inline-block; - color: #766556; - font-size: 1rem; - border: none; - border-radius: 5px; - min-height: 38px; - min-width: 15px; - line-height: 25px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + margin: 0; + padding: 0.5rem 1.5rem; + background: #fcfaf8; + display: inline-block; + color: #766556; + font-size: 1rem; + border: none; + border-radius: 5px; + min-height: 38px; + min-width: 15px; + line-height: 25px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .btn.btn-important { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } .btn.btn-important:hover, .btn.btn-important:active { - background: #b7641d; + background: #b7641d; } .btn.btn-attention { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .btn.btn-attention:hover, .btn.btn-attention:active { - background: #73341f; + background: #73341f; } .btn:hover { - text-decoration: none; + text-decoration: none; } a.btn { - min-height: 25px; - line-height: 25px; + min-height: 25px; + line-height: 25px; } /*=== Forms */ legend { - margin: 2rem 0 1rem 0; - padding: 0; - display: inline-block; - width: auto; - font-size: 1rem; - clear: both; - text-transform: uppercase; - letter-spacing: 1px; - font-weight: 700; + margin: 2rem 0 1rem 0; + padding: 0; + display: inline-block; + width: auto; + font-size: 1rem; + clear: both; + text-transform: uppercase; + letter-spacing: 1px; + font-weight: 700; } label { - min-height: 25px; - padding: 5px 0; - cursor: pointer; - color: #766556; + min-height: 25px; + padding: 5px 0; + cursor: pointer; + color: #766556; } textarea { - width: 360px; - max-width: 100%; - height: 100px; + width: 360px; + max-width: 100%; + height: 100px; } input, select, textarea, button { - padding: 5px 10px; - background: #fff; - color: #766556; - font-family: "lato", "Helvetica", "Arial", sans-serif; - font-size: 1rem; - border: 1px solid #f5f0ec; - border-radius: 2px; - min-height: 25px; - line-height: 25px; - vertical-align: middle; + padding: 5px 10px; + background: #fff; + color: #766556; + font-family: "lato", "Helvetica", "Arial", sans-serif; + font-size: 1rem; + border: 1px solid #f5f0ec; + border-radius: 2px; + min-height: 25px; + line-height: 25px; + vertical-align: middle; } option { - padding: 0 0.5em; + padding: 0 0.5em; } input:focus, select:focus, textarea:focus { - color: #363330; - border-color: #ca7227; + color: #363330; + border-color: #ca7227; } input:invalid, select:invalid { - color: #f5633e; - border-color: #f5633e; - box-shadow: none; + color: #f5633e; + border-color: #f5633e; + box-shadow: none; } input:disabled, select:disabled { - background: #f5f0ec; + background: #f5f0ec; } input.extend { - transition: width 200ms linear; + transition: width 200ms linear; } .form-group { - padding: 5px; - border-radius: 3px; + padding: 5px; + border-radius: 3px; } .form-group::after { - content: ""; - display: block; - clear: both; + content: ""; + display: block; + clear: both; } .form-group .group-name { - padding: 10px 0; - text-align: right; + padding: 10px 0; + text-align: right; } .form-group .group-controls { - min-height: 25px; - padding: 5px 0; + min-height: 25px; + padding: 5px 0; } .form-group .group-controls .control { - line-height: 2em; + line-height: 2em; } .form-group table { - margin: 10px 0 0 220px; + margin: 10px 0 0 220px; } .form-group.form-actions { - margin: 15px 0 25px; - padding: 5px 0; + margin: 15px 0 25px; + padding: 5px 0; } .form-group.form-actions .btn { - margin: 0 0.5rem 0 0; + margin: 0 0.5rem 0 0; } /*=== Tables */ table { - border-collapse: collapse; + border-collapse: collapse; } tr, th, td { - padding: 0.5em; - border: 1px solid #e4d8cc; + padding: 0.5em; + border: 1px solid #e4d8cc; } th { - background: #fcfaf8; + background: #fcfaf8; } form td, form th { - font-weight: normal; - text-align: center; + font-weight: normal; + text-align: center; } /*=== COMPONENTS */ @@ -218,422 +218,422 @@ form th { /*=== Forms */ /*=== Horizontal-list */ .horizontal-list { - margin: 0; - padding: 0.1rem 0; + margin: 0; + padding: 0.1rem 0; } .horizontal-list .item { - vertical-align: middle; + vertical-align: middle; } .horizontal-list .item:first-child { - padding-left: 0.5rem; + padding-left: 0.5rem; } /*=== Dropdown */ .dropdown-menu { - margin: 0; - padding: 0.5rem 0 1rem 0; - background: #fcfaf8; - font-size: 1rem; - border: none; - border-radius: 3px; - box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); - text-align: left; + margin: 0; + padding: 0.5rem 0 1rem 0; + background: #fcfaf8; + font-size: 1rem; + border: none; + border-radius: 3px; + box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); + text-align: left; } .dropdown-menu::after { - background: white; - width: 10px; - height: 10px; - content: ""; - position: absolute; - top: -4px; - right: 13px; - z-index: -10; - transform: rotate(45deg); + background: white; + width: 10px; + height: 10px; + content: ""; + position: absolute; + top: -4px; + right: 13px; + z-index: -10; + transform: rotate(45deg); } .dropdown-menu .dropdown-header { - margin: 1.75rem 0 0.5rem 2rem; - font-weight: bold; - text-align: left; - color: #766556; - text-transform: uppercase; - letter-spacing: 1px; + margin: 1.75rem 0 0.5rem 2rem; + font-weight: bold; + text-align: left; + color: #766556; + text-transform: uppercase; + letter-spacing: 1px; } .dropdown-menu .item { - -webkit-transition: all 0.075s ease-in-out; - -moz-transition: all 0.075s ease-in-out; - -o-transition: all 0.075s ease-in-out; - transition: all 0.075s ease-in-out; + -webkit-transition: all 0.075s ease-in-out; + -moz-transition: all 0.075s ease-in-out; + -o-transition: all 0.075s ease-in-out; + transition: all 0.075s ease-in-out; } .dropdown-menu .item a, .dropdown-menu .item span, .dropdown-menu .item .as-link { - padding: 0 2rem; - color: #363330; - font-size: 1rem; - line-height: 2.5em; + padding: 0 2rem; + color: #363330; + font-size: 1rem; + line-height: 2.5em; } .dropdown-menu .item:hover { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } .dropdown-menu .item:hover a, .dropdown-menu .item:hover button { - text-decoration: none; - color: #fff; + text-decoration: none; + color: #fff; } .dropdown-menu .item[aria-checked=true] a::before { - margin: 0 0 0 -14px; - font-weight: bold; + margin: 0 0 0 -14px; + font-weight: bold; } .dropdown-menu .input select, .dropdown-menu .input input { - margin: 0 auto 5px; - padding: 2px 5px; - border-radius: 3px; + margin: 0 auto 5px; + padding: 2px 5px; + border-radius: 3px; } .dropdown-menu .separator { - margin: 0.75rem 0; - border-bottom: 1px solid #f5f0ec; + margin: 0.75rem 0; + border-bottom: 1px solid #f5f0ec; } .tree .tree-folder .tree-folder-items .dropdown-menu .item { - padding: 0; + padding: 0; } .tree .tree-folder .tree-folder-items .dropdown-menu .item a, .tree .tree-folder .tree-folder-items .dropdown-menu .item button { - color: #363330; + color: #363330; } .tree .tree-folder .tree-folder-items .dropdown-menu .item a:hover, .tree .tree-folder .tree-folder-items .dropdown-menu .item button:hover { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .dropdown-menu .item:hover { - background: #ca7227; + background: #ca7227; } /*=== Alerts */ .alert { - margin: 1rem 0; - padding: 1rem; - background: #fcfaf8; - color: #766556; - font-size: 1rem; - border: 1px solid #d9ccbf; - border-radius: 3px; - text-shadow: 0 0 1px #f5f0ec; + margin: 1rem 0; + padding: 1rem; + background: #fcfaf8; + color: #766556; + font-size: 1rem; + border: 1px solid #d9ccbf; + border-radius: 3px; + text-shadow: 0 0 1px #f5f0ec; } .alert-head { - font-size: 1.15em; + font-size: 1.15em; } .alert > a { - text-decoration: underline; - color: inherit; + text-decoration: underline; + color: inherit; } .alert-warn { - background: #fdfde0; - color: #73762f; - border: 1px solid #73762f33; + background: #fdfde0; + color: #73762f; + border: 1px solid #73762f33; } .alert-success { - background: #cffdef; - color: #0c7556; - border: 1px solid #0c755633; + background: #cffdef; + color: #0c7556; + border: 1px solid #0c755633; } .alert-error { - background: #fde0d8; - color: #73341f; - border: 1px solid #73341f33; + background: #fde0d8; + color: #73341f; + border: 1px solid #73341f33; } /*=== Pagination */ .pagination { - background: #f5f0ec; - color: #363330; - font-size: 0.8em; - text-align: center; + background: #f5f0ec; + color: #363330; + font-size: 0.8em; + text-align: center; } .pagination .item.pager-current { - background: #fbf9f6; - color: #f5f0ec; - font-size: 1.5em; - font-weight: bold; + background: #fbf9f6; + color: #f5f0ec; + font-size: 1.5em; + font-weight: bold; } .pagination .item a { - display: block; - color: #363330; - font-style: italic; - line-height: 3em; - text-decoration: none; + display: block; + color: #363330; + font-style: italic; + line-height: 3em; + text-decoration: none; } .pagination .item a:hover { - background: #363330; - color: #f5f0ec; + background: #363330; + color: #f5f0ec; } .pagination .loading, .pagination a:hover.loading { - background: url("loader.gif") center center no-repeat #34495e; - font-size: 0; + background: url("loader.gif") center center no-repeat #34495e; + font-size: 0; } .content .pagination { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } /*=== Boxes */ .box { - background: #fff; - border: none; - border-radius: 3px; - box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); + background: #fff; + border: none; + border-radius: 3px; + box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); } .box .box-title { - margin: 0; - padding: 0.5rem 0.75rem; - background: #f5f0ec; - color: #363330; - border-radius: 2px 2px 0 0; + margin: 0; + padding: 0.5rem 0.75rem; + background: #f5f0ec; + color: #363330; + border-radius: 2px 2px 0 0; } .box .box-title img { - margin-right: 0.75rem; + margin-right: 0.75rem; } .box .box-title:hover .configure { - background: url("icons/cog.svg") no-repeat 4px 4px; - display: block; - float: left; - width: 1.75rem; - height: 1.75rem; - border-radius: 2px; - visibility: visible; - margin-right: 0.5rem; + background: url("icons/cog.svg") no-repeat 4px 4px; + display: block; + float: left; + width: 1.75rem; + height: 1.75rem; + border-radius: 2px; + visibility: visible; + margin-right: 0.5rem; } .box .box-title:hover .configure .icon { - display: none; - border-radius: 3px; - vertical-align: middle; + display: none; + border-radius: 3px; + vertical-align: middle; } .box .box-title:hover .configure:hover { - background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227; + background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227; } .box .box-title .configure { - visibility: hidden; + visibility: hidden; } .box .box-title form input { - width: 85%; + width: 85%; } .box .box-title form .dropdown { - float: right; + float: right; } .box .box-title form .dropdown a.dropdown-toggle { - padding: 0; - border-radius: 0; - background-image: url(icons/more.svg); - background-repeat: no-repeat; - background-position: right 8px; + padding: 0; + border-radius: 0; + background-image: url(icons/more.svg); + background-repeat: no-repeat; + background-position: right 8px; } .box .box-title form .dropdown a.dropdown-toggle img { - display: none; + display: none; } .box .box-content .item { - padding: 0.5rem 0.75rem; - color: #363330; - font-size: 1rem; - border-bottom: 1px solid #f5f0ec; - line-height: 1.7em; + padding: 0.5rem 0.75rem; + color: #363330; + font-size: 1rem; + border-bottom: 1px solid #f5f0ec; + line-height: 1.7em; } .box .box-content .item img { - margin-right: 0.75rem; + margin-right: 0.75rem; } .box .box-content .item .configure { - background: url("icons/cog.svg") no-repeat 4px 4px; - display: block; - float: left; - width: 1.75rem; - height: 1.75rem; - border-radius: 2px; - visibility: hidden; - margin-right: 0.5rem; + background: url("icons/cog.svg") no-repeat 4px 4px; + display: block; + float: left; + width: 1.75rem; + height: 1.75rem; + border-radius: 2px; + visibility: hidden; + margin-right: 0.5rem; } .box .box-content .item .configure .icon { - display: none; - border-radius: 3px; - vertical-align: middle; + display: none; + border-radius: 3px; + vertical-align: middle; } .box .box-content .item .configure:hover { - background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227; + background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227; } .box .box-content .item:hover .configure { - visibility: visible; + visibility: visible; } .box .box-content .item:last-child { - border-bottom: none; + border-bottom: none; } /*=== "Load more" part */ #bigMarkAsRead { - text-align: center; - text-decoration: none; - background: #fdf6ef; - color: #ca7227; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + text-align: center; + text-decoration: none; + background: #fdf6ef; + color: #ca7227; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } #bigMarkAsRead:hover { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } #bigMarkAsRead:hover .bigTick { - background: url(icons/tick-white.svg) center no-repeat; + background: url(icons/tick-white.svg) center no-repeat; } #bigMarkAsRead .bigTick { - margin: 0.5rem 0; - background: url(icons/tick-color.svg) center no-repeat; - display: inline-block; - width: 64px; - height: 64px; - text-indent: -9999px; - white-space: nowrap; + margin: 0.5rem 0; + background: url(icons/tick-color.svg) center no-repeat; + display: inline-block; + width: 64px; + height: 64px; + text-indent: -9999px; + white-space: nowrap; } .formLogin { - background: #fbf9f6; + background: #fbf9f6; } .formLogin .header .configure { - padding-right: 1rem; + padding-right: 1rem; } .formLogin .header .configure img { - margin-right: 0.5rem; + margin-right: 0.5rem; } .formLogin .header .configure a.signin { - color: #fff; + color: #fff; } .formLogin h1 { - color: #fff; + color: #fff; } .formLogin form#crypto-form div { - margin-bottom: 1rem; + margin-bottom: 1rem; } .formLogin form#crypto-form div label { - color: #d9ccbf; - font-size: 1rem; + color: #d9ccbf; + font-size: 1rem; } .formLogin form#crypto-form div input { - background: #221f1d; + background: #221f1d; } .formLogin form#crypto-form div input:focus { - background: #fcfaf8; - color: #363330; + background: #fcfaf8; + color: #363330; } /*=== DIVERS */ /*===========*/ .aside.aside_feed .nav-form input, .aside.aside_feed .nav-form select { - width: 140px; + width: 140px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu { - right: -20px; + right: -20px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu::after { - right: 33px; + right: 33px; } /*=== Tree */ .tree { - margin: 10px 0; + margin: 10px 0; } .tree#sidebar { - scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05); - scrollbar-color: #36333033 #36333022; + scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05); + scrollbar-color: #36333033 #36333022; } .tree .tree-folder { - border-bottom: 1px solid #f0e7da; - box-shadow: inset -1px -11px 8px #0003; + border-bottom: 1px solid #f0e7da; + box-shadow: inset -1px -11px 8px #0003; } .tree .tree-folder .tree-folder-title { - padding: 12px 16px; - background: #fbf9f6; - position: relative; - font-size: 0.85rem; - letter-spacing: 1px; - font-weight: 700; - text-transform: uppercase; + padding: 12px 16px; + background: #fbf9f6; + position: relative; + font-size: 0.85rem; + letter-spacing: 1px; + font-weight: 700; + text-transform: uppercase; } .tree .tree-folder .tree-folder-title .title { - background: inherit; - color: #363330; + background: inherit; + color: #363330; } .tree .tree-folder .tree-folder-title .title:hover { - text-decoration: none; + text-decoration: none; } .tree .tree-folder.active .tree-folder-title { - background: #fbf9f6; - font-weight: bold; + background: #fbf9f6; + font-weight: bold; } .tree .tree-folder .tree-folder-items { - background: #f7f2ea; + background: #f7f2ea; } .tree .tree-folder .tree-folder-items .item { - padding: 0 1rem; - line-height: 2.5rem; - font-size: 1rem; - font-weight: 400; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + padding: 0 1rem; + line-height: 2.5rem; + font-size: 1rem; + font-weight: 400; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .tree .tree-folder .tree-folder-items .item.active { - background: #ca7227; + background: #ca7227; } .tree .tree-folder .tree-folder-items .item.active .dropdown li a { - color: #363330; + color: #363330; } .tree .tree-folder .tree-folder-items .item.active .dropdown li a:hover { - color: #363330; + color: #363330; } .tree .tree-folder .tree-folder-items .item.active a { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .item:hover { - background: #efe3d3; + background: #efe3d3; } .tree .tree-folder .tree-folder-items .item a { - text-decoration: none; - color: #363330; + text-decoration: none; + color: #363330; } .tree .tree-folder .tree-folder-items .feed .item-title:not([data-unread="0"])::before { - margin: 11px 6px 0 4px; - padding: 3px 4px; - background: rgba(35, 35, 0, 0.15); - display: block; - float: left; - font-size: 0.75rem; - border-radius: 12px; - content: attr(data-unread); - text-align: center; - line-height: 0.75rem; + margin: 11px 6px 0 4px; + padding: 3px 4px; + background: rgba(35, 35, 0, 0.15); + display: block; + float: left; + font-size: 0.75rem; + border-radius: 12px; + content: attr(data-unread); + text-align: center; + line-height: 0.75rem; } /*=== Buttons */ .stick { - vertical-align: middle; - font-size: 0; + vertical-align: middle; + font-size: 0; } .stick input, .stick .btn { - border-radius: 0; + border-radius: 0; } .stick .btn:first-child, .stick input:first-child { - border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; } .stick .btn:last-child, .stick input:last-child, .stick .btn + .dropdown > .btn { - border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; } .stick .btn + .btn, .stick .btn + input, @@ -644,981 +644,981 @@ form th { .stick .dropdown + .btn, .stick .dropdown + input, .stick .dropdown + .dropdown > .btn { - border-left: 1px solid #e4d8cc; + border-left: 1px solid #e4d8cc; } .aside { - background: #fbf9f6; + background: #fbf9f6; } .aside.aside_feed { - padding: 10px 0; - text-align: center; - background: #fbf9f6; - border-right: 1px solid #f0e7da; + padding: 10px 0; + text-align: center; + background: #fbf9f6; + border-right: 1px solid #f0e7da; } .aside.aside_feed .tree { - margin: 10px 0 50px; + margin: 10px 0 50px; } /* Sidebar des pages de configuration */ /*=== Navigation */ .nav-list .nav-header, .nav-list .item { - height: 2.5em; - line-height: 2.5em; - font-size: 1rem; + height: 2.5em; + line-height: 2.5em; + font-size: 1rem; } .nav-list .item { - background: #fbf9f6; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + background: #fbf9f6; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav-list .item a { - padding: 0 1rem; - color: #363330; + padding: 0 1rem; + color: #363330; } .nav-list .item .error a { - color: #f5633e; + color: #f5633e; } .nav-list .item:hover { - background: #efe3d3; - color: #363330; + background: #efe3d3; + color: #363330; } .nav-list .item:hover .error a { - background: #ca7227; - color: #363330; + background: #ca7227; + color: #363330; } .nav-list .item:hover .empty a { - background: #f4f762; - color: #363330; + background: #f4f762; + color: #363330; } .nav-list .item:hover a { - color: #363330; - text-decoration: none; + color: #363330; + text-decoration: none; } .nav-list .item.active { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } .nav-list .item.active .error a { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } .nav-list .item.active .empty a { - background: #f4f762; - color: #fff; + background: #f4f762; + color: #fff; } .nav-list .item.active a { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } .nav-list.empty a { - color: #f4f762; + color: #f4f762; } .nav-list .disable { - text-align: center; - background: #fcfaf8; - color: #ba9; + text-align: center; + background: #fcfaf8; + color: #ba9; } .nav-list .nav-header { - padding: 0 10px; - font-weight: bold; - color: #766556; - text-transform: uppercase; - letter-spacing: 1px; - margin-top: 1rem; + padding: 0 10px; + font-weight: bold; + color: #766556; + text-transform: uppercase; + letter-spacing: 1px; + margin-top: 1rem; } .nav-list .nav-form { - padding: 3px; - text-align: center; + padding: 3px; + text-align: center; } .nav-list .nav-head { - margin: 0; - text-align: right; - color: #fff; + margin: 0; + text-align: right; + color: #fff; } .nav-list .nav-head a { - color: #fff; + color: #fff; } .nav-list .nav-head .item { - padding: 5px 10px; - font-size: 0.9rem; - line-height: 1.5rem; + padding: 5px 10px; + font-size: 0.9rem; + line-height: 1.5rem; } /*=== Aside main page (categories) */ .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after { - margin: -0.5rem 1rem 0 0; - padding: 0 0.75rem; - background: rgba(35, 35, 0, 0.15); - border-radius: 12px; - position: absolute; - right: 0; - line-height: 1.5rem; - text-align: center; + margin: -0.5rem 1rem 0 0; + padding: 0 0.75rem; + background: rgba(35, 35, 0, 0.15); + border-radius: 12px; + position: absolute; + right: 0; + line-height: 1.5rem; + text-align: center; } .feed.item.empty.active { - background: #766556; + background: #766556; } .feed.item.error.active { - background: #766556; + background: #766556; } .feed.item.empty, .feed.item.empty > a { - color: #766556; + color: #766556; } .feed.item.error, .feed.item.error > a { - color: #766556; + color: #766556; } .feed.item.empty.active, .feed.item.error.active, .feed.item.empty.active > a, .feed.item.error.active > a { - color: #fff; + color: #fff; } .aside_feed .tree-folder-items .dropdown-menu::after { - left: 2px; + left: 2px; } .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon { - border-radius: 3px; + border-radius: 3px; } .aside_feed .stick #btn-add { - border-left-color: #fbf9f6; + border-left-color: #fbf9f6; } /*=== STRUCTURE */ /*===============*/ /*=== Header */ .header { - padding: 0.5rem 1.35rem; - background: #fbf9f6; - display: block; - width: auto; - table-layout: none; + padding: 0.5rem 1.35rem; + background: #fbf9f6; + display: block; + width: auto; + table-layout: none; } .header .item { - vertical-align: middle; + vertical-align: middle; } .header .item.title { - width: 280px; - font-weight: 400; + width: 280px; + font-weight: 400; } .header .item.title h1 a { - text-decoration: none; - color: #363330; - font-size: 1rem; - text-transform: uppercase; - letter-spacing: 1px; + text-decoration: none; + color: #363330; + font-size: 1rem; + text-transform: uppercase; + letter-spacing: 1px; } .header .item.title h1 a img { - margin-right: 0.5rem; + margin-right: 0.5rem; } .header .item.search input { - width: 230px; - color: #363330; - border: none; - border-radius: 2px 0 0 2px; - background-color: #f7f2ea; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + width: 230px; + color: #363330; + border: none; + border-radius: 2px 0 0 2px; + background-color: #f7f2ea; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .header .item.search input:hover { - background-color: #efe3d3; + background-color: #efe3d3; } .header .item.search input:focus { - width: 350px; - color: #766556; - background-color: #fff; + width: 350px; + color: #766556; + background-color: #fff; } .header .item.search .btn { - width: 3rem; - border-radius: 0 2px 2px 0; - background-color: #ca7227; - background-position: center; - background-repeat: no-repeat; - background-image: url(icons/magnifier.svg); - border-left-width: 0; - min-height: 35px; + width: 3rem; + border-radius: 0 2px 2px 0; + background-color: #ca7227; + background-position: center; + background-repeat: no-repeat; + background-image: url(icons/magnifier.svg); + border-left-width: 0; + min-height: 35px; } .header .item.search .btn img { - display: none; + display: none; } .header .item.search .btn:hover { - background-color: #b7641d; + background-color: #b7641d; } .header .item.configure { - width: 2rem; - position: absolute; - right: 1rem; - top: 1.25rem; - text-align: center; + width: 2rem; + position: absolute; + right: 1rem; + top: 1.25rem; + text-align: center; } .header .item.configure .btn { - padding: 0 0.5rem; - background-color: transparent; - background-position: center; - background-repeat: no-repeat; - background-image: url(icons/cog.svg); + padding: 0 0.5rem; + background-color: transparent; + background-position: center; + background-repeat: no-repeat; + background-image: url(icons/cog.svg); } .header .item.configure .btn img { - display: none; + display: none; } /*=== Body */ #global { - height: calc(100% - 85px); + height: calc(100% - 85px); } /*=== Prompt (centered) */ .prompt { - text-align: center; + text-align: center; } .prompt label { - text-align: left; + text-align: left; } .prompt form { - margin: 10px auto 20px auto; - width: 200px; + margin: 10px auto 20px auto; + width: 200px; } .prompt input { - margin: 5px auto; - width: 100%; + margin: 5px auto; + width: 100%; } .prompt p { - margin: 20px 0; + margin: 20px 0; } /*=== New article notification */ #new-article { - background: #ca7227; - font-size: 1rem; - text-align: center; + background: #ca7227; + font-size: 1rem; + text-align: center; } #new-article:hover { - background: #b7641d; + background: #b7641d; } #new-article > a { - line-height: 3em; - font-weight: bold; - color: #fff; + line-height: 3em; + font-weight: bold; + color: #fff; } #new-article > a:hover { - text-decoration: none; + text-decoration: none; } /*=== Day indication */ .day { - padding: 1rem 0 0 1.25rem; - color: #6d655f; - font-size: 0.875rem; - font-weight: 700; - line-height: 3em; - letter-spacing: 1px; - text-transform: uppercase; + padding: 1rem 0 0 1.25rem; + color: #6d655f; + font-size: 0.875rem; + font-weight: 700; + line-height: 3em; + letter-spacing: 1px; + text-transform: uppercase; } .day .name { - padding: 0 1rem 0 1rem; - color: #363330; - font-size: 0.875rem; - position: relative; - left: 0; - text-transform: uppercase; + padding: 0 1rem 0 1rem; + color: #363330; + font-size: 0.875rem; + position: relative; + left: 0; + text-transform: uppercase; } /*=== Index menu */ .nav_menu { - text-align: center; - padding: 5px 0; + text-align: center; + padding: 5px 0; } .nav_menu .btn { - border-left-width: 0; - padding: 0.5rem 1rem; - background-color: #fcfaf8; - background-position: center; - background-repeat: no-repeat; + border-left-width: 0; + padding: 0.5rem 1rem; + background-color: #fcfaf8; + background-position: center; + background-repeat: no-repeat; } .nav_menu .btn:hover { - background-color: #f5f0ec; + background-color: #f5f0ec; } .nav_menu .stick { - background: #fcfaf8; + background: #fcfaf8; } .nav_menu .stick .btn { - border-left-width: 0; - padding: 0.5rem 1rem; - background-color: #fcfaf8; - background-position: center; - background-repeat: no-repeat; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + border-left-width: 0; + padding: 0.5rem 1rem; + background-color: #fcfaf8; + background-position: center; + background-repeat: no-repeat; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav_menu .stick .btn:hover { - background-color: #e4d8cc; + background-color: #e4d8cc; } .nav_menu .stick .btn.active { - background-color: #ca7227; + background-color: #ca7227; } .nav_menu .stick .btn img.icon { - display: none; + display: none; } .nav_menu .stick .btn#toggle-read { - background-image: url(icons/read.svg); + background-image: url(icons/read.svg); } .nav_menu .stick .btn#toggle-read.active { - background-image: url(icons/read-white.svg); + background-image: url(icons/read-white.svg); } .nav_menu .stick .btn#toggle-unread { - background-image: url(icons/unread.svg); + background-image: url(icons/unread.svg); } .nav_menu .stick .btn#toggle-unread.active { - background-image: url(icons/unread-white.svg); + background-image: url(icons/unread-white.svg); } .nav_menu .stick .btn#toggle-starred { - background-image: url(icons/starred.svg); + background-image: url(icons/starred.svg); } .nav_menu .stick .btn#toggle-starred.active { - background-image: url(icons/starred-white.svg); + background-image: url(icons/starred-white.svg); } .nav_menu .stick .btn#toggle-non-starred { - background-image: url(icons/non-starred.svg); + background-image: url(icons/non-starred.svg); } .nav_menu .stick .btn#toggle-non-starred.active { - background-image: url(icons/non-starred-white.svg); + background-image: url(icons/non-starred-white.svg); } .nav_menu .stick .btn.read_all { - padding: 5px 16px; - color: #363330; - background-color: #fcfaf8; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + padding: 5px 16px; + color: #363330; + background-color: #fcfaf8; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav_menu .stick .btn.read_all:hover { - background-color: #e4d8cc; + background-color: #e4d8cc; } .nav_menu .stick .btn.view-normal { - background-image: url(icons/view-list.svg); + background-image: url(icons/view-list.svg); } .nav_menu .stick .btn.view-normal.active { - background-image: url(icons/view-list-white.svg); + background-image: url(icons/view-list-white.svg); } .nav_menu .stick .btn.view-global { - background-image: url(icons/view-global.svg); + background-image: url(icons/view-global.svg); } .nav_menu .stick .btn.view-global.active { - background-image: url(icons/view-global-white.svg); + background-image: url(icons/view-global-white.svg); } .nav_menu .stick .btn.view-reader { - background-image: url(icons/view-reader.svg); + background-image: url(icons/view-reader.svg); } .nav_menu .stick .btn.view-reader.active { - background-image: url(icons/view-reader-white.svg); + background-image: url(icons/view-reader-white.svg); } .nav_menu .stick .btn.view-rss { - background-image: url(icons/rss.svg); + background-image: url(icons/rss.svg); } .nav_menu .stick .dropdown a.dropdown-toggle { - border-left-width: 0; - background-image: url(icons/more.svg); + border-left-width: 0; + background-image: url(icons/more.svg); } #dropdown-query ~ .dropdown-menu .dropdown-header .icon { - vertical-align: middle; - background-color: #ba9; - border-radius: 3px; + vertical-align: middle; + background-color: #ba9; + border-radius: 3px; } /*=== Content of feed articles */ .content, .content.thin { - padding: 20px 10px; - font-size: 1.125rem; - line-height: 1.8rem; + padding: 20px 10px; + font-size: 1.125rem; + line-height: 1.8rem; } .content h1.title a, .content h1 a, .content.thin h1.title a, .content.thin h1 a { - color: #363330; - font-family: "spectral", serif; - font-size: 2rem; + color: #363330; + font-family: "spectral", serif; + font-size: 2rem; } .content h1.title a:hover, .content h1 a:hover, .content.thin h1.title a:hover, .content.thin h1 a:hover { - color: #ca7227; - text-decoration: none; + color: #ca7227; + text-decoration: none; } .content .author, .content.thin .author { - color: #6d655f; - font-size: 1.125rem; + color: #6d655f; + font-size: 1.125rem; } .content p, .content ul, .content.thin p, .content.thin ul { - font-size: 1.125rem; - line-height: 1.8rem; + font-size: 1.125rem; + line-height: 1.8rem; } .content .content hr, .content.thin .content hr { - margin: 30px 10px; - background: #e4d8cc; - height: 1px; - border: 0; - box-shadow: 0 2px 5px #ccc; + margin: 30px 10px; + background: #e4d8cc; + height: 1px; + border: 0; + box-shadow: 0 2px 5px #ccc; } .content pre, .content.thin pre { - margin: 10px auto; - padding: 10px 20px; - overflow: auto; - background: #221f1d; - color: #fff; - font-size: 0.9rem; - border-radius: 3px; + margin: 10px auto; + padding: 10px 20px; + overflow: auto; + background: #221f1d; + color: #fff; + font-size: 0.9rem; + border-radius: 3px; } .content pre code, .content.thin pre code { - background: transparent; - color: #fff; - border: none; + background: transparent; + color: #fff; + border: none; } .content code, .content.thin code { - padding: 2px 5px; - background: #fcfaf8; - border: 1px solid #f5f0ec; - border-radius: 3px; + padding: 2px 5px; + background: #fcfaf8; + border: 1px solid #f5f0ec; + border-radius: 3px; } .content blockquote, .content.thin blockquote { - margin: 0; - padding: 5px 20px; - background: #fcfaf8; - display: block; - color: #363330; - border-top: 1px solid #e4d8cc; - border-bottom: 1px solid #e4d8cc; + margin: 0; + padding: 5px 20px; + background: #fcfaf8; + display: block; + color: #363330; + border-top: 1px solid #e4d8cc; + border-bottom: 1px solid #e4d8cc; } .content blockquote p, .content.thin blockquote p { - margin: 0; + margin: 0; } /*=== Notification and actualize notification */ .notification { - padding: 1rem 0; - background: #e4d8cc; - width: 100%; - height: 3rem; - color: #766556; - font-size: 1em; - border: none; - position: fixed; - top: auto; - bottom: 0; - left: 0; - right: 0; - text-align: center; - line-height: 3em; - z-index: 10; - vertical-align: middle; + padding: 1rem 0; + background: #e4d8cc; + width: 100%; + height: 3rem; + color: #766556; + font-size: 1em; + border: none; + position: fixed; + top: auto; + bottom: 0; + left: 0; + right: 0; + text-align: center; + line-height: 3em; + z-index: 10; + vertical-align: middle; } .notification .msg { - display: inline-block; - font-size: 1rem; + display: inline-block; + font-size: 1rem; } .notification.good { - background: #10f5b2; - color: #fff; + background: #10f5b2; + color: #fff; } .notification.bad { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .notification a.close { - padding: 0 15px; - border-radius: 0 3px 3px 0; - line-height: 3em; + padding: 0 15px; + border-radius: 0 3px 3px 0; + line-height: 3em; } .notification.good a.close:hover { - background: #0c7556; + background: #0c7556; } .notification.bad a.close:hover { - background: #73341f; + background: #73341f; } .notification#actualizeProgress { - line-height: 2em; + line-height: 2em; } .notification#actualizeProgress br { - display: none; + display: none; } /*=== Navigation menu (for articles) */ #nav_entries { - margin: 0; - text-align: center; - line-height: 3em; - table-layout: fixed; - background: #fbf9f6; + margin: 0; + text-align: center; + line-height: 3em; + table-layout: fixed; + background: #fbf9f6; } /*=== Feed articles */ .flux { - background: #fff; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + background: #fff; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .flux:hover { - background: #fcfaf8; + background: #fcfaf8; } .flux:hover:not(.current):hover .item.title { - background: #fcfaf8; + background: #fcfaf8; } .flux.current { - background: #fff; - border-left-color: #ca7227; + background: #fff; + border-left-color: #ca7227; } .flux.not_read:not(.current) { - background: #f2f6f8; + background: #f2f6f8; } .flux.not_read:not(.current):hover .item.title { - background: #f2f6f8; + background: #f2f6f8; } .flux.not_read .item.title a { - color: #161a38; + color: #161a38; } .flux.not_read .item.website a { - color: #161a38; + color: #161a38; } .flux.not_read .item.date { - color: rgba(22, 26, 56, 0.5); + color: rgba(22, 26, 56, 0.5); } .flux.favorite { - border-left-color: #ffc300; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + border-left-color: #ffc300; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .flux.favorite:not(.current) { - background: #fff6da; + background: #fff6da; } .flux.favorite:not(.current):hover .item.title { - background: #fff6da; + background: #fff6da; } .flux .website a { - color: #363330; - opacity: 0.75; + color: #363330; + opacity: 0.75; } .flux .website .favicon { - padding: 5px; + padding: 5px; } .flux .item.date { - color: rgba(54, 51, 48, 0.5); - font-size: 0.85rem; + color: rgba(54, 51, 48, 0.5); + font-size: 0.85rem; } .flux .bottom { - font-size: 1rem; - text-align: center; + font-size: 1rem; + text-align: center; } .flux_header { - font-size: 1rem; - cursor: pointer; - border-top: 1px solid #f5f0ec; + font-size: 1rem; + cursor: pointer; + border-top: 1px solid #f5f0ec; } .flux_header .title { - font-size: 1rem; + font-size: 1rem; } /*=== GLOBAL VIEW */ /*================*/ #stream .box.category:not([data-unread="0"]) .box-title .title { - font-weight: bold; + font-weight: bold; } #stream .box.category .box-title { - padding: 1.5rem; - background: none; + padding: 1.5rem; + background: none; } #stream .box.category .box-title a.title { - color: #766556; - font-size: 1rem; - font-weight: normal; - text-decoration: none; - text-align: left; - text-transform: uppercase; - letter-spacing: 1px; + color: #766556; + font-size: 1rem; + font-weight: normal; + text-decoration: none; + text-align: left; + text-transform: uppercase; + letter-spacing: 1px; } #stream .box.category .box-title a.title:not([data-unread="0"])::after { - margin: -0.5rem 1rem 0 0; - padding: 0 0.75rem; - background: #f5f0ec; - border-radius: 12px; - position: absolute; - top: 1.75rem; - right: 0; - line-height: 1.5rem; - text-align: center; + margin: -0.5rem 1rem 0 0; + padding: 0 0.75rem; + background: #f5f0ec; + border-radius: 12px; + position: absolute; + top: 1.75rem; + right: 0; + line-height: 1.5rem; + text-align: center; } #stream .box.category .box-title a.title:hover { - color: #ca7227; + color: #ca7227; } #stream .box.category .box-content { - padding-bottom: 0.5rem; + padding-bottom: 0.5rem; } #stream .box.category .box-content .item.feed { - padding: 0.5rem 1.5rem; - font-size: 1rem; + padding: 0.5rem 1.5rem; + font-size: 1rem; } #stream .box.category .box-content .item.feed a { - color: #363330; - font-weight: 400; + color: #363330; + font-weight: 400; } #stream .box.category .box-content .item.feed a:hover { - color: #ca7227; - text-decoration: none; + color: #ca7227; + text-decoration: none; } #overlay { - background: rgba(0, 0, 0, 0.65); + background: rgba(0, 0, 0, 0.65); } #panel { - top: 3rem; - right: 3rem; - bottom: 3rem; - left: 3rem; - border-radius: 3px; + top: 3rem; + right: 3rem; + bottom: 3rem; + left: 3rem; + border-radius: 3px; } /*=== READER VIEW */ /*================*/ #stream.reader .flux { - padding: 0 0 50px; - background: #f5f0ec; - color: #363330; - border: none; + padding: 0 0 50px; + background: #f5f0ec; + color: #363330; + border: none; } #stream.reader .flux .author { - margin: 0 0 10px; - color: #ba9; - font-size: 90%; + margin: 0 0 10px; + color: #ba9; + font-size: 90%; } /*=== Configuration pages */ .post { - padding: 1rem 2rem; - font-size: 1rem; + padding: 1rem 2rem; + font-size: 1rem; } .post form { - margin: 1rem 0; + margin: 1rem 0; } .post form .horizontal-list { - margin-bottom: 0.5rem; + margin-bottom: 0.5rem; } .post.content { - max-width: 550px; + max-width: 550px; } .post h1, .post h2 { - color: #363330; - font-size: 3rem; - margin-top: 1.75rem; - font-weight: 300; - line-height: 1.2em; + color: #363330; + font-size: 3rem; + margin-top: 1.75rem; + font-weight: 300; + line-height: 1.2em; } .post a[href="./"] { - margin: 0; - padding: 0.75rem 1.5rem; - background: #fcfaf8; - display: inline-block; - color: #766556; - font-size: 1rem; - border: 1px solid #e4d8cc; - border-radius: 5px; - min-width: 15px; - line-height: 25px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; + margin: 0; + padding: 0.75rem 1.5rem; + background: #fcfaf8; + display: inline-block; + color: #766556; + font-size: 1rem; + border: 1px solid #e4d8cc; + border-radius: 5px; + min-width: 15px; + line-height: 25px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; } .post a[href="./"]:hover { - background: #ca7227; - color: white; - border: 1px solid #ca7227; - text-decoration: none; + background: #ca7227; + color: white; + border: 1px solid #ca7227; + text-decoration: none; } #slider { - border-left: none; - box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); + border-left: none; + box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); } .slide-container .properties { - padding: 1rem; - background: rgba(0, 0, 0, 0.75); - color: white; - border: 0; + padding: 1rem; + background: rgba(0, 0, 0, 0.75); + color: white; + border: 0; } .slide-container .properties .page-number { - right: 1rem; - top: 1rem; + right: 1rem; + top: 1rem; } /*=== LOGS */ /*=========*/ .loglist { - overflow: hidden; - border: 1px solid #ba9; + overflow: hidden; + border: 1px solid #ba9; } .log { - margin: 10px 0; - padding: 5px 2%; - background: #fcfaf8; - color: #766556; - font-size: 0.8rem; - overflow: auto; + margin: 10px 0; + padding: 5px 2%; + background: #fcfaf8; + color: #766556; + font-size: 0.8rem; + overflow: auto; } .log > .date { - margin: 0 10px 0 0; - padding: 5px 10px; - border-radius: 20px; + margin: 0 10px 0 0; + padding: 5px 10px; + border-radius: 20px; } .log.error > .date { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .log.warning > .date { - background: #f4f762; + background: #f4f762; } .log.notice > .date { - background: #f5f0ec; + background: #f5f0ec; } .log.debug > .date { - background: #221f1d; - color: #fff; + background: #221f1d; + color: #fff; } /*=== STATISTICS */ /*===============*/ .stat { - margin: 10px 0 20px; + margin: 10px 0 20px; } .stat th, .stat td, .stat tr { - border: none; + border: none; } .stat > table td, .stat > table th { - border-bottom: 1px solid #e4d8cc; + border-bottom: 1px solid #e4d8cc; } .stat > .horizontal-list { - margin: 0 0 5px; + margin: 0 0 5px; } .stat > .horizontal-list .item { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .stat > .horizontal-list .item:first-child { - width: 270px; + width: 270px; } /*=== MOBILE */ /*===========*/ @media (max-width: 840px) { - ul.nav .item { - width: 100%; - } - ul.nav .item img { - display: none; - } - ul.nav .item a { - box-sizing: border-box; - padding: 1rem 1rem 1rem 2.5rem; - background: url("../../themes/icons/logout.svg") no-repeat #efe3d3 3% center; - display: inline-block; - width: 100%; - color: #363330; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - } - ul.nav .item a:hover, ul.nav .item a:active { - background: url("../../themes/icons/logout.svg") no-repeat #f5633e 3% center; - text-decoration: none; - color: #fff; - } - - .form-group .group-name { - text-align: left; - } - - .box .box-title .configure, + ul.nav .item { + width: 100%; + } + ul.nav .item img { + display: none; + } + ul.nav .item a { + box-sizing: border-box; + padding: 1rem 1rem 1rem 2.5rem; + background: url("../../themes/icons/logout.svg") no-repeat #efe3d3 3% center; + display: inline-block; + width: 100%; + color: #363330; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + } + ul.nav .item a:hover, ul.nav .item a:active { + background: url("../../themes/icons/logout.svg") no-repeat #f5633e 3% center; + text-decoration: none; + color: #fff; + } + + .form-group .group-name { + text-align: left; + } + + .box .box-title .configure, .box .box-content .item .configure { - visibility: visible; - } - - .aside { - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - } - .aside.aside_feed { - padding: 0; - } - .aside .tree .tree-folder .tree-folder-items .item a { - padding: 0.5rem 1rem; - } - - .aside .toggle_aside, + visibility: visible; + } + + .aside { + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + } + .aside.aside_feed { + padding: 0; + } + .aside .tree .tree-folder .tree-folder-items .item a { + padding: 0.5rem 1rem; + } + + .aside .toggle_aside, #panel .close, #close-slider.active { - background: #b7641d; - display: block; - width: 100%; - height: 50px; - line-height: 50px; - text-align: center; - } - - .header { - padding: 0.5rem; - } - .header .item.title { - display: none; - } - .header .item.search { - display: block; - } - .header .item.search .stick { - display: flex; - } - .header .item.search input { - width: 90%; - height: 3.5rem; - } - .header .item.search input:focus { - width: 100%; - } - .header .item.search .btn { - min-height: 49px; - padding: 0.5rem 2rem; - } - .header .item.configure { - display: none; - } - - .post { - padding-left: 1rem; - padding-right: 1rem; - } - - .nav_menu .btn { - margin: 0; - padding: 0.85rem 1.25rem; - } - .nav_menu .stick { - margin: 0.5rem 0.5rem; - } - .nav_menu .stick .btn { - margin: 0; - padding: 0.85rem 1.25rem; - } - .nav_menu .stick .btn.read_all { - padding: 0.85rem 1.25rem; - } - .nav_menu .search { - display: none; - max-width: 97%; - } - .nav_menu .search .input { - max-width: 97%; - width: 90px; - } - .nav_menu .search .input:focus { - width: 400px; - } - - #stream .flux .flux_header { - padding: 0.5rem 0; - } - - .day { - text-align: center; - padding: 1rem 0; - } - .day .name { - padding: 0; - display: block; - width: 100%; - line-height: 1.5rem; - margin-bottom: 1rem; - } - - .pagination { - margin: 0 0 3.5em; - } - - #nav_entries { - line-height: 4.5rem; - } - - .notification { - border-radius: 0; - } - .notification a.close { - background: transparent; - display: block; - left: 0; - } - .notification a.close:hover { - opacity: 0.5; - } - .notification a.close .icon { - display: none; - } + background: #b7641d; + display: block; + width: 100%; + height: 50px; + line-height: 50px; + text-align: center; + } + + .header { + padding: 0.5rem; + } + .header .item.title { + display: none; + } + .header .item.search { + display: block; + } + .header .item.search .stick { + display: flex; + } + .header .item.search input { + width: 90%; + height: 3.5rem; + } + .header .item.search input:focus { + width: 100%; + } + .header .item.search .btn { + min-height: 49px; + padding: 0.5rem 2rem; + } + .header .item.configure { + display: none; + } + + .post { + padding-left: 1rem; + padding-right: 1rem; + } + + .nav_menu .btn { + margin: 0; + padding: 0.85rem 1.25rem; + } + .nav_menu .stick { + margin: 0.5rem 0.5rem; + } + .nav_menu .stick .btn { + margin: 0; + padding: 0.85rem 1.25rem; + } + .nav_menu .stick .btn.read_all { + padding: 0.85rem 1.25rem; + } + .nav_menu .search { + display: none; + max-width: 97%; + } + .nav_menu .search .input { + max-width: 97%; + width: 90px; + } + .nav_menu .search .input:focus { + width: 400px; + } + + #stream .flux .flux_header { + padding: 0.5rem 0; + } + + .day { + text-align: center; + padding: 1rem 0; + } + .day .name { + padding: 0; + display: block; + width: 100%; + line-height: 1.5rem; + margin-bottom: 1rem; + } + + .pagination { + margin: 0 0 3.5em; + } + + #nav_entries { + line-height: 4.5rem; + } + + .notification { + border-radius: 0; + } + .notification a.close { + background: transparent; + display: block; + left: 0; + } + .notification a.close:hover { + opacity: 0.5; + } + .notification a.close .icon { + display: none; + } } /*=== GENERAL */ /*============*/ html, body { - background: #f5f0ec; - height: 100%; - font-family: "lato", "Helvetica", "Arial", sans-serif; - font-size: 0.875rem; + background: #f5f0ec; + height: 100%; + font-family: "lato", "Helvetica", "Arial", sans-serif; + font-size: 0.875rem; } /*=== Links */ a, button.as-link { - outline: none; - color: #ca7227; + outline: none; + color: #ca7227; } /*# sourceMappingURL=ansum.css.map */ diff --git a/p/themes/Ansum/ansum.rtl.css b/p/themes/Ansum/ansum.rtl.css index 8d1a9c96d..bd71669c0 100644 --- a/p/themes/Ansum/ansum.rtl.css +++ b/p/themes/Ansum/ansum.rtl.css @@ -1,216 +1,216 @@ @font-face { - font-family: "lato"; - font-style: normal; - font-stretch: normal; - font-weight: 400; - src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff"); + font-family: "lato"; + font-style: normal; + font-stretch: normal; + font-weight: 400; + src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: italic; - font-stretch: normal; - font-weight: 400; - src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff"); + font-family: "lato"; + font-style: italic; + font-stretch: normal; + font-weight: 400; + src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: normal; - font-stretch: normal; - font-weight: 700; - src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff"); + font-family: "lato"; + font-style: normal; + font-stretch: normal; + font-weight: 700; + src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: italic; - font-stretch: normal; - font-weight: 700; - src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff"); + font-family: "lato"; + font-style: italic; + font-stretch: normal; + font-weight: 700; + src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: normal; - font-stretch: normal; - font-weight: 400; - src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff"); + font-family: "spectral"; + font-style: normal; + font-stretch: normal; + font-weight: 400; + src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: italic; - font-stretch: normal; - font-weight: 400; - src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff"); + font-family: "spectral"; + font-style: italic; + font-stretch: normal; + font-weight: 400; + src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: normal; - font-stretch: normal; - font-weight: 700; - src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff"); + font-family: "spectral"; + font-style: normal; + font-stretch: normal; + font-weight: 700; + src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: italic; - font-stretch: normal; - font-weight: 700; - src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff"); + font-family: "spectral"; + font-style: italic; + font-stretch: normal; + font-weight: 700; + src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff"); } /* stylelint-disable property-no-vendor-prefix */ /* FUNCTIONS */ /* btns */ .btn { - margin: 0; - padding: 0.5rem 1.5rem; - background: #fcfaf8; - display: inline-block; - color: #766556; - font-size: 1rem; - border: none; - border-radius: 5px; - min-height: 38px; - min-width: 15px; - line-height: 25px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + margin: 0; + padding: 0.5rem 1.5rem; + background: #fcfaf8; + display: inline-block; + color: #766556; + font-size: 1rem; + border: none; + border-radius: 5px; + min-height: 38px; + min-width: 15px; + line-height: 25px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .btn.btn-important { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } .btn.btn-important:hover, .btn.btn-important:active { - background: #b7641d; + background: #b7641d; } .btn.btn-attention { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .btn.btn-attention:hover, .btn.btn-attention:active { - background: #73341f; + background: #73341f; } .btn:hover { - text-decoration: none; + text-decoration: none; } a.btn { - min-height: 25px; - line-height: 25px; + min-height: 25px; + line-height: 25px; } /*=== Forms */ legend { - margin: 2rem 0 1rem 0; - padding: 0; - display: inline-block; - width: auto; - font-size: 1rem; - clear: both; - text-transform: uppercase; - letter-spacing: 1px; - font-weight: 700; + margin: 2rem 0 1rem 0; + padding: 0; + display: inline-block; + width: auto; + font-size: 1rem; + clear: both; + text-transform: uppercase; + letter-spacing: 1px; + font-weight: 700; } label { - min-height: 25px; - padding: 5px 0; - cursor: pointer; - color: #766556; + min-height: 25px; + padding: 5px 0; + cursor: pointer; + color: #766556; } textarea { - width: 360px; - max-width: 100%; - height: 100px; + width: 360px; + max-width: 100%; + height: 100px; } input, select, textarea, button { - padding: 5px 10px; - background: #fff; - color: #766556; - font-family: "lato", "Helvetica", "Arial", sans-serif; - font-size: 1rem; - border: 1px solid #f5f0ec; - border-radius: 2px; - min-height: 25px; - line-height: 25px; - vertical-align: middle; + padding: 5px 10px; + background: #fff; + color: #766556; + font-family: "lato", "Helvetica", "Arial", sans-serif; + font-size: 1rem; + border: 1px solid #f5f0ec; + border-radius: 2px; + min-height: 25px; + line-height: 25px; + vertical-align: middle; } option { - padding: 0 0.5em; + padding: 0 0.5em; } input:focus, select:focus, textarea:focus { - color: #363330; - border-color: #ca7227; + color: #363330; + border-color: #ca7227; } input:invalid, select:invalid { - color: #f5633e; - border-color: #f5633e; - box-shadow: none; + color: #f5633e; + border-color: #f5633e; + box-shadow: none; } input:disabled, select:disabled { - background: #f5f0ec; + background: #f5f0ec; } input.extend { - transition: width 200ms linear; + transition: width 200ms linear; } .form-group { - padding: 5px; - border-radius: 3px; + padding: 5px; + border-radius: 3px; } .form-group::after { - content: ""; - display: block; - clear: both; + content: ""; + display: block; + clear: both; } .form-group .group-name { - padding: 10px 0; - text-align: left; + padding: 10px 0; + text-align: left; } .form-group .group-controls { - min-height: 25px; - padding: 5px 0; + min-height: 25px; + padding: 5px 0; } .form-group .group-controls .control { - line-height: 2em; + line-height: 2em; } .form-group table { - margin: 10px 220px 0 0; + margin: 10px 220px 0 0; } .form-group.form-actions { - margin: 15px 0 25px; - padding: 5px 0; + margin: 15px 0 25px; + padding: 5px 0; } .form-group.form-actions .btn { - margin: 0 0 0 0.5rem; + margin: 0 0 0 0.5rem; } /*=== Tables */ table { - border-collapse: collapse; + border-collapse: collapse; } tr, th, td { - padding: 0.5em; - border: 1px solid #e4d8cc; + padding: 0.5em; + border: 1px solid #e4d8cc; } th { - background: #fcfaf8; + background: #fcfaf8; } form td, form th { - font-weight: normal; - text-align: center; + font-weight: normal; + text-align: center; } /*=== COMPONENTS */ @@ -218,422 +218,422 @@ form th { /*=== Forms */ /*=== Horizontal-list */ .horizontal-list { - margin: 0; - padding: 0.1rem 0; + margin: 0; + padding: 0.1rem 0; } .horizontal-list .item { - vertical-align: middle; + vertical-align: middle; } .horizontal-list .item:first-child { - padding-right: 0.5rem; + padding-right: 0.5rem; } /*=== Dropdown */ .dropdown-menu { - margin: 0; - padding: 0.5rem 0 1rem 0; - background: #fcfaf8; - font-size: 1rem; - border: none; - border-radius: 3px; - box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); - text-align: right; + margin: 0; + padding: 0.5rem 0 1rem 0; + background: #fcfaf8; + font-size: 1rem; + border: none; + border-radius: 3px; + box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); + text-align: right; } .dropdown-menu::after { - background: white; - width: 10px; - height: 10px; - content: ""; - position: absolute; - top: -4px; - left: 13px; - z-index: -10; - transform: rotate(-45deg); + background: white; + width: 10px; + height: 10px; + content: ""; + position: absolute; + top: -4px; + left: 13px; + z-index: -10; + transform: rotate(-45deg); } .dropdown-menu .dropdown-header { - margin: 1.75rem 2rem 0.5rem 0; - font-weight: bold; - text-align: right; - color: #766556; - text-transform: uppercase; - letter-spacing: 1px; + margin: 1.75rem 2rem 0.5rem 0; + font-weight: bold; + text-align: right; + color: #766556; + text-transform: uppercase; + letter-spacing: 1px; } .dropdown-menu .item { - -webkit-transition: all 0.075s ease-in-out; - -moz-transition: all 0.075s ease-in-out; - -o-transition: all 0.075s ease-in-out; - transition: all 0.075s ease-in-out; + -webkit-transition: all 0.075s ease-in-out; + -moz-transition: all 0.075s ease-in-out; + -o-transition: all 0.075s ease-in-out; + transition: all 0.075s ease-in-out; } .dropdown-menu .item a, .dropdown-menu .item span, .dropdown-menu .item .as-link { - padding: 0 2rem; - color: #363330; - font-size: 1rem; - line-height: 2.5em; + padding: 0 2rem; + color: #363330; + font-size: 1rem; + line-height: 2.5em; } .dropdown-menu .item:hover { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } .dropdown-menu .item:hover a, .dropdown-menu .item:hover button { - text-decoration: none; - color: #fff; + text-decoration: none; + color: #fff; } .dropdown-menu .item[aria-checked=true] a::before { - margin: 0 -14px 0 0; - font-weight: bold; + margin: 0 -14px 0 0; + font-weight: bold; } .dropdown-menu .input select, .dropdown-menu .input input { - margin: 0 auto 5px; - padding: 2px 5px; - border-radius: 3px; + margin: 0 auto 5px; + padding: 2px 5px; + border-radius: 3px; } .dropdown-menu .separator { - margin: 0.75rem 0; - border-bottom: 1px solid #f5f0ec; + margin: 0.75rem 0; + border-bottom: 1px solid #f5f0ec; } .tree .tree-folder .tree-folder-items .dropdown-menu .item { - padding: 0; + padding: 0; } .tree .tree-folder .tree-folder-items .dropdown-menu .item a, .tree .tree-folder .tree-folder-items .dropdown-menu .item button { - color: #363330; + color: #363330; } .tree .tree-folder .tree-folder-items .dropdown-menu .item a:hover, .tree .tree-folder .tree-folder-items .dropdown-menu .item button:hover { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .dropdown-menu .item:hover { - background: #ca7227; + background: #ca7227; } /*=== Alerts */ .alert { - margin: 1rem 0; - padding: 1rem; - background: #fcfaf8; - color: #766556; - font-size: 1rem; - border: 1px solid #d9ccbf; - border-radius: 3px; - text-shadow: 0 0 1px #f5f0ec; + margin: 1rem 0; + padding: 1rem; + background: #fcfaf8; + color: #766556; + font-size: 1rem; + border: 1px solid #d9ccbf; + border-radius: 3px; + text-shadow: 0 0 1px #f5f0ec; } .alert-head { - font-size: 1.15em; + font-size: 1.15em; } .alert > a { - text-decoration: underline; - color: inherit; + text-decoration: underline; + color: inherit; } .alert-warn { - background: #fdfde0; - color: #73762f; - border: 1px solid #73762f33; + background: #fdfde0; + color: #73762f; + border: 1px solid #73762f33; } .alert-success { - background: #cffdef; - color: #0c7556; - border: 1px solid #0c755633; + background: #cffdef; + color: #0c7556; + border: 1px solid #0c755633; } .alert-error { - background: #fde0d8; - color: #73341f; - border: 1px solid #73341f33; + background: #fde0d8; + color: #73341f; + border: 1px solid #73341f33; } /*=== Pagination */ .pagination { - background: #f5f0ec; - color: #363330; - font-size: 0.8em; - text-align: center; + background: #f5f0ec; + color: #363330; + font-size: 0.8em; + text-align: center; } .pagination .item.pager-current { - background: #fbf9f6; - color: #f5f0ec; - font-size: 1.5em; - font-weight: bold; + background: #fbf9f6; + color: #f5f0ec; + font-size: 1.5em; + font-weight: bold; } .pagination .item a { - display: block; - color: #363330; - font-style: italic; - line-height: 3em; - text-decoration: none; + display: block; + color: #363330; + font-style: italic; + line-height: 3em; + text-decoration: none; } .pagination .item a:hover { - background: #363330; - color: #f5f0ec; + background: #363330; + color: #f5f0ec; } .pagination .loading, .pagination a:hover.loading { - background: url("loader.gif") center center no-repeat #34495e; - font-size: 0; + background: url("loader.gif") center center no-repeat #34495e; + font-size: 0; } .content .pagination { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } /*=== Boxes */ .box { - background: #fff; - border: none; - border-radius: 3px; - box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); + background: #fff; + border: none; + border-radius: 3px; + box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); } .box .box-title { - margin: 0; - padding: 0.5rem 0.75rem; - background: #f5f0ec; - color: #363330; - border-radius: 2px 2px 0 0; + margin: 0; + padding: 0.5rem 0.75rem; + background: #f5f0ec; + color: #363330; + border-radius: 2px 2px 0 0; } .box .box-title img { - margin-left: 0.75rem; + margin-left: 0.75rem; } .box .box-title:hover .configure { - background: url("icons/cog.svg") no-repeat 4px 4px; - display: block; - float: right; - width: 1.75rem; - height: 1.75rem; - border-radius: 2px; - visibility: visible; - margin-left: 0.5rem; + background: url("icons/cog.svg") no-repeat 4px 4px; + display: block; + float: right; + width: 1.75rem; + height: 1.75rem; + border-radius: 2px; + visibility: visible; + margin-left: 0.5rem; } .box .box-title:hover .configure .icon { - display: none; - border-radius: 3px; - vertical-align: middle; + display: none; + border-radius: 3px; + vertical-align: middle; } .box .box-title:hover .configure:hover { - background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227; + background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227; } .box .box-title .configure { - visibility: hidden; + visibility: hidden; } .box .box-title form input { - width: 85%; + width: 85%; } .box .box-title form .dropdown { - float: left; + float: left; } .box .box-title form .dropdown a.dropdown-toggle { - padding: 0; - border-radius: 0; - background-image: url(icons/more.svg); - background-repeat: no-repeat; - background-position: left 8px; + padding: 0; + border-radius: 0; + background-image: url(icons/more.svg); + background-repeat: no-repeat; + background-position: left 8px; } .box .box-title form .dropdown a.dropdown-toggle img { - display: none; + display: none; } .box .box-content .item { - padding: 0.5rem 0.75rem; - color: #363330; - font-size: 1rem; - border-bottom: 1px solid #f5f0ec; - line-height: 1.7em; + padding: 0.5rem 0.75rem; + color: #363330; + font-size: 1rem; + border-bottom: 1px solid #f5f0ec; + line-height: 1.7em; } .box .box-content .item img { - margin-left: 0.75rem; + margin-left: 0.75rem; } .box .box-content .item .configure { - background: url("icons/cog.svg") no-repeat 4px 4px; - display: block; - float: right; - width: 1.75rem; - height: 1.75rem; - border-radius: 2px; - visibility: hidden; - margin-left: 0.5rem; + background: url("icons/cog.svg") no-repeat 4px 4px; + display: block; + float: right; + width: 1.75rem; + height: 1.75rem; + border-radius: 2px; + visibility: hidden; + margin-left: 0.5rem; } .box .box-content .item .configure .icon { - display: none; - border-radius: 3px; - vertical-align: middle; + display: none; + border-radius: 3px; + vertical-align: middle; } .box .box-content .item .configure:hover { - background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227; + background: url("icons/cog-white.svg") no-repeat 4px 4px #ca7227; } .box .box-content .item:hover .configure { - visibility: visible; + visibility: visible; } .box .box-content .item:last-child { - border-bottom: none; + border-bottom: none; } /*=== "Load more" part */ #bigMarkAsRead { - text-align: center; - text-decoration: none; - background: #fdf6ef; - color: #ca7227; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + text-align: center; + text-decoration: none; + background: #fdf6ef; + color: #ca7227; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } #bigMarkAsRead:hover { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } #bigMarkAsRead:hover .bigTick { - background: url(icons/tick-white.svg) center no-repeat; + background: url(icons/tick-white.svg) center no-repeat; } #bigMarkAsRead .bigTick { - margin: 0.5rem 0; - background: url(icons/tick-color.svg) center no-repeat; - display: inline-block; - width: 64px; - height: 64px; - text-indent: -9999px; - white-space: nowrap; + margin: 0.5rem 0; + background: url(icons/tick-color.svg) center no-repeat; + display: inline-block; + width: 64px; + height: 64px; + text-indent: -9999px; + white-space: nowrap; } .formLogin { - background: #fbf9f6; + background: #fbf9f6; } .formLogin .header .configure { - padding-left: 1rem; + padding-left: 1rem; } .formLogin .header .configure img { - margin-left: 0.5rem; + margin-left: 0.5rem; } .formLogin .header .configure a.signin { - color: #fff; + color: #fff; } .formLogin h1 { - color: #fff; + color: #fff; } .formLogin form#crypto-form div { - margin-bottom: 1rem; + margin-bottom: 1rem; } .formLogin form#crypto-form div label { - color: #d9ccbf; - font-size: 1rem; + color: #d9ccbf; + font-size: 1rem; } .formLogin form#crypto-form div input { - background: #221f1d; + background: #221f1d; } .formLogin form#crypto-form div input:focus { - background: #fcfaf8; - color: #363330; + background: #fcfaf8; + color: #363330; } /*=== DIVERS */ /*===========*/ .aside.aside_feed .nav-form input, .aside.aside_feed .nav-form select { - width: 140px; + width: 140px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu { - left: -20px; + left: -20px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu::after { - left: 33px; + left: 33px; } /*=== Tree */ .tree { - margin: 10px 0; + margin: 10px 0; } .tree#sidebar { - scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05); - scrollbar-color: #36333033 #36333022; + scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05); + scrollbar-color: #36333033 #36333022; } .tree .tree-folder { - border-bottom: 1px solid #f0e7da; - box-shadow: inset 1px -11px 8px #0003; + border-bottom: 1px solid #f0e7da; + box-shadow: inset 1px -11px 8px #0003; } .tree .tree-folder .tree-folder-title { - padding: 12px 16px; - background: #fbf9f6; - position: relative; - font-size: 0.85rem; - letter-spacing: 1px; - font-weight: 700; - text-transform: uppercase; + padding: 12px 16px; + background: #fbf9f6; + position: relative; + font-size: 0.85rem; + letter-spacing: 1px; + font-weight: 700; + text-transform: uppercase; } .tree .tree-folder .tree-folder-title .title { - background: inherit; - color: #363330; + background: inherit; + color: #363330; } .tree .tree-folder .tree-folder-title .title:hover { - text-decoration: none; + text-decoration: none; } .tree .tree-folder.active .tree-folder-title { - background: #fbf9f6; - font-weight: bold; + background: #fbf9f6; + font-weight: bold; } .tree .tree-folder .tree-folder-items { - background: #f7f2ea; + background: #f7f2ea; } .tree .tree-folder .tree-folder-items .item { - padding: 0 1rem; - line-height: 2.5rem; - font-size: 1rem; - font-weight: 400; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + padding: 0 1rem; + line-height: 2.5rem; + font-size: 1rem; + font-weight: 400; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .tree .tree-folder .tree-folder-items .item.active { - background: #ca7227; + background: #ca7227; } .tree .tree-folder .tree-folder-items .item.active .dropdown li a { - color: #363330; + color: #363330; } .tree .tree-folder .tree-folder-items .item.active .dropdown li a:hover { - color: #363330; + color: #363330; } .tree .tree-folder .tree-folder-items .item.active a { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .item:hover { - background: #efe3d3; + background: #efe3d3; } .tree .tree-folder .tree-folder-items .item a { - text-decoration: none; - color: #363330; + text-decoration: none; + color: #363330; } .tree .tree-folder .tree-folder-items .feed .item-title:not([data-unread="0"])::before { - margin: 11px 4px 0 6px; - padding: 3px 4px; - background: rgba(35, 35, 0, 0.15); - display: block; - float: right; - font-size: 0.75rem; - border-radius: 12px; - content: attr(data-unread); - text-align: center; - line-height: 0.75rem; + margin: 11px 4px 0 6px; + padding: 3px 4px; + background: rgba(35, 35, 0, 0.15); + display: block; + float: right; + font-size: 0.75rem; + border-radius: 12px; + content: attr(data-unread); + text-align: center; + line-height: 0.75rem; } /*=== Buttons */ .stick { - vertical-align: middle; - font-size: 0; + vertical-align: middle; + font-size: 0; } .stick input, .stick .btn { - border-radius: 0; + border-radius: 0; } .stick .btn:first-child, .stick input:first-child { - border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; } .stick .btn:last-child, .stick input:last-child, .stick .btn + .dropdown > .btn { - border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; } .stick .btn + .btn, .stick .btn + input, @@ -644,980 +644,980 @@ form th { .stick .dropdown + .btn, .stick .dropdown + input, .stick .dropdown + .dropdown > .btn { - border-right: 1px solid #e4d8cc; + border-right: 1px solid #e4d8cc; } .aside { - background: #fbf9f6; + background: #fbf9f6; } .aside.aside_feed { - padding: 10px 0; - text-align: center; - background: #fbf9f6; - border-left: 1px solid #f0e7da; + padding: 10px 0; + text-align: center; + background: #fbf9f6; + border-left: 1px solid #f0e7da; } .aside.aside_feed .tree { - margin: 10px 0 50px; + margin: 10px 0 50px; } /* Sidebar des pages de configuration */ /*=== Navigation */ .nav-list .nav-header, .nav-list .item { - height: 2.5em; - line-height: 2.5em; - font-size: 1rem; + height: 2.5em; + line-height: 2.5em; + font-size: 1rem; } .nav-list .item { - background: #fbf9f6; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + background: #fbf9f6; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav-list .item a { - padding: 0 1rem; - color: #363330; + padding: 0 1rem; + color: #363330; } .nav-list .item .error a { - color: #f5633e; + color: #f5633e; } .nav-list .item:hover { - background: #efe3d3; - color: #363330; + background: #efe3d3; + color: #363330; } .nav-list .item:hover .error a { - background: #ca7227; - color: #363330; + background: #ca7227; + color: #363330; } .nav-list .item:hover .empty a { - background: #f4f762; - color: #363330; + background: #f4f762; + color: #363330; } .nav-list .item:hover a { - color: #363330; - text-decoration: none; + color: #363330; + text-decoration: none; } .nav-list .item.active { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } .nav-list .item.active .error a { - background: #ca7227; - color: #fff; + background: #ca7227; + color: #fff; } .nav-list .item.active .empty a { - background: #f4f762; - color: #fff; + background: #f4f762; + color: #fff; } .nav-list .item.active a { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } .nav-list.empty a { - color: #f4f762; + color: #f4f762; } .nav-list .disable { - text-align: center; - background: #fcfaf8; - color: #ba9; + text-align: center; + background: #fcfaf8; + color: #ba9; } .nav-list .nav-header { - padding: 0 10px; - font-weight: bold; - color: #766556; - text-transform: uppercase; - letter-spacing: 1px; - margin-top: 1rem; + padding: 0 10px; + font-weight: bold; + color: #766556; + text-transform: uppercase; + letter-spacing: 1px; + margin-top: 1rem; } .nav-list .nav-form { - padding: 3px; - text-align: center; + padding: 3px; + text-align: center; } .nav-list .nav-head { - margin: 0; - text-align: left; - color: #fff; + margin: 0; + text-align: left; + color: #fff; } .nav-list .nav-head a { - color: #fff; + color: #fff; } .nav-list .nav-head .item { - padding: 5px 10px; - font-size: 0.9rem; - line-height: 1.5rem; + padding: 5px 10px; + font-size: 0.9rem; + line-height: 1.5rem; } /*=== Aside main page (categories) */ .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after { - margin: -0.5rem 0 0 1rem; - padding: 0 0.75rem; - background: rgba(35, 35, 0, 0.15); - border-radius: 12px; - position: absolute; - left: 0; - line-height: 1.5rem; - text-align: center; + margin: -0.5rem 0 0 1rem; + padding: 0 0.75rem; + background: rgba(35, 35, 0, 0.15); + border-radius: 12px; + position: absolute; + left: 0; + line-height: 1.5rem; + text-align: center; } .feed.item.empty.active { - background: #766556; + background: #766556; } .feed.item.error.active { - background: #766556; + background: #766556; } .feed.item.empty, .feed.item.empty > a { - color: #766556; + color: #766556; } .feed.item.error, .feed.item.error > a { - color: #766556; + color: #766556; } .feed.item.empty.active, .feed.item.error.active, .feed.item.empty.active > a, .feed.item.error.active > a { - color: #fff; + color: #fff; } .aside_feed .tree-folder-items .dropdown-menu::after { - right: 2px; + right: 2px; } .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon { - border-radius: 3px; + border-radius: 3px; } .aside_feed .stick #btn-add { - border-right-color: #fbf9f6; + border-right-color: #fbf9f6; } /*=== STRUCTURE */ /*===============*/ /*=== Header */ .header { - padding: 0.5rem 1.35rem; - background: #fbf9f6; - display: block; - width: auto; - table-layout: none; + padding: 0.5rem 1.35rem; + background: #fbf9f6; + display: block; + width: auto; + table-layout: none; } .header .item { - vertical-align: middle; + vertical-align: middle; } .header .item.title { - width: 280px; - font-weight: 400; + width: 280px; + font-weight: 400; } .header .item.title h1 a { - text-decoration: none; - color: #363330; - font-size: 1rem; - text-transform: uppercase; - letter-spacing: 1px; + text-decoration: none; + color: #363330; + font-size: 1rem; + text-transform: uppercase; + letter-spacing: 1px; } .header .item.title h1 a img { - margin-left: 0.5rem; + margin-left: 0.5rem; } .header .item.search input { - width: 230px; - color: #363330; - border: none; - border-radius: 0 2px 2px 0; - background-color: #f7f2ea; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + width: 230px; + color: #363330; + border: none; + border-radius: 0 2px 2px 0; + background-color: #f7f2ea; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .header .item.search input:hover { - background-color: #efe3d3; + background-color: #efe3d3; } .header .item.search input:focus { - width: 350px; - color: #766556; - background-color: #fff; + width: 350px; + color: #766556; + background-color: #fff; } .header .item.search .btn { - width: 3rem; - border-radius: 2px 0 0 2px; - background-color: #ca7227; - background-position: center; - background-repeat: no-repeat; - background-image: url(icons/magnifier.svg); - border-right-width: 0; - min-height: 35px; + width: 3rem; + border-radius: 2px 0 0 2px; + background-color: #ca7227; + background-position: center; + background-repeat: no-repeat; + background-image: url(icons/magnifier.svg); + border-right-width: 0; + min-height: 35px; } .header .item.search .btn img { - display: none; + display: none; } .header .item.search .btn:hover { - background-color: #b7641d; + background-color: #b7641d; } .header .item.configure { - width: 2rem; - position: absolute; - left: 1rem; - top: 1.25rem; - text-align: center; + width: 2rem; + position: absolute; + left: 1rem; + top: 1.25rem; + text-align: center; } .header .item.configure .btn { - padding: 0 0.5rem; - background-color: transparent; - background-position: center; - background-repeat: no-repeat; - background-image: url(icons/cog.svg); + padding: 0 0.5rem; + background-color: transparent; + background-position: center; + background-repeat: no-repeat; + background-image: url(icons/cog.svg); } .header .item.configure .btn img { - display: none; + display: none; } /*=== Body */ #global { - height: calc(100% - 85px); + height: calc(100% - 85px); } /*=== Prompt (centered) */ .prompt { - text-align: center; + text-align: center; } .prompt label { - text-align: right; + text-align: right; } .prompt form { - margin: 10px auto 20px auto; - width: 200px; + margin: 10px auto 20px auto; + width: 200px; } .prompt input { - margin: 5px auto; - width: 100%; + margin: 5px auto; + width: 100%; } .prompt p { - margin: 20px 0; + margin: 20px 0; } /*=== New article notification */ #new-article { - background: #ca7227; - font-size: 1rem; - text-align: center; + background: #ca7227; + font-size: 1rem; + text-align: center; } #new-article:hover { - background: #b7641d; + background: #b7641d; } #new-article > a { - line-height: 3em; - font-weight: bold; - color: #fff; + line-height: 3em; + font-weight: bold; + color: #fff; } #new-article > a:hover { - text-decoration: none; + text-decoration: none; } /*=== Day indication */ .day { - padding: 1rem 1.25rem 0 0; - color: #6d655f; - font-size: 0.875rem; - font-weight: 700; - line-height: 3em; - letter-spacing: 1px; - text-transform: uppercase; + padding: 1rem 1.25rem 0 0; + color: #6d655f; + font-size: 0.875rem; + font-weight: 700; + line-height: 3em; + letter-spacing: 1px; + text-transform: uppercase; } .day .name { - padding: 0 1rem 0 1rem; - color: #363330; - font-size: 0.875rem; - position: relative; - right: 0; - text-transform: uppercase; + padding: 0 1rem 0 1rem; + color: #363330; + font-size: 0.875rem; + position: relative; + right: 0; + text-transform: uppercase; } /*=== Index menu */ .nav_menu { - text-align: center; - padding: 5px 0; + text-align: center; + padding: 5px 0; } .nav_menu .btn { - border-right-width: 0; - padding: 0.5rem 1rem; - background-color: #fcfaf8; - background-position: center; - background-repeat: no-repeat; + border-right-width: 0; + padding: 0.5rem 1rem; + background-color: #fcfaf8; + background-position: center; + background-repeat: no-repeat; } .nav_menu .btn:hover { - background-color: #f5f0ec; + background-color: #f5f0ec; } .nav_menu .stick { - background: #fcfaf8; + background: #fcfaf8; } .nav_menu .stick .btn { - border-right-width: 0; - padding: 0.5rem 1rem; - background-color: #fcfaf8; - background-position: center; - background-repeat: no-repeat; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + border-right-width: 0; + padding: 0.5rem 1rem; + background-color: #fcfaf8; + background-position: center; + background-repeat: no-repeat; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav_menu .stick .btn:hover { - background-color: #e4d8cc; + background-color: #e4d8cc; } .nav_menu .stick .btn.active { - background-color: #ca7227; + background-color: #ca7227; } .nav_menu .stick .btn img.icon { - display: none; + display: none; } .nav_menu .stick .btn#toggle-read { - background-image: url(icons/read.svg); + background-image: url(icons/read.svg); } .nav_menu .stick .btn#toggle-read.active { - background-image: url(icons/read-white.svg); + background-image: url(icons/read-white.svg); } .nav_menu .stick .btn#toggle-unread { - background-image: url(icons/unread.svg); + background-image: url(icons/unread.svg); } .nav_menu .stick .btn#toggle-unread.active { - background-image: url(icons/unread-white.svg); + background-image: url(icons/unread-white.svg); } .nav_menu .stick .btn#toggle-starred { - background-image: url(icons/starred.svg); + background-image: url(icons/starred.svg); } .nav_menu .stick .btn#toggle-starred.active { - background-image: url(icons/starred-white.svg); + background-image: url(icons/starred-white.svg); } .nav_menu .stick .btn#toggle-non-starred { - background-image: url(icons/non-starred.svg); + background-image: url(icons/non-starred.svg); } .nav_menu .stick .btn#toggle-non-starred.active { - background-image: url(icons/non-starred-white.svg); + background-image: url(icons/non-starred-white.svg); } .nav_menu .stick .btn.read_all { - padding: 5px 16px; - color: #363330; - background-color: #fcfaf8; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + padding: 5px 16px; + color: #363330; + background-color: #fcfaf8; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav_menu .stick .btn.read_all:hover { - background-color: #e4d8cc; + background-color: #e4d8cc; } .nav_menu .stick .btn.view-normal { - background-image: url(icons/view-list.svg); + background-image: url(icons/view-list.svg); } .nav_menu .stick .btn.view-normal.active { - background-image: url(icons/view-list-white.svg); + background-image: url(icons/view-list-white.svg); } .nav_menu .stick .btn.view-global { - background-image: url(icons/view-global.svg); + background-image: url(icons/view-global.svg); } .nav_menu .stick .btn.view-global.active { - background-image: url(icons/view-global-white.svg); + background-image: url(icons/view-global-white.svg); } .nav_menu .stick .btn.view-reader { - background-image: url(icons/view-reader.svg); + background-image: url(icons/view-reader.svg); } .nav_menu .stick .btn.view-reader.active { - background-image: url(icons/view-reader-white.svg); + background-image: url(icons/view-reader-white.svg); } .nav_menu .stick .btn.view-rss { - background-image: url(icons/rss.svg); + background-image: url(icons/rss.svg); } .nav_menu .stick .dropdown a.dropdown-toggle { - border-right-width: 0; - background-image: url(icons/more.svg); + border-right-width: 0; + background-image: url(icons/more.svg); } #dropdown-query ~ .dropdown-menu .dropdown-header .icon { - vertical-align: middle; - background-color: #ba9; - border-radius: 3px; + vertical-align: middle; + background-color: #ba9; + border-radius: 3px; } /*=== Content of feed articles */ .content, .content.thin { - padding: 20px 10px; - font-size: 1.125rem; - line-height: 1.8rem; + padding: 20px 10px; + font-size: 1.125rem; + line-height: 1.8rem; } .content h1.title a, .content h1 a, .content.thin h1.title a, .content.thin h1 a { - color: #363330; - font-family: "spectral", serif; - font-size: 2rem; + color: #363330; + font-family: "spectral", serif; + font-size: 2rem; } .content h1.title a:hover, .content h1 a:hover, .content.thin h1.title a:hover, .content.thin h1 a:hover { - color: #ca7227; - text-decoration: none; + color: #ca7227; + text-decoration: none; } .content .author, .content.thin .author { - color: #6d655f; - font-size: 1.125rem; + color: #6d655f; + font-size: 1.125rem; } .content p, .content ul, .content.thin p, .content.thin ul { - font-size: 1.125rem; - line-height: 1.8rem; + font-size: 1.125rem; + line-height: 1.8rem; } .content .content hr, .content.thin .content hr { - margin: 30px 10px; - background: #e4d8cc; - height: 1px; - border: 0; - box-shadow: 0 2px 5px #ccc; + margin: 30px 10px; + background: #e4d8cc; + height: 1px; + border: 0; + box-shadow: 0 2px 5px #ccc; } .content pre, .content.thin pre { - margin: 10px auto; - padding: 10px 20px; - overflow: auto; - background: #221f1d; - color: #fff; - font-size: 0.9rem; - border-radius: 3px; + margin: 10px auto; + padding: 10px 20px; + overflow: auto; + background: #221f1d; + color: #fff; + font-size: 0.9rem; + border-radius: 3px; } .content pre code, .content.thin pre code { - background: transparent; - color: #fff; - border: none; + background: transparent; + color: #fff; + border: none; } .content code, .content.thin code { - padding: 2px 5px; - background: #fcfaf8; - color: #f5f0ec; - border: 1px solid #f5f0ec; - border-radius: 3px; + padding: 2px 5px; + background: #fcfaf8; + color: #f5f0ec; + border: 1px solid #f5f0ec; + border-radius: 3px; } .content blockquote, .content.thin blockquote { - margin: 0; - padding: 5px 20px; - background: #fcfaf8; - display: block; - color: #363330; - border-top: 1px solid #e4d8cc; - border-bottom: 1px solid #e4d8cc; + margin: 0; + padding: 5px 20px; + background: #fcfaf8; + display: block; + color: #363330; + border-top: 1px solid #e4d8cc; + border-bottom: 1px solid #e4d8cc; } .content blockquote p, .content.thin blockquote p { - margin: 0; + margin: 0; } /*=== Notification and actualize notification */ .notification { - padding: 1rem 0; - background: #e4d8cc; - width: 100%; - height: 3rem; - color: #766556; - font-size: 1em; - border: none; - position: fixed; - top: auto; - bottom: 0; - right: 0; - left: 0; - text-align: center; - line-height: 3em; - z-index: 10; - vertical-align: middle; + padding: 1rem 0; + background: #e4d8cc; + width: 100%; + height: 3rem; + color: #766556; + font-size: 1em; + border: none; + position: fixed; + top: auto; + bottom: 0; + right: 0; + left: 0; + text-align: center; + line-height: 3em; + z-index: 10; + vertical-align: middle; } .notification .msg { - display: inline-block; - font-size: 1rem; + display: inline-block; + font-size: 1rem; } .notification.good { - background: #10f5b2; - color: #fff; + background: #10f5b2; + color: #fff; } .notification.bad { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .notification a.close { - padding: 0 15px; - border-radius: 3px 0 0 3px; - line-height: 3em; + padding: 0 15px; + border-radius: 3px 0 0 3px; + line-height: 3em; } .notification.good a.close:hover { - background: #0c7556; + background: #0c7556; } .notification.bad a.close:hover { - background: #73341f; + background: #73341f; } .notification#actualizeProgress { - line-height: 2em; + line-height: 2em; } .notification#actualizeProgress br { - display: none; + display: none; } /*=== Navigation menu (for articles) */ #nav_entries { - margin: 0; - text-align: center; - line-height: 3em; - table-layout: fixed; - background: #fbf9f6; + margin: 0; + text-align: center; + line-height: 3em; + table-layout: fixed; + background: #fbf9f6; } /*=== Feed articles */ .flux { - background: #fff; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + background: #fff; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .flux:hover { - background: #fcfaf8; + background: #fcfaf8; } .flux:hover:not(.current):hover .item.title { - background: #fcfaf8; + background: #fcfaf8; } .flux.current { - background: #fff; - border-right-color: #ca7227; + background: #fff; + border-right-color: #ca7227; } .flux.not_read:not(.current) { - background: #f2f6f8; + background: #f2f6f8; } .flux.not_read:not(.current):hover .item.title { - background: #f2f6f8; + background: #f2f6f8; } .flux.not_read .item.title a { - color: #161a38; + color: #161a38; } .flux.not_read .item.website a { - color: #161a38; + color: #161a38; } .flux.not_read .item.date { - color: rgba(22, 26, 56, 0.5); + color: rgba(22, 26, 56, 0.5); } .flux.favorite { - border-right-color: #ffc300; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + border-right-color: #ffc300; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .flux.favorite:not(.current) { - background: #fff6da; + background: #fff6da; } .flux.favorite:not(.current):hover .item.title { - background: #fff6da; + background: #fff6da; } .flux .website a { - color: #363330; - opacity: 0.75; + color: #363330; + opacity: 0.75; } .flux .website .favicon { - padding: 5px; + padding: 5px; } .flux .item.date { - color: rgba(54, 51, 48, 0.5); - font-size: 0.85rem; + color: rgba(54, 51, 48, 0.5); + font-size: 0.85rem; } .flux .bottom { - font-size: 1rem; - text-align: center; + font-size: 1rem; + text-align: center; } .flux_header { - font-size: 1rem; - cursor: pointer; - border-top: 1px solid #f5f0ec; + font-size: 1rem; + cursor: pointer; + border-top: 1px solid #f5f0ec; } .flux_header .title { - font-size: 1rem; + font-size: 1rem; } /*=== GLOBAL VIEW */ /*================*/ #stream .box.category:not([data-unread="0"]) .box-title .title { - font-weight: bold; + font-weight: bold; } #stream .box.category .box-title { - padding: 1.5rem; - background: none; + padding: 1.5rem; + background: none; } #stream .box.category .box-title a.title { - color: #766556; - font-size: 1rem; - font-weight: normal; - text-decoration: none; - text-align: right; - text-transform: uppercase; - letter-spacing: 1px; + color: #766556; + font-size: 1rem; + font-weight: normal; + text-decoration: none; + text-align: right; + text-transform: uppercase; + letter-spacing: 1px; } #stream .box.category .box-title a.title:not([data-unread="0"])::after { - margin: -0.5rem 0 0 1rem; - padding: 0 0.75rem; - background: #f5f0ec; - border-radius: 12px; - position: absolute; - top: 1.75rem; - left: 0; - line-height: 1.5rem; - text-align: center; + margin: -0.5rem 0 0 1rem; + padding: 0 0.75rem; + background: #f5f0ec; + border-radius: 12px; + position: absolute; + top: 1.75rem; + left: 0; + line-height: 1.5rem; + text-align: center; } #stream .box.category .box-title a.title:hover { - color: #ca7227; + color: #ca7227; } #stream .box.category .box-content { - padding-bottom: 0.5rem; + padding-bottom: 0.5rem; } #stream .box.category .box-content .item.feed { - padding: 0.5rem 1.5rem; - font-size: 1rem; + padding: 0.5rem 1.5rem; + font-size: 1rem; } #stream .box.category .box-content .item.feed a { - color: #363330; - font-weight: 400; + color: #363330; + font-weight: 400; } #stream .box.category .box-content .item.feed a:hover { - color: #ca7227; - text-decoration: none; + color: #ca7227; + text-decoration: none; } #overlay { - background: rgba(0, 0, 0, 0.65); + background: rgba(0, 0, 0, 0.65); } #panel { - top: 3rem; - left: 3rem; - bottom: 3rem; - right: 3rem; - border-radius: 3px; + top: 3rem; + left: 3rem; + bottom: 3rem; + right: 3rem; + border-radius: 3px; } /*=== READER VIEW */ /*================*/ #stream.reader .flux { - padding: 0 0 50px; - background: #f5f0ec; - color: #363330; - border: none; + padding: 0 0 50px; + background: #f5f0ec; + color: #363330; + border: none; } #stream.reader .flux .author { - margin: 0 0 10px; - color: #ba9; - font-size: 90%; + margin: 0 0 10px; + color: #ba9; + font-size: 90%; } /*=== Configuration pages */ .post { - padding: 1rem 2rem; - font-size: 1rem; + padding: 1rem 2rem; + font-size: 1rem; } .post form { - margin: 1rem 0; + margin: 1rem 0; } .post form .horizontal-list { - margin-bottom: 0.5rem; + margin-bottom: 0.5rem; } .post.content { - max-width: 550px; + max-width: 550px; } .post h1, .post h2 { - color: #363330; - font-size: 3rem; - margin-top: 1.75rem; - font-weight: 300; - line-height: 1.2em; + color: #363330; + font-size: 3rem; + margin-top: 1.75rem; + font-weight: 300; + line-height: 1.2em; } .post a[href="./"] { - margin: 0; - padding: 0.75rem 1.5rem; - background: #fcfaf8; - display: inline-block; - color: #766556; - font-size: 1rem; - border: 1px solid #e4d8cc; - border-radius: 5px; - min-width: 15px; - line-height: 25px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; + margin: 0; + padding: 0.75rem 1.5rem; + background: #fcfaf8; + display: inline-block; + color: #766556; + font-size: 1rem; + border: 1px solid #e4d8cc; + border-radius: 5px; + min-width: 15px; + line-height: 25px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; } .post a[href="./"]:hover { - background: #ca7227; - color: white; - border: 1px solid #ca7227; - text-decoration: none; + background: #ca7227; + color: white; + border: 1px solid #ca7227; + text-decoration: none; } #slider { - border-right: none; - box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); + border-right: none; + box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); } .slide-container .properties { - padding: 1rem; - background: rgba(0, 0, 0, 0.75); - color: white; - border: 0; + padding: 1rem; + background: rgba(0, 0, 0, 0.75); + color: white; + border: 0; } .slide-container .properties .page-number { - left: 1rem; - top: 1rem; + left: 1rem; + top: 1rem; } /*=== LOGS */ /*=========*/ .loglist { - overflow: hidden; - border: 1px solid #ba9; + overflow: hidden; + border: 1px solid #ba9; } .log { - margin: 10px 0; - padding: 5px 2%; - background: #fcfaf8; - color: #766556; - font-size: 0.8rem; - overflow: auto; + margin: 10px 0; + padding: 5px 2%; + background: #fcfaf8; + color: #766556; + font-size: 0.8rem; + overflow: auto; } .log > .date { - margin: 0 0 0 10px; - padding: 5px 10px; - border-radius: 20px; + margin: 0 0 0 10px; + padding: 5px 10px; + border-radius: 20px; } .log.error > .date { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .log.warning > .date { - background: #f4f762; + background: #f4f762; } .log.notice > .date { - background: #f5f0ec; + background: #f5f0ec; } .log.debug > .date { - background: #221f1d; - color: #fff; + background: #221f1d; + color: #fff; } /*=== STATISTICS */ /*===============*/ .stat { - margin: 10px 0 20px; + margin: 10px 0 20px; } .stat th, .stat td, .stat tr { - border: none; + border: none; } .stat > table td, .stat > table th { - border-bottom: 1px solid #e4d8cc; + border-bottom: 1px solid #e4d8cc; } .stat > .horizontal-list { - margin: 0 0 5px; + margin: 0 0 5px; } .stat > .horizontal-list .item { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .stat > .horizontal-list .item:first-child { - width: 270px; + width: 270px; } /*=== MOBILE */ /*===========*/ @media (max-width: 840px) { - ul.nav .item { - width: 100%; - } - ul.nav .item img { - display: none; - } - ul.nav .item a { - box-sizing: border-box; - padding: 1rem 2.5rem 1rem 1rem; - background: url("../../themes/icons/logout.svg") no-repeat #efe3d3 97% center; - display: inline-block; - width: 100%; - color: #363330; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - } - ul.nav .item a:hover, ul.nav .item a:active { - background: url("../../themes/icons/logout.svg") no-repeat #f5633e 97% center; - text-decoration: none; - color: #fff; - } - - .form-group .group-name { - text-align: right; - } - - .box .box-title .configure, + ul.nav .item { + width: 100%; + } + ul.nav .item img { + display: none; + } + ul.nav .item a { + box-sizing: border-box; + padding: 1rem 2.5rem 1rem 1rem; + background: url("../../themes/icons/logout.svg") no-repeat #efe3d3 97% center; + display: inline-block; + width: 100%; + color: #363330; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + } + ul.nav .item a:hover, ul.nav .item a:active { + background: url("../../themes/icons/logout.svg") no-repeat #f5633e 97% center; + text-decoration: none; + color: #fff; + } + + .form-group .group-name { + text-align: right; + } + + .box .box-title .configure, .box .box-content .item .configure { - visibility: visible; - } - - .aside { - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - } - .aside.aside_feed { - padding: 0; - } - .aside .tree .tree-folder .tree-folder-items .item a { - padding: 0.5rem 1rem; - } - - .aside .toggle_aside, + visibility: visible; + } + + .aside { + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + } + .aside.aside_feed { + padding: 0; + } + .aside .tree .tree-folder .tree-folder-items .item a { + padding: 0.5rem 1rem; + } + + .aside .toggle_aside, #panel .close, #close-slider.active { - background: #b7641d; - display: block; - width: 100%; - height: 50px; - line-height: 50px; - text-align: center; - } - - .header { - padding: 0.5rem; - } - .header .item.title { - display: none; - } - .header .item.search { - display: block; - } - .header .item.search .stick { - display: flex; - } - .header .item.search input { - width: 90%; - height: 3.5rem; - } - .header .item.search input:focus { - width: 100%; - } - .header .item.search .btn { - min-height: 49px; - padding: 0.5rem 2rem; - } - .header .item.configure { - display: none; - } - - .post { - padding-right: 1rem; - padding-left: 1rem; - } - - .nav_menu .btn { - margin: 0; - padding: 0.85rem 1.25rem; - } - .nav_menu .stick { - margin: 0.5rem 0.5rem; - } - .nav_menu .stick .btn { - margin: 0; - padding: 0.85rem 1.25rem; - } - .nav_menu .stick .btn.read_all { - padding: 0.85rem 1.25rem; - } - .nav_menu .search { - display: none; - max-width: 97%; - } - .nav_menu .search .input { - max-width: 97%; - width: 90px; - } - .nav_menu .search .input:focus { - width: 400px; - } - - #stream .flux .flux_header { - padding: 0.5rem 0; - } - - .day { - text-align: center; - padding: 1rem 0; - } - .day .name { - padding: 0; - display: block; - width: 100%; - line-height: 1.5rem; - margin-bottom: 1rem; - } - - .pagination { - margin: 0 0 3.5em; - } - - #nav_entries { - line-height: 4.5rem; - } - - .notification { - border-radius: 0; - } - .notification a.close { - background: transparent; - display: block; - right: 0; - } - .notification a.close:hover { - opacity: 0.5; - } - .notification a.close .icon { - display: none; - } + background: #b7641d; + display: block; + width: 100%; + height: 50px; + line-height: 50px; + text-align: center; + } + + .header { + padding: 0.5rem; + } + .header .item.title { + display: none; + } + .header .item.search { + display: block; + } + .header .item.search .stick { + display: flex; + } + .header .item.search input { + width: 90%; + height: 3.5rem; + } + .header .item.search input:focus { + width: 100%; + } + .header .item.search .btn { + min-height: 49px; + padding: 0.5rem 2rem; + } + .header .item.configure { + display: none; + } + + .post { + padding-right: 1rem; + padding-left: 1rem; + } + + .nav_menu .btn { + margin: 0; + padding: 0.85rem 1.25rem; + } + .nav_menu .stick { + margin: 0.5rem 0.5rem; + } + .nav_menu .stick .btn { + margin: 0; + padding: 0.85rem 1.25rem; + } + .nav_menu .stick .btn.read_all { + padding: 0.85rem 1.25rem; + } + .nav_menu .search { + display: none; + max-width: 97%; + } + .nav_menu .search .input { + max-width: 97%; + width: 90px; + } + .nav_menu .search .input:focus { + width: 400px; + } + + #stream .flux .flux_header { + padding: 0.5rem 0; + } + + .day { + text-align: center; + padding: 1rem 0; + } + .day .name { + padding: 0; + display: block; + width: 100%; + line-height: 1.5rem; + margin-bottom: 1rem; + } + + .pagination { + margin: 0 0 3.5em; + } + + #nav_entries { + line-height: 4.5rem; + } + + .notification { + border-radius: 0; + } + .notification a.close { + background: transparent; + display: block; + right: 0; + } + .notification a.close:hover { + opacity: 0.5; + } + .notification a.close .icon { + display: none; + } } /*=== GENERAL */ /*============*/ html, body { - background: #f5f0ec; - height: 100%; - font-family: "lato", "Helvetica", "Arial", sans-serif; - font-size: 0.875rem; + background: #f5f0ec; + height: 100%; + font-family: "lato", "Helvetica", "Arial", sans-serif; + font-size: 0.875rem; } /*=== Links */ a, button.as-link { - outline: none; - color: #ca7227; + outline: none; + color: #ca7227; } diff --git a/p/themes/BlueLagoon/BlueLagoon.rtl.css b/p/themes/BlueLagoon/BlueLagoon.rtl.css index 92994ab8a..8c8c5619e 100644 --- a/p/themes/BlueLagoon/BlueLagoon.rtl.css +++ b/p/themes/BlueLagoon/BlueLagoon.rtl.css @@ -804,7 +804,7 @@ a.btn { .prompt .stick, .prompt input { width: 100%; - box-sizing: border-box; + box-sizing: border-box; } .prompt input#username,.prompt input#passwordPlain { diff --git a/p/themes/Mapco/mapco.css b/p/themes/Mapco/mapco.css index 90037e9ff..50b1ebd5f 100644 --- a/p/themes/Mapco/mapco.css +++ b/p/themes/Mapco/mapco.css @@ -1,217 +1,217 @@ @font-face { - font-family: "lato"; - font-style: normal; - font-stretch: normal; - font-weight: 400; - src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff"); + font-family: "lato"; + font-style: normal; + font-stretch: normal; + font-weight: 400; + src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: italic; - font-stretch: normal; - font-weight: 400; - src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff"); + font-family: "lato"; + font-style: italic; + font-stretch: normal; + font-weight: 400; + src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: normal; - font-stretch: normal; - font-weight: 700; - src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff"); + font-family: "lato"; + font-style: normal; + font-stretch: normal; + font-weight: 700; + src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: italic; - font-stretch: normal; - font-weight: 700; - src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff"); + font-family: "lato"; + font-style: italic; + font-stretch: normal; + font-weight: 700; + src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: normal; - font-stretch: normal; - font-weight: 400; - src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff"); + font-family: "spectral"; + font-style: normal; + font-stretch: normal; + font-weight: 400; + src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: italic; - font-stretch: normal; - font-weight: 400; - src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff"); + font-family: "spectral"; + font-style: italic; + font-stretch: normal; + font-weight: 400; + src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: normal; - font-stretch: normal; - font-weight: 700; - src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff"); + font-family: "spectral"; + font-style: normal; + font-stretch: normal; + font-weight: 700; + src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: italic; - font-stretch: normal; - font-weight: 700; - src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff"); + font-family: "spectral"; + font-style: italic; + font-stretch: normal; + font-weight: 700; + src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff"); } /* stylelint-disable property-no-vendor-prefix */ /* FUNCTIONS */ /* btns */ .btn { - margin: 0; - padding: 0.5rem 1.5rem; - background: #f9fafb; - display: inline-block; - color: #5b6871; - font-size: 1rem; - border: none; - border-radius: 5px; - min-height: 38px; - min-width: 15px; - line-height: 25px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + margin: 0; + padding: 0.5rem 1.5rem; + background: #f9fafb; + display: inline-block; + color: #5b6871; + font-size: 1rem; + border: none; + border-radius: 5px; + min-height: 38px; + min-width: 15px; + line-height: 25px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .btn.btn-important { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .btn.btn-important:hover, .btn.btn-important:active { - background: #25c; + background: #25c; } .btn.btn-attention { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .btn.btn-attention:hover, .btn.btn-attention:active { - background: #73341f; + background: #73341f; } .btn:hover { - text-decoration: none; + text-decoration: none; } a.btn { - min-height: 25px; - line-height: 25px; + min-height: 25px; + line-height: 25px; } /*=== Forms */ legend { - margin: 2rem 0 1rem 0; - padding: 0; - display: inline-block; - width: auto; - font-size: 1rem; - clear: both; - text-transform: uppercase; - letter-spacing: 1px; - font-weight: 700; + margin: 2rem 0 1rem 0; + padding: 0; + display: inline-block; + width: auto; + font-size: 1rem; + clear: both; + text-transform: uppercase; + letter-spacing: 1px; + font-weight: 700; } label { - min-height: 25px; - padding: 5px 0; - cursor: pointer; - color: #5b6871; + min-height: 25px; + padding: 5px 0; + cursor: pointer; + color: #5b6871; } textarea { - width: 360px; - max-width: 100%; - height: 100px; + width: 360px; + max-width: 100%; + height: 100px; } input, select, textarea, button { - padding: 5px 10px; - background: #fff; - color: #5b6871; - font-family: "lato", "Helvetica", "Arial", sans-serif; - font-size: 1rem; - border: 1px solid #eff0f2; - border-radius: 2px; - min-height: 25px; - line-height: 25px; - vertical-align: middle; + padding: 5px 10px; + background: #fff; + color: #5b6871; + font-family: "lato", "Helvetica", "Arial", sans-serif; + font-size: 1rem; + border: 1px solid #eff0f2; + border-radius: 2px; + min-height: 25px; + line-height: 25px; + vertical-align: middle; } option { - padding: 0 0.5em; + padding: 0 0.5em; } input:focus, select:focus, textarea:focus { - color: #303136; - border-color: #36c; + color: #303136; + border-color: #36c; } input:invalid, select:invalid { - color: #f5633e; - border-color: #f5633e; - box-shadow: none; + color: #f5633e; + border-color: #f5633e; + box-shadow: none; } input:disabled, select:disabled { - background: #eff0f2; + background: #eff0f2; } input.extend { - transition: width 200ms linear; + transition: width 200ms linear; } .form-group { - padding: 5px; - border-radius: 3px; + padding: 5px; + border-radius: 3px; } .form-group::after { - content: ""; - display: block; - clear: both; + content: ""; + display: block; + clear: both; } .form-group .group-name { - padding: 10px 0; - text-align: right; + padding: 10px 0; + text-align: right; } .form-group .group-controls { - min-height: 25px; - padding: 5px 0; + min-height: 25px; + padding: 5px 0; } .form-group .group-controls .control { - line-height: 2em; + line-height: 2em; } .form-group table { - margin: 10px 0 0 220px; + margin: 10px 0 0 220px; } .form-group.form-actions { - margin: 15px 0 25px; - padding: 5px 0; + margin: 15px 0 25px; + padding: 5px 0; } .form-group.form-actions .btn { - margin: 0 0.5rem 0 0; + margin: 0 0.5rem 0 0; } /*=== Tables */ table { - border-collapse: collapse; + border-collapse: collapse; } tr, th, td { - padding: 0.5em; - border: 1px solid #d5d8db; + padding: 0.5em; + border: 1px solid #d5d8db; } th { - background: #f9fafb; + background: #f9fafb; } form td, form th { - font-weight: normal; - text-align: center; + font-weight: normal; + text-align: center; } /*=== COMPONENTS */ @@ -219,424 +219,424 @@ form th { /*=== Forms */ /*=== Horizontal-list */ .horizontal-list { - margin: 0; - padding: 0.1rem 0; + margin: 0; + padding: 0.1rem 0; } .horizontal-list .item { - vertical-align: middle; + vertical-align: middle; } .horizontal-list .item:first-child { - padding-left: 0.5rem; + padding-left: 0.5rem; } /*=== Dropdown */ .dropdown-menu { - margin: 0; - padding: 0.5rem 0 1rem 0; - background: #f9fafb; - font-size: 1rem; - border: none; - border-radius: 3px; - box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); - text-align: left; + margin: 0; + padding: 0.5rem 0 1rem 0; + background: #f9fafb; + font-size: 1rem; + border: none; + border-radius: 3px; + box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); + text-align: left; } .dropdown-menu::after { - background: white; - width: 10px; - height: 10px; - content: ""; - position: absolute; - top: -4px; - right: 13px; - z-index: -10; - transform: rotate(45deg); + background: white; + width: 10px; + height: 10px; + content: ""; + position: absolute; + top: -4px; + right: 13px; + z-index: -10; + transform: rotate(45deg); } .dropdown-menu .dropdown-header { - margin: 1.75rem 0 0.5rem 2rem; - font-weight: bold; - text-align: left; - color: #5b6871; - text-transform: uppercase; - letter-spacing: 1px; + margin: 1.75rem 0 0.5rem 2rem; + font-weight: bold; + text-align: left; + color: #5b6871; + text-transform: uppercase; + letter-spacing: 1px; } .dropdown-menu .item { - -webkit-transition: all 0.075s ease-in-out; - -moz-transition: all 0.075s ease-in-out; - -o-transition: all 0.075s ease-in-out; - -ms-transition: all 0.075s ease-in-out; - transition: all 0.075s ease-in-out; + -webkit-transition: all 0.075s ease-in-out; + -moz-transition: all 0.075s ease-in-out; + -o-transition: all 0.075s ease-in-out; + -ms-transition: all 0.075s ease-in-out; + transition: all 0.075s ease-in-out; } .dropdown-menu .item a, .dropdown-menu .item span, .dropdown-menu .item .as-link { - padding: 0 2rem; - color: #303136; - font-size: 1rem; - line-height: 2.5em; + padding: 0 2rem; + color: #303136; + font-size: 1rem; + line-height: 2.5em; } .dropdown-menu .item:hover { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .dropdown-menu .item:hover a, .dropdown-menu .item:hover button { - text-decoration: none; - color: #fff; + text-decoration: none; + color: #fff; } .dropdown-menu .item[aria-checked=true] a::before { - margin: 0 0 0 -14px; - font-weight: bold; + margin: 0 0 0 -14px; + font-weight: bold; } .dropdown-menu .input select, .dropdown-menu .input input { - margin: 0 auto 5px; - padding: 2px 5px; - border-radius: 3px; + margin: 0 auto 5px; + padding: 2px 5px; + border-radius: 3px; } .dropdown-menu .separator { - margin: 0.75rem 0; - border-bottom: 1px solid #eff0f2; + margin: 0.75rem 0; + border-bottom: 1px solid #eff0f2; } .tree .tree-folder .tree-folder-items .dropdown-menu .item { - padding: 0; + padding: 0; } .tree .tree-folder .tree-folder-items .dropdown-menu .item a, .tree .tree-folder .tree-folder-items .dropdown-menu .item button { - color: #303136; + color: #303136; } .tree .tree-folder .tree-folder-items .dropdown-menu .item a:hover, .tree .tree-folder .tree-folder-items .dropdown-menu .item button:hover { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .dropdown-menu .item:hover { - background: #36c; + background: #36c; } /*=== Alerts */ .alert { - margin: 1rem 0; - padding: 1rem; - background: #f9fafb; - color: #5b6871; - font-size: 1rem; - border: 1px solid #c5ced3; - border-radius: 3px; - text-shadow: 0 0 1px #eff0f2; + margin: 1rem 0; + padding: 1rem; + background: #f9fafb; + color: #5b6871; + font-size: 1rem; + border: 1px solid #c5ced3; + border-radius: 3px; + text-shadow: 0 0 1px #eff0f2; } .alert-head { - font-size: 1.15em; + font-size: 1.15em; } .alert > a { - text-decoration: underline; - color: inherit; + text-decoration: underline; + color: inherit; } .alert-warn { - background: #fdfde0; - color: #73762f; - border: 1px solid #73762f33; + background: #fdfde0; + color: #73762f; + border: 1px solid #73762f33; } .alert-success { - background: #cffde7; - color: #0c7540; - border: 1px solid #0c754033; + background: #cffde7; + color: #0c7540; + border: 1px solid #0c754033; } .alert-error { - background: #fde0d8; - color: #73341f; - border: 1px solid #73341f33; + background: #fde0d8; + color: #73341f; + border: 1px solid #73341f33; } /*=== Pagination */ .pagination { - background: #eff0f2; - color: #303136; - font-size: 0.8em; - text-align: center; + background: #eff0f2; + color: #303136; + font-size: 0.8em; + text-align: center; } .pagination .item.pager-current { - background: #303136; - color: #eff0f2; - font-size: 1.5em; - font-weight: bold; + background: #303136; + color: #eff0f2; + font-size: 1.5em; + font-weight: bold; } .pagination .item a { - display: block; - color: #303136; - font-style: italic; - line-height: 3em; - text-decoration: none; + display: block; + color: #303136; + font-style: italic; + line-height: 3em; + text-decoration: none; } .pagination .item a:hover { - background: #303136; - color: #eff0f2; + background: #303136; + color: #eff0f2; } .pagination .loading, .pagination a:hover.loading { - background: url("loader.gif") center center no-repeat #34495e; - font-size: 0; + background: url("loader.gif") center center no-repeat #34495e; + font-size: 0; } .content .pagination { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } /*=== Boxes */ .box { - background: #fff; - border: none; - border-radius: 3px; - box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); + background: #fff; + border: none; + border-radius: 3px; + box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); } .box .box-title { - margin: 0; - padding: 5px 10px; - background: #eff0f2; - color: #303136; - border-radius: 2px 2px 0 0; + margin: 0; + padding: 5px 10px; + background: #eff0f2; + color: #303136; + border-radius: 2px 2px 0 0; } .box .box-title img { - margin-right: 0.75rem; + margin-right: 0.75rem; } .box .box-title:hover .configure { - background: url("icons/cog.svg") no-repeat 4px 4px; - display: block; - float: left; - width: 1.75rem; - height: 1.75rem; - border-radius: 2px; - visibility: visible; - margin-right: 0.5rem; + background: url("icons/cog.svg") no-repeat 4px 4px; + display: block; + float: left; + width: 1.75rem; + height: 1.75rem; + border-radius: 2px; + visibility: visible; + margin-right: 0.5rem; } .box .box-title:hover .configure .icon { - display: none; - border-radius: 3px; - vertical-align: middle; + display: none; + border-radius: 3px; + vertical-align: middle; } .box .box-title:hover .configure:hover { - background: url("icons/cog-white.svg") no-repeat 4px 4px #36c; + background: url("icons/cog-white.svg") no-repeat 4px 4px #36c; } .box .box-title .configure { - visibility: hidden; + visibility: hidden; } .box .box-title form input { - width: 85%; + width: 85%; } .box .box-title form .dropdown { - float: right; + float: right; } .box .box-title form .dropdown a.dropdown-toggle { - padding: 0; - border-radius: 0; - background-image: url(icons/more.svg); - background-repeat: no-repeat; - background-position: right 8px; + padding: 0; + border-radius: 0; + background-image: url(icons/more.svg); + background-repeat: no-repeat; + background-position: right 8px; } .box .box-title form .dropdown a.dropdown-toggle img { - display: none; + display: none; } .box .box-content .item { - padding: 0.5rem 0.75rem; - color: #303136; - font-size: 1rem; - border-bottom: 1px solid #eff0f2; - line-height: 1.7em; + padding: 0.5rem 0.75rem; + color: #303136; + font-size: 1rem; + border-bottom: 1px solid #eff0f2; + line-height: 1.7em; } .box .box-content .item img { - margin-right: 0.75rem; + margin-right: 0.75rem; } .box .box-content .item .configure { - background: url("icons/cog.svg") no-repeat 4px 4px; - display: block; - float: left; - width: 1.75rem; - height: 1.75rem; - border-radius: 2px; - visibility: hidden; - margin-right: 0.5rem; + background: url("icons/cog.svg") no-repeat 4px 4px; + display: block; + float: left; + width: 1.75rem; + height: 1.75rem; + border-radius: 2px; + visibility: hidden; + margin-right: 0.5rem; } .box .box-content .item .configure .icon { - display: none; - border-radius: 3px; - vertical-align: middle; + display: none; + border-radius: 3px; + vertical-align: middle; } .box .box-content .item .configure:hover { - background: url("icons/cog-white.svg") no-repeat 4px 4px #36c; + background: url("icons/cog-white.svg") no-repeat 4px 4px #36c; } .box .box-content .item:hover .configure { - visibility: visible; + visibility: visible; } .box .box-content .item:last-child { - border-bottom: none; + border-bottom: none; } /*=== "Load more" part */ #bigMarkAsRead { - text-align: center; - text-decoration: none; - background: #effcfd; - color: #36c; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + text-align: center; + text-decoration: none; + background: #effcfd; + color: #36c; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } #bigMarkAsRead:hover { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } #bigMarkAsRead:hover .bigTick { - background: url(icons/tick-white.svg) center no-repeat; + background: url(icons/tick-white.svg) center no-repeat; } #bigMarkAsRead .bigTick { - margin: 0.5rem 0; - background: url(icons/tick-color.svg) center no-repeat; - display: inline-block; - width: 64px; - height: 64px; - text-indent: -9999px; - white-space: nowrap; + margin: 0.5rem 0; + background: url(icons/tick-color.svg) center no-repeat; + display: inline-block; + width: 64px; + height: 64px; + text-indent: -9999px; + white-space: nowrap; } .formLogin { - background: #303136; + background: #303136; } .formLogin .header .configure { - padding-right: 1rem; + padding-right: 1rem; } .formLogin .header .configure img { - margin-right: 0.5rem; + margin-right: 0.5rem; } .formLogin .header .configure a.signin { - color: #fff; + color: #fff; } .formLogin h1 { - color: #fff; + color: #fff; } .formLogin form#crypto-form div { - margin-bottom: 1rem; + margin-bottom: 1rem; } .formLogin form#crypto-form div label { - color: #c5ced3; - font-size: 1rem; + color: #c5ced3; + font-size: 1rem; } .formLogin form#crypto-form div input { - background: #1d1e22; + background: #1d1e22; } .formLogin form#crypto-form div input:focus { - background: #f9fafb; - color: #303136; + background: #f9fafb; + color: #303136; } /*=== DIVERS */ /*===========*/ .aside.aside_feed .nav-form input, .aside.aside_feed .nav-form select { - width: 140px; + width: 140px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu { - right: -20px; + right: -20px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu::after { - right: 33px; + right: 33px; } /*=== Tree */ .tree { - margin: 10px 0; + margin: 10px 0; } .tree#sidebar { - scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05); - scrollbar-color: #fff33 #fff22; + scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05); + scrollbar-color: #fff33 #fff22; } .tree .tree-folder { - border-bottom: 1px solid #3f3f3f; + border-bottom: 1px solid #3f3f3f; } .tree .tree-folder .tree-folder-title { - padding: 12px 16px; - background: #303136; - position: relative; - font-size: 0.85rem; - letter-spacing: 1px; - font-weight: 700; - text-transform: uppercase; + padding: 12px 16px; + background: #303136; + position: relative; + font-size: 0.85rem; + letter-spacing: 1px; + font-weight: 700; + text-transform: uppercase; } .tree .tree-folder .tree-folder-title .title { - background: inherit; - color: #fff; + background: inherit; + color: #fff; } .tree .tree-folder .tree-folder-title .title:hover { - text-decoration: none; + text-decoration: none; } .tree .tree-folder.active .tree-folder-title { - background: #303136; - font-weight: bold; + background: #303136; + font-weight: bold; } .tree .tree-folder .tree-folder-items { - background: #26272a; + background: #26272a; } .tree .tree-folder .tree-folder-items .item { - padding: 0 1rem; - line-height: 2.5rem; - font-size: 1rem; - font-weight: 400; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + padding: 0 1rem; + line-height: 2.5rem; + font-size: 1rem; + font-weight: 400; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .tree .tree-folder .tree-folder-items .item.active { - background: #36c; + background: #36c; } .tree .tree-folder .tree-folder-items .item.active .dropdown li a { - color: #303136; + color: #303136; } .tree .tree-folder .tree-folder-items .item.active .dropdown li a:hover { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .item.active a { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .item:hover { - background: #17181a; + background: #17181a; } .tree .tree-folder .tree-folder-items .item a { - text-decoration: none; - color: #fff; + text-decoration: none; + color: #fff; } .tree .tree-folder .tree-folder-items .feed .item-title:not([data-unread="0"])::before { - margin: 11px 6px 0 4px; - padding: 3px 4px; - background: rgba(0, 0, 0, 0.25); - display: block; - float: left; - font-size: 0.75rem; - border-radius: 12px; - content: attr(data-unread); - text-align: center; - line-height: 0.75rem; + margin: 11px 6px 0 4px; + padding: 3px 4px; + background: rgba(0, 0, 0, 0.25); + display: block; + float: left; + font-size: 0.75rem; + border-radius: 12px; + content: attr(data-unread); + text-align: center; + line-height: 0.75rem; } /*=== Buttons */ .stick { - vertical-align: middle; - font-size: 0; + vertical-align: middle; + font-size: 0; } .stick input, .stick .btn { - border-radius: 0; + border-radius: 0; } .stick .btn:first-child, .stick input:first-child { - border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; } .stick .btn:last-child, .stick input:last-child, .stick .btn + .dropdown > .btn { - border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; } .stick .btn + .btn, .stick .btn + input, @@ -647,987 +647,987 @@ form th { .stick .dropdown + .btn, .stick .dropdown + input, .stick .dropdown + .dropdown > .btn { - border-left: 1px solid #d5d8db; + border-left: 1px solid #d5d8db; } .aside { - background: #303136; + background: #303136; } .aside.aside_feed { - padding: 10px 0; - text-align: center; - background: #303136; + padding: 10px 0; + text-align: center; + background: #303136; } .aside.aside_feed .tree { - margin: 10px 0 50px; + margin: 10px 0 50px; } /* Sidebar des pages de configuration */ /*=== Navigation */ .nav-list .nav-header, .nav-list .item { - height: 2.5em; - line-height: 2.5em; - font-size: 1rem; + height: 2.5em; + line-height: 2.5em; + font-size: 1rem; } .nav-list .item { - background: #303136; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + background: #303136; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav-list .item a { - padding: 0 1rem; - color: #fff; + padding: 0 1rem; + color: #fff; } .nav-list .item .error a { - color: #f5633e; + color: #f5633e; } .nav-list .item:hover { - background: #17181a; - color: #fff; + background: #17181a; + color: #fff; } .nav-list .item:hover .error a { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .nav-list .item:hover .empty a { - background: #f4f762; - color: #fff; + background: #f4f762; + color: #fff; } .nav-list .item:hover a { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } .nav-list .item.active { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .nav-list .item.active .error a { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .nav-list .item.active .empty a { - background: #f4f762; - color: #fff; + background: #f4f762; + color: #fff; } .nav-list .item.active a { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } .nav-list.empty a { - color: #f4f762; + color: #f4f762; } .nav-list .disable { - text-align: center; - background: #f9fafb; - color: #a6a7ae; + text-align: center; + background: #f9fafb; + color: #a6a7ae; } .nav-list .nav-header { - padding: 0 10px; - font-weight: bold; - color: #5b6871; - text-transform: uppercase; - letter-spacing: 1px; - margin-top: 1rem; + padding: 0 10px; + font-weight: bold; + color: #5b6871; + text-transform: uppercase; + letter-spacing: 1px; + margin-top: 1rem; } .nav-list .nav-form { - padding: 3px; - text-align: center; + padding: 3px; + text-align: center; } .nav-list .nav-head { - margin: 0; - text-align: right; - color: #fff; + margin: 0; + text-align: right; + color: #fff; } .nav-list .nav-head a { - color: #fff; + color: #fff; } .nav-list .nav-head .item { - padding: 5px 10px; - font-size: 0.9rem; - line-height: 1.5rem; + padding: 5px 10px; + font-size: 0.9rem; + line-height: 1.5rem; } /*=== Aside main page (categories) */ .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after { - margin: -0.5rem 1rem 0 0; - padding: 0 0.75rem; - background: rgba(0, 0, 0, 0.25); - border-radius: 12px; - position: absolute; - right: 0; - line-height: 1.5rem; - text-align: center; + margin: -0.5rem 1rem 0 0; + padding: 0 0.75rem; + background: rgba(0, 0, 0, 0.25); + border-radius: 12px; + position: absolute; + right: 0; + line-height: 1.5rem; + text-align: center; } .feed.item.empty.active { - background: #5b6871; + background: #5b6871; } .feed.item.error.active { - background: #5b6871; + background: #5b6871; } .feed.item.empty, .feed.item.empty > a { - color: #5b6871; + color: #5b6871; } .feed.item.error, .feed.item.error > a { - color: #5b6871; + color: #5b6871; } .feed.item.empty.active, .feed.item.error.active, .feed.item.empty.active > a, .feed.item.error.active > a { - color: #fff; + color: #fff; } .aside_feed .tree-folder-items .dropdown-menu::after { - left: 2px; + left: 2px; } .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon { - border-radius: 3px; + border-radius: 3px; } .aside_feed .stick #btn-add { - border-left-color: #303136; + border-left-color: #303136; } /*=== STRUCTURE */ /*===============*/ /*=== Header */ .header { - padding: 0.5rem 1.35rem; - background: #303136; - display: block; - width: auto; - table-layout: none; + padding: 0.5rem 1.35rem; + background: #303136; + display: block; + width: auto; + table-layout: none; } .header .item { - vertical-align: middle; + vertical-align: middle; } .header .item.title { - width: 280px; - font-weight: 400; + width: 280px; + font-weight: 400; } .header .item.title h1 a { - text-decoration: none; - color: #fff; - font-size: 1rem; - text-transform: uppercase; - letter-spacing: 1px; + text-decoration: none; + color: #fff; + font-size: 1rem; + text-transform: uppercase; + letter-spacing: 1px; } .header .item.title h1 a img { - margin-right: 0.5rem; + margin-right: 0.5rem; } .header .item.search input { - width: 230px; - color: #fff; - border: none; - border-radius: 2px 0 0 2px; - background-color: #26272a; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + width: 230px; + color: #fff; + border: none; + border-radius: 2px 0 0 2px; + background-color: #26272a; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .header .item.search input:hover { - background-color: #17181a; + background-color: #17181a; } .header .item.search input:focus { - width: 350px; - color: #5b6871; - background-color: #fff; + width: 350px; + color: #5b6871; + background-color: #fff; } .header .item.search .btn { - width: 3rem; - border-radius: 0 2px 2px 0; - background-color: #36c; - background-position: center; - background-repeat: no-repeat; - background-image: url(icons/magnifier.svg); - border-left-width: 0; - min-height: 35px; + width: 3rem; + border-radius: 0 2px 2px 0; + background-color: #36c; + background-position: center; + background-repeat: no-repeat; + background-image: url(icons/magnifier.svg); + border-left-width: 0; + min-height: 35px; } .header .item.search .btn img { - display: none; + display: none; } .header .item.search .btn:hover { - background-color: #25c; + background-color: #25c; } .header .item.configure { - width: 2rem; - position: absolute; - right: 1rem; - top: 1.25rem; - text-align: center; + width: 2rem; + position: absolute; + right: 1rem; + top: 1.25rem; + text-align: center; } .header .item.configure .btn { - padding: 0 0.5rem; - background-color: transparent; - background-position: center; - background-repeat: no-repeat; - background-image: url(icons/cog-white.svg); + padding: 0 0.5rem; + background-color: transparent; + background-position: center; + background-repeat: no-repeat; + background-image: url(icons/cog-white.svg); } .header .item.configure .btn img { - display: none; + display: none; } /*=== Body */ #global { - height: calc(100% - 85px); + height: calc(100% - 85px); } /*=== Prompt (centered) */ .prompt { - text-align: center; + text-align: center; } .prompt label { - text-align: left; + text-align: left; } .prompt form { - margin: 10px auto 20px auto; - width: 200px; + margin: 10px auto 20px auto; + width: 200px; } .prompt input { - margin: 5px auto; - width: 100%; + margin: 5px auto; + width: 100%; } .prompt p { - margin: 20px 0; + margin: 20px 0; } /*=== New article notification */ #new-article { - background: #36c; - font-size: 1rem; - text-align: center; + background: #36c; + font-size: 1rem; + text-align: center; } #new-article:hover { - background: #25c; + background: #25c; } #new-article > a { - line-height: 3em; - font-weight: bold; - color: #fff; + line-height: 3em; + font-weight: bold; + color: #fff; } #new-article > a:hover { - text-decoration: none; + text-decoration: none; } /*=== Day indication */ .day { - padding: 1rem 0 0 1.25rem; - color: #5b6871; - font-size: 0.875rem; - font-weight: 700; - line-height: 3em; - letter-spacing: 1px; - text-transform: uppercase; + padding: 1rem 0 0 1.25rem; + color: #5b6871; + font-size: 0.875rem; + font-weight: 700; + line-height: 3em; + letter-spacing: 1px; + text-transform: uppercase; } .day .name { - padding: 0 1rem 0 1rem; - color: #303136; - font-size: 0.875rem; - position: relative; - left: 0; - text-transform: uppercase; + padding: 0 1rem 0 1rem; + color: #303136; + font-size: 0.875rem; + position: relative; + left: 0; + text-transform: uppercase; } /*=== Index menu */ .nav_menu { - text-align: center; - padding: 5px 0; + text-align: center; + padding: 5px 0; } .nav_menu .btn { - border-left-width: 0; - padding: 0.5rem 1rem; - background-color: #f9fafb; - background-position: center; - background-repeat: no-repeat; + border-left-width: 0; + padding: 0.5rem 1rem; + background-color: #f9fafb; + background-position: center; + background-repeat: no-repeat; } .nav_menu .btn:hover { - background-color: #eff0f2; + background-color: #eff0f2; } .nav_menu .stick { - background: #f9fafb; + background: #f9fafb; } .nav_menu .stick .btn { - border-left-width: 0; - padding: 0.5rem 1rem; - background-color: #f9fafb; - background-position: center; - background-repeat: no-repeat; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + border-left-width: 0; + padding: 0.5rem 1rem; + background-color: #f9fafb; + background-position: center; + background-repeat: no-repeat; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav_menu .stick .btn:hover { - background-color: #d5d8db; + background-color: #d5d8db; } .nav_menu .stick .btn.active { - background-color: #36c; + background-color: #36c; } .nav_menu .stick .btn img.icon { - display: none; + display: none; } .nav_menu .stick .btn#toggle-read { - background-image: url(icons/read.svg); + background-image: url(icons/read.svg); } .nav_menu .stick .btn#toggle-read.active { - background-image: url(icons/read-white.svg); + background-image: url(icons/read-white.svg); } .nav_menu .stick .btn#toggle-unread { - background-image: url(icons/unread.svg); + background-image: url(icons/unread.svg); } .nav_menu .stick .btn#toggle-unread.active { - background-image: url(icons/unread-white.svg); + background-image: url(icons/unread-white.svg); } .nav_menu .stick .btn#toggle-starred { - background-image: url(icons/starred.svg); + background-image: url(icons/starred.svg); } .nav_menu .stick .btn#toggle-starred.active { - background-image: url(icons/starred-white.svg); + background-image: url(icons/starred-white.svg); } .nav_menu .stick .btn#toggle-non-starred { - background-image: url(icons/non-starred.svg); + background-image: url(icons/non-starred.svg); } .nav_menu .stick .btn#toggle-non-starred.active { - background-image: url(icons/non-starred-white.svg); + background-image: url(icons/non-starred-white.svg); } .nav_menu .stick .btn.read_all { - padding: 5px 16px; - color: #303136; - background-color: #f9fafb; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + padding: 5px 16px; + color: #303136; + background-color: #f9fafb; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav_menu .stick .btn.read_all:hover { - background-color: #d5d8db; + background-color: #d5d8db; } .nav_menu .stick .btn.view-normal { - background-image: url(icons/view-list.svg); + background-image: url(icons/view-list.svg); } .nav_menu .stick .btn.view-normal.active { - background-image: url(icons/view-list-white.svg); + background-image: url(icons/view-list-white.svg); } .nav_menu .stick .btn.view-global { - background-image: url(icons/view-global.svg); + background-image: url(icons/view-global.svg); } .nav_menu .stick .btn.view-global.active { - background-image: url(icons/view-global-white.svg); + background-image: url(icons/view-global-white.svg); } .nav_menu .stick .btn.view-reader { - background-image: url(icons/view-reader.svg); + background-image: url(icons/view-reader.svg); } .nav_menu .stick .btn.view-reader.active { - background-image: url(icons/view-reader-white.svg); + background-image: url(icons/view-reader-white.svg); } .nav_menu .stick .btn.view-rss { - background-image: url(icons/rss.svg); + background-image: url(icons/rss.svg); } .nav_menu .stick .dropdown a.dropdown-toggle { - border-left-width: 0; - background-image: url(icons/more.svg); + border-left-width: 0; + background-image: url(icons/more.svg); } #dropdown-query ~ .dropdown-menu .dropdown-header .icon { - vertical-align: middle; - background-color: #a6a7ae; - border-radius: 3px; + vertical-align: middle; + background-color: #a6a7ae; + border-radius: 3px; } /*=== Content of feed articles */ .content, .content.thin { - padding: 20px 10px; - font-size: 1.125rem; - line-height: 1.8rem; + padding: 20px 10px; + font-size: 1.125rem; + line-height: 1.8rem; } .content h1.title a, .content h1 a, .content.thin h1.title a, .content.thin h1 a { - color: #303136; - font-family: "spectral", serif; - font-size: 2rem; + color: #303136; + font-family: "spectral", serif; + font-size: 2rem; } .content h1.title a:hover, .content h1 a:hover, .content.thin h1.title a:hover, .content.thin h1 a:hover { - color: #36c; - text-decoration: none; + color: #36c; + text-decoration: none; } .content .author, .content.thin .author { - color: #5b6871; - font-size: 1.125rem; + color: #5b6871; + font-size: 1.125rem; } .content p, .content ul, .content.thin p, .content.thin ul { - font-size: 1.125rem; - line-height: 1.8rem; + font-size: 1.125rem; + line-height: 1.8rem; } .content .content hr, .content.thin .content hr { - margin: 30px 10px; - background: #d5d8db; - height: 1px; - border: 0; - box-shadow: 0 2px 5px #ccc; + margin: 30px 10px; + background: #d5d8db; + height: 1px; + border: 0; + box-shadow: 0 2px 5px #ccc; } .content pre, .content.thin pre { - margin: 10px auto; - padding: 10px 20px; - overflow: auto; - background: #1d1e22; - color: #fff; - font-size: 0.9rem; - border-radius: 3px; + margin: 10px auto; + padding: 10px 20px; + overflow: auto; + background: #1d1e22; + color: #fff; + font-size: 0.9rem; + border-radius: 3px; } .content pre code, .content.thin pre code { - background: transparent; - color: #fff; - border: none; + background: transparent; + color: #fff; + border: none; } .content code, .content.thin code { - padding: 2px 5px; - background: #f9fafb; - border: 1px solid #eff0f2; - border-radius: 3px; + padding: 2px 5px; + background: #f9fafb; + border: 1px solid #eff0f2; + border-radius: 3px; } .content blockquote, .content.thin blockquote { - margin: 0; - padding: 5px 20px; - background: #f9fafb; - display: block; - color: #303136; - border-top: 1px solid #d5d8db; - border-bottom: 1px solid #d5d8db; + margin: 0; + padding: 5px 20px; + background: #f9fafb; + display: block; + color: #303136; + border-top: 1px solid #d5d8db; + border-bottom: 1px solid #d5d8db; } .content blockquote p, .content.thin blockquote p { - margin: 0; + margin: 0; } /*=== Notification and actualize notification */ .notification { - padding: 1rem 0; - background: #d5d8db; - width: 100%; - height: 3rem; - color: #5b6871; - font-size: 1em; - border: none; - position: fixed; - top: auto; - bottom: 0; - left: 0; - right: 0; - text-align: center; - line-height: 3em; - z-index: 10; - vertical-align: middle; + padding: 1rem 0; + background: #d5d8db; + width: 100%; + height: 3rem; + color: #5b6871; + font-size: 1em; + border: none; + position: fixed; + top: auto; + bottom: 0; + left: 0; + right: 0; + text-align: center; + line-height: 3em; + z-index: 10; + vertical-align: middle; } .notification .msg { - display: inline-block; - font-size: 1rem; + display: inline-block; + font-size: 1rem; } .notification.good { - background: #10f587; - color: #fff; + background: #10f587; + color: #fff; } .notification.bad { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .notification a.close { - padding: 0 15px; - border-radius: 0 3px 3px 0; - line-height: 3em; + padding: 0 15px; + border-radius: 0 3px 3px 0; + line-height: 3em; } .notification.good a.close:hover { - background: #0c7540; + background: #0c7540; } .notification.bad a.close:hover { - background: #73341f; + background: #73341f; } .notification#actualizeProgress { - line-height: 2em; + line-height: 2em; } .notification#actualizeProgress br { - display: none; + display: none; } /*=== Navigation menu (for articles) */ #nav_entries { - margin: 0; - text-align: center; - line-height: 3em; - table-layout: fixed; - background: #303136; + margin: 0; + text-align: center; + line-height: 3em; + table-layout: fixed; + background: #303136; } /*=== Feed articles */ .flux { - background: #fff; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + background: #fff; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .flux:hover { - background: #f9fafb; + background: #f9fafb; } .flux:hover:not(.current):hover .item.title { - background: #f9fafb; + background: #f9fafb; } .flux.current { - background: #f9fafb; - border-left-color: #36c; + background: #f9fafb; + border-left-color: #36c; } .flux.not_read:not(.current) { - background: #f2f6f8; + background: #f2f6f8; } .flux.not_read:not(.current):hover .item.title { - background: #f2f6f8; + background: #f2f6f8; } .flux.not_read .item.title a { - color: #36c; + color: #36c; } .flux.not_read .item.website a { - color: #36c; + color: #36c; } .flux.not_read .item.date { - color: rgba(51, 102, 204, 0.5); + color: rgba(51, 102, 204, 0.5); } .flux.favorite { - border-left-color: #ffc300; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + border-left-color: #ffc300; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .flux.favorite:not(.current) { - background: #fff6da; + background: #fff6da; } .flux.favorite:not(.current):hover .item.title { - background: #fff6da; + background: #fff6da; } .flux .website a { - color: #303136; - opacity: 0.75; + color: #303136; + opacity: 0.75; } .flux .website .favicon { - padding: 5px; + padding: 5px; } .flux .item.date { - color: rgba(48, 49, 54, 0.5); - font-size: 0.85rem; + color: rgba(48, 49, 54, 0.5); + font-size: 0.85rem; } .flux .bottom { - font-size: 1rem; - text-align: center; + font-size: 1rem; + text-align: center; } .flux_header { - font-size: 1rem; - cursor: pointer; - border-top: 1px solid #eff0f2; + font-size: 1rem; + cursor: pointer; + border-top: 1px solid #eff0f2; } .flux_header .title { - font-size: 1rem; + font-size: 1rem; } /*=== GLOBAL VIEW */ /*================*/ #stream .box.category:not([data-unread="0"]) .box-title .title { - font-weight: bold; + font-weight: bold; } #stream .box.category .box-title { - padding: 1.5rem; - background: none; + padding: 1.5rem; + background: none; } #stream .box.category .box-title a.title { - color: #5b6871; - font-size: 1rem; - font-weight: normal; - text-decoration: none; - text-align: left; - text-transform: uppercase; - letter-spacing: 1px; + color: #5b6871; + font-size: 1rem; + font-weight: normal; + text-decoration: none; + text-align: left; + text-transform: uppercase; + letter-spacing: 1px; } #stream .box.category .box-title a.title:not([data-unread="0"])::after { - margin: -0.5rem 1rem 0 0; - padding: 0 0.75rem; - background: #eff0f2; - border-radius: 12px; - position: absolute; - top: 1.75rem; - right: 0; - line-height: 1.5rem; - text-align: center; + margin: -0.5rem 1rem 0 0; + padding: 0 0.75rem; + background: #eff0f2; + border-radius: 12px; + position: absolute; + top: 1.75rem; + right: 0; + line-height: 1.5rem; + text-align: center; } #stream .box.category .box-title a.title:hover { - color: #36c; + color: #36c; } #stream .box.category .box-content { - padding-bottom: 0.5rem; + padding-bottom: 0.5rem; } #stream .box.category .box-content .item.feed { - padding: 0.5rem 1.5rem; - font-size: 1rem; + padding: 0.5rem 1.5rem; + font-size: 1rem; } #stream .box.category .box-content .item.feed a { - color: #303136; - font-weight: 400; + color: #303136; + font-weight: 400; } #stream .box.category .box-content .item.feed a:hover { - color: #36c; - text-decoration: none; + color: #36c; + text-decoration: none; } #overlay { - background: rgba(0, 0, 0, 0.65); + background: rgba(0, 0, 0, 0.65); } #panel { - top: 3rem; - right: 3rem; - bottom: 3rem; - left: 3rem; - border-radius: 3px; + top: 3rem; + right: 3rem; + bottom: 3rem; + left: 3rem; + border-radius: 3px; } /*=== READER VIEW */ /*================*/ #stream.reader .flux { - padding: 0 0 50px; - background: #eff0f2; - color: #303136; - border: none; + padding: 0 0 50px; + background: #eff0f2; + color: #303136; + border: none; } #stream.reader .flux .author { - margin: 0 0 10px; - color: #a6a7ae; - font-size: 90%; + margin: 0 0 10px; + color: #a6a7ae; + font-size: 90%; } /*=== Configuration pages */ .post { - padding: 1rem 2rem; - font-size: 1rem; + padding: 1rem 2rem; + font-size: 1rem; } .post form { - margin: 1rem 0; + margin: 1rem 0; } .post form .horizontal-list { - margin-bottom: 0.5rem; + margin-bottom: 0.5rem; } .post.content { - max-width: 550px; + max-width: 550px; } .post h1, .post h2 { - color: #303136; - font-size: 3rem; - margin-top: 1.75rem; - font-weight: 300; - line-height: 1.2em; + color: #303136; + font-size: 3rem; + margin-top: 1.75rem; + font-weight: 300; + line-height: 1.2em; } .post a[href="./"] { - margin: 0; - padding: 0.75rem 1.5rem; - background: #f9fafb; - display: inline-block; - color: #5b6871; - font-size: 1rem; - border: 1px solid #d5d8db; - border-radius: 5px; - min-width: 15px; - line-height: 25px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; + margin: 0; + padding: 0.75rem 1.5rem; + background: #f9fafb; + display: inline-block; + color: #5b6871; + font-size: 1rem; + border: 1px solid #d5d8db; + border-radius: 5px; + min-width: 15px; + line-height: 25px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; } .post a[href="./"]:hover { - background: #36c; - color: white; - border: 1px solid #36c; - text-decoration: none; + background: #36c; + color: white; + border: 1px solid #36c; + text-decoration: none; } #slider { - border-left: none; - box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); + border-left: none; + box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); } .slide-container .properties { - padding: 1rem; - background: rgba(0, 0, 0, 0.75); - color: white; - border: 0; + padding: 1rem; + background: rgba(0, 0, 0, 0.75); + color: white; + border: 0; } .slide-container .properties .page-number { - right: 1rem; - top: 1rem; + right: 1rem; + top: 1rem; } /*=== LOGS */ /*=========*/ .loglist { - overflow: hidden; - border: 1px solid #a6a7ae; + overflow: hidden; + border: 1px solid #a6a7ae; } .log { - margin: 10px 0; - padding: 5px 2%; - background: #f9fafb; - color: #5b6871; - font-size: 0.8rem; - overflow: auto; + margin: 10px 0; + padding: 5px 2%; + background: #f9fafb; + color: #5b6871; + font-size: 0.8rem; + overflow: auto; } .log > .date { - margin: 0 10px 0 0; - padding: 5px 10px; - border-radius: 20px; + margin: 0 10px 0 0; + padding: 5px 10px; + border-radius: 20px; } .log.error > .date { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .log.warning > .date { - background: #f4f762; + background: #f4f762; } .log.notice > .date { - background: #eff0f2; + background: #eff0f2; } .log.debug > .date { - background: #1d1e22; - color: #fff; + background: #1d1e22; + color: #fff; } /*=== STATISTICS */ /*===============*/ .stat { - margin: 10px 0 20px; + margin: 10px 0 20px; } .stat th, .stat td, .stat tr { - border: none; + border: none; } .stat > table td, .stat > table th { - border-bottom: 1px solid #d5d8db; + border-bottom: 1px solid #d5d8db; } .stat > .horizontal-list { - margin: 0 0 5px; + margin: 0 0 5px; } .stat > .horizontal-list .item { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .stat > .horizontal-list .item:first-child { - width: 270px; + width: 270px; } /*=== MOBILE */ /*===========*/ @media (max-width: 840px) { - ul.nav .item { - width: 100%; - } - ul.nav .item img { - display: none; - } - ul.nav .item a { - box-sizing: border-box; - padding: 1rem 1rem 1rem 2.5rem; - background: url("../../themes/icons/logout.svg") no-repeat #17181a 3% center; - display: inline-block; - width: 100%; - color: #fff; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - -ms-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - } - ul.nav .item a:hover, ul.nav .item a:active { - background: url("../../themes/icons/logout.svg") no-repeat #f5633e 3% center; - text-decoration: none; - } - - .form-group .group-name { - text-align: left; - } - - .box .box-title .configure, + ul.nav .item { + width: 100%; + } + ul.nav .item img { + display: none; + } + ul.nav .item a { + box-sizing: border-box; + padding: 1rem 1rem 1rem 2.5rem; + background: url("../../themes/icons/logout.svg") no-repeat #17181a 3% center; + display: inline-block; + width: 100%; + color: #fff; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + } + ul.nav .item a:hover, ul.nav .item a:active { + background: url("../../themes/icons/logout.svg") no-repeat #f5633e 3% center; + text-decoration: none; + } + + .form-group .group-name { + text-align: left; + } + + .box .box-title .configure, .box .box-content .item .configure { - visibility: visible; - } - - .aside { - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - -ms-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - } - .aside.aside_feed { - padding: 0; - } - .aside .tree .tree-folder .tree-folder-items .item a { - padding: 0.5rem 1rem; - } - - .aside .toggle_aside, + visibility: visible; + } + + .aside { + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + } + .aside.aside_feed { + padding: 0; + } + .aside .tree .tree-folder .tree-folder-items .item a { + padding: 0.5rem 1rem; + } + + .aside .toggle_aside, #panel .close, #close-slider.active { - background: #25c; - display: block; - width: 100%; - height: 50px; - line-height: 50px; - text-align: center; - } - - .header { - padding: 0.5rem; - } - .header .item.title { - display: none; - } - .header .item.search { - display: block; - } - .header .item.search .stick { - display: flex; - } - .header .item.search input { - width: 90%; - height: 3.5rem; - } - .header .item.search input:focus { - width: 100%; - } - .header .item.search .btn { - min-height: 49px; - padding: 0.5rem 2rem; - } - .header .item.configure { - display: none; - } - - .post { - padding-left: 1rem; - padding-right: 1rem; - } - - .nav_menu .btn { - margin: 0; - padding: 0.85rem 1.25rem; - } - .nav_menu .stick { - margin: 0.5rem 0.5rem; - } - .nav_menu .stick .btn { - margin: 0; - padding: 0.85rem 1.25rem; - } - .nav_menu .stick .btn.read_all { - padding: 0.85rem 1.25rem; - } - .nav_menu .search { - display: none; - max-width: 97%; - } - .nav_menu .search .input { - max-width: 97%; - width: 90px; - } - .nav_menu .search .input:focus { - width: 400px; - } - - #stream .flux .flux_header { - padding: 0.5rem 0; - } - - .day { - text-align: center; - padding: 1rem 0; - } - .day .name { - padding: 0; - display: block; - width: 100%; - line-height: 1.5rem; - margin-bottom: 1rem; - } - - .pagination { - margin: 0 0 3.5em; - } - - #nav_entries { - line-height: 4.5rem; - } - - .notification { - border-radius: 0; - } - .notification a.close { - background: transparent; - display: block; - left: 0; - } - .notification a.close:hover { - opacity: 0.5; - } - .notification a.close .icon { - display: none; - } + background: #25c; + display: block; + width: 100%; + height: 50px; + line-height: 50px; + text-align: center; + } + + .header { + padding: 0.5rem; + } + .header .item.title { + display: none; + } + .header .item.search { + display: block; + } + .header .item.search .stick { + display: flex; + } + .header .item.search input { + width: 90%; + height: 3.5rem; + } + .header .item.search input:focus { + width: 100%; + } + .header .item.search .btn { + min-height: 49px; + padding: 0.5rem 2rem; + } + .header .item.configure { + display: none; + } + + .post { + padding-left: 1rem; + padding-right: 1rem; + } + + .nav_menu .btn { + margin: 0; + padding: 0.85rem 1.25rem; + } + .nav_menu .stick { + margin: 0.5rem 0.5rem; + } + .nav_menu .stick .btn { + margin: 0; + padding: 0.85rem 1.25rem; + } + .nav_menu .stick .btn.read_all { + padding: 0.85rem 1.25rem; + } + .nav_menu .search { + display: none; + max-width: 97%; + } + .nav_menu .search .input { + max-width: 97%; + width: 90px; + } + .nav_menu .search .input:focus { + width: 400px; + } + + #stream .flux .flux_header { + padding: 0.5rem 0; + } + + .day { + text-align: center; + padding: 1rem 0; + } + .day .name { + padding: 0; + display: block; + width: 100%; + line-height: 1.5rem; + margin-bottom: 1rem; + } + + .pagination { + margin: 0 0 3.5em; + } + + #nav_entries { + line-height: 4.5rem; + } + + .notification { + border-radius: 0; + } + .notification a.close { + background: transparent; + display: block; + left: 0; + } + .notification a.close:hover { + opacity: 0.5; + } + .notification a.close .icon { + display: none; + } } /*=== GENERAL */ /*============*/ html, body { - background: #eff0f2; - height: 100%; - font-family: "lato", "Helvetica", "Arial", sans-serif; - font-size: 0.875rem; + background: #eff0f2; + height: 100%; + font-family: "lato", "Helvetica", "Arial", sans-serif; + font-size: 0.875rem; } /*=== Links */ a, button.as-link { - outline: none; - color: #36c; + outline: none; + color: #36c; } /*# sourceMappingURL=mapco.css.map */ diff --git a/p/themes/Mapco/mapco.rtl.css b/p/themes/Mapco/mapco.rtl.css index e59728f55..44e793ee9 100644 --- a/p/themes/Mapco/mapco.rtl.css +++ b/p/themes/Mapco/mapco.rtl.css @@ -1,217 +1,217 @@ @font-face { - font-family: "lato"; - font-style: normal; - font-stretch: normal; - font-weight: 400; - src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff"); + font-family: "lato"; + font-style: normal; + font-stretch: normal; + font-weight: 400; + src: local("Lato"), url("../fonts/LatoLatin-Regular.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: italic; - font-stretch: normal; - font-weight: 400; - src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff"); + font-family: "lato"; + font-style: italic; + font-stretch: normal; + font-weight: 400; + src: local("Lato"), url("../fonts/LatoLatin-Italic.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: normal; - font-stretch: normal; - font-weight: 700; - src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff"); + font-family: "lato"; + font-style: normal; + font-stretch: normal; + font-weight: 700; + src: local("Lato"), url("../fonts/LatoLatin-Bold.woff") format("woff"); } @font-face { - font-family: "lato"; - font-style: italic; - font-stretch: normal; - font-weight: 700; - src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff"); + font-family: "lato"; + font-style: italic; + font-stretch: normal; + font-weight: 700; + src: local("Lato"), url("../fonts/LatoLatin-BoldItalic.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: normal; - font-stretch: normal; - font-weight: 400; - src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff"); + font-family: "spectral"; + font-style: normal; + font-stretch: normal; + font-weight: 400; + src: local("Spectral"), url("../fonts/Spectral-Regular.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: italic; - font-stretch: normal; - font-weight: 400; - src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff"); + font-family: "spectral"; + font-style: italic; + font-stretch: normal; + font-weight: 400; + src: local("Spectral"), url("../fonts/Spectral-Italic.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: normal; - font-stretch: normal; - font-weight: 700; - src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff"); + font-family: "spectral"; + font-style: normal; + font-stretch: normal; + font-weight: 700; + src: local("Spectral"), url("../fonts/Spectral-Bold.woff") format("woff"); } @font-face { - font-family: "spectral"; - font-style: italic; - font-stretch: normal; - font-weight: 700; - src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff"); + font-family: "spectral"; + font-style: italic; + font-stretch: normal; + font-weight: 700; + src: local("Spectral"), url("../fonts/Spectral-BoldItalic.woff") format("woff"); } /* stylelint-disable property-no-vendor-prefix */ /* FUNCTIONS */ /* btns */ .btn { - margin: 0; - padding: 0.5rem 1.5rem; - background: #f9fafb; - display: inline-block; - color: #5b6871; - font-size: 1rem; - border: none; - border-radius: 5px; - min-height: 38px; - min-width: 15px; - line-height: 25px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + margin: 0; + padding: 0.5rem 1.5rem; + background: #f9fafb; + display: inline-block; + color: #5b6871; + font-size: 1rem; + border: none; + border-radius: 5px; + min-height: 38px; + min-width: 15px; + line-height: 25px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .btn.btn-important { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .btn.btn-important:hover, .btn.btn-important:active { - background: #25c; + background: #25c; } .btn.btn-attention { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .btn.btn-attention:hover, .btn.btn-attention:active { - background: #73341f; + background: #73341f; } .btn:hover { - text-decoration: none; + text-decoration: none; } a.btn { - min-height: 25px; - line-height: 25px; + min-height: 25px; + line-height: 25px; } /*=== Forms */ legend { - margin: 2rem 0 1rem 0; - padding: 0; - display: inline-block; - width: auto; - font-size: 1rem; - clear: both; - text-transform: uppercase; - letter-spacing: 1px; - font-weight: 700; + margin: 2rem 0 1rem 0; + padding: 0; + display: inline-block; + width: auto; + font-size: 1rem; + clear: both; + text-transform: uppercase; + letter-spacing: 1px; + font-weight: 700; } label { - min-height: 25px; - padding: 5px 0; - cursor: pointer; - color: #5b6871; + min-height: 25px; + padding: 5px 0; + cursor: pointer; + color: #5b6871; } textarea { - width: 360px; - max-width: 100%; - height: 100px; + width: 360px; + max-width: 100%; + height: 100px; } input, select, textarea, button { - padding: 5px 10px; - background: #fff; - color: #5b6871; - font-family: "lato", "Helvetica", "Arial", sans-serif; - font-size: 1rem; - border: 1px solid #eff0f2; - border-radius: 2px; - min-height: 25px; - line-height: 25px; - vertical-align: middle; + padding: 5px 10px; + background: #fff; + color: #5b6871; + font-family: "lato", "Helvetica", "Arial", sans-serif; + font-size: 1rem; + border: 1px solid #eff0f2; + border-radius: 2px; + min-height: 25px; + line-height: 25px; + vertical-align: middle; } option { - padding: 0 0.5em; + padding: 0 0.5em; } input:focus, select:focus, textarea:focus { - color: #303136; - border-color: #36c; + color: #303136; + border-color: #36c; } input:invalid, select:invalid { - color: #f5633e; - border-color: #f5633e; - box-shadow: none; + color: #f5633e; + border-color: #f5633e; + box-shadow: none; } input:disabled, select:disabled { - background: #eff0f2; + background: #eff0f2; } input.extend { - transition: width 200ms linear; + transition: width 200ms linear; } .form-group { - padding: 5px; - border-radius: 3px; + padding: 5px; + border-radius: 3px; } .form-group::after { - content: ""; - display: block; - clear: both; + content: ""; + display: block; + clear: both; } .form-group .group-name { - padding: 10px 0; - text-align: left; + padding: 10px 0; + text-align: left; } .form-group .group-controls { - min-height: 25px; - padding: 5px 0; + min-height: 25px; + padding: 5px 0; } .form-group .group-controls .control { - line-height: 2em; + line-height: 2em; } .form-group table { - margin: 10px 220px 0 0; + margin: 10px 220px 0 0; } .form-group.form-actions { - margin: 15px 0 25px; - padding: 5px 0; + margin: 15px 0 25px; + padding: 5px 0; } .form-group.form-actions .btn { - margin: 0 0 0 0.5rem; + margin: 0 0 0 0.5rem; } /*=== Tables */ table { - border-collapse: collapse; + border-collapse: collapse; } tr, th, td { - padding: 0.5em; - border: 1px solid #d5d8db; + padding: 0.5em; + border: 1px solid #d5d8db; } th { - background: #f9fafb; + background: #f9fafb; } form td, form th { - font-weight: normal; - text-align: center; + font-weight: normal; + text-align: center; } /*=== COMPONENTS */ @@ -219,424 +219,424 @@ form th { /*=== Forms */ /*=== Horizontal-list */ .horizontal-list { - margin: 0; - padding: 0.1rem 0; + margin: 0; + padding: 0.1rem 0; } .horizontal-list .item { - vertical-align: middle; + vertical-align: middle; } .horizontal-list .item:first-child { - padding-right: 0.5rem; + padding-right: 0.5rem; } /*=== Dropdown */ .dropdown-menu { - margin: 0; - padding: 0.5rem 0 1rem 0; - background: #f9fafb; - font-size: 1rem; - border: none; - border-radius: 3px; - box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); - text-align: right; + margin: 0; + padding: 0.5rem 0 1rem 0; + background: #f9fafb; + font-size: 1rem; + border: none; + border-radius: 3px; + box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); + text-align: right; } .dropdown-menu::after { - background: white; - width: 10px; - height: 10px; - content: ""; - position: absolute; - top: -4px; - left: 13px; - z-index: -10; - transform: rotate(-45deg); + background: white; + width: 10px; + height: 10px; + content: ""; + position: absolute; + top: -4px; + left: 13px; + z-index: -10; + transform: rotate(-45deg); } .dropdown-menu .dropdown-header { - margin: 1.75rem 2rem 0.5rem 0; - font-weight: bold; - text-align: right; - color: #5b6871; - text-transform: uppercase; - letter-spacing: 1px; + margin: 1.75rem 2rem 0.5rem 0; + font-weight: bold; + text-align: right; + color: #5b6871; + text-transform: uppercase; + letter-spacing: 1px; } .dropdown-menu .item { - -webkit-transition: all 0.075s ease-in-out; - -moz-transition: all 0.075s ease-in-out; - -o-transition: all 0.075s ease-in-out; - -ms-transition: all 0.075s ease-in-out; - transition: all 0.075s ease-in-out; + -webkit-transition: all 0.075s ease-in-out; + -moz-transition: all 0.075s ease-in-out; + -o-transition: all 0.075s ease-in-out; + -ms-transition: all 0.075s ease-in-out; + transition: all 0.075s ease-in-out; } .dropdown-menu .item a, .dropdown-menu .item span, .dropdown-menu .item .as-link { - padding: 0 2rem; - color: #303136; - font-size: 1rem; - line-height: 2.5em; + padding: 0 2rem; + color: #303136; + font-size: 1rem; + line-height: 2.5em; } .dropdown-menu .item:hover { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .dropdown-menu .item:hover a, .dropdown-menu .item:hover button { - text-decoration: none; - color: #fff; + text-decoration: none; + color: #fff; } .dropdown-menu .item[aria-checked=true] a::before { - margin: 0 -14px 0 0; - font-weight: bold; + margin: 0 -14px 0 0; + font-weight: bold; } .dropdown-menu .input select, .dropdown-menu .input input { - margin: 0 auto 5px; - padding: 2px 5px; - border-radius: 3px; + margin: 0 auto 5px; + padding: 2px 5px; + border-radius: 3px; } .dropdown-menu .separator { - margin: 0.75rem 0; - border-bottom: 1px solid #eff0f2; + margin: 0.75rem 0; + border-bottom: 1px solid #eff0f2; } .tree .tree-folder .tree-folder-items .dropdown-menu .item { - padding: 0; + padding: 0; } .tree .tree-folder .tree-folder-items .dropdown-menu .item a, .tree .tree-folder .tree-folder-items .dropdown-menu .item button { - color: #303136; + color: #303136; } .tree .tree-folder .tree-folder-items .dropdown-menu .item a:hover, .tree .tree-folder .tree-folder-items .dropdown-menu .item button:hover { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .dropdown-menu .item:hover { - background: #36c; + background: #36c; } /*=== Alerts */ .alert { - margin: 1rem 0; - padding: 1rem; - background: #f9fafb; - color: #5b6871; - font-size: 1rem; - border: 1px solid #c5ced3; - border-radius: 3px; - text-shadow: 0 0 1px #eff0f2; + margin: 1rem 0; + padding: 1rem; + background: #f9fafb; + color: #5b6871; + font-size: 1rem; + border: 1px solid #c5ced3; + border-radius: 3px; + text-shadow: 0 0 1px #eff0f2; } .alert-head { - font-size: 1.15em; + font-size: 1.15em; } .alert > a { - text-decoration: underline; - color: inherit; + text-decoration: underline; + color: inherit; } .alert-warn { - background: #fdfde0; - color: #73762f; - border: 1px solid #73762f33; + background: #fdfde0; + color: #73762f; + border: 1px solid #73762f33; } .alert-success { - background: #cffde7; - color: #0c7540; - border: 1px solid #0c754033; + background: #cffde7; + color: #0c7540; + border: 1px solid #0c754033; } .alert-error { - background: #fde0d8; - color: #73341f; - border: 1px solid #73341f33; + background: #fde0d8; + color: #73341f; + border: 1px solid #73341f33; } /*=== Pagination */ .pagination { - background: #eff0f2; - color: #303136; - font-size: 0.8em; - text-align: center; + background: #eff0f2; + color: #303136; + font-size: 0.8em; + text-align: center; } .pagination .item.pager-current { - background: #303136; - color: #eff0f2; - font-size: 1.5em; - font-weight: bold; + background: #303136; + color: #eff0f2; + font-size: 1.5em; + font-weight: bold; } .pagination .item a { - display: block; - color: #303136; - font-style: italic; - line-height: 3em; - text-decoration: none; + display: block; + color: #303136; + font-style: italic; + line-height: 3em; + text-decoration: none; } .pagination .item a:hover { - background: #303136; - color: #eff0f2; + background: #303136; + color: #eff0f2; } .pagination .loading, .pagination a:hover.loading { - background: url("loader.gif") center center no-repeat #34495e; - font-size: 0; + background: url("loader.gif") center center no-repeat #34495e; + font-size: 0; } .content .pagination { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } /*=== Boxes */ .box { - background: #fff; - border: none; - border-radius: 3px; - box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); + background: #fff; + border: none; + border-radius: 3px; + box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.25); } .box .box-title { - margin: 0; - padding: 5px 10px; - background: #eff0f2; - color: #303136; - border-radius: 2px 2px 0 0; + margin: 0; + padding: 5px 10px; + background: #eff0f2; + color: #303136; + border-radius: 2px 2px 0 0; } .box .box-title img { - margin-left: 0.75rem; + margin-left: 0.75rem; } .box .box-title:hover .configure { - background: url("icons/cog.svg") no-repeat 4px 4px; - display: block; - float: right; - width: 1.75rem; - height: 1.75rem; - border-radius: 2px; - visibility: visible; - margin-left: 0.5rem; + background: url("icons/cog.svg") no-repeat 4px 4px; + display: block; + float: right; + width: 1.75rem; + height: 1.75rem; + border-radius: 2px; + visibility: visible; + margin-left: 0.5rem; } .box .box-title:hover .configure .icon { - display: none; - border-radius: 3px; - vertical-align: middle; + display: none; + border-radius: 3px; + vertical-align: middle; } .box .box-title:hover .configure:hover { - background: url("icons/cog-white.svg") no-repeat 4px 4px #36c; + background: url("icons/cog-white.svg") no-repeat 4px 4px #36c; } .box .box-title .configure { - visibility: hidden; + visibility: hidden; } .box .box-title form input { - width: 85%; + width: 85%; } .box .box-title form .dropdown { - float: left; + float: left; } .box .box-title form .dropdown a.dropdown-toggle { - padding: 0; - border-radius: 0; - background-image: url(icons/more.svg); - background-repeat: no-repeat; - background-position: left 8px; + padding: 0; + border-radius: 0; + background-image: url(icons/more.svg); + background-repeat: no-repeat; + background-position: left 8px; } .box .box-title form .dropdown a.dropdown-toggle img { - display: none; + display: none; } .box .box-content .item { - padding: 0.5rem 0.75rem; - color: #303136; - font-size: 1rem; - border-bottom: 1px solid #eff0f2; - line-height: 1.7em; + padding: 0.5rem 0.75rem; + color: #303136; + font-size: 1rem; + border-bottom: 1px solid #eff0f2; + line-height: 1.7em; } .box .box-content .item img { - margin-left: 0.75rem; + margin-left: 0.75rem; } .box .box-content .item .configure { - background: url("icons/cog.svg") no-repeat 4px 4px; - display: block; - float: right; - width: 1.75rem; - height: 1.75rem; - border-radius: 2px; - visibility: hidden; - margin-left: 0.5rem; + background: url("icons/cog.svg") no-repeat 4px 4px; + display: block; + float: right; + width: 1.75rem; + height: 1.75rem; + border-radius: 2px; + visibility: hidden; + margin-left: 0.5rem; } .box .box-content .item .configure .icon { - display: none; - border-radius: 3px; - vertical-align: middle; + display: none; + border-radius: 3px; + vertical-align: middle; } .box .box-content .item .configure:hover { - background: url("icons/cog-white.svg") no-repeat 4px 4px #36c; + background: url("icons/cog-white.svg") no-repeat 4px 4px #36c; } .box .box-content .item:hover .configure { - visibility: visible; + visibility: visible; } .box .box-content .item:last-child { - border-bottom: none; + border-bottom: none; } /*=== "Load more" part */ #bigMarkAsRead { - text-align: center; - text-decoration: none; - background: #effcfd; - color: #36c; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + text-align: center; + text-decoration: none; + background: #effcfd; + color: #36c; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } #bigMarkAsRead:hover { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } #bigMarkAsRead:hover .bigTick { - background: url(icons/tick-white.svg) center no-repeat; + background: url(icons/tick-white.svg) center no-repeat; } #bigMarkAsRead .bigTick { - margin: 0.5rem 0; - background: url(icons/tick-color.svg) center no-repeat; - display: inline-block; - width: 64px; - height: 64px; - text-indent: -9999px; - white-space: nowrap; + margin: 0.5rem 0; + background: url(icons/tick-color.svg) center no-repeat; + display: inline-block; + width: 64px; + height: 64px; + text-indent: -9999px; + white-space: nowrap; } .formLogin { - background: #303136; + background: #303136; } .formLogin .header .configure { - padding-left: 1rem; + padding-left: 1rem; } .formLogin .header .configure img { - margin-left: 0.5rem; + margin-left: 0.5rem; } .formLogin .header .configure a.signin { - color: #fff; + color: #fff; } .formLogin h1 { - color: #fff; + color: #fff; } .formLogin form#crypto-form div { - margin-bottom: 1rem; + margin-bottom: 1rem; } .formLogin form#crypto-form div label { - color: #c5ced3; - font-size: 1rem; + color: #c5ced3; + font-size: 1rem; } .formLogin form#crypto-form div input { - background: #1d1e22; + background: #1d1e22; } .formLogin form#crypto-form div input:focus { - background: #f9fafb; - color: #303136; + background: #f9fafb; + color: #303136; } /*=== DIVERS */ /*===========*/ .aside.aside_feed .nav-form input, .aside.aside_feed .nav-form select { - width: 140px; + width: 140px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu { - left: -20px; + left: -20px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu::after { - left: 33px; + left: 33px; } /*=== Tree */ .tree { - margin: 10px 0; + margin: 10px 0; } .tree#sidebar { - scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05); - scrollbar-color: #fff33 #fff22; + scrollbar-color: rgba(255, 255, 0, 0.1) rgba(0, 0, 0, 0.05); + scrollbar-color: #fff33 #fff22; } .tree .tree-folder { - border-bottom: 1px solid #3f3f3f; + border-bottom: 1px solid #3f3f3f; } .tree .tree-folder .tree-folder-title { - padding: 12px 16px; - background: #303136; - position: relative; - font-size: 0.85rem; - letter-spacing: 1px; - font-weight: 700; - text-transform: uppercase; + padding: 12px 16px; + background: #303136; + position: relative; + font-size: 0.85rem; + letter-spacing: 1px; + font-weight: 700; + text-transform: uppercase; } .tree .tree-folder .tree-folder-title .title { - background: inherit; - color: #fff; + background: inherit; + color: #fff; } .tree .tree-folder .tree-folder-title .title:hover { - text-decoration: none; + text-decoration: none; } .tree .tree-folder.active .tree-folder-title { - background: #303136; - font-weight: bold; + background: #303136; + font-weight: bold; } .tree .tree-folder .tree-folder-items { - background: #26272a; + background: #26272a; } .tree .tree-folder .tree-folder-items .item { - padding: 0 1rem; - line-height: 2.5rem; - font-size: 1rem; - font-weight: 400; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + padding: 0 1rem; + line-height: 2.5rem; + font-size: 1rem; + font-weight: 400; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .tree .tree-folder .tree-folder-items .item.active { - background: #36c; + background: #36c; } .tree .tree-folder .tree-folder-items .item.active .dropdown li a { - color: #303136; + color: #303136; } .tree .tree-folder .tree-folder-items .item.active .dropdown li a:hover { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .item.active a { - color: #fff; + color: #fff; } .tree .tree-folder .tree-folder-items .item:hover { - background: #17181a; + background: #17181a; } .tree .tree-folder .tree-folder-items .item a { - text-decoration: none; - color: #fff; + text-decoration: none; + color: #fff; } .tree .tree-folder .tree-folder-items .feed .item-title:not([data-unread="0"])::before { - margin: 11px 4px 0 6px; - padding: 3px 4px; - background: rgba(0, 0, 0, 0.25); - display: block; - float: right; - font-size: 0.75rem; - border-radius: 12px; - content: attr(data-unread); - text-align: center; - line-height: 0.75rem; + margin: 11px 4px 0 6px; + padding: 3px 4px; + background: rgba(0, 0, 0, 0.25); + display: block; + float: right; + font-size: 0.75rem; + border-radius: 12px; + content: attr(data-unread); + text-align: center; + line-height: 0.75rem; } /*=== Buttons */ .stick { - vertical-align: middle; - font-size: 0; + vertical-align: middle; + font-size: 0; } .stick input, .stick .btn { - border-radius: 0; + border-radius: 0; } .stick .btn:first-child, .stick input:first-child { - border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; } .stick .btn:last-child, .stick input:last-child, .stick .btn + .dropdown > .btn { - border-radius: 5px 0 0 5px; + border-radius: 5px 0 0 5px; } .stick .btn + .btn, .stick .btn + input, @@ -647,986 +647,986 @@ form th { .stick .dropdown + .btn, .stick .dropdown + input, .stick .dropdown + .dropdown > .btn { - border-right: 1px solid #d5d8db; + border-right: 1px solid #d5d8db; } .aside { - background: #303136; + background: #303136; } .aside.aside_feed { - padding: 10px 0; - text-align: center; - background: #303136; + padding: 10px 0; + text-align: center; + background: #303136; } .aside.aside_feed .tree { - margin: 10px 0 50px; + margin: 10px 0 50px; } /* Sidebar des pages de configuration */ /*=== Navigation */ .nav-list .nav-header, .nav-list .item { - height: 2.5em; - line-height: 2.5em; - font-size: 1rem; + height: 2.5em; + line-height: 2.5em; + font-size: 1rem; } .nav-list .item { - background: #303136; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + background: #303136; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav-list .item a { - padding: 0 1rem; - color: #fff; + padding: 0 1rem; + color: #fff; } .nav-list .item .error a { - color: #f5633e; + color: #f5633e; } .nav-list .item:hover { - background: #17181a; - color: #fff; + background: #17181a; + color: #fff; } .nav-list .item:hover .error a { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .nav-list .item:hover .empty a { - background: #f4f762; - color: #fff; + background: #f4f762; + color: #fff; } .nav-list .item:hover a { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } .nav-list .item.active { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .nav-list .item.active .error a { - background: #36c; - color: #fff; + background: #36c; + color: #fff; } .nav-list .item.active .empty a { - background: #f4f762; - color: #fff; + background: #f4f762; + color: #fff; } .nav-list .item.active a { - color: #fff; - text-decoration: none; + color: #fff; + text-decoration: none; } .nav-list.empty a { - color: #f4f762; + color: #f4f762; } .nav-list .disable { - text-align: center; - background: #f9fafb; - color: #a6a7ae; + text-align: center; + background: #f9fafb; + color: #a6a7ae; } .nav-list .nav-header { - padding: 0 10px; - font-weight: bold; - color: #5b6871; - text-transform: uppercase; - letter-spacing: 1px; - margin-top: 1rem; + padding: 0 10px; + font-weight: bold; + color: #5b6871; + text-transform: uppercase; + letter-spacing: 1px; + margin-top: 1rem; } .nav-list .nav-form { - padding: 3px; - text-align: center; + padding: 3px; + text-align: center; } .nav-list .nav-head { - margin: 0; - text-align: left; - color: #fff; + margin: 0; + text-align: left; + color: #fff; } .nav-list .nav-head a { - color: #fff; + color: #fff; } .nav-list .nav-head .item { - padding: 5px 10px; - font-size: 0.9rem; - line-height: 1.5rem; + padding: 5px 10px; + font-size: 0.9rem; + line-height: 1.5rem; } /*=== Aside main page (categories) */ .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after { - margin: -0.5rem 0 0 1rem; - padding: 0 0.75rem; - background: rgba(0, 0, 0, 0.25); - border-radius: 12px; - position: absolute; - left: 0; - line-height: 1.5rem; - text-align: center; + margin: -0.5rem 0 0 1rem; + padding: 0 0.75rem; + background: rgba(0, 0, 0, 0.25); + border-radius: 12px; + position: absolute; + left: 0; + line-height: 1.5rem; + text-align: center; } .feed.item.empty.active { - background: #5b6871; + background: #5b6871; } .feed.item.error.active { - background: #5b6871; + background: #5b6871; } .feed.item.empty, .feed.item.empty > a { - color: #5b6871; + color: #5b6871; } .feed.item.error, .feed.item.error > a { - color: #5b6871; + color: #5b6871; } .feed.item.empty.active, .feed.item.error.active, .feed.item.empty.active > a, .feed.item.error.active > a { - color: #fff; + color: #fff; } .aside_feed .tree-folder-items .dropdown-menu::after { - right: 2px; + right: 2px; } .aside_feed .tree-folder-items .item .dropdown-target:target ~ .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item:hover .dropdown-toggle > .icon, .aside_feed .tree-folder-items .item.active .dropdown-toggle > .icon { - border-radius: 3px; + border-radius: 3px; } .aside_feed .stick #btn-add { - border-right-color: #303136; + border-right-color: #303136; } /*=== STRUCTURE */ /*===============*/ /*=== Header */ .header { - padding: 0.5rem 1.35rem; - background: #303136; - display: block; - width: auto; - table-layout: none; + padding: 0.5rem 1.35rem; + background: #303136; + display: block; + width: auto; + table-layout: none; } .header .item { - vertical-align: middle; + vertical-align: middle; } .header .item.title { - width: 280px; - font-weight: 400; + width: 280px; + font-weight: 400; } .header .item.title h1 a { - text-decoration: none; - color: #fff; - font-size: 1rem; - text-transform: uppercase; - letter-spacing: 1px; + text-decoration: none; + color: #fff; + font-size: 1rem; + text-transform: uppercase; + letter-spacing: 1px; } .header .item.title h1 a img { - margin-left: 0.5rem; + margin-left: 0.5rem; } .header .item.search input { - width: 230px; - color: #fff; - border: none; - border-radius: 0 2px 2px 0; - background-color: #26272a; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + width: 230px; + color: #fff; + border: none; + border-radius: 0 2px 2px 0; + background-color: #26272a; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .header .item.search input:hover { - background-color: #17181a; + background-color: #17181a; } .header .item.search input:focus { - width: 350px; - color: #5b6871; - background-color: #fff; + width: 350px; + color: #5b6871; + background-color: #fff; } .header .item.search .btn { - width: 3rem; - border-radius: 2px 0 0 2px; - background-color: #36c; - background-position: center; - background-repeat: no-repeat; - background-image: url(icons/magnifier.svg); - border-right-width: 0; - min-height: 35px; + width: 3rem; + border-radius: 2px 0 0 2px; + background-color: #36c; + background-position: center; + background-repeat: no-repeat; + background-image: url(icons/magnifier.svg); + border-right-width: 0; + min-height: 35px; } .header .item.search .btn img { - display: none; + display: none; } .header .item.search .btn:hover { - background-color: #25c; + background-color: #25c; } .header .item.configure { - width: 2rem; - position: absolute; - left: 1rem; - top: 1.25rem; - text-align: center; + width: 2rem; + position: absolute; + left: 1rem; + top: 1.25rem; + text-align: center; } .header .item.configure .btn { - padding: 0 0.5rem; - background-color: transparent; - background-position: center; - background-repeat: no-repeat; - background-image: url(icons/cog-white.svg); + padding: 0 0.5rem; + background-color: transparent; + background-position: center; + background-repeat: no-repeat; + background-image: url(icons/cog-white.svg); } .header .item.configure .btn img { - display: none; + display: none; } /*=== Body */ #global { - height: calc(100% - 85px); + height: calc(100% - 85px); } /*=== Prompt (centered) */ .prompt { - text-align: center; + text-align: center; } .prompt label { - text-align: right; + text-align: right; } .prompt form { - margin: 10px auto 20px auto; - width: 200px; + margin: 10px auto 20px auto; + width: 200px; } .prompt input { - margin: 5px auto; - width: 100%; + margin: 5px auto; + width: 100%; } .prompt p { - margin: 20px 0; + margin: 20px 0; } /*=== New article notification */ #new-article { - background: #36c; - font-size: 1rem; - text-align: center; + background: #36c; + font-size: 1rem; + text-align: center; } #new-article:hover { - background: #25c; + background: #25c; } #new-article > a { - line-height: 3em; - font-weight: bold; - color: #fff; + line-height: 3em; + font-weight: bold; + color: #fff; } #new-article > a:hover { - text-decoration: none; + text-decoration: none; } /*=== Day indication */ .day { - padding: 1rem 1.25rem 0 0; - color: #5b6871; - font-size: 0.875rem; - font-weight: 700; - line-height: 3em; - letter-spacing: 1px; - text-transform: uppercase; + padding: 1rem 1.25rem 0 0; + color: #5b6871; + font-size: 0.875rem; + font-weight: 700; + line-height: 3em; + letter-spacing: 1px; + text-transform: uppercase; } .day .name { - padding: 0 1rem 0 1rem; - color: #303136; - font-size: 0.875rem; - position: relative; - right: 0; - text-transform: uppercase; + padding: 0 1rem 0 1rem; + color: #303136; + font-size: 0.875rem; + position: relative; + right: 0; + text-transform: uppercase; } /*=== Index menu */ .nav_menu { - text-align: center; - padding: 5px 0; + text-align: center; + padding: 5px 0; } .nav_menu .btn { - border-right-width: 0; - padding: 0.5rem 1rem; - background-color: #f9fafb; - background-position: center; - background-repeat: no-repeat; + border-right-width: 0; + padding: 0.5rem 1rem; + background-color: #f9fafb; + background-position: center; + background-repeat: no-repeat; } .nav_menu .btn:hover { - background-color: #eff0f2; + background-color: #eff0f2; } .nav_menu .stick { - background: #f9fafb; + background: #f9fafb; } .nav_menu .stick .btn { - border-right-width: 0; - padding: 0.5rem 1rem; - background-color: #f9fafb; - background-position: center; - background-repeat: no-repeat; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + border-right-width: 0; + padding: 0.5rem 1rem; + background-color: #f9fafb; + background-position: center; + background-repeat: no-repeat; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav_menu .stick .btn:hover { - background-color: #d5d8db; + background-color: #d5d8db; } .nav_menu .stick .btn.active { - background-color: #36c; + background-color: #36c; } .nav_menu .stick .btn img.icon { - display: none; + display: none; } .nav_menu .stick .btn#toggle-read { - background-image: url(icons/read.svg); + background-image: url(icons/read.svg); } .nav_menu .stick .btn#toggle-read.active { - background-image: url(icons/read-white.svg); + background-image: url(icons/read-white.svg); } .nav_menu .stick .btn#toggle-unread { - background-image: url(icons/unread.svg); + background-image: url(icons/unread.svg); } .nav_menu .stick .btn#toggle-unread.active { - background-image: url(icons/unread-white.svg); + background-image: url(icons/unread-white.svg); } .nav_menu .stick .btn#toggle-starred { - background-image: url(icons/starred.svg); + background-image: url(icons/starred.svg); } .nav_menu .stick .btn#toggle-starred.active { - background-image: url(icons/starred-white.svg); + background-image: url(icons/starred-white.svg); } .nav_menu .stick .btn#toggle-non-starred { - background-image: url(icons/non-starred.svg); + background-image: url(icons/non-starred.svg); } .nav_menu .stick .btn#toggle-non-starred.active { - background-image: url(icons/non-starred-white.svg); + background-image: url(icons/non-starred-white.svg); } .nav_menu .stick .btn.read_all { - padding: 5px 16px; - color: #303136; - background-color: #f9fafb; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + padding: 5px 16px; + color: #303136; + background-color: #f9fafb; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .nav_menu .stick .btn.read_all:hover { - background-color: #d5d8db; + background-color: #d5d8db; } .nav_menu .stick .btn.view-normal { - background-image: url(icons/view-list.svg); + background-image: url(icons/view-list.svg); } .nav_menu .stick .btn.view-normal.active { - background-image: url(icons/view-list-white.svg); + background-image: url(icons/view-list-white.svg); } .nav_menu .stick .btn.view-global { - background-image: url(icons/view-global.svg); + background-image: url(icons/view-global.svg); } .nav_menu .stick .btn.view-global.active { - background-image: url(icons/view-global-white.svg); + background-image: url(icons/view-global-white.svg); } .nav_menu .stick .btn.view-reader { - background-image: url(icons/view-reader.svg); + background-image: url(icons/view-reader.svg); } .nav_menu .stick .btn.view-reader.active { - background-image: url(icons/view-reader-white.svg); + background-image: url(icons/view-reader-white.svg); } .nav_menu .stick .btn.view-rss { - background-image: url(icons/rss.svg); + background-image: url(icons/rss.svg); } .nav_menu .stick .dropdown a.dropdown-toggle { - border-right-width: 0; - background-image: url(icons/more.svg); + border-right-width: 0; + background-image: url(icons/more.svg); } #dropdown-query ~ .dropdown-menu .dropdown-header .icon { - vertical-align: middle; - background-color: #a6a7ae; - border-radius: 3px; + vertical-align: middle; + background-color: #a6a7ae; + border-radius: 3px; } /*=== Content of feed articles */ .content, .content.thin { - padding: 20px 10px; - font-size: 1.125rem; - line-height: 1.8rem; + padding: 20px 10px; + font-size: 1.125rem; + line-height: 1.8rem; } .content h1.title a, .content h1 a, .content.thin h1.title a, .content.thin h1 a { - color: #303136; - font-family: "spectral", serif; - font-size: 2rem; + color: #303136; + font-family: "spectral", serif; + font-size: 2rem; } .content h1.title a:hover, .content h1 a:hover, .content.thin h1.title a:hover, .content.thin h1 a:hover { - color: #36c; - text-decoration: none; + color: #36c; + text-decoration: none; } .content .author, .content.thin .author { - color: #5b6871; - font-size: 1.125rem; + color: #5b6871; + font-size: 1.125rem; } .content p, .content ul, .content.thin p, .content.thin ul { - font-size: 1.125rem; - line-height: 1.8rem; + font-size: 1.125rem; + line-height: 1.8rem; } .content .content hr, .content.thin .content hr { - margin: 30px 10px; - background: #d5d8db; - height: 1px; - border: 0; - box-shadow: 0 2px 5px #ccc; + margin: 30px 10px; + background: #d5d8db; + height: 1px; + border: 0; + box-shadow: 0 2px 5px #ccc; } .content pre, .content.thin pre { - margin: 10px auto; - padding: 10px 20px; - overflow: auto; - background: #1d1e22; - color: #fff; - font-size: 0.9rem; - border-radius: 3px; + margin: 10px auto; + padding: 10px 20px; + overflow: auto; + background: #1d1e22; + color: #fff; + font-size: 0.9rem; + border-radius: 3px; } .content pre code, .content.thin pre code { - background: transparent; - color: #fff; - border: none; + background: transparent; + color: #fff; + border: none; } .content code, .content.thin code { - padding: 2px 5px; - background: #f9fafb; - color: #eff0f2; - border: 1px solid #eff0f2; - border-radius: 3px; + padding: 2px 5px; + background: #f9fafb; + color: #eff0f2; + border: 1px solid #eff0f2; + border-radius: 3px; } .content blockquote, .content.thin blockquote { - margin: 0; - padding: 5px 20px; - background: #f9fafb; - display: block; - color: #303136; - border-top: 1px solid #d5d8db; - border-bottom: 1px solid #d5d8db; + margin: 0; + padding: 5px 20px; + background: #f9fafb; + display: block; + color: #303136; + border-top: 1px solid #d5d8db; + border-bottom: 1px solid #d5d8db; } .content blockquote p, .content.thin blockquote p { - margin: 0; + margin: 0; } /*=== Notification and actualize notification */ .notification { - padding: 1rem 0; - background: #d5d8db; - width: 100%; - height: 3rem; - color: #5b6871; - font-size: 1em; - border: none; - position: fixed; - top: auto; - bottom: 0; - right: 0; - left: 0; - text-align: center; - line-height: 3em; - z-index: 10; - vertical-align: middle; + padding: 1rem 0; + background: #d5d8db; + width: 100%; + height: 3rem; + color: #5b6871; + font-size: 1em; + border: none; + position: fixed; + top: auto; + bottom: 0; + right: 0; + left: 0; + text-align: center; + line-height: 3em; + z-index: 10; + vertical-align: middle; } .notification .msg { - display: inline-block; - font-size: 1rem; + display: inline-block; + font-size: 1rem; } .notification.good { - background: #10f587; - color: #fff; + background: #10f587; + color: #fff; } .notification.bad { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .notification a.close { - padding: 0 15px; - border-radius: 3px 0 0 3px; - line-height: 3em; + padding: 0 15px; + border-radius: 3px 0 0 3px; + line-height: 3em; } .notification.good a.close:hover { - background: #0c7540; + background: #0c7540; } .notification.bad a.close:hover { - background: #73341f; + background: #73341f; } .notification#actualizeProgress { - line-height: 2em; + line-height: 2em; } .notification#actualizeProgress br { - display: none; + display: none; } /*=== Navigation menu (for articles) */ #nav_entries { - margin: 0; - text-align: center; - line-height: 3em; - table-layout: fixed; - background: #303136; + margin: 0; + text-align: center; + line-height: 3em; + table-layout: fixed; + background: #303136; } /*=== Feed articles */ .flux { - background: #fff; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + background: #fff; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .flux:hover { - background: #f9fafb; + background: #f9fafb; } .flux:hover:not(.current):hover .item.title { - background: #f9fafb; + background: #f9fafb; } .flux.current { - background: #f9fafb; - border-right-color: #36c; + background: #f9fafb; + border-right-color: #36c; } .flux.not_read:not(.current) { - background: #f2f6f8; + background: #f2f6f8; } .flux.not_read:not(.current):hover .item.title { - background: #f2f6f8; + background: #f2f6f8; } .flux.not_read .item.title a { - color: #36c; + color: #36c; } .flux.not_read .item.website a { - color: #36c; + color: #36c; } .flux.not_read .item.date { - color: rgba(51, 102, 204, 0.5); + color: rgba(51, 102, 204, 0.5); } .flux.favorite { - border-right-color: #ffc300; - -webkit-transition: all 0.15s ease-in-out; - -moz-transition: all 0.15s ease-in-out; - -o-transition: all 0.15s ease-in-out; - -ms-transition: all 0.15s ease-in-out; - transition: all 0.15s ease-in-out; + border-right-color: #ffc300; + -webkit-transition: all 0.15s ease-in-out; + -moz-transition: all 0.15s ease-in-out; + -o-transition: all 0.15s ease-in-out; + -ms-transition: all 0.15s ease-in-out; + transition: all 0.15s ease-in-out; } .flux.favorite:not(.current) { - background: #fff6da; + background: #fff6da; } .flux.favorite:not(.current):hover .item.title { - background: #fff6da; + background: #fff6da; } .flux .website a { - color: #303136; - opacity: 0.75; + color: #303136; + opacity: 0.75; } .flux .website .favicon { - padding: 5px; + padding: 5px; } .flux .item.date { - color: rgba(48, 49, 54, 0.5); - font-size: 0.85rem; + color: rgba(48, 49, 54, 0.5); + font-size: 0.85rem; } .flux .bottom { - font-size: 1rem; - text-align: center; + font-size: 1rem; + text-align: center; } .flux_header { - font-size: 1rem; - cursor: pointer; - border-top: 1px solid #eff0f2; + font-size: 1rem; + cursor: pointer; + border-top: 1px solid #eff0f2; } .flux_header .title { - font-size: 1rem; + font-size: 1rem; } /*=== GLOBAL VIEW */ /*================*/ #stream .box.category:not([data-unread="0"]) .box-title .title { - font-weight: bold; + font-weight: bold; } #stream .box.category .box-title { - padding: 1.5rem; - background: none; + padding: 1.5rem; + background: none; } #stream .box.category .box-title a.title { - color: #5b6871; - font-size: 1rem; - font-weight: normal; - text-decoration: none; - text-align: right; - text-transform: uppercase; - letter-spacing: 1px; + color: #5b6871; + font-size: 1rem; + font-weight: normal; + text-decoration: none; + text-align: right; + text-transform: uppercase; + letter-spacing: 1px; } #stream .box.category .box-title a.title:not([data-unread="0"])::after { - margin: -0.5rem 0 0 1rem; - padding: 0 0.75rem; - background: #eff0f2; - border-radius: 12px; - position: absolute; - top: 1.75rem; - left: 0; - line-height: 1.5rem; - text-align: center; + margin: -0.5rem 0 0 1rem; + padding: 0 0.75rem; + background: #eff0f2; + border-radius: 12px; + position: absolute; + top: 1.75rem; + left: 0; + line-height: 1.5rem; + text-align: center; } #stream .box.category .box-title a.title:hover { - color: #36c; + color: #36c; } #stream .box.category .box-content { - padding-bottom: 0.5rem; + padding-bottom: 0.5rem; } #stream .box.category .box-content .item.feed { - padding: 0.5rem 1.5rem; - font-size: 1rem; + padding: 0.5rem 1.5rem; + font-size: 1rem; } #stream .box.category .box-content .item.feed a { - color: #303136; - font-weight: 400; + color: #303136; + font-weight: 400; } #stream .box.category .box-content .item.feed a:hover { - color: #36c; - text-decoration: none; + color: #36c; + text-decoration: none; } #overlay { - background: rgba(0, 0, 0, 0.65); + background: rgba(0, 0, 0, 0.65); } #panel { - top: 3rem; - left: 3rem; - bottom: 3rem; - right: 3rem; - border-radius: 3px; + top: 3rem; + left: 3rem; + bottom: 3rem; + right: 3rem; + border-radius: 3px; } /*=== READER VIEW */ /*================*/ #stream.reader .flux { - padding: 0 0 50px; - background: #eff0f2; - color: #303136; - border: none; + padding: 0 0 50px; + background: #eff0f2; + color: #303136; + border: none; } #stream.reader .flux .author { - margin: 0 0 10px; - color: #a6a7ae; - font-size: 90%; + margin: 0 0 10px; + color: #a6a7ae; + font-size: 90%; } /*=== Configuration pages */ .post { - padding: 1rem 2rem; - font-size: 1rem; + padding: 1rem 2rem; + font-size: 1rem; } .post form { - margin: 1rem 0; + margin: 1rem 0; } .post form .horizontal-list { - margin-bottom: 0.5rem; + margin-bottom: 0.5rem; } .post.content { - max-width: 550px; + max-width: 550px; } .post h1, .post h2 { - color: #303136; - font-size: 3rem; - margin-top: 1.75rem; - font-weight: 300; - line-height: 1.2em; + color: #303136; + font-size: 3rem; + margin-top: 1.75rem; + font-weight: 300; + line-height: 1.2em; } .post a[href="./"] { - margin: 0; - padding: 0.75rem 1.5rem; - background: #f9fafb; - display: inline-block; - color: #5b6871; - font-size: 1rem; - border: 1px solid #d5d8db; - border-radius: 5px; - min-width: 15px; - line-height: 25px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; + margin: 0; + padding: 0.75rem 1.5rem; + background: #f9fafb; + display: inline-block; + color: #5b6871; + font-size: 1rem; + border: 1px solid #d5d8db; + border-radius: 5px; + min-width: 15px; + line-height: 25px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; } .post a[href="./"]:hover { - background: #36c; - color: white; - border: 1px solid #36c; - text-decoration: none; + background: #36c; + color: white; + border: 1px solid #36c; + text-decoration: none; } #slider { - border-right: none; - box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); + border-right: none; + box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.35); } .slide-container .properties { - padding: 1rem; - background: rgba(0, 0, 0, 0.75); - color: white; - border: 0; + padding: 1rem; + background: rgba(0, 0, 0, 0.75); + color: white; + border: 0; } .slide-container .properties .page-number { - left: 1rem; - top: 1rem; + left: 1rem; + top: 1rem; } /*=== LOGS */ /*=========*/ .loglist { - overflow: hidden; - border: 1px solid #a6a7ae; + overflow: hidden; + border: 1px solid #a6a7ae; } .log { - margin: 10px 0; - padding: 5px 2%; - background: #f9fafb; - color: #5b6871; - font-size: 0.8rem; - overflow: auto; + margin: 10px 0; + padding: 5px 2%; + background: #f9fafb; + color: #5b6871; + font-size: 0.8rem; + overflow: auto; } .log > .date { - margin: 0 0 0 10px; - padding: 5px 10px; - border-radius: 20px; + margin: 0 0 0 10px; + padding: 5px 10px; + border-radius: 20px; } .log.error > .date { - background: #f5633e; - color: #fff; + background: #f5633e; + color: #fff; } .log.warning > .date { - background: #f4f762; + background: #f4f762; } .log.notice > .date { - background: #eff0f2; + background: #eff0f2; } .log.debug > .date { - background: #1d1e22; - color: #fff; + background: #1d1e22; + color: #fff; } /*=== STATISTICS */ /*===============*/ .stat { - margin: 10px 0 20px; + margin: 10px 0 20px; } .stat th, .stat td, .stat tr { - border: none; + border: none; } .stat > table td, .stat > table th { - border-bottom: 1px solid #d5d8db; + border-bottom: 1px solid #d5d8db; } .stat > .horizontal-list { - margin: 0 0 5px; + margin: 0 0 5px; } .stat > .horizontal-list .item { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .stat > .horizontal-list .item:first-child { - width: 270px; + width: 270px; } /*=== MOBILE */ /*===========*/ @media (max-width: 840px) { - ul.nav .item { - width: 100%; - } - ul.nav .item img { - display: none; - } - ul.nav .item a { - box-sizing: border-box; - padding: 1rem 2.5rem 1rem 1rem; - background: url("../../themes/icons/logout.svg") no-repeat #17181a 97% center; - display: inline-block; - width: 100%; - color: #fff; - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - -ms-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - } - ul.nav .item a:hover, ul.nav .item a:active { - background: url("../../themes/icons/logout.svg") no-repeat #f5633e 97% center; - text-decoration: none; - } - - .form-group .group-name { - text-align: right; - } - - .box .box-title .configure, + ul.nav .item { + width: 100%; + } + ul.nav .item img { + display: none; + } + ul.nav .item a { + box-sizing: border-box; + padding: 1rem 2.5rem 1rem 1rem; + background: url("../../themes/icons/logout.svg") no-repeat #17181a 97% center; + display: inline-block; + width: 100%; + color: #fff; + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + } + ul.nav .item a:hover, ul.nav .item a:active { + background: url("../../themes/icons/logout.svg") no-repeat #f5633e 97% center; + text-decoration: none; + } + + .form-group .group-name { + text-align: right; + } + + .box .box-title .configure, .box .box-content .item .configure { - visibility: visible; - } - - .aside { - -webkit-transition: all 0.2s ease-in-out; - -moz-transition: all 0.2s ease-in-out; - -o-transition: all 0.2s ease-in-out; - -ms-transition: all 0.2s ease-in-out; - transition: all 0.2s ease-in-out; - } - .aside.aside_feed { - padding: 0; - } - .aside .tree .tree-folder .tree-folder-items .item a { - padding: 0.5rem 1rem; - } - - .aside .toggle_aside, + visibility: visible; + } + + .aside { + -webkit-transition: all 0.2s ease-in-out; + -moz-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + -ms-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; + } + .aside.aside_feed { + padding: 0; + } + .aside .tree .tree-folder .tree-folder-items .item a { + padding: 0.5rem 1rem; + } + + .aside .toggle_aside, #panel .close, #close-slider.active { - background: #25c; - display: block; - width: 100%; - height: 50px; - line-height: 50px; - text-align: center; - } - - .header { - padding: 0.5rem; - } - .header .item.title { - display: none; - } - .header .item.search { - display: block; - } - .header .item.search .stick { - display: flex; - } - .header .item.search input { - width: 90%; - height: 3.5rem; - } - .header .item.search input:focus { - width: 100%; - } - .header .item.search .btn { - min-height: 49px; - padding: 0.5rem 2rem; - } - .header .item.configure { - display: none; - } - - .post { - padding-right: 1rem; - padding-left: 1rem; - } - - .nav_menu .btn { - margin: 0; - padding: 0.85rem 1.25rem; - } - .nav_menu .stick { - margin: 0.5rem 0.5rem; - } - .nav_menu .stick .btn { - margin: 0; - padding: 0.85rem 1.25rem; - } - .nav_menu .stick .btn.read_all { - padding: 0.85rem 1.25rem; - } - .nav_menu .search { - display: none; - max-width: 97%; - } - .nav_menu .search .input { - max-width: 97%; - width: 90px; - } - .nav_menu .search .input:focus { - width: 400px; - } - - #stream .flux .flux_header { - padding: 0.5rem 0; - } - - .day { - text-align: center; - padding: 1rem 0; - } - .day .name { - padding: 0; - display: block; - width: 100%; - line-height: 1.5rem; - margin-bottom: 1rem; - } - - .pagination { - margin: 0 0 3.5em; - } - - #nav_entries { - line-height: 4.5rem; - } - - .notification { - border-radius: 0; - } - .notification a.close { - background: transparent; - display: block; - right: 0; - } - .notification a.close:hover { - opacity: 0.5; - } - .notification a.close .icon { - display: none; - } + background: #25c; + display: block; + width: 100%; + height: 50px; + line-height: 50px; + text-align: center; + } + + .header { + padding: 0.5rem; + } + .header .item.title { + display: none; + } + .header .item.search { + display: block; + } + .header .item.search .stick { + display: flex; + } + .header .item.search input { + width: 90%; + height: 3.5rem; + } + .header .item.search input:focus { + width: 100%; + } + .header .item.search .btn { + min-height: 49px; + padding: 0.5rem 2rem; + } + .header .item.configure { + display: none; + } + + .post { + padding-right: 1rem; + padding-left: 1rem; + } + + .nav_menu .btn { + margin: 0; + padding: 0.85rem 1.25rem; + } + .nav_menu .stick { + margin: 0.5rem 0.5rem; + } + .nav_menu .stick .btn { + margin: 0; + padding: 0.85rem 1.25rem; + } + .nav_menu .stick .btn.read_all { + padding: 0.85rem 1.25rem; + } + .nav_menu .search { + display: none; + max-width: 97%; + } + .nav_menu .search .input { + max-width: 97%; + width: 90px; + } + .nav_menu .search .input:focus { + width: 400px; + } + + #stream .flux .flux_header { + padding: 0.5rem 0; + } + + .day { + text-align: center; + padding: 1rem 0; + } + .day .name { + padding: 0; + display: block; + width: 100%; + line-height: 1.5rem; + margin-bottom: 1rem; + } + + .pagination { + margin: 0 0 3.5em; + } + + #nav_entries { + line-height: 4.5rem; + } + + .notification { + border-radius: 0; + } + .notification a.close { + background: transparent; + display: block; + right: 0; + } + .notification a.close:hover { + opacity: 0.5; + } + .notification a.close .icon { + display: none; + } } /*=== GENERAL */ /*============*/ html, body { - background: #eff0f2; - height: 100%; - font-family: "lato", "Helvetica", "Arial", sans-serif; - font-size: 0.875rem; + background: #eff0f2; + height: 100%; + font-family: "lato", "Helvetica", "Arial", sans-serif; + font-size: 0.875rem; } /*=== Links */ a, button.as-link { - outline: none; - color: #36c; + outline: none; + color: #36c; } diff --git a/p/themes/Origine-compact/origine-compact.rtl.css b/p/themes/Origine-compact/origine-compact.rtl.css index 89ddbc4a3..372e85910 100644 --- a/p/themes/Origine-compact/origine-compact.rtl.css +++ b/p/themes/Origine-compact/origine-compact.rtl.css @@ -767,7 +767,7 @@ a.btn, .prompt .stick, .prompt input { width: 100%; - box-sizing: border-box; + box-sizing: border-box; } .prompt .btn.btn-important { diff --git a/p/themes/Origine/origine.rtl.css b/p/themes/Origine/origine.rtl.css index ca343f657..7c53c3ab3 100644 --- a/p/themes/Origine/origine.rtl.css +++ b/p/themes/Origine/origine.rtl.css @@ -725,7 +725,7 @@ a.btn { .prompt .stick, .prompt input { width: 100%; - box-sizing: border-box; + box-sizing: border-box; } .prompt .btn.btn-important { diff --git a/p/themes/Pafat/pafat.rtl.css b/p/themes/Pafat/pafat.rtl.css index 4610f075e..8ed890e4d 100644 --- a/p/themes/Pafat/pafat.rtl.css +++ b/p/themes/Pafat/pafat.rtl.css @@ -732,7 +732,7 @@ a.btn { .prompt .stick, .prompt input { width: 100%; - box-sizing: border-box; + box-sizing: border-box; } .prompt .btn.btn-important { diff --git a/p/themes/Screwdriver/screwdriver.rtl.css b/p/themes/Screwdriver/screwdriver.rtl.css index b00670039..00c2a42d7 100644 --- a/p/themes/Screwdriver/screwdriver.rtl.css +++ b/p/themes/Screwdriver/screwdriver.rtl.css @@ -793,7 +793,7 @@ a.btn { .prompt input { width: 100%; box-sizing: border-box; - + } .prompt input#username,.prompt input#passwordPlain { diff --git a/p/themes/Swage/swage.css b/p/themes/Swage/swage.css index 505806109..fd554649e 100644 --- a/p/themes/Swage/swage.css +++ b/p/themes/Swage/swage.css @@ -1,1183 +1,1183 @@ input, select, textarea { - min-height: 25px; - margin-top: 4px; - line-height: 25px; - vertical-align: middle; - background: #fcfcfc; - border: none; - padding-left: 5px; + min-height: 25px; + margin-top: 4px; + line-height: 25px; + vertical-align: middle; + background: #fcfcfc; + border: none; + padding-left: 5px; } input:invalid, select:invalid { - color: #b0425b; - border-color: #b0425b; - box-shadow: none; + color: #b0425b; + border-color: #b0425b; + box-shadow: none; } .nav-list .item, .nav-list .nav-header { - height: 2.5em; - line-height: 2.5em; - font-size: 0.9rem; + height: 2.5em; + line-height: 2.5em; + font-size: 0.9rem; } .dropdown-menu > .item > a, .dropdown-menu > .item > span, .dropdown-menu > .item > .as-link, .dropdown-menu > .item button, .dropdown-menu > .item { - padding: 0 22px; - color: #fcfcfc; - font-size: 0.8rem; - line-height: 2.5em; + padding: 0 22px; + color: #fcfcfc; + font-size: 0.8rem; + line-height: 2.5em; } .flux::after, .form-group::after { - content: ""; - display: block; - clear: both; + content: ""; + display: block; + clear: both; } #nav_entries, .notification, #new-article, .aside, .header > .item.title, .stick.configure-feeds { - width: 231px; + width: 231px; } html, body { - height: 100%; - font-family: Helvetica, Arial, sans-serif; + height: 100%; + font-family: Helvetica, Arial, sans-serif; } a { - color: #00488b; - outline: none; + color: #00488b; + outline: none; } a.btn { - min-height: 25px; - line-height: 25px; - text-decoration: none; + min-height: 25px; + line-height: 25px; + text-decoration: none; } a.btn:hover { - background: #00488b; + background: #00488b; } a#btn-subscription { - width: 76%; + width: 76%; } a#btn-add { - width: 5%; + width: 5%; } img.icon:hover { - background: none; + background: none; } div#stream { - margin-top: 35px; + margin-top: 35px; } sup { - top: -0.3em; + top: -0.3em; } legend { - margin: 20px 0 5px; - padding: 5px 20px; - background: #e3e3e3; - display: inline-block; - width: auto; - font-size: 1.4em; - clear: both; + margin: 20px 0 5px; + padding: 5px 20px; + background: #e3e3e3; + display: inline-block; + width: auto; + font-size: 1.4em; + clear: both; } label { - min-height: 25px; + min-height: 25px; } textarea { - background: #e3e3e3; - width: 360px; - height: 100px; + background: #e3e3e3; + width: 360px; + height: 100px; } textarea:focus { - border-color: #00488b; + border-color: #00488b; } input:focus, select:focus { - border-color: #00488b; + border-color: #00488b; } input:disabled, select:disabled { - background: #fcfcfc; + background: #fcfcfc; } select { - background: #e3e3e3; + background: #e3e3e3; } input.extend { - transition: width 200ms linear; + transition: width 200ms linear; } option { - padding: 0 0.5em; + padding: 0 0.5em; } table { - border-collapse: collapse; + border-collapse: collapse; } tr, td, th { - padding: 0.5em; - border: 1px solid #e3e3e3; + padding: 0.5em; + border: 1px solid #e3e3e3; } th { - background: #fcfcfc; + background: #fcfcfc; } form td, form th { - font-weight: normal; - text-align: center; + font-weight: normal; + text-align: center; } .category .title.error::before { - display: inline-block; - padding-right: 7px; - width: 16px; - content: url(../Swage/icons/error.svg); + display: inline-block; + padding-right: 7px; + width: 16px; + content: url(../Swage/icons/error.svg); } .form-group { - padding: 5px; - border: 1px solid transparent; + padding: 5px; + border: 1px solid transparent; } .form-group:hover { - background: #fcfcfc; - border: 1px solid #fcfcfc; + background: #fcfcfc; + border: 1px solid #fcfcfc; } .form-group.form-actions { - margin: 15px 0 25px; - padding: 5px 0; - background: #e3e3e3; - border-top: 3px solid #e3e3e3; + margin: 15px 0 25px; + padding: 5px 0; + background: #e3e3e3; + border-top: 3px solid #e3e3e3; } .form-group.form-actions .btn { - margin: 0 10px; + margin: 0 10px; } .form-group .group-name { - padding: 10px 0; - text-align: right; + padding: 10px 0; + text-align: right; } .form-group .group-controls { - min-height: 25px; - padding: 5px 0; + min-height: 25px; + padding: 5px 0; } .form-group .group-controls .control { - line-height: 2em; + line-height: 2em; } .form-group table { - margin: 10px 0 0 220px; + margin: 10px 0 0 220px; } .stick { - vertical-align: middle; - font-size: 0; + vertical-align: middle; + font-size: 0; } .btn { - margin: 0; - padding: 5px 10px; - background: #0062be; - display: inline-block; - color: #fcfcfc; - font-size: 0.9rem; - border: none; - min-height: 35px; - min-width: 15px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; + margin: 0; + padding: 5px 10px; + background: #0062be; + display: inline-block; + color: #fcfcfc; + font-size: 0.9rem; + border: none; + min-height: 35px; + min-width: 15px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; } .btn.active, .btn :active, .btn :hover { - background: #00488b; - text-decoration: none; + background: #00488b; + text-decoration: none; } .btn-important, .btn-attention { - font-weight: normal; - background: #fa8052; - color: #fcfcfc; + font-weight: normal; + background: #fa8052; + color: #fcfcfc; } .btn-important:hover, .btn-important :active, .btn-attention:hover, .btn-attention :active { - background: #f95c20 !important; + background: #f95c20 !important; } .nav-list .nav-header { - padding: 0 10px; - font-weight: bold; - background: #22303d; - color: #fcfcfc; - cursor: default; + padding: 0 10px; + font-weight: bold; + background: #22303d; + color: #fcfcfc; + cursor: default; } .nav-list .item:hover, .nav-list .item.active { - background: #00488b; - color: #fcfcfc; + background: #00488b; + color: #fcfcfc; } .nav-list .item:hover a, .nav-list .item.active a { - color: #fcfcfc; + color: #fcfcfc; } .nav-list .item:hover.empty a, .nav-list .item:hover .error a, .nav-list .item.active.empty a, .nav-list .item.active .error a { - color: #fcfcfc; + color: #fcfcfc; } .nav-list .item:hover.empty a, .nav-list .item.active.empty a { - background: #fa8052; + background: #fa8052; } .nav-list .item:hover.error a, .nav-list .item.active.error a { - background: #c46178; + background: #c46178; } .nav-list .item > a { - padding: 0 10px; + padding: 0 10px; } .nav-list .item.empty a { - color: #fa8052; + color: #fa8052; } .nav-list .item.error a { - color: #c46178; + color: #c46178; } .nav-list .disable { - text-align: center; - background: #fcfcfc; - color: #969696; + text-align: center; + background: #fcfcfc; + color: #969696; } .nav-list .nav-form { - padding: 3px; - text-align: center; + padding: 3px; + text-align: center; } .nav-list a:hover { - text-decoration: none; + text-decoration: none; } .nav-head { - margin: 0; - text-align: right; - background: #22303d; - color: #fcfcfc; + margin: 0; + text-align: right; + background: #22303d; + color: #fcfcfc; } .nav-head a { - color: #fcfcfc; + color: #fcfcfc; } .nav-head .item { - padding: 5px 10px; - font-size: 0.9rem; - line-height: 1.5rem; + padding: 5px 10px; + font-size: 0.9rem; + line-height: 1.5rem; } .horizontal-list { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } .horizontal-list .item { - vertical-align: middle; + vertical-align: middle; } .dropdown-menu { - padding: 5px 0; - font-size: 0.8rem; - text-align: left; - border: none; - background-color: #00488b; + padding: 5px 0; + font-size: 0.8rem; + text-align: left; + border: none; + background-color: #00488b; } .dropdown-menu .dropdown-header { - cursor: default; + cursor: default; } .dropdown-menu > .item { - padding: 0; - margin-left: 10px; + padding: 0; + margin-left: 10px; } .dropdown-menu > .item > a { - min-width: initial; - white-space: nowrap; + min-width: initial; + white-space: nowrap; } .dropdown-menu > .item:hover { - background: #0062be; - color: #fcfcfc; + background: #0062be; + color: #fcfcfc; } .dropdown-menu > .item:hover > a { - text-decoration: none; - color: #fcfcfc; + text-decoration: none; + color: #fcfcfc; } .dropdown-menu > .item[aria-checked=true] > a::before { - font-weight: bold; - margin: 0 0 0 -14px; + font-weight: bold; + margin: 0 0 0 -14px; } .dropdown-menu .input select, .dropdown-menu .input input { - margin: 0 auto 5px; - padding: 2px 5px; + margin: 0 auto 5px; + padding: 2px 5px; } .dropdown-header { - padding: 0 5px 5px; - font-weight: bold; - text-align: left; - color: #fcfcfc; + padding: 0 5px 5px; + font-weight: bold; + text-align: left; + color: #fcfcfc; } .separator { - margin: 5px 0; - border-bottom: 1px solid #e3e3e3; - cursor: default; + margin: 5px 0; + border-bottom: 1px solid #e3e3e3; + cursor: default; } .alert { - margin: 5px auto; - padding: 10px 15px; - background: #fcfcfc; - color: #969696; - font-size: 0.9em; - border: none; - text-shadow: 0 0 1px #fcfcfc; + margin: 5px auto; + padding: 10px 15px; + background: #fcfcfc; + color: #969696; + font-size: 0.9em; + border: none; + text-shadow: 0 0 1px #fcfcfc; } .alert > a { - color: inherit; - text-decoration: underline; + color: inherit; + text-decoration: underline; } .alert-head { - font-size: 1.15em; + font-size: 1.15em; } .alert-warn, .alert-success, .alert-error { - border: none; + border: none; } .alert-warn { - background: #fcfcfc; - color: #fa8052; + background: #fcfcfc; + color: #fa8052; } .alert-success { - background: #fcfcfc; - color: #5eaabf; + background: #fcfcfc; + color: #5eaabf; } .alert-error { - background: #fcfcfc; - color: #b0425b; + background: #fcfcfc; + color: #b0425b; } .pagination { - background: #e3e3e3; - color: #181621; - font-size: 0.8em; - text-align: center; + background: #e3e3e3; + color: #181621; + font-size: 0.8em; + text-align: center; } .pagination .item.pager-current { - background: #22303d; - color: #e3e3e3; - font-size: 1.5em; - font-weight: bold; + background: #22303d; + color: #e3e3e3; + font-size: 1.5em; + font-weight: bold; } .pagination .item a { - display: block; - color: #181621; - font-style: italic; - line-height: 3em; - text-decoration: none; + display: block; + color: #181621; + font-style: italic; + line-height: 3em; + text-decoration: none; } .pagination .item a:hover { - background: #22303d; - color: #e3e3e3; + background: #22303d; + color: #e3e3e3; } .pagination .loading, .pagination a:hover.loading { - background: url(loader.gif) center center no-repeat #22303d; - font-size: 0; + background: url(loader.gif) center center no-repeat #22303d; + font-size: 0; } .content { - padding: 20px 10px; + padding: 20px 10px; } .content .pagination { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } .content hr { - margin: 30px 10px; - background: #e3e3e3; - height: 1px; - border: 0; - box-shadow: 0 2px 5px #e3e3e3; + margin: 30px 10px; + background: #e3e3e3; + height: 1px; + border: 0; + box-shadow: 0 2px 5px #e3e3e3; } .content pre { - margin: 10px auto; - padding: 10px 20px; - overflow: auto; - background: #181621; - color: #fcfcfc; - font-size: 0.9rem; + margin: 10px auto; + padding: 10px 20px; + overflow: auto; + background: #181621; + color: #fcfcfc; + font-size: 0.9rem; } .content pre code { - background: transparent; - color: #fcfcfc; - border: none; + background: transparent; + color: #fcfcfc; + border: none; } .content code { - padding: 2px 5px; - background: #fcfcfc; - color: #b0425b; - border: 1px solid #fcfcfc; + padding: 2px 5px; + background: #fcfcfc; + color: #b0425b; + border: 1px solid #fcfcfc; } .content blockquote { - margin: 0; - padding: 5px 20px; - background: #fcfcfc; - display: block; - color: #969696; - border-top: 1px solid #e3e3e3; - border-bottom: 1px solid #e3e3e3; + margin: 0; + padding: 5px 20px; + background: #fcfcfc; + display: block; + color: #969696; + border-top: 1px solid #e3e3e3; + border-bottom: 1px solid #e3e3e3; } .content blockquote p { - margin: 0; + margin: 0; } .content > h1.title > a { - color: #181621; + color: #181621; } .box { - border: 1px solid #e3e3e3; + border: 1px solid #e3e3e3; } .box .box-title { - margin: 0; - padding: 5px 10px; - background: #e3e3e3; - color: #969696; - border-bottom: 1px solid #e3e3e3; + margin: 0; + padding: 5px 10px; + background: #e3e3e3; + color: #969696; + border-bottom: 1px solid #e3e3e3; } .box .box-content { - max-height: 260px; + max-height: 260px; } .box .box-content .item { - padding: 0 10px; - font-size: 0.9rem; - line-height: 2.5em; + padding: 0 10px; + font-size: 0.9rem; + line-height: 2.5em; } .box .box-content .item .configure { - visibility: hidden; + visibility: hidden; } .box .box-content .item .configure .icon { - vertical-align: middle; - background-color: #e3e3e3; + vertical-align: middle; + background-color: #e3e3e3; } .box .box-content .item:hover .configure { - visibility: visible; + visibility: visible; } .box.category .box-title .title { - font-weight: normal; - text-decoration: none; - text-align: left; + font-weight: normal; + text-decoration: none; + text-align: left; } .box.category:not([data-unread="0"]) .box-title { - background: #0062be; + background: #0062be; } .box.category:not([data-unread="0"]) .box-title:active { - background: #00488b; + background: #00488b; } .box.category:not([data-unread="0"]) .box-title .title { - font-weight: bold; - color: #fcfcfc; + font-weight: bold; + color: #fcfcfc; } .box.category .title:not([data-unread="0"])::after { - background: none; - border: 0; - box-shadow: none; - position: absolute; - top: 5px; - right: 10px; - font-weight: bold; - text-shadow: none; + background: none; + border: 0; + box-shadow: none; + position: absolute; + top: 5px; + right: 10px; + font-weight: bold; + text-shadow: none; } .box.category .item.feed { - padding: 2px 10px; - font-size: 0.8rem; + padding: 2px 10px; + font-size: 0.8rem; } .tree { - margin: 10px 0; + margin: 10px 0; } .tree-folder-title { - padding: 0 10px; - background: #22303d; - height: 35px; - font-size: 1rem; - position: relative; - line-height: 2.3rem; + padding: 0 10px; + background: #22303d; + height: 35px; + font-size: 1rem; + position: relative; + line-height: 2.3rem; } .tree-folder-title .title { - background: inherit; - color: #fcfcfc; + background: inherit; + color: #fcfcfc; } .tree-folder-title .title:hover { - text-decoration: none; + text-decoration: none; } .tree-folder-items { - background: #22303d; + background: #22303d; } .tree-folder-items > .item { - padding: 0 10px; - line-height: 2.5rem; - font-size: 0.8rem; + padding: 0 10px; + line-height: 2.5rem; + font-size: 0.8rem; } .tree-folder-items > .item.active { - background: #00488b; + background: #00488b; } .tree-folder-items > .item > a { - text-decoration: none; - color: #fcfcfc; + text-decoration: none; + color: #fcfcfc; } @supports (scrollbar-width: thin) { - #sidebar { - scrollbar-color: rgba(255, 255, 255, 0.05) rgba(0, 0, 0, 0); - } + #sidebar { + scrollbar-color: rgba(255, 255, 255, 0.05) rgba(0, 0, 0, 0); + } - #sidebar:hover { - scrollbar-color: rgba(255, 255, 255, 0.3) rgba(0, 0, 0, 0); - } + #sidebar:hover { + scrollbar-color: rgba(255, 255, 255, 0.3) rgba(0, 0, 0, 0); + } } @supports not (scrollbar-width: thin) { - #sidebar::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, 0.1); - } + #sidebar::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.1); + } - #sidebar:hover::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, 0.3); - } + #sidebar:hover::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.3); + } } .header > .item { - vertical-align: middle; + vertical-align: middle; } .header > .item.title { - position: absolute; + position: absolute; } .header > .item.title h1 { - margin: 0; - display: block; + margin: 0; + display: block; } .header > .item.title h1 a { - text-decoration: none; - color: #fcfcfc; + text-decoration: none; + color: #fcfcfc; } .header > .item.title .logo { - display: inline-block; - height: 26px; - vertical-align: top; - position: relative; - top: 5px; + display: inline-block; + height: 26px; + vertical-align: top; + position: relative; + top: 5px; } .header > .item.search input { - width: 230px; + width: 230px; } .header .item.search input:focus { - width: 350px; + width: 350px; } .header .item.search { - display: none; + display: none; } .header .item.configure { - position: fixed; - right: 0px; - z-index: 1000; - width: 35px; + position: fixed; + right: 0px; + z-index: 1000; + width: 35px; } .header h1 { - text-align: center; - font-size: 1.5em; + text-align: center; + font-size: 1.5em; } .aside { - padding: 35px 0; - background: #22303d; + padding: 35px 0; + background: #22303d; } .aside.aside_feed .tree { - margin: 0 0 50px; + margin: 0 0 50px; } .aside.aside_feed .nav-form input, .aside.aside_feed .nav-form select { - width: 140px; + width: 140px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu { - right: -20px; + right: -20px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu::after { - right: 33px; + right: 33px; } .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after { - margin: 6px 0; - padding: 0 10px; - background: inherit; - font-size: 0.9rem; - position: absolute; - right: 0; - line-height: 1.5rem; + margin: 6px 0; + padding: 0 10px; + background: inherit; + font-size: 0.9rem; + position: absolute; + right: 0; + line-height: 1.5rem; } .aside_feed .tree-folder-items .dropdown-menu::after { - left: 2px; + left: 2px; } .post { - padding: 10px 50px; - font-size: 0.9em; + padding: 10px 50px; + font-size: 0.9em; } .post input { - background: #e3e3e3; + background: #e3e3e3; } .post input.long { - height: 33px; - margin-top: 0px; + height: 33px; + margin-top: 0px; } .post form { - margin: 10px 0; + margin: 10px 0; } .post.content { - max-width: 550px; + max-width: 550px; } .prompt { - text-align: center; + text-align: center; } .prompt label { - text-align: left; + text-align: left; } .prompt form { - margin: 10px auto 20px auto; - width: 200px; + margin: 10px auto 20px auto; + width: 200px; } .prompt input { - margin: 5px auto; - width: 100%; + margin: 5px auto; + width: 100%; } .prompt p { - margin: 20px 0; + margin: 20px 0; } #new-article { - background: #0062be; - font-size: 1em; - text-align: center; - position: fixed; - bottom: 48px; - z-index: 900; - left: 0; - line-height: 1.5em; + background: #0062be; + font-size: 1em; + text-align: center; + position: fixed; + bottom: 48px; + z-index: 900; + left: 0; + line-height: 1.5em; } #new-article:hover { - background: #00488b; + background: #00488b; } #new-article > a { - line-height: 1.5em; - font-weight: bold; - color: #fcfcfc; + line-height: 1.5em; + font-weight: bold; + color: #fcfcfc; } #new-article > a:hover { - text-decoration: none; + text-decoration: none; } .day { - padding: 0 10px; - font-weight: bold; - line-height: 3em; - text-align: center; + padding: 0 10px; + font-weight: bold; + line-height: 3em; + text-align: center; } .day .name { - display: none; + display: none; } .nav a { - color: #fcfcfc; + color: #fcfcfc; } .nav_menu { - width: 100%; - font-size: 0; - background-color: #0062be; - position: fixed; - z-index: 900; + width: 100%; + font-size: 0; + background-color: #0062be; + position: fixed; + z-index: 900; } .nav_menu .item.search { - display: inline-block; - position: fixed; - right: 40px; + display: inline-block; + position: fixed; + right: 40px; } .flux { - padding-right: 10px; - background: #fcfcfc; + padding-right: 10px; + background: #fcfcfc; } .flux::after { - margin: 0 auto; - width: 90%; - border-top: 1px solid #e3e3e3; + margin: 0 auto; + width: 90%; + border-top: 1px solid #e3e3e3; } .flux:hover, .flux .current { - background: #fff; + background: #fff; } .flux:hover:not(.current):hover .item.title, .flux .current:not(.current):hover .item.title { - background: #fff; + background: #fff; } .flux.favorite:not(.current) { - background: #fff6da; + background: #fff6da; } .flux.favorite:not(.current):hover .item.title { - background: #fff6da; + background: #fff6da; } .flux.not_read:not(.current) { - background: #fff3ed; + background: #fff3ed; } .flux.not_read:not(.current):hover .item.title { - background: #fff3ed; + background: #fff3ed; } .flux .item.date { - color: #969696; - font-size: 0.7rem; + color: #969696; + font-size: 0.7rem; } .flux .bottom { - font-size: 0.8rem; - text-align: center; + font-size: 0.8rem; + text-align: center; } .flux .website .favicon { - padding: 5px; + padding: 5px; } .flux label { - color: #fcfcfc; - cursor: pointer; + color: #fcfcfc; + cursor: pointer; } .flux_header { - font-size: 0.8rem; - cursor: pointer; + font-size: 0.8rem; + cursor: pointer; } .flux_header .title { - font-size: 0.9rem; + font-size: 0.9rem; } .notification { - padding: 10px 0; - background: #e3e3e3; - height: auto; - color: #969696; - font-size: 1em; - border: none; - text-align: center; - font-weight: bold; - z-index: 10; - vertical-align: middle; - position: fixed; - bottom: 48px; - left: 0; - top: auto; + padding: 10px 0; + background: #e3e3e3; + height: auto; + color: #969696; + font-size: 1em; + border: none; + text-align: center; + font-weight: bold; + z-index: 10; + vertical-align: middle; + position: fixed; + bottom: 48px; + left: 0; + top: auto; } .notification.good, .notification .bad { - color: #fcfcfc; + color: #fcfcfc; } .notification.good { - background: #5eaabf; + background: #5eaabf; } .notification.good a.close:hover { - background: #5eaabf; + background: #5eaabf; } .notification.bad { - background: #c46178; + background: #c46178; } .notification.bad a.close:hover { - background: #c46178; + background: #c46178; } .notification#actualizeProgress { - line-height: 2em; + line-height: 2em; } .notification a.close { - display: none; + display: none; } #bigMarkAsRead { - text-align: center; - text-decoration: none; - background: #e3e3e3; + text-align: center; + text-decoration: none; + background: #e3e3e3; } #bigMarkAsRead:hover { - background: #22303d; - color: #fcfcfc; + background: #22303d; + color: #fcfcfc; } #nav_entries { - margin: 0; - text-align: center; - line-height: 3em; - table-layout: fixed; - background: #22303d; + margin: 0; + text-align: center; + line-height: 3em; + table-layout: fixed; + background: #22303d; } .stat { - margin: 10px 0 20px; + margin: 10px 0 20px; } .stat th, .stat td, .stat tr { - border: none; + border: none; } .stat > table td, .stat > table th { - border-bottom: 1px solid #e3e3e3; + border-bottom: 1px solid #e3e3e3; } .stat > .horizontal-list { - margin: 0 0 5px; + margin: 0 0 5px; } .stat > .horizontal-list .item { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .stat > .horizontal-list .item:first-child { - width: 270px; + width: 270px; } .formLogin #global { - height: 0; + height: 0; } .formLogin .header { - background: #22303d; - height: 55px; + background: #22303d; + height: 55px; } .formLogin .header > .item.configure { - width: 200px; - position: unset; + width: 200px; + position: unset; } .formLogin .header > .item.title h1 { - display: unset; + display: unset; } .formLogin a.signin { - color: #fcfcfc; - padding-left: 5px; + color: #fcfcfc; + padding-left: 5px; } .formLogin input { - border-top: 1px #e3e3e3; - border-right: 1px #e3e3e3; - border-bottom: 1px #e3e3e3; - border-left: 5px solid; + border-top: 1px #e3e3e3; + border-right: 1px #e3e3e3; + border-bottom: 1px #e3e3e3; + border-left: 5px solid; } .loglist { - overflow: hidden; - border: 1px solid #969696; + overflow: hidden; + border: 1px solid #969696; } .log { - padding: 5px 2%; - background: #fcfcfc; - font-size: 0.8rem; - overflow: auto; + padding: 5px 2%; + background: #fcfcfc; + font-size: 0.8rem; + overflow: auto; } .log > .date { - margin: 0 10px 0 0; - padding: 5px 10px; + margin: 0 10px 0 0; + padding: 5px 10px; } .log.error > .date { - background: #c46178; - color: #fcfcfc; + background: #c46178; + color: #fcfcfc; } .log.warning > .date { - background: #fa8052; - color: #fcfcfc; + background: #fa8052; + color: #fcfcfc; } .log.notice > .date { - background: #e3e3e3; - color: #fcfcfc; + background: #e3e3e3; + color: #fcfcfc; } .log.debug > .date { - background: #181621; - color: #fcfcfc; + background: #181621; + color: #fcfcfc; } @media (max-width: 840px) { - .formLogin .header { - display: none; - } + .formLogin .header { + display: none; + } - .form-group .group-name { - padding-bottom: 0; - text-align: left; - } + .form-group .group-name { + padding-bottom: 0; + text-align: left; + } - .box .box-title .configure, + .box .box-title .configure, .box .box-content .item .configure { - visibility: visible; - } - - .dropdown-header, .dropdown-menu > .item { - padding: 12px; - } - - #new-article { - width: 100%; - position: sticky; - top: 0; - } - - .header { - display: table; - } - .header .item.title .logo { - display: none; - } - - .header > .item.title h1 a { - display: block; - position: absolute; - top: -35px; - left: 10px; - font-size: 0.6em; - } - - .header .item.configure, + visibility: visible; + } + + .dropdown-header, .dropdown-menu > .item { + padding: 12px; + } + + #new-article { + width: 100%; + position: sticky; + top: 0; + } + + .header { + display: table; + } + .header .item.title .logo { + display: none; + } + + .header > .item.title h1 a { + display: block; + position: absolute; + top: -35px; + left: 10px; + font-size: 0.6em; + } + + .header .item.configure, button.read_all.btn { - display: none; - } + display: none; + } - .flux .item.manage, + .flux .item.manage, .flux_header .item.website { - width: 35px; - text-align: center; - } - - .aside { - width: 0; - transition: width 200ms linear; - } - .aside .toggle_aside { - background: #22303d; - display: block; - height: 50px; - line-height: 50px; - text-align: right; - padding-right: 10px; - } - .aside.aside_feed { - padding: 0; - } - .aside.aside_feed .configure-feeds { - display: flex; - margin-top: 0; - margin-left: auto; - margin-right: auto; - } - .aside:target { - width: 78%; - z-index: 1000; - } - - .nav_menu { - position: initial; - height: 71px; - } - .nav_menu .btn { - margin: 5px 10px; - } - .nav_menu .stick { - margin: 0 10px; - } - .nav_menu .stick .btn { - margin: 5px 0; - } - .nav_menu .search { - position: absolute !important; - top: 35px; - left: 55px; - } - .nav_menu .search input { - width: 85%; - } - - .pagination { - margin: 0 0 3.5em; - } - - #panel .close { - background: #22303d; - display: block; - height: 50px; - line-height: 50px; - text-align: right; - padding-right: 10px; - } - - .day .name { - font-size: 1.1rem; - } - - .notification { - width: 100%; - } - .notification a.close { - background: transparent; - display: block; - left: 0; - } - .notification a.close:hover { - opacity: 0.5; - } - .notification a.close .icon { - display: none; - } - - #nav_entries { - width: 100% !important; - } - - .post { - padding-left: 15px; - padding-right: 15px; - } - - div#stream { - margin-top: 0px; - } - - a.btn.toggle_aside { - position: absolute; - top: 29px; - } - - form#mark-read-menu, + width: 35px; + text-align: center; + } + + .aside { + width: 0; + transition: width 200ms linear; + } + .aside .toggle_aside { + background: #22303d; + display: block; + height: 50px; + line-height: 50px; + text-align: right; + padding-right: 10px; + } + .aside.aside_feed { + padding: 0; + } + .aside.aside_feed .configure-feeds { + display: flex; + margin-top: 0; + margin-left: auto; + margin-right: auto; + } + .aside:target { + width: 78%; + z-index: 1000; + } + + .nav_menu { + position: initial; + height: 71px; + } + .nav_menu .btn { + margin: 5px 10px; + } + .nav_menu .stick { + margin: 0 10px; + } + .nav_menu .stick .btn { + margin: 5px 0; + } + .nav_menu .search { + position: absolute !important; + top: 35px; + left: 55px; + } + .nav_menu .search input { + width: 85%; + } + + .pagination { + margin: 0 0 3.5em; + } + + #panel .close { + background: #22303d; + display: block; + height: 50px; + line-height: 50px; + text-align: right; + padding-right: 10px; + } + + .day .name { + font-size: 1.1rem; + } + + .notification { + width: 100%; + } + .notification a.close { + background: transparent; + display: block; + left: 0; + } + .notification a.close:hover { + opacity: 0.5; + } + .notification a.close .icon { + display: none; + } + + #nav_entries { + width: 100% !important; + } + + .post { + padding-left: 15px; + padding-right: 15px; + } + + div#stream { + margin-top: 0px; + } + + a.btn.toggle_aside { + position: absolute; + top: 29px; + } + + form#mark-read-menu, a#actualize, a#toggle-order, div#nav_menu_actions, div#nav_menu_views { - position: absolute; - } + position: absolute; + } - form#mark-read-menu { - right: 46px; - top: 30px; - z-index: 1100; - } + form#mark-read-menu { + right: 46px; + top: 30px; + z-index: 1100; + } - a#actualize, + a#actualize, a#toggle-order { - right: 0px; - } + right: 0px; + } - a#actualize { - top: 29px; - } + a#actualize { + top: 29px; + } - a#toggle-order, + a#toggle-order, div#nav_menu_actions, div#nav_menu_views { - top: 65px; - } + top: 65px; + } - div#nav_menu_actions { - left: 0px; - } + div#nav_menu_actions { + left: 0px; + } - div#nav_menu_views { - right: 50px; - } + div#nav_menu_views { + right: 50px; + } } @media (max-width: 410px) { - .nav_menu .stick { - margin: 0; - } + .nav_menu .stick { + margin: 0; + } } @media (max-width: 374px) { - #nav_menu_views { - display: none; - } + #nav_menu_views { + display: none; + } } button.as-link { - color: #fcfcfc; - outline: none; + color: #fcfcfc; + outline: none; } .dropdown-target:target ~ .btn.dropdown-toggle { - background: #00488b; + background: #00488b; } .tree-folder.active .tree-folder-title { - background: #00488b; - font-weight: bold; + background: #00488b; + font-weight: bold; } .feed.item.empty { - color: #fa8052; + color: #fa8052; } .feed.item.empty.active { - background: #fa8052; - color: #fcfcfc; + background: #fa8052; + color: #fcfcfc; } .feed.item.empty.active > a { - color: #fcfcfc; + color: #fcfcfc; } .feed.item.empty > a { - color: #fa8052; + color: #fa8052; } .feed.item.error { - color: #c46178; + color: #c46178; } .feed.item.error.active { - background: #c46178; - color: #fcfcfc; + background: #c46178; + color: #fcfcfc; } .feed.item.error.active > a { - color: #fcfcfc; + color: #fcfcfc; } .feed.item.error > a { - color: #c46178; + color: #c46178; } #dropdown-query ~ .dropdown-menu .dropdown-header .icon { - vertical-align: middle; - float: right; + vertical-align: middle; + float: right; } #stream.reader .flux { - padding: 0 0 50px; - background: #fcfcfc; - color: #22303d; - border: none; + padding: 0 0 50px; + background: #fcfcfc; + color: #22303d; + border: none; } #stream.reader .flux .author { - margin: 0 0 10px; - color: #969696; - font-size: 90%; + margin: 0 0 10px; + color: #969696; + font-size: 90%; } #nav_menu_actions ul.dropdown-menu, #nav_menu_read_all ul.dropdown-menu { - left: 0px; + left: 0px; } #slider label { - min-height: initial; + min-height: initial; } #slider .form-group:hover { - background: inital; + background: inital; } /*# sourceMappingURL=swage.css.map */ diff --git a/p/themes/Swage/swage.rtl.css b/p/themes/Swage/swage.rtl.css index a21e32e45..90eff2af5 100644 --- a/p/themes/Swage/swage.rtl.css +++ b/p/themes/Swage/swage.rtl.css @@ -1,1181 +1,1181 @@ input, select, textarea { - min-height: 25px; - margin-top: 4px; - line-height: 25px; - vertical-align: middle; - background: #fcfcfc; - border: none; - padding-right: 5px; + min-height: 25px; + margin-top: 4px; + line-height: 25px; + vertical-align: middle; + background: #fcfcfc; + border: none; + padding-right: 5px; } input:invalid, select:invalid { - color: #b0425b; - border-color: #b0425b; - box-shadow: none; + color: #b0425b; + border-color: #b0425b; + box-shadow: none; } .nav-list .item, .nav-list .nav-header { - height: 2.5em; - line-height: 2.5em; - font-size: 0.9rem; + height: 2.5em; + line-height: 2.5em; + font-size: 0.9rem; } .dropdown-menu > .item > a, .dropdown-menu > .item > span, .dropdown-menu > .item > .as-link, .dropdown-menu > .item button, .dropdown-menu > .item { - padding: 0 22px; - color: #fcfcfc; - font-size: 0.8rem; - line-height: 2.5em; + padding: 0 22px; + color: #fcfcfc; + font-size: 0.8rem; + line-height: 2.5em; } .flux::after, .form-group::after { - content: ""; - display: block; - clear: both; + content: ""; + display: block; + clear: both; } #nav_entries, .notification, #new-article, .aside, .header > .item.title, .stick.configure-feeds { - width: 231px; + width: 231px; } html, body { - height: 100%; - font-family: Helvetica, Arial, sans-serif; + height: 100%; + font-family: Helvetica, Arial, sans-serif; } a { - color: #00488b; - outline: none; + color: #00488b; + outline: none; } a.btn { - min-height: 25px; - line-height: 25px; - text-decoration: none; + min-height: 25px; + line-height: 25px; + text-decoration: none; } a.btn:hover { - background: #00488b; + background: #00488b; } a#btn-subscription { - width: 76%; + width: 76%; } a#btn-add { - width: 5%; + width: 5%; } img.icon:hover { - background: none; + background: none; } div#stream { - margin-top: 35px; + margin-top: 35px; } sup { - top: -0.3em; + top: -0.3em; } legend { - margin: 20px 0 5px; - padding: 5px 20px; - background: #e3e3e3; - display: inline-block; - width: auto; - font-size: 1.4em; - clear: both; + margin: 20px 0 5px; + padding: 5px 20px; + background: #e3e3e3; + display: inline-block; + width: auto; + font-size: 1.4em; + clear: both; } label { - min-height: 25px; + min-height: 25px; } textarea { - background: #e3e3e3; - width: 360px; - height: 100px; + background: #e3e3e3; + width: 360px; + height: 100px; } textarea:focus { - border-color: #00488b; + border-color: #00488b; } input:focus, select:focus { - border-color: #00488b; + border-color: #00488b; } input:disabled, select:disabled { - background: #fcfcfc; + background: #fcfcfc; } select { - background: #e3e3e3; + background: #e3e3e3; } input.extend { - transition: width 200ms linear; + transition: width 200ms linear; } option { - padding: 0 0.5em; + padding: 0 0.5em; } table { - border-collapse: collapse; + border-collapse: collapse; } tr, td, th { - padding: 0.5em; - border: 1px solid #e3e3e3; + padding: 0.5em; + border: 1px solid #e3e3e3; } th { - background: #fcfcfc; + background: #fcfcfc; } form td, form th { - font-weight: normal; - text-align: center; + font-weight: normal; + text-align: center; } .category .title.error::before { - display: inline-block; - padding-left: 7px; - width: 16px; - content: url(../Swage/icons/error.svg); + display: inline-block; + padding-left: 7px; + width: 16px; + content: url(../Swage/icons/error.svg); } .form-group { - padding: 5px; - border: 1px solid transparent; + padding: 5px; + border: 1px solid transparent; } .form-group:hover { - background: #fcfcfc; - border: 1px solid #fcfcfc; + background: #fcfcfc; + border: 1px solid #fcfcfc; } .form-group.form-actions { - margin: 15px 0 25px; - padding: 5px 0; - background: #e3e3e3; - border-top: 3px solid #e3e3e3; + margin: 15px 0 25px; + padding: 5px 0; + background: #e3e3e3; + border-top: 3px solid #e3e3e3; } .form-group.form-actions .btn { - margin: 0 10px; + margin: 0 10px; } .form-group .group-name { - padding: 10px 0; - text-align: left; + padding: 10px 0; + text-align: left; } .form-group .group-controls { - min-height: 25px; - padding: 5px 0; + min-height: 25px; + padding: 5px 0; } .form-group .group-controls .control { - line-height: 2em; + line-height: 2em; } .form-group table { - margin: 10px 220px 0 0; + margin: 10px 220px 0 0; } .stick { - vertical-align: middle; - font-size: 0; + vertical-align: middle; + font-size: 0; } .btn { - margin: 0; - padding: 5px 10px; - background: #0062be; - display: inline-block; - color: #fcfcfc; - font-size: 0.9rem; - border: none; - min-height: 35px; - min-width: 15px; - vertical-align: middle; - cursor: pointer; - overflow: hidden; + margin: 0; + padding: 5px 10px; + background: #0062be; + display: inline-block; + color: #fcfcfc; + font-size: 0.9rem; + border: none; + min-height: 35px; + min-width: 15px; + vertical-align: middle; + cursor: pointer; + overflow: hidden; } .btn.active, .btn :active, .btn :hover { - background: #00488b; - text-decoration: none; + background: #00488b; + text-decoration: none; } .btn-important, .btn-attention { - font-weight: normal; - background: #fa8052; - color: #fcfcfc; + font-weight: normal; + background: #fa8052; + color: #fcfcfc; } .btn-important:hover, .btn-important :active, .btn-attention:hover, .btn-attention :active { - background: #f95c20 !important; + background: #f95c20 !important; } .nav-list .nav-header { - padding: 0 10px; - font-weight: bold; - background: #22303d; - color: #fcfcfc; - cursor: default; + padding: 0 10px; + font-weight: bold; + background: #22303d; + color: #fcfcfc; + cursor: default; } .nav-list .item:hover, .nav-list .item.active { - background: #00488b; - color: #fcfcfc; + background: #00488b; + color: #fcfcfc; } .nav-list .item:hover a, .nav-list .item.active a { - color: #fcfcfc; + color: #fcfcfc; } .nav-list .item:hover.empty a, .nav-list .item:hover .error a, .nav-list .item.active.empty a, .nav-list .item.active .error a { - color: #fcfcfc; + color: #fcfcfc; } .nav-list .item:hover.empty a, .nav-list .item.active.empty a { - background: #fa8052; + background: #fa8052; } .nav-list .item:hover.error a, .nav-list .item.active.error a { - background: #c46178; + background: #c46178; } .nav-list .item > a { - padding: 0 10px; + padding: 0 10px; } .nav-list .item.empty a { - color: #fa8052; + color: #fa8052; } .nav-list .item.error a { - color: #c46178; + color: #c46178; } .nav-list .disable { - text-align: center; - background: #fcfcfc; - color: #969696; + text-align: center; + background: #fcfcfc; + color: #969696; } .nav-list .nav-form { - padding: 3px; - text-align: center; + padding: 3px; + text-align: center; } .nav-list a:hover { - text-decoration: none; + text-decoration: none; } .nav-head { - margin: 0; - text-align: left; - background: #22303d; - color: #fcfcfc; + margin: 0; + text-align: left; + background: #22303d; + color: #fcfcfc; } .nav-head a { - color: #fcfcfc; + color: #fcfcfc; } .nav-head .item { - padding: 5px 10px; - font-size: 0.9rem; - line-height: 1.5rem; + padding: 5px 10px; + font-size: 0.9rem; + line-height: 1.5rem; } .horizontal-list { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } .horizontal-list .item { - vertical-align: middle; + vertical-align: middle; } .dropdown-menu { - padding: 5px 0; - font-size: 0.8rem; - text-align: right; - border: none; - background-color: #00488b; + padding: 5px 0; + font-size: 0.8rem; + text-align: right; + border: none; + background-color: #00488b; } .dropdown-menu .dropdown-header { - cursor: default; + cursor: default; } .dropdown-menu > .item { - padding: 0; - margin-right: 10px; + padding: 0; + margin-right: 10px; } .dropdown-menu > .item > a { - min-width: initial; - white-space: nowrap; + min-width: initial; + white-space: nowrap; } .dropdown-menu > .item:hover { - background: #0062be; - color: #fcfcfc; + background: #0062be; + color: #fcfcfc; } .dropdown-menu > .item:hover > a { - text-decoration: none; - color: #fcfcfc; + text-decoration: none; + color: #fcfcfc; } .dropdown-menu > .item[aria-checked=true] > a::before { - font-weight: bold; - margin: 0 -14px 0 0; + font-weight: bold; + margin: 0 -14px 0 0; } .dropdown-menu .input select, .dropdown-menu .input input { - margin: 0 auto 5px; - padding: 2px 5px; + margin: 0 auto 5px; + padding: 2px 5px; } .dropdown-header { - padding: 0 5px 5px; - font-weight: bold; - text-align: right; - color: #fcfcfc; + padding: 0 5px 5px; + font-weight: bold; + text-align: right; + color: #fcfcfc; } .separator { - margin: 5px 0; - border-bottom: 1px solid #e3e3e3; - cursor: default; + margin: 5px 0; + border-bottom: 1px solid #e3e3e3; + cursor: default; } .alert { - margin: 5px auto; - padding: 10px 15px; - background: #fcfcfc; - color: #969696; - font-size: 0.9em; - border: none; - text-shadow: 0 0 1px #fcfcfc; + margin: 5px auto; + padding: 10px 15px; + background: #fcfcfc; + color: #969696; + font-size: 0.9em; + border: none; + text-shadow: 0 0 1px #fcfcfc; } .alert > a { - color: inherit; - text-decoration: underline; + color: inherit; + text-decoration: underline; } .alert-head { - font-size: 1.15em; + font-size: 1.15em; } .alert-warn, .alert-success, .alert-error { - border: none; + border: none; } .alert-warn { - background: #fcfcfc; - color: #fa8052; + background: #fcfcfc; + color: #fa8052; } .alert-success { - background: #fcfcfc; - color: #5eaabf; + background: #fcfcfc; + color: #5eaabf; } .alert-error { - background: #fcfcfc; - color: #b0425b; + background: #fcfcfc; + color: #b0425b; } .pagination { - background: #e3e3e3; - color: #181621; - font-size: 0.8em; - text-align: center; + background: #e3e3e3; + color: #181621; + font-size: 0.8em; + text-align: center; } .pagination .item.pager-current { - background: #22303d; - color: #e3e3e3; - font-size: 1.5em; - font-weight: bold; + background: #22303d; + color: #e3e3e3; + font-size: 1.5em; + font-weight: bold; } .pagination .item a { - display: block; - color: #181621; - font-style: italic; - line-height: 3em; - text-decoration: none; + display: block; + color: #181621; + font-style: italic; + line-height: 3em; + text-decoration: none; } .pagination .item a:hover { - background: #22303d; - color: #e3e3e3; + background: #22303d; + color: #e3e3e3; } .pagination .loading, .pagination a:hover.loading { - background: url(loader.gif) center center no-repeat #22303d; - font-size: 0; + background: url(loader.gif) center center no-repeat #22303d; + font-size: 0; } .content { - padding: 20px 10px; + padding: 20px 10px; } .content .pagination { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } .content hr { - margin: 30px 10px; - background: #e3e3e3; - height: 1px; - border: 0; - box-shadow: 0 2px 5px #e3e3e3; + margin: 30px 10px; + background: #e3e3e3; + height: 1px; + border: 0; + box-shadow: 0 2px 5px #e3e3e3; } .content pre { - margin: 10px auto; - padding: 10px 20px; - overflow: auto; - background: #181621; - color: #fcfcfc; - font-size: 0.9rem; + margin: 10px auto; + padding: 10px 20px; + overflow: auto; + background: #181621; + color: #fcfcfc; + font-size: 0.9rem; } .content pre code { - background: transparent; - color: #fcfcfc; - border: none; + background: transparent; + color: #fcfcfc; + border: none; } .content code { - padding: 2px 5px; - background: #fcfcfc; - color: #b0425b; - border: 1px solid #fcfcfc; + padding: 2px 5px; + background: #fcfcfc; + color: #b0425b; + border: 1px solid #fcfcfc; } .content blockquote { - margin: 0; - padding: 5px 20px; - background: #fcfcfc; - display: block; - color: #969696; - border-top: 1px solid #e3e3e3; - border-bottom: 1px solid #e3e3e3; + margin: 0; + padding: 5px 20px; + background: #fcfcfc; + display: block; + color: #969696; + border-top: 1px solid #e3e3e3; + border-bottom: 1px solid #e3e3e3; } .content blockquote p { - margin: 0; + margin: 0; } .content > h1.title > a { - color: #181621; + color: #181621; } .box { - border: 1px solid #e3e3e3; + border: 1px solid #e3e3e3; } .box .box-title { - margin: 0; - padding: 5px 10px; - background: #e3e3e3; - color: #969696; - border-bottom: 1px solid #e3e3e3; + margin: 0; + padding: 5px 10px; + background: #e3e3e3; + color: #969696; + border-bottom: 1px solid #e3e3e3; } .box .box-content { - max-height: 260px; + max-height: 260px; } .box .box-content .item { - padding: 0 10px; - font-size: 0.9rem; - line-height: 2.5em; + padding: 0 10px; + font-size: 0.9rem; + line-height: 2.5em; } .box .box-content .item .configure { - visibility: hidden; + visibility: hidden; } .box .box-content .item .configure .icon { - vertical-align: middle; - background-color: #e3e3e3; + vertical-align: middle; + background-color: #e3e3e3; } .box .box-content .item:hover .configure { - visibility: visible; + visibility: visible; } .box.category .box-title .title { - font-weight: normal; - text-decoration: none; - text-align: right; + font-weight: normal; + text-decoration: none; + text-align: right; } .box.category:not([data-unread="0"]) .box-title { - background: #0062be; + background: #0062be; } .box.category:not([data-unread="0"]) .box-title:active { - background: #00488b; + background: #00488b; } .box.category:not([data-unread="0"]) .box-title .title { - font-weight: bold; - color: #fcfcfc; + font-weight: bold; + color: #fcfcfc; } .box.category .title:not([data-unread="0"])::after { - background: none; - border: 0; - box-shadow: none; - position: absolute; - top: 5px; - left: 10px; - font-weight: bold; - text-shadow: none; + background: none; + border: 0; + box-shadow: none; + position: absolute; + top: 5px; + left: 10px; + font-weight: bold; + text-shadow: none; } .box.category .item.feed { - padding: 2px 10px; - font-size: 0.8rem; + padding: 2px 10px; + font-size: 0.8rem; } .tree { - margin: 10px 0; + margin: 10px 0; } .tree-folder-title { - padding: 0 10px; - background: #22303d; - height: 35px; - font-size: 1rem; - position: relative; - line-height: 2.3rem; + padding: 0 10px; + background: #22303d; + height: 35px; + font-size: 1rem; + position: relative; + line-height: 2.3rem; } .tree-folder-title .title { - background: inherit; - color: #fcfcfc; + background: inherit; + color: #fcfcfc; } .tree-folder-title .title:hover { - text-decoration: none; + text-decoration: none; } .tree-folder-items { - background: #22303d; + background: #22303d; } .tree-folder-items > .item { - padding: 0 10px; - line-height: 2.5rem; - font-size: 0.8rem; + padding: 0 10px; + line-height: 2.5rem; + font-size: 0.8rem; } .tree-folder-items > .item.active { - background: #00488b; + background: #00488b; } .tree-folder-items > .item > a { - text-decoration: none; - color: #fcfcfc; + text-decoration: none; + color: #fcfcfc; } @supports (scrollbar-width: thin) { - #sidebar { - scrollbar-color: rgba(255, 255, 255, 0.05) rgba(0, 0, 0, 0); - } + #sidebar { + scrollbar-color: rgba(255, 255, 255, 0.05) rgba(0, 0, 0, 0); + } - #sidebar:hover { - scrollbar-color: rgba(255, 255, 255, 0.3) rgba(0, 0, 0, 0); - } + #sidebar:hover { + scrollbar-color: rgba(255, 255, 255, 0.3) rgba(0, 0, 0, 0); + } } @supports not (scrollbar-width: thin) { - #sidebar::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, 0.1); - } + #sidebar::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.1); + } - #sidebar:hover::-webkit-scrollbar-thumb { - background: rgba(255, 255, 255, 0.3); - } + #sidebar:hover::-webkit-scrollbar-thumb { + background: rgba(255, 255, 255, 0.3); + } } .header > .item { - vertical-align: middle; + vertical-align: middle; } .header > .item.title { - position: absolute; + position: absolute; } .header > .item.title h1 { - margin: 0; - display: block; + margin: 0; + display: block; } .header > .item.title h1 a { - text-decoration: none; - color: #fcfcfc; + text-decoration: none; + color: #fcfcfc; } .header > .item.title .logo { - display: inline-block; - height: 26px; - vertical-align: top; - position: relative; - top: 5px; + display: inline-block; + height: 26px; + vertical-align: top; + position: relative; + top: 5px; } .header > .item.search input { - width: 230px; + width: 230px; } .header .item.search input:focus { - width: 350px; + width: 350px; } .header .item.search { - display: none; + display: none; } .header .item.configure { - position: fixed; - left: 0px; - z-index: 1000; - width: 35px; + position: fixed; + left: 0px; + z-index: 1000; + width: 35px; } .header h1 { - text-align: center; - font-size: 1.5em; + text-align: center; + font-size: 1.5em; } .aside { - padding: 35px 0; - background: #22303d; + padding: 35px 0; + background: #22303d; } .aside.aside_feed .tree { - margin: 0 0 50px; + margin: 0 0 50px; } .aside.aside_feed .nav-form input, .aside.aside_feed .nav-form select { - width: 140px; + width: 140px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu { - left: -20px; + left: -20px; } .aside.aside_feed .nav-form .dropdown .dropdown-menu::after { - left: 33px; + left: 33px; } .aside_feed .tree-folder-title > .title:not([data-unread="0"])::after { - margin: 6px 0; - padding: 0 10px; - background: inherit; - font-size: 0.9rem; - position: absolute; - left: 0; - line-height: 1.5rem; + margin: 6px 0; + padding: 0 10px; + background: inherit; + font-size: 0.9rem; + position: absolute; + left: 0; + line-height: 1.5rem; } .aside_feed .tree-folder-items .dropdown-menu::after { - right: 2px; + right: 2px; } .post { - padding: 10px 50px; - font-size: 0.9em; + padding: 10px 50px; + font-size: 0.9em; } .post input { - background: #e3e3e3; + background: #e3e3e3; } .post input.long { - height: 33px; - margin-top: 0px; + height: 33px; + margin-top: 0px; } .post form { - margin: 10px 0; + margin: 10px 0; } .post.content { - max-width: 550px; + max-width: 550px; } .prompt { - text-align: center; + text-align: center; } .prompt label { - text-align: right; + text-align: right; } .prompt form { - margin: 10px auto 20px auto; - width: 200px; + margin: 10px auto 20px auto; + width: 200px; } .prompt input { - margin: 5px auto; - width: 100%; + margin: 5px auto; + width: 100%; } .prompt p { - margin: 20px 0; + margin: 20px 0; } #new-article { - background: #0062be; - font-size: 1em; - text-align: center; - position: fixed; - bottom: 48px; - z-index: 900; - right: 0; - line-height: 1.5em; + background: #0062be; + font-size: 1em; + text-align: center; + position: fixed; + bottom: 48px; + z-index: 900; + right: 0; + line-height: 1.5em; } #new-article:hover { - background: #00488b; + background: #00488b; } #new-article > a { - line-height: 1.5em; - font-weight: bold; - color: #fcfcfc; + line-height: 1.5em; + font-weight: bold; + color: #fcfcfc; } #new-article > a:hover { - text-decoration: none; + text-decoration: none; } .day { - padding: 0 10px; - font-weight: bold; - line-height: 3em; - text-align: center; + padding: 0 10px; + font-weight: bold; + line-height: 3em; + text-align: center; } .day .name { - display: none; + display: none; } .nav a { - color: #fcfcfc; + color: #fcfcfc; } .nav_menu { - width: 100%; - font-size: 0; - background-color: #0062be; - position: fixed; - z-index: 900; + width: 100%; + font-size: 0; + background-color: #0062be; + position: fixed; + z-index: 900; } .nav_menu .item.search { - display: inline-block; - position: fixed; - left: 40px; + display: inline-block; + position: fixed; + left: 40px; } .flux { - padding-left: 10px; - background: #fcfcfc; + padding-left: 10px; + background: #fcfcfc; } .flux::after { - margin: 0 auto; - width: 90%; - border-top: 1px solid #e3e3e3; + margin: 0 auto; + width: 90%; + border-top: 1px solid #e3e3e3; } .flux:hover, .flux .current { - background: #fff; + background: #fff; } .flux:hover:not(.current):hover .item.title, .flux .current:not(.current):hover .item.title { - background: #fff; + background: #fff; } .flux.favorite:not(.current) { - background: #fff6da; + background: #fff6da; } .flux.favorite:not(.current):hover .item.title { - background: #fff6da; + background: #fff6da; } .flux.not_read:not(.current) { - background: #fff3ed; + background: #fff3ed; } .flux.not_read:not(.current):hover .item.title { - background: #fff3ed; + background: #fff3ed; } .flux .item.date { - color: #969696; - font-size: 0.7rem; + color: #969696; + font-size: 0.7rem; } .flux .bottom { - font-size: 0.8rem; - text-align: center; + font-size: 0.8rem; + text-align: center; } .flux .website .favicon { - padding: 5px; + padding: 5px; } .flux label { - color: #fcfcfc; - cursor: pointer; + color: #fcfcfc; + cursor: pointer; } .flux_header { - font-size: 0.8rem; - cursor: pointer; + font-size: 0.8rem; + cursor: pointer; } .flux_header .title { - font-size: 0.9rem; + font-size: 0.9rem; } .notification { - padding: 10px 0; - background: #e3e3e3; - height: auto; - color: #969696; - font-size: 1em; - border: none; - text-align: center; - font-weight: bold; - z-index: 10; - vertical-align: middle; - position: fixed; - bottom: 48px; - right: 0; - top: auto; + padding: 10px 0; + background: #e3e3e3; + height: auto; + color: #969696; + font-size: 1em; + border: none; + text-align: center; + font-weight: bold; + z-index: 10; + vertical-align: middle; + position: fixed; + bottom: 48px; + right: 0; + top: auto; } .notification.good, .notification .bad { - color: #fcfcfc; + color: #fcfcfc; } .notification.good { - background: #5eaabf; + background: #5eaabf; } .notification.good a.close:hover { - background: #5eaabf; + background: #5eaabf; } .notification.bad { - background: #c46178; + background: #c46178; } .notification.bad a.close:hover { - background: #c46178; + background: #c46178; } .notification#actualizeProgress { - line-height: 2em; + line-height: 2em; } .notification a.close { - display: none; + display: none; } #bigMarkAsRead { - text-align: center; - text-decoration: none; - background: #e3e3e3; + text-align: center; + text-decoration: none; + background: #e3e3e3; } #bigMarkAsRead:hover { - background: #22303d; - color: #fcfcfc; + background: #22303d; + color: #fcfcfc; } #nav_entries { - margin: 0; - text-align: center; - line-height: 3em; - table-layout: fixed; - background: #22303d; + margin: 0; + text-align: center; + line-height: 3em; + table-layout: fixed; + background: #22303d; } .stat { - margin: 10px 0 20px; + margin: 10px 0 20px; } .stat th, .stat td, .stat tr { - border: none; + border: none; } .stat > table td, .stat > table th { - border-bottom: 1px solid #e3e3e3; + border-bottom: 1px solid #e3e3e3; } .stat > .horizontal-list { - margin: 0 0 5px; + margin: 0 0 5px; } .stat > .horizontal-list .item { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .stat > .horizontal-list .item:first-child { - width: 270px; + width: 270px; } .formLogin #global { - height: 0; + height: 0; } .formLogin .header { - background: #22303d; - height: 55px; + background: #22303d; + height: 55px; } .formLogin .header > .item.configure { - width: 200px; - position: unset; + width: 200px; + position: unset; } .formLogin .header > .item.title h1 { - display: unset; + display: unset; } .formLogin a.signin { - color: #fcfcfc; - padding-right: 5px; + color: #fcfcfc; + padding-right: 5px; } .formLogin input { - border-top: 1px #e3e3e3; - border-left: 1px #e3e3e3; - border-bottom: 1px #e3e3e3; - border-right: 5px solid; + border-top: 1px #e3e3e3; + border-left: 1px #e3e3e3; + border-bottom: 1px #e3e3e3; + border-right: 5px solid; } .loglist { - overflow: hidden; - border: 1px solid #969696; + overflow: hidden; + border: 1px solid #969696; } .log { - padding: 5px 2%; - background: #fcfcfc; - font-size: 0.8rem; - overflow: auto; + padding: 5px 2%; + background: #fcfcfc; + font-size: 0.8rem; + overflow: auto; } .log > .date { - margin: 0 0 0 10px; - padding: 5px 10px; + margin: 0 0 0 10px; + padding: 5px 10px; } .log.error > .date { - background: #c46178; - color: #fcfcfc; + background: #c46178; + color: #fcfcfc; } .log.warning > .date { - background: #fa8052; - color: #fcfcfc; + background: #fa8052; + color: #fcfcfc; } .log.notice > .date { - background: #e3e3e3; - color: #fcfcfc; + background: #e3e3e3; + color: #fcfcfc; } .log.debug > .date { - background: #181621; - color: #fcfcfc; + background: #181621; + color: #fcfcfc; } @media (max-width: 840px) { - .formLogin .header { - display: none; - } + .formLogin .header { + display: none; + } - .form-group .group-name { - padding-bottom: 0; - text-align: right; - } + .form-group .group-name { + padding-bottom: 0; + text-align: right; + } - .box .box-title .configure, + .box .box-title .configure, .box .box-content .item .configure { - visibility: visible; - } - - .dropdown-header, .dropdown-menu > .item { - padding: 12px; - } - - #new-article { - width: 100%; - position: sticky; - top: 0; - } - - .header { - display: table; - } - .header .item.title .logo { - display: none; - } - - .header > .item.title h1 a { - display: block; - position: absolute; - top: -35px; - right: 10px; - font-size: 0.6em; - } - - .header .item.configure, + visibility: visible; + } + + .dropdown-header, .dropdown-menu > .item { + padding: 12px; + } + + #new-article { + width: 100%; + position: sticky; + top: 0; + } + + .header { + display: table; + } + .header .item.title .logo { + display: none; + } + + .header > .item.title h1 a { + display: block; + position: absolute; + top: -35px; + right: 10px; + font-size: 0.6em; + } + + .header .item.configure, button.read_all.btn { - display: none; - } + display: none; + } - .flux .item.manage, + .flux .item.manage, .flux_header .item.website { - width: 35px; - text-align: center; - } - - .aside { - width: 0; - transition: width 200ms linear; - } - .aside .toggle_aside { - background: #22303d; - display: block; - height: 50px; - line-height: 50px; - text-align: left; - padding-left: 10px; - } - .aside.aside_feed { - padding: 0; - } - .aside.aside_feed .configure-feeds { - display: flex; - margin-top: 0; - margin-right: auto; - margin-left: auto; - } - .aside:target { - width: 78%; - z-index: 1000; - } - - .nav_menu { - position: initial; - height: 71px; - } - .nav_menu .btn { - margin: 5px 10px; - } - .nav_menu .stick { - margin: 0 10px; - } - .nav_menu .stick .btn { - margin: 5px 0; - } - .nav_menu .search { - position: absolute !important; - top: 35px; - right: 55px; - } - .nav_menu .search input { - width: 85%; - } - - .pagination { - margin: 0 0 3.5em; - } - - #panel .close { - background: #22303d; - display: block; - height: 50px; - line-height: 50px; - text-align: left; - padding-left: 10px; - } - - .day .name { - font-size: 1.1rem; - } - - .notification { - width: 100%; - } - .notification a.close { - background: transparent; - display: block; - right: 0; - } - .notification a.close:hover { - opacity: 0.5; - } - .notification a.close .icon { - display: none; - } - - #nav_entries { - width: 100% !important; - } - - .post { - padding-right: 15px; - padding-left: 15px; - } - - div#stream { - margin-top: 0px; - } - - a.btn.toggle_aside { - position: absolute; - top: 29px; - } - - form#mark-read-menu, + width: 35px; + text-align: center; + } + + .aside { + width: 0; + transition: width 200ms linear; + } + .aside .toggle_aside { + background: #22303d; + display: block; + height: 50px; + line-height: 50px; + text-align: left; + padding-left: 10px; + } + .aside.aside_feed { + padding: 0; + } + .aside.aside_feed .configure-feeds { + display: flex; + margin-top: 0; + margin-right: auto; + margin-left: auto; + } + .aside:target { + width: 78%; + z-index: 1000; + } + + .nav_menu { + position: initial; + height: 71px; + } + .nav_menu .btn { + margin: 5px 10px; + } + .nav_menu .stick { + margin: 0 10px; + } + .nav_menu .stick .btn { + margin: 5px 0; + } + .nav_menu .search { + position: absolute !important; + top: 35px; + right: 55px; + } + .nav_menu .search input { + width: 85%; + } + + .pagination { + margin: 0 0 3.5em; + } + + #panel .close { + background: #22303d; + display: block; + height: 50px; + line-height: 50px; + text-align: left; + padding-left: 10px; + } + + .day .name { + font-size: 1.1rem; + } + + .notification { + width: 100%; + } + .notification a.close { + background: transparent; + display: block; + right: 0; + } + .notification a.close:hover { + opacity: 0.5; + } + .notification a.close .icon { + display: none; + } + + #nav_entries { + width: 100% !important; + } + + .post { + padding-right: 15px; + padding-left: 15px; + } + + div#stream { + margin-top: 0px; + } + + a.btn.toggle_aside { + position: absolute; + top: 29px; + } + + form#mark-read-menu, a#actualize, a#toggle-order, div#nav_menu_actions, div#nav_menu_views { - position: absolute; - } + position: absolute; + } - form#mark-read-menu { - left: 46px; - top: 30px; - z-index: 1100; - } + form#mark-read-menu { + left: 46px; + top: 30px; + z-index: 1100; + } - a#actualize, + a#actualize, a#toggle-order { - left: 0px; - } + left: 0px; + } - a#actualize { - top: 29px; - } + a#actualize { + top: 29px; + } - a#toggle-order, + a#toggle-order, div#nav_menu_actions, div#nav_menu_views { - top: 65px; - } + top: 65px; + } - div#nav_menu_actions { - right: 0px; - } + div#nav_menu_actions { + right: 0px; + } - div#nav_menu_views { - left: 50px; - } + div#nav_menu_views { + left: 50px; + } } @media (max-width: 410px) { - .nav_menu .stick { - margin: 0; - } + .nav_menu .stick { + margin: 0; + } } @media (max-width: 374px) { - #nav_menu_views { - display: none; - } + #nav_menu_views { + display: none; + } } button.as-link { - color: #fcfcfc; - outline: none; + color: #fcfcfc; + outline: none; } .dropdown-target:target ~ .btn.dropdown-toggle { - background: #00488b; + background: #00488b; } .tree-folder.active .tree-folder-title { - background: #00488b; - font-weight: bold; + background: #00488b; + font-weight: bold; } .feed.item.empty { - color: #fa8052; + color: #fa8052; } .feed.item.empty.active { - background: #fa8052; - color: #fcfcfc; + background: #fa8052; + color: #fcfcfc; } .feed.item.empty.active > a { - color: #fcfcfc; + color: #fcfcfc; } .feed.item.empty > a { - color: #fa8052; + color: #fa8052; } .feed.item.error { - color: #c46178; + color: #c46178; } .feed.item.error.active { - background: #c46178; - color: #fcfcfc; + background: #c46178; + color: #fcfcfc; } .feed.item.error.active > a { - color: #fcfcfc; + color: #fcfcfc; } .feed.item.error > a { - color: #c46178; + color: #c46178; } #dropdown-query ~ .dropdown-menu .dropdown-header .icon { - vertical-align: middle; - float: left; + vertical-align: middle; + float: left; } #stream.reader .flux { - padding: 0 0 50px; - background: #fcfcfc; - color: #22303d; - border: none; + padding: 0 0 50px; + background: #fcfcfc; + color: #22303d; + border: none; } #stream.reader .flux .author { - margin: 0 0 10px; - color: #969696; - font-size: 90%; + margin: 0 0 10px; + color: #969696; + font-size: 90%; } #nav_menu_actions ul.dropdown-menu, #nav_menu_read_all ul.dropdown-menu { - right: 0px; + right: 0px; } #slider label { - min-height: initial; + min-height: initial; } #slider .form-group:hover { - background: inital; + background: inital; } @@ -1,15 +1,17 @@ <?xml version="1.0" encoding="UTF-8"?> <ruleset name="FreshRSS Ruleset"> <description>Created with the PHP Coding Standard Generator. https://edorian.github.com/php-coding-standard-generator/</description> - <!-- to circumvent https://github.com/squizlabs/PHP_CodeSniffer/pull/1404 --> - <arg name="tab-width" value="40"/> + <arg name="extensions" value="php,phtml,css,js"/> + <arg name="tab-width" value="4"/> <exclude-pattern>./lib/SimplePie/</exclude-pattern> <exclude-pattern>./lib/PHPMailer/</exclude-pattern> <exclude-pattern>./lib/http-conditional.php</exclude-pattern> <exclude-pattern>./lib/lib_phpQuery.php</exclude-pattern> + <exclude-pattern>./node_modules/</exclude-pattern> <exclude-pattern>./data/config.php</exclude-pattern> <exclude-pattern>./data/users/*/config.php</exclude-pattern> <exclude-pattern>./extensions/</exclude-pattern> + <exclude-pattern>*.min.js$</exclude-pattern> <!-- Duplicate class names are not allowed --> <rule ref="Generic.Classes.DuplicateClassName"/> <!-- Statements must not be empty --> @@ -20,19 +22,15 @@ <rule ref="Generic.CodeAnalysis.UnnecessaryFinalModifier"/> <!-- Do not override methods to call their parent --> <rule ref="Generic.CodeAnalysis.UselessOverridingMethod"/> - <!-- One line should not have more than 80 characters --> - <!-- One line must never exceed 120 characters --> + <!-- Maximum line length --> <rule ref="Generic.Files.LineLength"> <!-- For language strings maximum line lengths make little sense. --> <exclude-pattern>./app/i18n/</exclude-pattern> <!-- Don't enforce line length on the HTML; the point is to improve legibility, not reduce it --> - <exclude-pattern>./app/install.php</exclude-pattern> - <!-- @todo remove test exclusion --> - <exclude-pattern>./tests/app/</exclude-pattern> + <exclude-pattern>*.phtml$</exclude-pattern> <properties> - <property name="lineLimit" value="100"/> - <!-- needs to be large to accomodate extra large tab width to circumvent https://github.com/squizlabs/PHP_CodeSniffer/pull/1404 --> - <property name="absoluteLineLimit" value="500"/> + <property name="lineLimit" value="165"/> + <property name="absoluteLineLimit" value="190"/> </properties> </rule> <!-- When calling a function: --> @@ -92,9 +90,26 @@ <!-- Do not add spaces when casting --> <rule ref="Squiz.WhiteSpace.CastSpacing"/> <!-- Operators must have a space around them --> - <rule ref="Squiz.WhiteSpace.OperatorSpacing"/> + <rule ref="Squiz.WhiteSpace.OperatorSpacing"> + <properties> + <property name="ignoreNewlines" value="true" /> + </properties> + </rule> <!-- Do not add a whitespace before a semicolon --> <rule ref="Squiz.WhiteSpace.SemicolonSpacing"/> <!-- Do not add whitespace at start or end of a file or end of a line --> <rule ref="Squiz.WhiteSpace.SuperfluousWhitespace"/> + <!-- Expected space after closing parenthesis --> + <rule ref="Squiz.ControlStructures.ControlSignature.SpaceAfterCloseParenthesis"> + <exclude-pattern>.phtml$</exclude-pattern> + </rule> + <!-- Newline required after opening brace --> + <rule ref="Squiz.ControlStructures.ControlSignature.NewlineAfterOpenBrace"> + <exclude-pattern>.phtml$</exclude-pattern> + <exclude-pattern>.js$</exclude-pattern> + </rule> + <!-- No PHP code was found in this file --> + <rule ref="Internal.NoCodeFound"> + <exclude-pattern>.phtml$</exclude-pattern> + </rule> </ruleset> diff --git a/tests/app/Models/CategoryTest.php b/tests/app/Models/CategoryTest.php index 840c718ce..e4a921baa 100644 --- a/tests/app/Models/CategoryTest.php +++ b/tests/app/Models/CategoryTest.php @@ -25,7 +25,8 @@ class CategoryTest extends PHPUnit\Framework\TestCase { array(' this string needs trimming on left', 'this string needs trimming on left'), array('this string needs trimming on right ', 'this string needs trimming on right'), array(' this string needs trimming on both ends ', 'this string needs trimming on both ends'), - array(str_repeat('This string needs to be shortened because its length is way too long. ', 4), str_repeat('This string needs to be shortened because its length is way too long. ', 3) . 'This string needs to be shortened because its'), + array(str_repeat('This string needs to be shortened because its length is way too long. ', 4), + str_repeat('This string needs to be shortened because its length is way too long. ', 3) . 'This string needs to be shortened because its'), ); } diff --git a/tests/app/Models/SearchTest.php b/tests/app/Models/SearchTest.php index 357f91acd..2efdffda9 100644 --- a/tests/app/Models/SearchTest.php +++ b/tests/app/Models/SearchTest.php @@ -228,7 +228,8 @@ class SearchTest extends PHPUnit\Framework\TestCase { * @param array $tags_value * @param string|null $search_value */ - public function test__construct_whenInputContainsMultipleKeywords_setsValues($input, $author_value, $min_date_value, $max_date_value, $intitle_value, $inurl_value, $min_pubdate_value, $max_pubdate_value, $tags_value, $search_value) { + public function test__construct_whenInputContainsMultipleKeywords_setsValues($input, $author_value, $min_date_value, + $max_date_value, $intitle_value, $inurl_value, $min_pubdate_value, $max_pubdate_value, $tags_value, $search_value) { $search = new FreshRSS_Search($input); $this->assertEquals($author_value, $search->getAuthor()); $this->assertEquals($min_date_value, $search->getMinDate()); |
