aboutsummaryrefslogtreecommitdiffstats
path: root/admin/updates_ext.php
diff options
context:
space:
mode:
authorpatdenice <patdenice@piwigo.org>2011-04-20 14:52:52 +0000
committerpatdenice <patdenice@piwigo.org>2011-04-20 14:52:52 +0000
commit491e8adc7467de9f9aa6dbbebfcb8b82c676b46a (patch)
treeaad72cf4b73fa2bd6ffb6e91c174d18547410741 /admin/updates_ext.php
parentfede13ce419b40ca22cf58b76f74d44d6d564dac (diff)
feature:2271
Merge autoupdate plugin into piwigo core. git-svn-id: http://piwigo.org/svn/trunk@10511 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'admin/updates_ext.php')
-rw-r--r--admin/updates_ext.php86
1 files changed, 86 insertions, 0 deletions
diff --git a/admin/updates_ext.php b/admin/updates_ext.php
new file mode 100644
index 000000000..4ce47b83f
--- /dev/null
+++ b/admin/updates_ext.php
@@ -0,0 +1,86 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based photo gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2010 Pierrick LE GALL http://piwigo.org |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+if( !defined("PHPWG_ROOT_PATH") )
+{
+ die ("Hacking attempt!");
+}
+
+$conf['updates_ignored'] = unserialize($conf['updates_ignored']);
+
+include_once(PHPWG_ROOT_PATH.'admin/include/updates.class.php');
+$autoupdate = new updates();
+
+if (!$autoupdate->get_server_extensions())
+{
+ array_push($page['errors'], l10n('Can\'t connect to server.'));
+ return;
+}
+
+foreach ($autoupdate->types as $type)
+{
+ $fs = 'fs_'.$type;
+ $server = 'server_'.$type;
+ $server_ext = $autoupdate->$type->$server;
+ $fs_ext = $autoupdate->$type->$fs;
+
+ if (empty($server_ext))
+ {
+ continue;
+ }
+
+ foreach($fs_ext as $ext_id => $fs_ext)
+ {
+ if (!isset($fs_ext['extension']) or !isset($server_ext[$fs_ext['extension']]))
+ {
+ continue;
+ }
+
+ $ext_info = $server_ext[$fs_ext['extension']];
+
+ if (!$autoupdate->version_compare($fs_ext['version'], $ext_info['revision_name'], $type))
+ {
+ $template->append('update_'.$type, array(
+ 'ID' => $ext_info['extension_id'],
+ 'REVISION_ID' => $ext_info['revision_id'],
+ 'EXT_ID' => $ext_id,
+ 'EXT_NAME' => $fs_ext['name'],
+ 'EXT_URL' => PEM_URL.'/extension_view.php?eid='.$ext_info['extension_id'],
+ 'EXT_DESC' => trim($ext_info['extension_description'], " \n\r"),
+ 'REV_DESC' => trim($ext_info['revision_description'], " \n\r"),
+ 'CURRENT_VERSION' => $fs_ext['version'],
+ 'NEW_VERSION' => $ext_info['revision_name'],
+ 'AUTHOR' => $ext_info['author_name'],
+ 'DOWNLOADS' => $ext_info['extension_nb_downloads'],
+ 'URL_DOWNLOAD' => $ext_info['download_url'] . '&amp;origin=piwigo_download',
+ 'IGNORED' => in_array($ext_id, $conf['updates_ignored'][$type]),
+ )
+ );
+ }
+ }
+}
+
+$template->assign('SHOW_RESET', (!empty($conf['updates_ignored']['plugins']) or !empty($conf['updates_ignored']['themes']) or !empty($conf['updates_ignored']['languages'])));
+$template->assign('PWG_TOKEN', get_pwg_token());
+$template->set_filename('plugin_admin_content', 'updates_ext.tpl');
+$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
+
+?> \ No newline at end of file