diff options
Diffstat (limited to 'admin')
-rw-r--r-- | admin/include/plugins.class.php | 9 | ||||
-rw-r--r-- | admin/plugins_new.php | 11 |
2 files changed, 13 insertions, 7 deletions
diff --git a/admin/include/plugins.class.php b/admin/include/plugins.class.php index 0ddc85b50..b410ff647 100644 --- a/admin/include/plugins.class.php +++ b/admin/include/plugins.class.php @@ -509,7 +509,7 @@ DELETE FROM '. PLUGINS_TABLE .' * @param string - archive URL * @param string - plugin id or extension id */ - function extract_plugin_files($action, $revision, $dest) + function extract_plugin_files($action, $revision, $dest, &$plugin_id=null) { if ($archive = tempnam( PHPWG_PLUGINS_PATH, 'zip')) { @@ -541,13 +541,14 @@ DELETE FROM '. PLUGINS_TABLE .' $root = dirname($main_filepath); // main.inc.php path in archive if ($action == 'upgrade') { - $extract_path = PHPWG_PLUGINS_PATH . $dest; + $plugin_id = $dest; } else { - $extract_path = PHPWG_PLUGINS_PATH - . ($root == '.' ? 'extension_' . $dest : basename($root)); + $plugin_id = ($root == '.' ? 'extension_' . $dest : basename($root)); } + $extract_path = PHPWG_PLUGINS_PATH . $plugin_id; + if($result = $zip->extract(PCLZIP_OPT_PATH, $extract_path, PCLZIP_OPT_REMOVE_PATH, $root, PCLZIP_OPT_REPLACE_NEWER)) diff --git a/admin/plugins_new.php b/admin/plugins_new.php index 379077410..a8df9359c 100644 --- a/admin/plugins_new.php +++ b/admin/plugins_new.php @@ -45,9 +45,9 @@ if (isset($_GET['revision']) and isset($_GET['extension'])) { check_pwg_token(); - $install_status = $plugins->extract_plugin_files('install', $_GET['revision'], $_GET['extension']); + $install_status = $plugins->extract_plugin_files('install', $_GET['revision'], $_GET['extension'], $plugin_id); - redirect($base_url.'&installstatus='.$install_status); + redirect($base_url.'&installstatus='.$install_status.'&plugin_id='.$plugin_id); } } @@ -57,8 +57,13 @@ if (isset($_GET['installstatus'])) switch ($_GET['installstatus']) { case 'ok': + $activate_url = get_root_url().'admin.php?page=plugins' + . '&plugin=' . $_GET['plugin_id'] + . '&pwg_token=' . get_pwg_token() + . '&action=activate'; + $page['infos'][] = l10n('Plugin has been successfully copied'); - $page['infos'][] = l10n('You might go to plugin list to install and activate it.'); + $page['infos'][] = '<a href="'. $activate_url . '">' . l10n('Activate it now') . '</a>'; break; case 'temp_path_error': |