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

Fix issue #169: flux en jaune si 0 article

Marien Fressinaud 12 лет назад
Родитель
Сommit
71282fb72f

+ 2 - 3
app/layout/aside_flux.phtml

@@ -64,11 +64,11 @@
 				</a>
 			</div>
 
-			<?php if (!empty ($feeds)) { ?>
 			<ul class="feeds<?php echo $c_active ? ' active' : ''; ?>">
 				<?php foreach ($feeds as $feed) { ?>
+				<?php $nbEntries = $feed->nbEntries (); ?>
 				<?php $f_active = false; if ($this->get_f == $feed->id ()) { $f_active = true; } ?>
-				<li class="item<?php echo $f_active ? ' active' : ''; ?><?php echo $feed->inError () ? ' error' : ''; ?>">
+				<li class="item<?php echo $f_active ? ' active' : ''; ?><?php echo $feed->inError () ? ' error' : ''; ?><?php echo $nbEntries == 0 ? ' empty' : ''; ?>">
 					<div class="dropdown">
 						<div id="dropdown-<?php echo $feed->id(); ?>" class="dropdown-target"></div>
 						<a class="dropdown-toggle" href="#dropdown-<?php echo $feed->id(); ?>"><i class="icon i_configure"></i></a>
@@ -98,7 +98,6 @@
 				</li>
 				<?php } ?>
 			</ul>
-			<?php } ?>
 		</li>
 		<?php } } ?>
 	</ul>

+ 8 - 3
app/models/Feed.php

@@ -4,6 +4,7 @@ class Feed extends Model {
 	private $id = null;
 	private $url;
 	private $category = '000000';
+	private $nbEntries = -1;
 	private $nbNotRead = -1;
 	private $entries = null;
 	private $name = '';
@@ -79,12 +80,16 @@ class Feed extends Model {
 		return $this->keep_history;
 	}
 	public function nbEntries () {
-		$feedDAO = new FeedDAO ();
-		return $feedDAO->countEntries ($this->id ());
+		if ($this->nbEntries < 0) {
+			$feedDAO = new FeedDAO ();
+			$this->nbEntries = $feedDAO->countEntries ($this->id ());
+		}
+
+		return $this->nbEntries;
 	}
 	public function nbNotRead () {
 		if ($this->nbNotRead < 0) {
-		$feedDAO = new FeedDAO ();
+			$feedDAO = new FeedDAO ();
 			$this->nbNotRead = $feedDAO->countNotRead ($this->id ());
 		}
 

+ 3 - 0
public/themes/default/freshrss.css

@@ -121,6 +121,9 @@
 			line-height: 35px;
 			float: right;
 		}
+		.categories .feeds .item.empty .feed {
+			color: #e67e22;
+		}
 		.categories .feeds .item.error .feed {
 			color: #BD362F;
 		}

+ 3 - 0
public/themes/flat-design/freshrss.css

@@ -118,6 +118,9 @@ body {
 			line-height: 35px;
 			float: right;
 		}
+		.categories .feeds .item.empty .feed {
+			color: #e67e22;
+		}
 		.categories .feeds .item.error .feed {
 			color: #BD362F;
 		}