From b40783e8889b64f813c898ee2ce7e967582ef34e Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Mon, 2 Dec 2013 18:27:03 +0100 Subject: Affiche la taille de la base de données MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/configureController.php | 1 + app/i18n/en.php | 4 ++-- app/i18n/fr.php | 4 ++-- app/views/configure/display.phtml | 2 +- lib/lib_rss.php | 15 +++++++++++++++ lib/minz/dao/Model_pdo.php | 10 ++++++++++ 6 files changed, 31 insertions(+), 5 deletions(-) diff --git a/app/controllers/configureController.php b/app/controllers/configureController.php index 424e3834a..68d798581 100755 --- a/app/controllers/configureController.php +++ b/app/controllers/configureController.php @@ -265,6 +265,7 @@ class configureController extends ActionController { $entryDAO = new EntryDAO (); $this->view->nb_total = $entryDAO->count (); + $this->view->size_total = $entryDAO->size (); } public function sharingAction () { diff --git a/app/i18n/en.php b/app/i18n/en.php index 669de4d42..6c6c52e43 100644 --- a/app/i18n/en.php +++ b/app/i18n/en.php @@ -132,7 +132,7 @@ return array ( 'feed_description' => 'Description', 'website_url' => 'Website URL', 'feed_url' => 'Feed URL', - 'number_articles' => 'Number of articles', + 'articles' => 'articles', 'keep_history' => 'Keep history?', 'categorize' => 'Store in a category', 'advanced' => 'Advanced', @@ -182,7 +182,7 @@ return array ( 'share' => 'Share', 'by_email' => 'By email', 'optimize_bdd' => 'Optimize database', - 'optimize_todo_sometimes' => 'To do occasionally to reduce size of database', + 'optimize_todo_sometimes' => 'To do occasionally to improve performance', 'theme' => 'Theme', 'more_information' => 'More information', 'activate_sharing' => 'Activate sharing', diff --git a/app/i18n/fr.php b/app/i18n/fr.php index a397b4816..966708f21 100644 --- a/app/i18n/fr.php +++ b/app/i18n/fr.php @@ -132,7 +132,7 @@ return array ( 'feed_description' => 'Description', 'website_url' => 'URL du site', 'feed_url' => 'URL du flux', - 'number_articles' => 'Nombre d’articles', + 'articles' => 'articles', 'keep_history' => 'Garder l’historique ?', 'categorize' => 'Ranger dans une catégorie', 'advanced' => 'Avancé', @@ -182,7 +182,7 @@ return array ( 'share' => 'Partager', 'by_email' => 'Par courriel', 'optimize_bdd' => 'Optimiser la base de données', - 'optimize_todo_sometimes' => 'À faire de temps en temps pour réduire la taille de la BDD', + 'optimize_todo_sometimes' => 'À faire de temps en temps pour améliorer les performances', 'theme' => 'Thème', 'more_information' => 'Plus d’informations', 'activate_sharing' => 'Activer le partage', diff --git a/app/views/configure/display.phtml b/app/views/configure/display.phtml index 90416145a..e6d867ed1 100644 --- a/app/views/configure/display.phtml +++ b/app/views/configure/display.phtml @@ -196,7 +196,7 @@
-

nb_total; ?>

+

nb_total; ?> , size_total); ?>.

diff --git a/lib/lib_rss.php b/lib/lib_rss.php index ea5a1ffd0..3e23f7542 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -47,6 +47,21 @@ function small_hash ($txt) { return strtr ($t, '+/', '-_'); } +function formatBytes($bytes, $precision = 2, $system = 'IEC') { + if ($system === 'IEC') { + $base = 1024; + $units = array('B', 'KiB', 'MiB', 'GiB', 'TiB'); + } elseif ($system === 'SI') { + $base = 1000; + $units = array('B', 'KB', 'MB', 'GB', 'TB'); + } + $bytes = max(intval($bytes), 0); + $pow = $bytes === 0 ? 0 : floor(log($bytes) / log($base)); + $pow = min($pow, count($units) - 1); + $bytes /= pow($base, $pow); + return round($bytes, $precision) . ' ' . $units[$pow]; +} + function timestamptodate ($t, $hour = true) { $month = Translate::t (date('M', $t)); if ($hour) { diff --git a/lib/minz/dao/Model_pdo.php b/lib/minz/dao/Model_pdo.php index 48c81d082..a93291fc8 100755 --- a/lib/minz/dao/Model_pdo.php +++ b/lib/minz/dao/Model_pdo.php @@ -80,6 +80,16 @@ class Model_pdo { public function rollBack() { $this->bd->rollBack(); } + + public function size() { + $db = Configuration::dataBase (); + $sql = 'SELECT SUM(data_length + index_length) FROM information_schema.TABLES WHERE table_schema = ?'; + $stm = $this->bd->prepare ($sql); + $values = array ($db['base']); + $stm->execute ($values); + $res = $stm->fetchAll(PDO::FETCH_COLUMN, 0); + return $res[0]; + } } class FreshPDO extends PDO { -- cgit v1.2.3