Version 2.2.0 RC-1
This commit is contained in:
1 parent
f73f8bff6d
commit
22f1b963ee
1034 files changed
+178610
-70897
No files matched your search
@@ -0,0 +1,249 @@
|
||||
<?php
|
||||
/**
|
||||
* Invision Power Board
|
||||
* Action controller for requirements page
|
||||
*/
|
||||
|
||||
class action_overview
|
||||
{
|
||||
var $install;
|
||||
|
||||
function action_overview( & $install )
|
||||
{
|
||||
$this->install =& $install;
|
||||
}
|
||||
|
||||
function run()
|
||||
{
|
||||
//----------------------------------
|
||||
// We must have submitted the form
|
||||
// time to check some details.
|
||||
//----------------------------------
|
||||
|
||||
if ( empty($this->install->ipsclass->input['username']) )
|
||||
{
|
||||
$this->install->template->append( $this->install->template->login_page( "You must enter a username before proceeding" ) );
|
||||
$this->install->template->next_action = '?p=overview';
|
||||
return;
|
||||
}
|
||||
|
||||
if ( empty($this->install->ipsclass->input['password']) )
|
||||
{
|
||||
$this->install->template->append( $this->install->template->login_page( "You must enter a password before proceeding" ) );
|
||||
$this->install->template->next_action = '?p=overview';
|
||||
return;
|
||||
}
|
||||
|
||||
//----------------------------------
|
||||
// Attempt to get the details from the
|
||||
// DB
|
||||
//----------------------------------
|
||||
|
||||
$this->install->ipsclass->DB->query("SELECT m.*, g.* FROM ibf_members m LEFT JOIN ibf_groups g ON (g.g_id=m.mgroup) WHERE LOWER(name)='".strtolower($this->install->ipsclass->input['username'])."'");
|
||||
$mem = $this->install->ipsclass->DB->fetch_row();
|
||||
|
||||
//----------------------------------
|
||||
// Get perms
|
||||
//----------------------------------
|
||||
if ( empty($mem['id']) )
|
||||
{
|
||||
$this->install->template->append( $this->install->template->login_page( "Could not find a record matching that username, please check the spelling" ) );
|
||||
$this->install->template->next_action = '?p=overview';
|
||||
return;
|
||||
}
|
||||
|
||||
//----------------------------------
|
||||
// Load converge member
|
||||
//----------------------------------
|
||||
|
||||
if( !$this->install->ipsclass->DB->field_exists( 'converge_id', 'members_converge' ) OR
|
||||
( isset($this->install->saved_data['vid']) AND $this->install->saved_data['vid'] < 10003 ) )
|
||||
{
|
||||
$pass = md5( $this->install->ipsclass->input['password'] );
|
||||
|
||||
if ( $pass != $mem['password'] AND $pass != $mem['legacy_password'] )
|
||||
{
|
||||
$this->install->template->append( $this->install->template->login_page( "The password you entered is not correct" ) );
|
||||
$this->install->template->next_action = '?p=overview';
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($mem['g_access_cp'] != 1)
|
||||
{
|
||||
$this->install->template->append( $this->install->template->login_page( "You do not have access to the administrative CP" ) );
|
||||
$this->install->template->next_action = '?p=overview';
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->install->ipsclass->member = $mem;
|
||||
$this->install->saved_data['loginkey'] = $mem['password'] ? md5($mem['password']) : md5($mem['legacy_password']);
|
||||
$this->install->saved_data['securekey'] = $this->install->ipsclass->return_md5_check();
|
||||
$this->install->saved_data['mid'] = $mem['id'];
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->install->ipsclass->converge->converge_load_member($mem['email']);
|
||||
|
||||
if ( ! $this->install->ipsclass->converge->member['converge_id'] )
|
||||
{
|
||||
$this->install->template->append( $this->install->template->login_page( "Could not find a record matching that username, please check the spelling" ) );
|
||||
$this->install->template->next_action = '?p=overview';
|
||||
return;
|
||||
}
|
||||
|
||||
//----------------------------------
|
||||
// Check converge pass
|
||||
//----------------------------------
|
||||
|
||||
$pass = md5( $this->install->ipsclass->input['password'] );
|
||||
|
||||
if ( $this->install->ipsclass->converge->converge_authenticate_member( $pass ) != TRUE )
|
||||
{
|
||||
$this->install->template->append( $this->install->template->login_page( "The password you entered is not correct" ) );
|
||||
$this->install->template->next_action = '?p=overview';
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($mem['g_access_cp'] != 1)
|
||||
{
|
||||
$this->install->template->append( $this->install->template->login_page( "You do not have access to the administrative CP" ) );
|
||||
$this->install->template->next_action = '?p=overview';
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->install->ipsclass->member = $mem;
|
||||
$this->install->saved_data['loginkey'] = $mem['member_login_key'];
|
||||
$this->install->saved_data['securekey'] = $this->install->ipsclass->return_md5_check();
|
||||
$this->install->saved_data['mid'] = $mem['id'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
$this->install->get_version_latest();
|
||||
|
||||
$error = array();
|
||||
if ( ! $this->install->last_poss_id )
|
||||
{
|
||||
$error[] = "An error has occured, we are unable to determine the current version or if there are any required upgrade files left to run";
|
||||
}
|
||||
if ( count($this->install->versions) == 0 )
|
||||
{
|
||||
$error[] = "Could not locate the required upgrade script: 'upg_{$this->install->last_poss_id}/version_history.php'";
|
||||
}
|
||||
if ( ! $this->install->current_version )
|
||||
{
|
||||
$error[] = "An error has occured, we are unable to determine the current version or if there are any required upgrade files left to run";
|
||||
}
|
||||
if ( $this->install->last_poss_id <= $this->install->current_version )
|
||||
{
|
||||
$error[] = "Your installation is up to date; no upgrade required";
|
||||
}
|
||||
|
||||
$checkfiles = array( ROOT_PATH ."resources/ipb_templates.xml",
|
||||
ROOT_PATH ."resources/skinsets.xml",
|
||||
ROOT_PATH ."resources/macro.xml",
|
||||
ROOT_PATH ."resources/settings.xml",
|
||||
ROOT_PATH ."resources/acpperms.xml",
|
||||
ROOT_PATH ."resources/version_history.php",
|
||||
ROOT_PATH ."sources/sql",
|
||||
KERNEL_PATH ."class_converge.php",
|
||||
KERNEL_PATH ."class_xml.php",
|
||||
KERNEL_PATH ."class_db_".SQL_DRIVER.".php",
|
||||
ROOT_PATH ."conf_global.php",
|
||||
);
|
||||
|
||||
$timecheck = array(
|
||||
ROOT_PATH ."resources/ipb_templates.xml",
|
||||
ROOT_PATH ."resources/skinsets.xml",
|
||||
ROOT_PATH ."resources/macro.xml",
|
||||
ROOT_PATH ."resources/settings.xml",
|
||||
ROOT_PATH ."resources/acpperms.xml",
|
||||
ROOT_PATH ."resources/version_history.php"
|
||||
);
|
||||
|
||||
$writeable = array( #ROOT_PATH."conf_global.php",
|
||||
ROOT_PATH."cache/",
|
||||
ROOT_PATH."cache/skin_cache/",
|
||||
ROOT_PATH."style_images/"
|
||||
);
|
||||
|
||||
@filemtime( ROOT_PATH . 'sources/ipsclass.php' );
|
||||
|
||||
foreach ( $checkfiles as $cf )
|
||||
{
|
||||
if ( ! file_exists($cf) )
|
||||
{
|
||||
$error[] = "Cannot locate the file '$cf'.";
|
||||
}
|
||||
}
|
||||
|
||||
foreach ( $writeable as $cf )
|
||||
{
|
||||
if ( ! is_writeable($cf) )
|
||||
{
|
||||
$error[] = "Cannot write to the file or folder '$cf'. Please CHMOD to 0777.";
|
||||
}
|
||||
}
|
||||
|
||||
if ( count ( $error ) )
|
||||
{
|
||||
$this->install->template->warning( $error );
|
||||
$this->install->template->next_action = '';
|
||||
$this->install->template->hide_next = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
$current_version = $this->install->current_version == '00000' ? 'not installed' : $this->install->versions[ $this->install->current_version ];
|
||||
|
||||
if ( $this->install->current_version == '00000' )
|
||||
{
|
||||
$this->ipsclass->boink_it( str_replace( 'upgrade', 'install', $this->ipsclass->my_getenv( 'PHP_SELF' ) ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
$summary .= "Upgrade from ".$this->install->versions[ $this->install->current_version ]." to ".$this->install->versions[ $this->install->last_poss_id ];
|
||||
}
|
||||
|
||||
//-----------------------------------------
|
||||
// Time check...
|
||||
//-----------------------------------------
|
||||
|
||||
$summary .= "<br /><br /><strong>Checking 'resources' directory files</strong>";
|
||||
$_flag = 0;
|
||||
|
||||
foreach ( $timecheck as $cf )
|
||||
{
|
||||
$_time = @filemtime( $cf );
|
||||
|
||||
if ( $time_to_check AND $_time AND ( ( $time_to_check - (86400 * 7) ) > $_time ) )
|
||||
{
|
||||
$_flag = 1;
|
||||
$summary .= "<div style='color:red'>·" . str_replace( ROOT_PATH, '', $cf ) . ' may be out of date</div>';
|
||||
}
|
||||
}
|
||||
|
||||
if ( $_flag )
|
||||
{
|
||||
$summary .= "<br /><div>Please check the above files to make sure they have been uploaded from the ".$this->install->versions[ $this->install->last_poss_id ]." download";
|
||||
}
|
||||
else
|
||||
{
|
||||
$summary .= "<div style='color:green'>All files checked OK</div>";
|
||||
}
|
||||
|
||||
/* Page Output */
|
||||
$this->install->template->append( $this->install->template->overview_page( $current_version, $summary ) );
|
||||
$this->install->template->next_action = '?p=eula';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in new issue
Block a user