From 290f2c1d39d1c47d48ba4e6a6d347459975e8b0f Mon Sep 17 00:00:00 2001 From: patdenice Date: Fri, 13 Feb 2009 20:49:03 +0000 Subject: - Show number of downloads in plugins list. - Allow to sort plugins by number of downloads. - Fix plugin revision URL (no more revision_view in PEM). git-svn-id: http://piwigo.org/svn/trunk@3143 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/include/plugins.class.php | 10 ++++++++++ admin/plugins_new.php | 21 +++++++++++++-------- admin/plugins_update.php | 29 +++++++++++++++++------------ admin/template/goto/default-layout.css | 1 + admin/template/goto/plugins_new.tpl | 4 ++-- admin/template/goto/plugins_update.tpl | 4 ++-- 6 files changed, 45 insertions(+), 24 deletions(-) (limited to 'admin') diff --git a/admin/include/plugins.class.php b/admin/include/plugins.class.php index d746298df..caff5ef26 100644 --- a/admin/include/plugins.class.php +++ b/admin/include/plugins.class.php @@ -304,6 +304,7 @@ DELETE FROM ' . PLUGINS_TABLE . ' WHERE id="' . $plugin_id . '"'; $url = PEM_URL . '/api/get_revision_list.php?category_id=12&format=php&last_revision_only=true'; $url .= '&version=' . implode(',', $versions_to_check); $url .= '&lang=' . substr($user['language'], 0, 2); + $url .= '&get_nb_downloads=true'; if (!empty($plugins_to_check)) { @@ -345,6 +346,9 @@ DELETE FROM ' . PLUGINS_TABLE . ' WHERE id="' . $plugin_id . '"'; case 'author': uasort($this->server_plugins, array($this, 'extension_author_compare')); break; + case 'downloads': + usort($this->server_plugins, array($this, 'extension_downloads_compare')); + break; } } @@ -508,6 +512,12 @@ DELETE FROM ' . PLUGINS_TABLE . ' WHERE id="' . $plugin_id . '"'; else return $r; } + function extension_downloads_compare($a, $b) + { + if ($a['extension_nb_downloads'] < $b['extension_nb_downloads']) return 1; + else return -1; + } + function sort_plugins_by_state() { uasort($this->fs_plugins, 'name_compare'); diff --git a/admin/plugins_new.php b/admin/plugins_new.php index 5a0d70190..56b09d097 100644 --- a/admin/plugins_new.php +++ b/admin/plugins_new.php @@ -83,7 +83,8 @@ $template->assign('order_options', $link.'date' => l10n('Post date'), $link.'revision' => l10n('plugins_revisions'), $link.'name' => l10n('Name'), - $link.'author' => l10n('Author'))); + $link.'author' => l10n('Author'), + $link.'downloads' => l10n('Number of downloads'))); $template->assign('order_selected', $link.$order); // +-----------------------------------------------------------------------+ @@ -97,10 +98,15 @@ if ($plugins->get_server_plugins(true)) { list($date, ) = explode(' ', $plugin['revision_date']); - $ver_desc = sprintf(l10n('plugins_description'), - $plugin['revision_name'], - $date, - $plugin['revision_description']); + $ext_desc = ''.l10n('Downloads').': '.$plugin['extension_nb_downloads']."\r\n" + ."\r\n" + .$plugin['extension_description']; + + $rev_desc = ''.l10n('Version').': '.$plugin['revision_name']."\r\n" + .''.l10n('Released on').': '.$date."\r\n" + .''.l10n('Downloads').': '.$plugin['revision_nb_downloads']."\r\n" + ."\r\n" + .$plugin['revision_description']; $url_auto_install = htmlentities($base_url) . '&revision=' . $plugin['revision_id'] @@ -109,11 +115,10 @@ if ($plugins->get_server_plugins(true)) $template->append('plugins', array( 'EXT_NAME' => $plugin['extension_name'], 'EXT_URL' => PEM_URL.'/extension_view.php?eid='.$plugin['extension_id'], - 'EXT_DESC' => $plugin['extension_description'], + 'EXT_DESC' => $ext_desc, 'VERSION' => $plugin['revision_name'], - 'VERSION_URL' => PEM_URL.'/revision_view.php?rid='.$plugin['revision_id'], 'DATE' => $date, - 'VER_DESC' => $ver_desc, + 'VER_DESC' => $rev_desc, 'AUTHOR' => $plugin['author_name'], 'URL_INSTALL' => $url_auto_install, 'URL_DOWNLOAD' => $plugin['download_url'] . '&origin=piwigo_download')); diff --git a/admin/plugins_update.php b/admin/plugins_update.php index b92ed836d..e6d6705fe 100644 --- a/admin/plugins_update.php +++ b/admin/plugins_update.php @@ -86,7 +86,7 @@ if (isset($_GET['upgradestatus']) and isset($_GET['plugin'])) default: array_push($page['errors'], - sprintf(l10n('plugins_extract_error'), $_GET['installstatus']), + sprintf(l10n('plugins_extract_error'), $_GET['upgradestatus']), l10n('plugins_check_chmod')); } } @@ -108,19 +108,25 @@ if ($plugins->get_server_plugins()) list($date, ) = explode(' ', $plugin_info['revision_date']); - $ver_desc = sprintf(l10n('plugins_description'), - $plugin_info['revision_name'], - $date, - $plugin_info['revision_description']); + $ext_desc = ''.l10n('Downloads').': '.$plugin_info['extension_nb_downloads']."\r\n" + ."\r\n" + .$plugin_info['extension_description']; + + $rev_desc = ''.l10n('Version').': '.$plugin_info['revision_name']."\r\n" + .''.l10n('Released on').': '.$date."\r\n" + .''.l10n('Downloads').': '.$plugin_info['revision_nb_downloads']."\r\n" + ."\r\n" + .$plugin_info['revision_description']; if ($plugins->plugin_version_compare($fs_plugin['version'], $plugin_info['revision_name'])) { // Plugin is up to date $template->append('plugins_uptodate', array( - 'URL' => $fs_plugin['uri'], + 'URL' => PEM_URL.'/extension_view.php?eid='.$plugin_info['extension_id'], 'NAME' => $fs_plugin['name'], - 'EXT_DESC' => $plugin_info['extension_description'], - 'VERSION' => $fs_plugin['version'])); + 'EXT_DESC' => $ext_desc, + 'VERSION' => $fs_plugin['version'], + 'VER_DESC' => $rev_desc)); } else { @@ -131,12 +137,11 @@ if ($plugins->get_server_plugins()) $template->append('plugins_not_uptodate', array( 'EXT_NAME' => $fs_plugin['name'], - 'EXT_URL' => $fs_plugin['uri'], - 'EXT_DESC' => $plugin_info['extension_description'], + 'EXT_URL' => PEM_URL.'/extension_view.php?eid='.$plugin_info['extension_id'], + 'EXT_DESC' => $ext_desc, 'VERSION' => $fs_plugin['version'], - 'VERSION_URL' => PEM_URL.'/revision_view.php?rid='.$plugin_info['revision_id'], 'NEW_VERSION' => $plugin_info['revision_name'], - 'NEW_VER_DESC' => $ver_desc, + 'NEW_VER_DESC' => $rev_desc, 'URL_UPDATE' => $url_auto_update, 'URL_DOWNLOAD' => $plugin_info['download_url'] . '&origin=piwigo_download')); } diff --git a/admin/template/goto/default-layout.css b/admin/template/goto/default-layout.css index 87f411dd3..08f3bab3f 100644 --- a/admin/template/goto/default-layout.css +++ b/admin/template/goto/default-layout.css @@ -38,6 +38,7 @@ TABLE#detailedStats { } /* Plugins tables */ +TABLE.plugins { min-width: 400px; } TABLE.plugins A { border: 0; } TABLE.plugins TR TD { padding: 4px 10px; } TABLE.plugins TR TD.pluginState { padding: 4px 16px; } diff --git a/admin/template/goto/plugins_new.tpl b/admin/template/goto/plugins_new.tpl index bd6339566..9fe0a0c33 100644 --- a/admin/template/goto/plugins_new.tpl +++ b/admin/template/goto/plugins_new.tpl @@ -15,7 +15,7 @@ jQuery().ready(function(){ldelim}
{'Sort order'|@translate} : - {html_options options=$order_options selected=$order_selected} @@ -37,7 +37,7 @@ jQuery().ready(function(){ldelim} {foreach from=$plugins item=plugin name=plugins_loop} {$plugin.EXT_NAME} - {$plugin.VERSION} + {$plugin.VERSION} {$plugin.DATE} {$plugin.AUTHOR} {'plugins_auto_install'|@translate} diff --git a/admin/template/goto/plugins_update.tpl b/admin/template/goto/plugins_update.tpl index c7bdc2865..cae800f85 100644 --- a/admin/template/goto/plugins_update.tpl +++ b/admin/template/goto/plugins_update.tpl @@ -32,7 +32,7 @@ jQuery().ready(function(){ldelim} {$plugin.EXT_NAME} {$plugin.VERSION} - {$plugin.NEW_VERSION} + {$plugin.NEW_VERSION} {'plugins_auto_update'|@translate} / {'plugins_download'|@translate} @@ -54,7 +54,7 @@ jQuery().ready(function(){ldelim} {foreach from=$plugins_uptodate item=plugin name=plugins_loop} {$plugin.NAME} - {$plugin.VERSION} + {$plugin.VERSION} {/foreach} -- cgit v1.2.3