From 8ee8a573f1f7e9cc45f9b3c46627d15670f14f3a Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sat, 29 Sep 2018 20:47:17 +0200 Subject: Custom labels (#2027) * First draft of custom tags https://github.com/FreshRSS/FreshRSS/issues/928 https://github.com/FreshRSS/FreshRSS/issues/1367 * SMALLINT to BIGINT for id_entry And uppercase SQL types * Fix layout for unreads * Start UI menu * Change menu order * Clean database helpers https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r217971535 * Travis rules do not understand PostgreSQL constants Grrr * Tag controller + UI * Add column attributes to tags * Use only favicon for now, for label * Fix styling for different themes * Constant for maximum InnoDB index length in Unicode https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r219052200 (I would have personnally prefered keeping the readability of a real value instead of a constant, in this case of many SQL fields) * Use FreshRSS_Factory::createCategoryDao * Add view of all articles containing any tag * Fix search in tags * Mark as read tags * Partial auto-update unread tags * More auto update tag unreads * Add tag deletion * Do not purge tagged articles * Minor comment * Fix SQLite and UI bug * Google Reader API support for user tags Add SQL check that tag names must be distinct from category names * whitespace * Add missing API for EasyRSS * Compatibility SQLite Problematic parentheses * Add SQL DISTINCT for cases with multiple tags * Fix for PostgreSQL PostgreSQL needs some additional type hint to avoid "could not determine data type of parameter $1" http://www.postgresql-archive.org/Could-not-determine-data-type-of-parameter-1-tp2171092p2171094.html --- app/Controllers/feedController.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'app/Controllers/feedController.php') diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php index 2f7495884..2c8cdaa5c 100755 --- a/app/Controllers/feedController.php +++ b/app/Controllers/feedController.php @@ -43,7 +43,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController { FreshRSS_UserDAO::touch(); @set_time_limit(300); - $catDAO = new FreshRSS_CategoryDAO(); + $catDAO = FreshRSS_Factory::createCategoryDao(); $url = trim($url); @@ -192,7 +192,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController { // GET request: we must ask confirmation to user before adding feed. Minz_View::prependTitle(_t('sub.feed.title_add') . ' ยท '); - $this->catDAO = new FreshRSS_CategoryDAO(); + $this->catDAO = FreshRSS_Factory::createCategoryDao(); $this->view->categories = $this->catDAO->listCategories(false); $this->view->feed = new FreshRSS_Feed($url); try { @@ -556,7 +556,7 @@ class FreshRSS_feed_Controller extends Minz_ActionController { } FreshRSS_UserDAO::touch(); - $catDAO = new FreshRSS_CategoryDAO(); + $catDAO = FreshRSS_Factory::createCategoryDao(); if ($cat_id > 0) { $cat = $catDAO->searchById($cat_id); $cat_id = $cat == null ? 0 : $cat->id(); -- cgit v1.2.3 From c57aade0f22205c40792184b78f5071b5c769a8b Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Fri, 26 Oct 2018 21:05:00 +0200 Subject: Introduce a routine for minor DB maintenance (#2080) --- app/Controllers/entryController.php | 3 +-- app/Controllers/feedController.php | 6 ++++++ app/Models/DatabaseDAO.php | 4 ++++ 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'app/Controllers/feedController.php') diff --git a/app/Controllers/entryController.php b/app/Controllers/entryController.php index 78ddbf085..fc0af0639 100755 --- a/app/Controllers/entryController.php +++ b/app/Controllers/entryController.php @@ -207,9 +207,8 @@ class FreshRSS_entry_Controller extends Minz_ActionController { $feedDAO->updateCachedValues(); - //Minor DB checks: $databaseDAO = FreshRSS_Factory::createDatabaseDAO(); - $databaseDAO->ensureCaseInsensitiveGuids(); //FreshRSS 1.12 + $databaseDAO->minorDbMaintenance(); invalidateHttpCache(); Minz_Request::good(_t('feedback.sub.purge_completed', $nb_total), array( diff --git a/app/Controllers/feedController.php b/app/Controllers/feedController.php index 2c8cdaa5c..f2b1b8960 100755 --- a/app/Controllers/feedController.php +++ b/app/Controllers/feedController.php @@ -481,6 +481,9 @@ class FreshRSS_feed_Controller extends Minz_ActionController { if ($entryDAO->inTransaction()) { $entryDAO->commit(); } + + $databaseDAO = FreshRSS_Factory::createDatabaseDAO(); + $databaseDAO->minorDbMaintenance(); } return array($updated_feeds, reset($feeds), $nb_new_articles); } @@ -511,6 +514,9 @@ class FreshRSS_feed_Controller extends Minz_ActionController { $entryDAO->commitNewEntries(); $feedDAO->updateCachedValues(); $entryDAO->commit(); + + $databaseDAO = FreshRSS_Factory::createDatabaseDAO(); + $databaseDAO->minorDbMaintenance(); } else { list($updated_feeds, $feed, $nb_new_articles) = self::actualizeFeed($id, $url, $force, null, false, $noCommit); } diff --git a/app/Models/DatabaseDAO.php b/app/Models/DatabaseDAO.php index dbd328bf7..b331eccc3 100644 --- a/app/Models/DatabaseDAO.php +++ b/app/Models/DatabaseDAO.php @@ -160,4 +160,8 @@ class FreshRSS_DatabaseDAO extends Minz_ModelPdo { } return $ok; } + + public function minorDbMaintenance() { + $this->ensureCaseInsensitiveGuids(); + } } -- cgit v1.2.3