aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--admin/include/plugins.class.php9
-rw-r--r--admin/plugins_new.php11
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':