Просмотр исходного кода

Merge branch 'master' into dev

Paulius Šukys 8 лет назад
Родитель
Сommit
e98b510cbb

+ 1 - 0
app/Controllers/configureController.php

@@ -109,6 +109,7 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
 			FreshRSS_Context::$user_conf->hide_read_feeds = Minz_Request::param('hide_read_feeds', false);
 			FreshRSS_Context::$user_conf->onread_jump_next = Minz_Request::param('onread_jump_next', false);
 			FreshRSS_Context::$user_conf->lazyload = Minz_Request::param('lazyload', false);
+			FreshRSS_Context::$user_conf->sides_close_article = Minz_Request::param('sides_close_article', false);
 			FreshRSS_Context::$user_conf->sticky_post = Minz_Request::param('sticky_post', false);
 			FreshRSS_Context::$user_conf->reading_confirm = Minz_Request::param('reading_confirm', false);
 			FreshRSS_Context::$user_conf->auto_remove_article = Minz_Request::param('auto_remove_article', false);

+ 4 - 0
app/Models/ConfigurationSetter.php

@@ -197,6 +197,10 @@ class FreshRSS_ConfigurationSetter {
 		$data['hide_read_feeds'] = $this->handleBool($value);
 	}
 
+	private function _sides_close_article(&$data, $value) {
+		$data['sides_close_article'] = $this->handleBool($value);
+	}
+
 	private function _lazyload(&$data, $value) {
 		$data['lazyload'] = $this->handleBool($value);
 	}

+ 1 - 0
app/i18n/en/conf.php

@@ -93,6 +93,7 @@ return array(
 		'display_categories_unfolded' => 'Show categories folded by default',
 		'hide_read_feeds' => 'Hide categories & feeds with no unread articles (does not work with “Show all articles” configuration)',
 		'img_with_lazyload' => 'Use "lazy load" mode to load pictures',
+		'sides_close_article' => 'Clicking outside of article text area closes the article',
 		'jump_next' => 'jump to next unread sibling (feed or category)',
 		'number_divided_when_reader' => 'Divided by 2 in the reading view.',
 		'read' => array(

+ 10 - 0
app/views/configure/reading.phtml

@@ -106,6 +106,16 @@
 			</div>
 		</div>
 
+		<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"<?php echo FreshRSS_Context::$user_conf->sides_close_article ? ' checked="checked"' : ''; ?>  data-leave-validation="<?php echo FreshRSS_Context::$user_conf->sides_close_article; ?>"/>
+					<?php echo _t('conf.reading.sides_close_article'); ?>
+					<noscript> — <strong><?php echo _t('gen.js.should_be_activated'); ?></strong></noscript>
+				</label>
+			</div>
+		</div>
+
 		<div class="form-group">
 			<div class="group-controls">
 				<label class="checkbox" for="reading_confirm">

+ 1 - 0
app/views/helpers/javascript_vars.phtml

@@ -13,6 +13,7 @@ echo htmlspecialchars(json_encode(array(
 		'auto_load_more' => !!FreshRSS_Context::$user_conf->auto_load_more,
 		'auto_actualize_feeds' => !!Minz_Session::param('actualize_feeds', false),
 		'does_lazyload' => !!FreshRSS_Context::$user_conf->lazyload ,
+		'sides_close_article' => !!FreshRSS_Context::$user_conf->sides_close_article,
 		'sticky_post' => !!FreshRSS_Context::isStickyPostEnabled(),
 		'html5_notif_timeout' => FreshRSS_Context::$user_conf->html5_notif_timeout,
 		'auth_type' => FreshRSS_Context::$system_conf->auth_type,

+ 1 - 0
config-user.default.php

@@ -22,6 +22,7 @@ return array (
 	'hide_read_feeds' => true,
 	'onread_jump_next' => true,
 	'lazyload' => true,
+	'sides_close_article' => false,
 	'sticky_post' => true,
 	'reading_confirm' => false,
 	'auto_remove_article' => false,

+ 8 - 0
p/scripts/main.js

@@ -705,6 +705,13 @@ function init_stream(divStream) {
 		if ($(e.target).closest('.content, .item.website, .item.link').length > 0) {
 			return;
 		}
+
+		// setting for not-closing after clicking outside article area
+		if (context.sides_close_article &&
+			e.target.tagName.toUpperCase() === 'DIV' &&
+			$.inArray("flux_content", e.target.attributes)) {
+			return;
+		}
 		var old_active = $(".flux.current"),
 			new_active = $(this).parent();
 		isCollapsed = true;
@@ -714,6 +721,7 @@ function init_stream(divStream) {
 			}
 			return true;
 		}
+
 		toggleContent(new_active, old_active);
 	});