Changeset 2836 for trunk/upgrade.php


Ignore:
Timestamp:
Nov 6, 2008, 3:44:51 PM (15 years ago)
Author:
patdenice
Message:
  • Webmaster or administrator can login to run upgrade.
  • Inserting upgrade line in mysql.inc.php still work.
  • Convert espagnol upgrade file to utf8.
  • Minor changes in upgrade processus.
  • Remove all comments in pclzip.lib.php.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/upgrade.php

    r2819 r2836  
    3030define('PHPWG_ROOT_PATH', './');
    3131
     32if (!file_exists(PHPWG_ROOT_PATH.'include/mysql.inc.php'))
     33{
     34  die('Could not find include/mysql.inc.php file.');
     35}
     36
    3237include_once(PHPWG_ROOT_PATH.'include/functions.inc.php');
    3338include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
     
    3742include(PHPWG_ROOT_PATH . 'include/config_default.inc.php');
    3843@include(PHPWG_ROOT_PATH. 'include/config_local.inc.php');
    39 
    40 check_upgrade();
    4144
    4245prepare_conf_upgrade();
     
    5457}
    5558
    56 // +-----------------------------------------------------------------------+
    57 // |                            tricky output                              |
    58 // +-----------------------------------------------------------------------+
    59 echo '<!-- This is an HTML comment given in order to make IE outputs';
    60 echo ' the code.'."\n";
    61 echo ' Indeed, IE doesn\'t start to send output until a limit';
    62 echo ' of XXX bytes '."\n";
    63 echo str_repeat( ' ', 80 )."\n";
    64 echo str_repeat( ' ', 80 )."\n";
    65 echo str_repeat( ' ', 80 )."\n";
    66 echo '-->'."\n";
    67 flush();
    6859// +-----------------------------------------------------------------------+
    6960// |                              functions                                |
     
    169160}
    170161
    171 load_language( 'common.lang', '', array('language'=>$language, 'target_charset'=>'utf-8') );
    172 load_language( 'admin.lang', '', array('language'=>$language, 'target_charset'=>'utf-8') );
    173 load_language( 'upgrade.lang', '', array('language'=>$language, 'target_charset'=>'utf-8') );
     162load_language( 'common.lang', '', array('language'=>$language, 'target_charset'=>'utf-8', 'no_fallback' => true) );
     163load_language( 'admin.lang', '', array('language'=>$language, 'target_charset'=>'utf-8', 'no_fallback' => true) );
     164load_language( 'upgrade.lang', '', array('language'=>$language, 'target_charset'=>'utf-8', 'no_fallback' => true) );
    174165
    175166// +-----------------------------------------------------------------------+
     
    181172$template->assign('RELEASE', PHPWG_VERSION);
    182173
    183 foreach (get_languages('utf-8') as $language_code => $language_name)
    184 {
    185   if ($language == $language_code)
    186   {
    187     $template->assign('language_selection', $language_code);
    188   }
    189   $languages_options[$language_code] = $language_name;
    190 }
    191 $template->assign('language_options', $languages_options);
    192 
    193174// +-----------------------------------------------------------------------+
    194175// |                            upgrade choice                             |
     
    198179$columns_of = get_columns_of($tables);
    199180
    200 if (!isset($_GET['version']))
    201 {
    202   // find the current release
    203   if (!in_array('param', $columns_of[PREFIX_TABLE.'config']))
    204   {
    205     // we're in branch 1.3, important upgrade, isn't it?
    206     if (in_array(PREFIX_TABLE.'user_category', $tables))
    207     {
    208       $current_release = '1.3.1';
    209     }
    210     else
    211     {
    212       $current_release = '1.3.0';
    213     }
    214   }
    215   else if (!in_array(PREFIX_TABLE.'user_cache', $tables))
    216   {
    217     $current_release = '1.4.0';
    218   }
    219   else if (!in_array(PREFIX_TABLE.'tags', $tables))
    220   {
    221     $current_release = '1.5.0';
    222   }
    223   else if ( !in_array(PREFIX_TABLE.'history_summary', $tables) )
    224   {
    225     if (!in_array('auto_login_key', $columns_of[PREFIX_TABLE.'user_infos']))
    226     {
    227       $current_release = '1.6.0';
    228     }
    229     else
    230     {
    231       $current_release = '1.6.2';
    232     }
    233   }
    234   else if (!in_array('md5sum', $columns_of[PREFIX_TABLE.'images']))
    235   {
    236     $current_release = '1.7.0';
     181// find the current release
     182if (!in_array('param', $columns_of[PREFIX_TABLE.'config']))
     183{
     184  // we're in branch 1.3, important upgrade, isn't it?
     185  if (in_array(PREFIX_TABLE.'user_category', $tables))
     186  {
     187    $current_release = '1.3.1';
    237188  }
    238189  else
    239190  {
    240     die('No upgrade required, the database structure is up to date');
    241   }
    242 
    243   $template->assign(
    244     'introduction',
    245     array(
    246       'CURRENT_RELEASE' => $current_release,
    247       'RUN_UPGRADE_URL' =>
    248         PHPWG_ROOT_PATH.'upgrade.php?version='.$current_release.'&amp;language='.$language,
    249       )
    250     );
     191    $current_release = '1.3.0';
     192  }
     193}
     194else if (!in_array(PREFIX_TABLE.'user_cache', $tables))
     195{
     196  $current_release = '1.4.0';
     197}
     198else if (!in_array(PREFIX_TABLE.'tags', $tables))
     199{
     200  $current_release = '1.5.0';
     201}
     202else if ( !in_array(PREFIX_TABLE.'history_summary', $tables) )
     203{
     204  if (!in_array('auto_login_key', $columns_of[PREFIX_TABLE.'user_infos']))
     205  {
     206    $current_release = '1.6.0';
     207  }
     208  else
     209  {
     210    $current_release = '1.6.2';
     211  }
     212}
     213else if (!in_array('md5sum', $columns_of[PREFIX_TABLE.'images']))
     214{
     215  $current_release = '1.7.0';
     216}
     217else
     218{
     219  die('No upgrade required, the database structure is up to date');
    251220}
    252221
     
    254223// |                            upgrade launch                             |
    255224// +-----------------------------------------------------------------------+
    256 
    257 else
    258 {
    259   if (in_array('md5sum', $columns_of[PREFIX_TABLE.'images']))
    260   {
    261     die('No database upgrade required, do not refresh the page');
    262   }
    263 
    264   $upgrade_file = PHPWG_ROOT_PATH.'install/upgrade_'.$_GET['version'].'.php';
     225$page['infos'] = array();
     226$page['errors'] = array();
     227
     228if (isset($_POST['username']) and isset($_POST['password']))
     229{
     230  check_upgrade_access_rights($current_release, $_POST['username'], $_POST['password']);
     231}
     232
     233if (isset($_POST['submit']) and check_upgrade())
     234{
     235  $upgrade_file = PHPWG_ROOT_PATH.'install/upgrade_'.$current_release.'.php';
    265236  if (is_file($upgrade_file))
    266237  {
    267     $page['infos'] = array();
    268238    $page['upgrade_start'] = get_moment();
    269239    $conf['die_on_sql_error'] = false;
     
    284254      'upgrade',
    285255      array(
    286         'VERSION' => $_GET['version'],
     256        'VERSION' => $current_release,
    287257        'TOTAL_TIME' => get_elapsed_time(
    288258          $page['upgrade_start'],
     
    301271    array_push($page['infos'],
    302272      l10n('delete upgrade files'),
    303       l10n('remove line from mysql.inc.php') . '<pre>define(\'PHPWG_IN_UPGRADE\', true);</pre>',
    304273      l10n('perform a maintenance check')
    305274      );
    306 
    307     $template->assign('infos', $page['infos']);
    308275
    309276    invalidate_user_cache();
     
    318285    pwg_query($query);
    319286  }
    320   else
    321   {
    322     die('Hacking attempt');
    323   }
     287}
     288
     289// +-----------------------------------------------------------------------+
     290// |                          start template output                        |
     291// +-----------------------------------------------------------------------+
     292else
     293{
     294  foreach (get_languages('utf-8') as $language_code => $language_name)
     295  {
     296    if ($language == $language_code)
     297    {
     298      $template->assign('language_selection', $language_code);
     299    }
     300    $languages_options[$language_code] = $language_name;
     301  }
     302  $template->assign('language_options', $languages_options);
     303
     304  $template->assign('introduction', array(
     305    'CURRENT_RELEASE' => $current_release,
     306    'F_ACTION' => 'upgrade.php?language=' . $language));
     307
     308  if (!check_upgrade())
     309  {
     310    $template->assign('login', true);
     311  }
     312}
     313
     314if (count($page['errors']) != 0)
     315{
     316  $template->assign('errors', $page['errors']);
     317}
     318
     319if (count($page['infos']) != 0)
     320{
     321  $template->assign('infos', $page['infos']);
    324322}
    325323
Note: See TracChangeset for help on using the changeset viewer.