Ignore:
Timestamp:
Mar 7, 2008, 6:15:46 PM (16 years ago)
Author:
patdenice
Message:

Corrections in plugins management.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/plugins_update.php

    r2263 r2264  
    3333$template->set_filenames(array('plugins' => 'admin/plugins_update.tpl'));
    3434
    35 $plugins = new plugins($page['page']);
     35$base_url = get_root_url().'admin.php?page='.$page['page'];
     36
     37$plugins = new plugins();
    3638
    3739//-----------------------------------------------------------automatic upgrade
    3840if (isset($_GET['upgrade']) and isset($_GET['plugin']) and !is_adviser())
    3941{
    40   $plugins->upgrade($_GET['upgrade'], $_GET['plugin']);
     42  $plugin_id = $_GET['plugin'];
     43
     44  if (isset($plugins->db_plugins_by_id[$plugin_id])
     45    and $plugins->db_plugins_by_id[$plugin_id]['state'] == 'active')
     46  {
     47    $plugins->perform_action('deactivate', $plugin_id);
     48
     49    redirect($base_url
     50      . '&upgrade=' . $_GET['upgrade']
     51      . '&plugin=' . $plugin_id
     52      . '&reactivate=true');
     53  }
     54
     55  $upgrade_status =
     56    $plugins->extract_plugin_files('upgrade', $_GET['upgrade'], $plugin_id);
     57
     58  if (isset($_GET['reactivate']))
     59  {
     60    $plugins->perform_action('activate', $plugin_id);
     61  }
     62  redirect($base_url.'&plugin='.$plugin_id.'&upgradestatus='.$upgrade_status);
    4163}
    4264
     
    4466if (isset($_GET['upgradestatus']) and isset($_GET['plugin']))
    4567{
    46   $plugins->get_result($_GET['upgradestatus'], $_GET['plugin']);
     68  switch ($_GET['upgradestatus'])
     69  {
     70    case 'ok':
     71      array_push($page['infos'],
     72         sprintf(
     73            l10n('plugins_upgrade_ok'),
     74            $plugins->fs_plugins[$_GET['plugin']]['name']));
     75      break;
     76
     77    case 'temp_path_error':
     78      array_push($page['errors'], l10n('plugins_temp_path_error'));
     79      break;
     80
     81    case 'dl_archive_error':
     82      array_push($page['errors'], l10n('plugins_dl_archive_error'));
     83      break;
     84
     85    case 'archive_error':
     86      array_push($page['errors'], l10n('plugins_archive_error'));
     87      break;
     88
     89    default:
     90      array_push($page['errors'],
     91        sprintf(l10n('plugins_extract_error'), $_GET['installstatus']),
     92        l10n('plugins_check_chmod'));
     93  } 
    4794}
     95
     96//--------------------------------------------------------------------Tabsheet
     97include_once(PHPWG_ROOT_PATH.'admin/include/tabsheet.class.php');
     98$link = get_root_url().'admin.php?page=';
     99$tabsheet = new tabsheet();
     100$tabsheet->add('plugins_list', l10n('plugins_tab_list'), $link.'plugins_list');
     101$tabsheet->add('plugins_update', l10n('plugins_tab_update'), $link.'plugins_update');
     102$tabsheet->add('plugins_new', l10n('plugins_tab_new'), $link.'plugins_new');
     103$tabsheet->select($page['page']);
     104$tabsheet->assign();
    48105
    49106// +-----------------------------------------------------------------------+
    50107// |                     start template output                             |
    51108// +-----------------------------------------------------------------------+
    52 $plugins->tabsheet();
    53 $plugins->check_server_plugins();
     109$plugins->get_server_plugins();
    54110
    55111if ($plugins->server_plugins !== false)
     
    83139      {
    84140        // Plugin need upgrade
    85         $url_auto_update = $plugins->html_base_url
     141        $url_auto_update = $base_url
    86142          . '&plugin=' . $plugin_id
    87143          . '&upgrade=%2Fupload%2Fextension-' . $fs_plugin['extension']
Note: See TracChangeset for help on using the changeset viewer.