summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rwxr-xr-xapp/controllers/entryController.php19
-rw-r--r--app/i18n/en.php4
-rw-r--r--app/i18n/fr.php4
-rwxr-xr-xapp/models/Entry.php6
-rw-r--r--app/views/configure/display.phtml11
5 files changed, 44 insertions, 0 deletions
diff --git a/app/controllers/entryController.php b/app/controllers/entryController.php
index 9d6d9a944..c7e13f471 100755
--- a/app/controllers/entryController.php
+++ b/app/controllers/entryController.php
@@ -97,4 +97,23 @@ class entryController extends ActionController {
}
}
}
+
+ public function optimizeAction() {
+ // La table des entrées a tendance à grossir énormément
+ // Cette action permet d'optimiser cette table permettant de grapiller un peu de place
+ // Cette fonctionnalité n'est à appeler qu'occasionnellement
+ $entryDAO = new EntryDAO();
+ $entryDAO->optimizeTable();
+
+ $notif = array (
+ 'type' => 'good',
+ 'content' => Translate::t ('optimization_complete')
+ );
+ Session::_param ('notification', $notif);
+
+ Request::forward(array(
+ 'c' => 'configure',
+ 'a' => 'display'
+ ), true);
+ }
}
diff --git a/app/i18n/en.php b/app/i18n/en.php
index dbb6b1bfe..e40be045a 100644
--- a/app/i18n/en.php
+++ b/app/i18n/en.php
@@ -78,6 +78,8 @@ return array (
'category_emptied' => 'Category has been emptied',
'feed_deleted' => 'Feed has been deleted',
+ 'optimization_complete' => 'Optimization complete',
+
'your_rss_feeds' => 'Your RSS feeds',
'your_favorites' => 'Your favorites',
'public' => 'Public',
@@ -154,6 +156,8 @@ return array (
'share' => 'Share',
'by_email' => 'By mail',
'on_shaarli' => 'On your Shaarli',
+ 'optimize_bdd' => 'Optimize database',
+ 'optimize_todo_sometimes' => 'To do occasionally to reduce size of database',
'article' => 'Article',
'title' => 'Title',
diff --git a/app/i18n/fr.php b/app/i18n/fr.php
index 75a76cc7a..69c7a8ffe 100644
--- a/app/i18n/fr.php
+++ b/app/i18n/fr.php
@@ -78,6 +78,8 @@ return array (
'category_emptied' => 'La catégorie a été vidée',
'feed_deleted' => 'Le flux a été supprimé',
+ 'optimization_complete' => 'Optimisation terminée',
+
'your_rss_feeds' => 'Vos flux RSS',
'your_favorites' => 'Vos favoris',
'public' => 'Public',
@@ -154,6 +156,8 @@ return array (
'share' => 'Partager',
'by_email' => 'Par mail',
'on_shaarli' => 'Sur votre Shaarli',
+ 'optimize_bdd' => 'Optimiser la base de données',
+ 'optimize_todo_sometimes' => 'À faire de temps en temps pour réduire la taille de la BDD',
'article' => 'Article',
'title' => 'Titre',
diff --git a/app/models/Entry.php b/app/models/Entry.php
index 050407390..6af3178ee 100755
--- a/app/models/Entry.php
+++ b/app/models/Entry.php
@@ -509,6 +509,12 @@ class EntryDAO extends Model_pdo {
return $res[0]['count'];
}
+
+ public function optimizeTable() {
+ $sql = 'OPTIMIZE TABLE entry';
+ $stm = $this->bd->prepare ($sql);
+ $stm->execute ();
+ }
}
class HelperEntry {
diff --git a/app/views/configure/display.phtml b/app/views/configure/display.phtml
index ea4fecd34..c46a02143 100644
--- a/app/views/configure/display.phtml
+++ b/app/views/configure/display.phtml
@@ -121,6 +121,17 @@
</div>
</div>
+ <legend><?php echo Translate::t ('advanced'); ?></legend>
+ <div class="form-group">
+ <label class="group-name"></label>
+ <div class="group-controls">
+ <a class="btn" href="<?php echo _url('entry', 'optimize'); ?>">
+ <?php echo Translate::t('optimize_bdd'); ?>
+ </a>
+ <i class="icon i_help"></i> <?php echo Translate::t('optimize_todo_sometimes'); ?>
+ </div>
+ </div>
+
<div class="form-group form-actions">
<div class="group-controls">
<button type="submit" class="btn btn-important"><?php echo Translate::t ('save'); ?></button>