install/schemas/upgrade/migration/1.0-1.1.php
author Dan
Tue, 12 Feb 2008 07:44:16 -0500
changeset 418 322fa0c91303
parent 377 bb3e6c3bd4f4
child 942 18db38c70a41
permissions -rw-r--r--
Fixed version-set on migration code (see the comments in the source for why) and added post-upgrade hooks.

<?php

function MIGRATE()
{
  global $languages;
  global $db, $dbdriver;
  
  // Database upgrade
  try
  {
    $sql_parser = new SQL_Parser('install/schemas/upgrade/migration/1.0-1.1-' . $dbdriver . '.sql');
  }
  catch ( Exception $e )
  {
    die("<pre>$e</pre>");
  }
  
  $sql_parser->assign_vars(array(
      'TABLE_PREFIX' => table_prefix
    ));
  
  $sql_list = $sql_parser->parse();
  foreach ( $sql_list as $sql )
  {
    if ( !$db->sql_query($sql) )
      $db->_die();
  }
  
  // Install default language
  $lang_id = 'eng';
  $lang_data =& $languages[$lang_id];
  $lang_dir = ENANO_ROOT . "/language/{$lang_data['dir']}/";
  // function install_language($lang_code, $lang_name_neutral, $lang_name_local, $lang_file = false)
  install_language($lang_id, $lang_data['name_eng'], $lang_data['name'], $lang_dir . 'core.json');
  $lang_local = new Language($lang_id);
  $lang_local->import($lang_dir . "tools.json");
  $lang_local->import($lang_dir . "user.json");
  $lang_local->import($lang_dir . "admin.json");
  
  // This doesn't set to installer_enano_version() because it only
  // migrates the database from 1.0.x to 1.1.x status and runs the
  // core logic required to transform a 1.0.x installation into
  // a 1.1.x installation. Thus, when upgrading, the upgrade script
  // still needs to run all later upgrade schema files in addition
  // to this migration code.
  setConfig('enano_version', '1.1.1');
  
  return true;
}