Files
IPB/upload/upgrade/upg_20009/version_upgrade.php
T
2025-12-19 00:22:37 -08:00

185 lines
5.2 KiB
PHP

<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board v<{%dyn.down.var.human.version%}>
| ========================================
| by Matthew Mecham
| (c) 2001 - 2004 Invision Power Services
| http://www.invisionpower.com
| ========================================
| Web: http://www.invisionboard.com
| Time: <{%dyn.down.var.time%}>
| Release: <{%dyn.down.var.md5%}>
| Email: matt@invisionpower.com
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|
| > IPB UPGRADE MODULE:: IPB 2.0.0 PF3 -> PF 4
| > Script written by Matt Mecham
| > Date started: 23rd April 2004
| > "So what, pop is dead - it's no great loss.
So many facelifts, it's face flew off"
+--------------------------------------------------------------------------
*/
if ( ! defined( 'IN_IPB' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded all the relevant files.";
exit();
}
class version_upgrade
{
var $this_version = '20009';
var $upgrade_from = '20008';
var $first_step = 'update your database to include the new schematic modifications.';
var $md5_check = '';
var $base_url = '';
var $mod_to_run = '';
var $error = array();
/*-------------------------------------------------------------------------*/
// CONSTRUCTOR
/*-------------------------------------------------------------------------*/
function version_upgrade()
{
}
function version_process()
{
$this->md5_check = $this->ipsclass->return_md5_check();
$this->base_url = "index.php?act=work&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}";
if ( is_array( $this->ipsclass->modules_to_run ) and count( $this->ipsclass->modules_to_run ) )
{
$tmp = array_shift( $this->ipsclass->modules_to_run );
$this->mod_to_run = implode( ', ', $this->ipsclass->modules_to_run );
}
if ( ! $this->mod_to_run )
{
$this->mod_to_run = 'None';
}
}
/*-------------------------------------------------------------------------*/
// Auto run..
/*-------------------------------------------------------------------------*/
function auto_run()
{
//--------------------------------
// What are we doing?
//--------------------------------
switch( $this->ipsclass->input['workact'] )
{
case 'sql':
$this->upgrade_sql();
break;
default:
$this->upgrade_intro();
break;
}
}
/*-------------------------------------------------------------------------*/
// SQL
/*-------------------------------------------------------------------------*/
function upgrade_sql()
{
$cnt = 0;
$SQL = array();
if ( file_exists( THIS_PATH.'upg_'.$this->ipsclass->current_upgrade.'/'.strtolower($this->ipsclass->vars['sql_driver']).'_updates.php' ) )
{
require_once( THIS_PATH.'upg_'.$this->ipsclass->current_upgrade.'/'.strtolower($this->ipsclass->vars['sql_driver']).'_updates.php' );
$this->ipsclass->DB->return_die = 1;
foreach( $SQL as $q )
{
$this->ipsclass->DB->query( $q );
if ( $this->ipsclass->DB->error )
{
$this->error[] = $this->ipsclass->DB->error;
}
else
{
$cnt++;
}
}
}
//--------------------------------
// Upgrade templates
//--------------------------------
require_once( THIS_PATH.'upg_'.$this->ipsclass->current_upgrade.'/components.php' );
$this->ipsclass->DB->do_update( 'skin_sets', array( 'set_css' => $CSS,
'set_cache_css' => $CSS,
'set_wrapper' => $WRAPPER,
'set_cache_wrapper' => $WRAPPER,
), 'set_skin_set_id=1' );
$cnt++;
//--------------------------------
// Next page...
//--------------------------------
if ( count($this->error) )
{
$this->ipsclass->core->show_error( implode( "<br />", $this->error ), "done" );
}
else
{
$this->ipsclass->core->redirect( "index.php?act=done&loginkey={$this->ipsclass->input['loginkey']}&securekey={$this->ipsclass->input['securekey']}&mid={$this->ipsclass->input['mid']}", "$cnt queries run...." );
}
}
/*-------------------------------------------------------------------------*/
// INTRO
/*-------------------------------------------------------------------------*/
function upgrade_intro()
{
$this->ipsclass->template->content .= "
<div class='tableborder'>
<div class='maintitle'>Welcome to the IPB Upgrade System</div>
<div class='tdrow1' style='padding:6px'>This upgrade module will upgrade you from <b>{$this->ipsclass->versions[$this->upgrade_from]}</b> to <b>{$this->ipsclass->versions[$this->this_version]}</b>
<br /><br />This first step will {$this->first_step}
<br /><br />
<div align='center'><span style='font-weight:bold;font-size:14px'>&raquo; <a href='{$this->base_url}&workact=sql'>Proceed...</a></span></div>
</div>
</div>
<br />
<div align='center'>Modules to run after this module: {$this->mod_to_run}</div>
";
$this->ipsclass->template->output();
}
}
?>