aboutsummaryrefslogtreecommitdiff
path: root/app/models/Category.php
diff options
context:
space:
mode:
authorGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-10-16 11:49:57 +0200
committerGravatar Marien Fressinaud <dev@marienfressinaud.fr> 2013-10-16 11:49:57 +0200
commitd94d948706767996102bf53dfc9d651fd58a34e5 (patch)
tree0cdf529b22168cb1592126ef40c0e515b2449e95 /app/models/Category.php
parent46d9e0417afe30cfec2b930417be036330c094b6 (diff)
Fix issue #189: Disparition de la dernière catégorie
La dernière catégorie n'était pas générée correctement si elle ne possédait qu'un seul flux. Le bug venait de HelperCategorie::daoToCategoryPrepopulated Je l'ai réécrite pour qu'elle soit un peu plus claire
Diffstat (limited to 'app/models/Category.php')
-rwxr-xr-xapp/models/Category.php34
1 files changed, 19 insertions, 15 deletions
diff --git a/app/models/Category.php b/app/models/Category.php
index 09bc1a683..74fccf7a0 100755
--- a/app/models/Category.php
+++ b/app/models/Category.php
@@ -175,7 +175,7 @@ class CategoryDAO extends Model_pdo {
}
}
- public function listCategories ($prePopulateFeeds = true) { //TODO: Search code-base for places where $prePopulateFeeds should be false
+ public function listCategories ($prePopulateFeeds = true) {
if ($prePopulateFeeds) {
$sql = 'SELECT c.id as c_id, c.name as c_name, c.color as c_color, count(e.id) as nbNotRead, f.* '
. 'FROM ' . $this->prefix . 'category c '
@@ -276,14 +276,9 @@ class HelperCategory {
$previousLine = null;
$feedsDao = array();
- $nbLinesMinus1 = count($listDAO) - 1;
- for ($i = 0; $i <= $nbLinesMinus1; $i++) {
- $line = $listDAO[$i];
- $cat_id = $line['c_id'];
- if (($i > 0) && (($cat_id !== $previousLine['c_id']) || ($i === $nbLinesMinus1))) { //End of current category
- if ($i === $nbLinesMinus1) { //End of table
- $feedsDao[] = $line;
- }
+ foreach ($listDAO as $line) {
+ if ($previousLine['c_id'] != null && $line['c_id'] !== $previousLine['c_id']) {
+ // End of the current category, we add it to the $list
$cat = new Category (
$previousLine['c_name'],
$previousLine['c_color'],
@@ -292,13 +287,22 @@ class HelperCategory {
$cat->_id ($previousLine['c_id']);
$list[] = $cat;
- $feedsDao = array(); //Prepare for next category
- $previousLine = $line;
- $feedsDao[] = $line;
- } else {
- $previousLine = $line;
- $feedsDao[] = $line;
+ $feedsDao = array(); //Prepare for next category
}
+
+ $previousLine = $line;
+ $feedsDao[] = $line;
+ }
+
+ // add the last category
+ if ($previousLine != null) {
+ $cat = new Category (
+ $previousLine['c_name'],
+ $previousLine['c_color'],
+ HelperFeed::daoToFeed ($feedsDao)
+ );
+ $cat->_id ($previousLine['c_id']);
+ $list[] = $cat;
}
return $list;