install/schemas/upgrade/migration/1.0-1.1.php
author Dan
Sun, 04 May 2008 21:57:48 -0400
changeset 541 acb7e23b6ffa
parent 418 322fa0c91303
child 942 18db38c70a41
permissions -rw-r--r--
Massive commit with various changes. Added user ranks system (no admin interface yet) and ability for users to have custom user titles. Made cron framework accept fractions of hours through floating-point intervals. Modifed ACL editor to use miniPrompt framework for close confirmation box. Made avatar system use a special page as opposed to fetching the files directly for caching reasons.

<?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;
}