Version 3.3.4

This commit is contained in:
Neo committed 2025-12-19 00:35:52 -08:00
1 parent 78706903a2
commit fb6b5baabc
2206 files changed
+409828 -382984

No files matched your search

+221 -221
View File
@@ -1,222 +1,222 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.2.3
* Version Specific Upgrade Functions
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
* </pre>
*
* @author Matt Mecham
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license This is NULLED!
* @package IP.Board
* @link http://hatynka.in
* @since 1st December 2008
* @version $Revision: 8644 $
*
*/
class upgradeLegacy
{
/**
* Member data
*
* @access private
* @var array
*/
private $_member;
/**
* Constructor
*
* @access public
* @return @e void
*/
public function __construct( ipsRegistry $registry )
{
/* Make object */
$this->registry = $registry;
$this->DB = $this->registry->DB();
$this->settings =& $this->registry->fetchSettings();
$this->request =& $this->registry->fetchRequest();
$this->cache = $this->registry->cache();
$this->caches =& $this->registry->cache()->fetchCaches();
//* Make sure tables exist that won't in pre 3.0 versions */
if ( is_file( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
{
/* Init vars */
$UPGRADE_HISTORY_TABLE = '';
$UPGRADE_TABLE_FIELD = '';
$UPGRADE_SESSION_TABLE = '';
$UPGRADE_CSS_PREVIOUS = '';
$UPGRADE_TEMPLATE_PREVIOUS = '';
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );/*noLibHook*/
$prefix = $this->registry->dbFunctions()->getPrefix();
if ( ! $this->DB->checkForTable( 'upgrade_history' ) )
{
if ( $UPGRADE_HISTORY_TABLE )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_HISTORY_TABLE, $prefix ) );
}
}
if ( ! $this->DB->checkForField( 'upgrade_app', 'upgrade_history' ) )
{
if ( $UPGRADE_TABLE_FIELD )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TABLE_FIELD, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'upgrade_sessions' ) )
{
if ( $UPGRADE_SESSION_TABLE )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_SESSION_TABLE, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_css_previous' ) )
{
if ( $UPGRADE_CSS_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_CSS_PREVIOUS, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_templates_previous' ) )
{
if ( $UPGRADE_TEMPLATE_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TEMPLATE_PREVIOUS, $prefix ) );
}
}
}
}
/**
* Fetch auth key
*
* @access public
* @return string
*/
public function fetchAuthKey()
{
if ( ! $this->_member['id'] AND ! $this->_member['member_id'] )
{
throw new Exception( "ПОЛЬЗОВАТЕЛЬ НЕ ЗАГРУЖЕН" );
}
else
{
return ( $this->_member['password'] ) ? md5( $this->_member['password'] ) : md5( $this->_member['legacy_password'] );
}
}
/**
* Fetch member data
*
* @access public
* @return array
*/
public function fetchMemberData()
{
return ( is_array( $this->_member ) ) ? $this->_member : array();
}
/**
* Load and return member data
*
* @access public
* @param int Member ID to load
* @return array
*/
public function loadMemberData( $memberId )
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => 'm.id=' . intval( $memberId ),
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.mgroup' ) ) ) );
$this->DB->execute();
$this->_member = $this->DB->fetch();
/* Fix up pre-3 stuffs */
$this->_member['member_id'] = $this->_member['id'];
$this->_member['member_group_id'] = $this->_member['mgroup'];
/* Occasionally 1.x installs do not have an email address. Most likey an InvisionFree issue */
if ( ! $this->_member['email'] )
{
$this->DB->update( 'members', array( 'email' => 'email_' . $this->_member['id'] . '_@changeMe.com' ), 'id=' . $memberId );
}
return $this->fetchMemberData();
}
/**
* Authenticate log in
*
* @access public
* @param string Username (from $this->request)
* @param string Password (from $this->request)
* @return mixed TRUE if successful, string (message) if not
*/
public function authenticateLogIn( $username, $password )
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => $this->DB->buildLower('m.name') . "='" . mb_strtolower( $username ) . "'",
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.mgroup' ) ) ) );
$this->DB->execute();
$mem = $this->DB->fetch();
$pass = md5( $password );
/* Check it out */
if ( ! $mem['id'] )
{
return 'Пользователь таким именем не найден';
}
if ( $pass != $mem['password'] AND $pass != $mem['legacy_password'] )
{
return 'Неверный пароль';
}
if ( $mem['g_access_cp'] != 1 )
{
return 'У вас нет доступа к системе обновления';
}
/* Set up _member */
$this->loadMemberData( $mem['id'] );
/* Still here? */
return TRUE;
}
/**
* Return log in form HTML
*
* @access public
* @return string HTML
*/
public function fetchLogInForm()
{
return $this->registry->output->template()->upgrade_login_200plus( 'username' );
}
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* Version Specific Upgrade Functions
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* </pre>
*
* @author Matt Mecham
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @link http://www.invisionpower.com
* @since 1st December 2008
* @version $Revision: 10914 $
*
*/
class upgradeLegacy
{
/**
* Member data
*
* @access private
* @var array
*/
private $_member;
/**
* Constructor
*
* @access public
* @return @e void
*/
public function __construct( ipsRegistry $registry )
{
/* Make object */
$this->registry = $registry;
$this->DB = $this->registry->DB();
$this->settings =& $this->registry->fetchSettings();
$this->request =& $this->registry->fetchRequest();
$this->cache = $this->registry->cache();
$this->caches =& $this->registry->cache()->fetchCaches();
//* Make sure tables exist that won't in pre 3.0 versions */
if ( is_file( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
{
/* Init vars */
$UPGRADE_HISTORY_TABLE = '';
$UPGRADE_TABLE_FIELD = '';
$UPGRADE_SESSION_TABLE = '';
$UPGRADE_CSS_PREVIOUS = '';
$UPGRADE_TEMPLATE_PREVIOUS = '';
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );/*noLibHook*/
$prefix = $this->registry->dbFunctions()->getPrefix();
if ( ! $this->DB->checkForTable( 'upgrade_history' ) )
{
if ( $UPGRADE_HISTORY_TABLE )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_HISTORY_TABLE, $prefix ) );
}
}
if ( ! $this->DB->checkForField( 'upgrade_app', 'upgrade_history' ) )
{
if ( $UPGRADE_TABLE_FIELD )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TABLE_FIELD, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'upgrade_sessions' ) )
{
if ( $UPGRADE_SESSION_TABLE )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_SESSION_TABLE, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_css_previous' ) )
{
if ( $UPGRADE_CSS_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_CSS_PREVIOUS, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_templates_previous' ) )
{
if ( $UPGRADE_TEMPLATE_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TEMPLATE_PREVIOUS, $prefix ) );
}
}
}
}
/**
* Fetch auth key
*
* @access public
* @return string
*/
public function fetchAuthKey()
{
if ( ! $this->_member['id'] AND ! $this->_member['member_id'] )
{
throw new Exception( "MEMBER NOT SET" );
}
else
{
return ( $this->_member['password'] ) ? md5( $this->_member['password'] ) : md5( $this->_member['legacy_password'] );
}
}
/**
* Fetch member data
*
* @access public
* @return array
*/
public function fetchMemberData()
{
return ( is_array( $this->_member ) ) ? $this->_member : array();
}
/**
* Load and return member data
*
* @access public
* @param int Member ID to load
* @return array
*/
public function loadMemberData( $memberId )
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => 'm.id=' . intval( $memberId ),
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.mgroup' ) ) ) );
$this->DB->execute();
$this->_member = $this->DB->fetch();
/* Fix up pre-3 stuffs */
$this->_member['member_id'] = $this->_member['id'];
$this->_member['member_group_id'] = $this->_member['mgroup'];
/* Occasionally 1.x installs do not have an email address. Most likey an InvisionFree issue */
if ( ! $this->_member['email'] )
{
$this->DB->update( 'members', array( 'email' => 'email_' . $this->_member['id'] . '_@changeMe.com' ), 'id=' . $memberId );
}
return $this->fetchMemberData();
}
/**
* Authenticate log in
*
* @access public
* @param string Username (from $this->request)
* @param string Password (from $this->request)
* @return mixed TRUE if successful, string (message) if not
*/
public function authenticateLogIn( $username, $password )
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => $this->DB->buildLower('m.name') . "='" . strtolower( $username ) . "'",
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.mgroup' ) ) ) );
$this->DB->execute();
$mem = $this->DB->fetch();
$pass = md5( $password );
/* Check it out */
if ( ! $mem['id'] )
{
return 'No user found by that username';
}
if ( $pass != $mem['password'] AND $pass != $mem['legacy_password'] )
{
return 'Password incorrect';
}
if ( $mem['g_access_cp'] != 1 )
{
return 'You do not have access to the upgrade system';
}
/* Set up _member */
$this->loadMemberData( $mem['id'] );
/* Still here? */
return TRUE;
}
/**
* Return log in form HTML
*
* @access public
* @return string HTML
*/
public function fetchLogInForm()
{
return $this->registry->output->template()->upgrade_login_200plus( 'username' );
}
}
+264 -264
View File
@@ -1,265 +1,265 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.2.3
* Version Specific Upgrade Functions
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
* </pre>
*
* @author Matt Mecham
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license This is NULLED!
* @package IP.Board
* @link http://hatynka.in
* @since 1st December 2008
* @version $Revision: 8644 $
*
*/
class upgradeLegacy
{
/**
* Member data
*
* @access private
* @var array
*/
private $_member;
/**
* Constructor
*
* @access public
* @return @e void
*/
public function __construct( ipsRegistry $registry )
{
/* Make object */
$this->registry = $registry;
$this->DB = $this->registry->DB();
$this->settings =& $this->registry->fetchSettings();
$this->request =& $this->registry->fetchRequest();
$this->cache = $this->registry->cache();
$this->caches =& $this->registry->cache()->fetchCaches();
/* Make sure tables exist that won't in pre 3.0 versions */
if ( is_file( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
{
/* Init vars */
$UPGRADE_TABLE_FIELD = '';
$UPGRADE_SESSION_TABLE = '';
$UPGRADE_CSS_PREVIOUS = '';
$UPGRADE_TEMPLATE_PREVIOUS = '';
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );/*noLibHook*/
$prefix = $this->registry->dbFunctions()->getPrefix();
if ( ! $this->DB->checkForField( 'upgrade_app', 'upgrade_history' ) )
{
if ( $UPGRADE_TABLE_FIELD )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TABLE_FIELD, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'upgrade_sessions' ) )
{
if ( $UPGRADE_SESSION_TABLE )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_SESSION_TABLE, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_css_previous' ) )
{
if ( $UPGRADE_CSS_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_CSS_PREVIOUS, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_templates_previous' ) )
{
if ( $UPGRADE_TEMPLATE_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TEMPLATE_PREVIOUS, $prefix ) );
}
}
}
}
/**
* Fetch auth key
*
* @access public
* @return string
*/
public function fetchAuthKey()
{
if ( ! $this->_member['id'] AND ! $this->_member['member_id'] )
{
throw new Exception( "ПОЛЬЗОВАТЕЛЬ НЕ ЗАГРУЖЕН" );
}
else
{
return $this->_member['member_login_key'];
}
}
/**
* Fetch member data
*
* @access public
* @return array
*/
public function fetchMemberData()
{
return ( is_array( $this->_member ) ) ? $this->_member : array();
}
/**
* Load and return member data
*
* @access public
* @param int Member ID to load
* @return array
*/
public function loadMemberData( $memberId )
{
/* At this point, we could be either using 2.3 or 3.0 */
if ( $this->DB->checkForField( 'member_id', 'members' ) )
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => 'm.member_id=' . intval( $memberId ),
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.member_group_id' ) ) ) );
$this->DB->execute();
$this->_member = $this->DB->fetch();
}
else
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => 'm.id=' . intval( $memberId ),
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.mgroup' ) ) ) );
$this->DB->execute();
$this->_member = $this->DB->fetch();
/* Fix up pre-3 stuffs */
$this->_member['member_id'] = $this->_member['id'];
$this->_member['member_group_id'] = $this->_member['mgroup'];
}
/* Set up seconday groups */
$this->_member = ips_MemberRegistry::setUpSecondaryGroups( $this->_member );
return $this->fetchMemberData();
}
/**
* Authenticate log in
*
* @access public
* @param string Username (from $this->request)
* @param string Password (from $this->request)
* @return mixed TRUE if successful, string (message) if not
*/
public function authenticateLogIn( $username, $password )
{
/* Log in type */
$loginType = $this->_fetchLogInType();
$where = ( $loginType == 'username' ) ? $this->DB->buildLower('m.name'). "='" . mb_strtolower( $username ) . "'" : "m.email='" . mb_strtolower( $username ) . "'";
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => $where,
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.mgroup' ),
array( 'select' => 'c.*',
'from' => array( 'members_converge' => 'c' ),
'where' => 'c.converge_email=m.email' ) ) ) );
$this->DB->execute();
$mem = $this->DB->fetch();
/* Check it out */
if ( ! $mem['id'] OR ! $mem['converge_pass_hash'] )
{
return 'Пользователь не найден';
}
if ( $mem['converge_pass_hash'] != md5( md5( $mem['converge_pass_salt'] ) . md5( $password ) ) )
{
return 'Неверный пароль';
}
/* Test seconday groups */
$mem = ipsRegistry::member()->setUpSecondaryGroups( $mem );
if ( $mem['g_access_cp'] != 1 )
{
return 'У вас нет доступа к системе обновления';
}
/* Set up _member */
$this->loadMemberData( $mem['id'] );
/* Still here? */
return TRUE;
}
/**
* Return log in form HTML
*
* @access public
* @return string HTML
*/
public function fetchLogInForm()
{
$loginType = $this->_fetchLogInType();
return $this->registry->output->template()->upgrade_login_200plus( $loginType );
}
/**
* Fetch the log in type
*
* @access private
* @return string
*/
public function _fetchLoginType()
{
$loginType = 'username';
$this->DB->build( array( 'select' => '*', 'from' => 'conf_settings', 'where' => "conf_key IN('ipbli_usertype','converge_login_method')", 'order' => 'conf_key ASC' ) );
$this->DB->execute();
while( $r = $this->DB->fetch() )
{
$r['conf_value'] = $r['conf_value'] ? $r['conf_value'] : $r['conf_default'];
if ( $r['conf_value'] )
{
$loginType = $r['conf_value'];
}
}
return $loginType;
}
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* Version Specific Upgrade Functions
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* </pre>
*
* @author Matt Mecham
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @link http://www.invisionpower.com
* @since 1st December 2008
* @version $Revision: 10914 $
*
*/
class upgradeLegacy
{
/**
* Member data
*
* @access private
* @var array
*/
private $_member;
/**
* Constructor
*
* @access public
* @return @e void
*/
public function __construct( ipsRegistry $registry )
{
/* Make object */
$this->registry = $registry;
$this->DB = $this->registry->DB();
$this->settings =& $this->registry->fetchSettings();
$this->request =& $this->registry->fetchRequest();
$this->cache = $this->registry->cache();
$this->caches =& $this->registry->cache()->fetchCaches();
/* Make sure tables exist that won't in pre 3.0 versions */
if ( is_file( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
{
/* Init vars */
$UPGRADE_TABLE_FIELD = '';
$UPGRADE_SESSION_TABLE = '';
$UPGRADE_CSS_PREVIOUS = '';
$UPGRADE_TEMPLATE_PREVIOUS = '';
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );/*noLibHook*/
$prefix = $this->registry->dbFunctions()->getPrefix();
if ( ! $this->DB->checkForField( 'upgrade_app', 'upgrade_history' ) )
{
if ( $UPGRADE_TABLE_FIELD )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TABLE_FIELD, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'upgrade_sessions' ) )
{
if ( $UPGRADE_SESSION_TABLE )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_SESSION_TABLE, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_css_previous' ) )
{
if ( $UPGRADE_CSS_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_CSS_PREVIOUS, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_templates_previous' ) )
{
if ( $UPGRADE_TEMPLATE_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TEMPLATE_PREVIOUS, $prefix ) );
}
}
}
}
/**
* Fetch auth key
*
* @access public
* @return string
*/
public function fetchAuthKey()
{
if ( ! $this->_member['id'] AND ! $this->_member['member_id'] )
{
throw new Exception( "MEMBER NOT SET" );
}
else
{
return $this->_member['member_login_key'];
}
}
/**
* Fetch member data
*
* @access public
* @return array
*/
public function fetchMemberData()
{
return ( is_array( $this->_member ) ) ? $this->_member : array();
}
/**
* Load and return member data
*
* @access public
* @param int Member ID to load
* @return array
*/
public function loadMemberData( $memberId )
{
/* At this point, we could be either using 2.3 or 3.0 */
if ( $this->DB->checkForField( 'member_id', 'members' ) )
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => 'm.member_id=' . intval( $memberId ),
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.member_group_id' ) ) ) );
$this->DB->execute();
$this->_member = $this->DB->fetch();
}
else
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => 'm.id=' . intval( $memberId ),
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.mgroup' ) ) ) );
$this->DB->execute();
$this->_member = $this->DB->fetch();
/* Fix up pre-3 stuffs */
$this->_member['member_id'] = $this->_member['id'];
$this->_member['member_group_id'] = $this->_member['mgroup'];
}
/* Set up seconday groups */
$this->_member = ips_MemberRegistry::setUpSecondaryGroups( $this->_member );
return $this->fetchMemberData();
}
/**
* Authenticate log in
*
* @access public
* @param string Username (from $this->request)
* @param string Password (from $this->request)
* @return mixed TRUE if successful, string (message) if not
*/
public function authenticateLogIn( $username, $password )
{
/* Log in type */
$loginType = $this->_fetchLogInType();
$where = ( $loginType == 'username' ) ? $this->DB->buildLower('m.name') . "='" . strtolower( $username ) . "'" : "m.email='" . strtolower( $username ) . "'";
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => $where,
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.mgroup' ),
array( 'select' => 'c.*',
'from' => array( 'members_converge' => 'c' ),
'where' => 'c.converge_email=m.email' ) ) ) );
$this->DB->execute();
$mem = $this->DB->fetch();
/* Check it out */
if ( ! $mem['id'] OR ! $mem['converge_pass_hash'] )
{
return 'No user found by that username';
}
if ( $mem['converge_pass_hash'] != md5( md5( $mem['converge_pass_salt'] ) . md5( $password ) ) )
{
return 'Password incorrect';
}
/* Test seconday groups */
$mem = ipsRegistry::member()->setUpSecondaryGroups( $mem );
if ( $mem['g_access_cp'] != 1 )
{
return 'You do not have access to the upgrade system';
}
/* Set up _member */
$this->loadMemberData( $mem['id'] );
/* Still here? */
return TRUE;
}
/**
* Return log in form HTML
*
* @access public
* @return string HTML
*/
public function fetchLogInForm()
{
$loginType = $this->_fetchLogInType();
return $this->registry->output->template()->upgrade_login_200plus( $loginType );
}
/**
* Fetch the log in type
*
* @access private
* @return string
*/
public function _fetchLoginType()
{
$loginType = 'username';
$this->DB->build( array( 'select' => '*', 'from' => 'conf_settings', 'where' => "conf_key IN('ipbli_usertype','converge_login_method')", 'order' => 'conf_key ASC' ) );
$this->DB->execute();
while( $r = $this->DB->fetch() )
{
$r['conf_value'] = $r['conf_value'] ? $r['conf_value'] : $r['conf_default'];
if ( $r['conf_value'] )
{
$loginType = $r['conf_value'];
}
}
return $loginType;
}
}
+255 -228
View File
@@ -1,229 +1,256 @@
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.2.3
* Version Specific Upgrade Functions
* Last Updated: $Date: 2011-05-05 07:03:47 -0400 (Thu, 05 May 2011) $
* </pre>
*
* @author Matt Mecham
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license This is NULLED!
* @package IP.Board
* @link http://hatynka.in
* @since 1st December 2008
* @version $Revision: 8644 $
*
*/
class upgradeLegacy
{
/**
* Member data
*
* @access private
* @var array
*/
private $_member;
/**
* Constructor
*
* @access public
* @return @e void
*/
public function __construct( ipsRegistry $registry )
{
/* Make object */
$this->registry = $registry;
$this->DB = $this->registry->DB();
$this->settings =& $this->registry->fetchSettings();
$this->request =& $this->registry->fetchRequest();
$this->cache = $this->registry->cache();
$this->caches =& $this->registry->cache()->fetchCaches();
/* Make sure tables exist that won't in pre 3.0 versions */
if ( is_file( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
{
/* Init vars */
$UPGRADE_TABLE_FIELD = '';
$UPGRADE_SESSION_TABLE = '';
$UPGRADE_CSS_PREVIOUS = '';
$UPGRADE_TEMPLATE_PREVIOUS = '';
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );/*noLibHook*/
$prefix = $this->registry->dbFunctions()->getPrefix();
if ( ! $this->DB->checkForField( 'upgrade_app', 'upgrade_history' ) )
{
if ( $UPGRADE_TABLE_FIELD )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TABLE_FIELD, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'upgrade_sessions' ) )
{
if ( $UPGRADE_SESSION_TABLE )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_SESSION_TABLE, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_css_previous' ) )
{
if ( $UPGRADE_CSS_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_CSS_PREVIOUS, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_templates_previous' ) )
{
if ( $UPGRADE_TEMPLATE_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TEMPLATE_PREVIOUS, $prefix ) );
}
}
}
}
/**
* Fetch auth key
*
* @access public
* @return string
*/
public function fetchAuthKey()
{
if ( ! $this->_member['member_id'] )
{
throw new Exception( "ПОЛЬЗОВАТЕЛЬ НЕ ЗАГРУЖЕН" );
}
else
{
return $this->_member['member_login_key'];
}
}
/**
* Fetch member data
*
* @access public
* @return array
*/
public function fetchMemberData()
{
return ( is_array( $this->_member ) ) ? $this->_member : array();
}
/**
* Load and return member data
*
* @access public
* @param int Member ID to load
* @return array
*/
public function loadMemberData( $memberId )
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => 'm.member_id=' . intval( $memberId ),
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.member_group_id' ) ) ) );
$this->DB->execute();
/* Set up seconday groups */
$this->_member = ips_MemberRegistry::setUpSecondaryGroups( $this->DB->fetch() );
return $this->fetchMemberData();
}
/**
* Authenticate log in
*
* @access public
* @param string Username (from $this->request)
* @param string Password (from $this->request)
* @return mixed TRUE if successful, string (message) if not
*/
public function authenticateLogIn( $username, $password )
{
require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );/*noLibHook*/
$han_login = new han_login( $this->registry );
$han_login->is_admin_auth = 1;
$han_login->init();
$email = '';
/* Is this a username or email address? */
if ( IPSText::checkEmailAddress( $username ) )
{
$email = $username;
$username = '';
}
$han_login->loginAuthenticate( $username, $email, $password );
$mem = $han_login->member_data;
if ( ( ! $mem['member_id'] ) or ( $han_login->return_code == 'NO_USER' ) )
{
return 'Пользователь не найден';
}
if ( $han_login->return_code == 'NO_ACCESS' )
{
return 'У вас нет доступа к системе обновления';
}
else if ( $han_login->return_code != 'SUCCESS' )
{
return 'Имя пользователя или пароль неверны';
}
/* Test seconday groups */
$mem = ipsRegistry::member()->setUpSecondaryGroups( $mem );
if ( $mem['g_access_cp'] != 1 )
{
return 'У вас нет доступа к системе обновления';
}
/* Set up _member */
$this->loadMemberData( $mem['member_id'] );
/* Still here? */
return TRUE;
}
/**
* Return log in form HTML
*
* @access public
* @return string HTML
*/
public function fetchLogInForm()
{
require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );/*noLibHook*/
$han_login = new han_login( $this->registry );
$han_login->is_admin_auth = 1;
$han_login->init();
$additional_data = ''; //$han_login->additionalFormHTML();
$replace = false;
$data = array();
if( !is_null($additional_data) AND is_array($additional_data) AND count($additional_data) )
{
$replace = $additional_data[0];
$data = $additional_data[1];
}
return $this->registry->output->template()->upgrade_login_300plus( $data, $replace == 'replace' ? true : false );
}
<?php
/**
* <pre>
* Invision Power Services
* IP.Board v3.3.4
* Version Specific Upgrade Functions
* Last Updated: $Date: 2012-06-12 10:14:49 -0400 (Tue, 12 Jun 2012) $
* </pre>
*
* @author Matt Mecham
* @copyright (c) 2001 - 2009 Invision Power Services, Inc.
* @license http://www.invisionpower.com/company/standards.php#license
* @package IP.Board
* @link http://www.invisionpower.com
* @since 1st December 2008
* @version $Revision: 10914 $
*
*/
class upgradeLegacy
{
/**
* Member data
*
* @access private
* @var array
*/
private $_member;
/**
* Constructor
*
* @access public
* @return @e void
*/
public function __construct( ipsRegistry $registry )
{
/* Make object */
$this->registry = $registry;
$this->DB = $this->registry->DB();
$this->settings =& $this->registry->fetchSettings();
$this->request =& $this->registry->fetchRequest();
$this->cache = $this->registry->cache();
$this->caches =& $this->registry->cache()->fetchCaches();
/* Make sure tables exist that won't in pre 3.0 versions */
if ( is_file( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' ) )
{
/* Init vars */
$UPGRADE_TABLE_FIELD = '';
$UPGRADE_SESSION_TABLE = '';
$UPGRADE_CSS_PREVIOUS = '';
$UPGRADE_TEMPLATE_PREVIOUS = '';
require( IPS_ROOT_PATH . 'setup/sql/ipb3_' . strtolower( ipsRegistry::$settings['sql_driver'] ) . '.php' );/*noLibHook*/
$prefix = $this->registry->dbFunctions()->getPrefix();
if ( ! $this->DB->checkForField( 'upgrade_app', 'upgrade_history' ) )
{
if ( $UPGRADE_TABLE_FIELD )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TABLE_FIELD, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'upgrade_sessions' ) )
{
if ( $UPGRADE_SESSION_TABLE )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_SESSION_TABLE, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_css_previous' ) )
{
if ( $UPGRADE_CSS_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_CSS_PREVIOUS, $prefix ) );
}
}
if ( ! $this->DB->checkForTable( 'skin_templates_previous' ) )
{
if ( $UPGRADE_TEMPLATE_PREVIOUS )
{
$this->DB->query( IPSSetUp::addPrefixToQuery( $UPGRADE_TEMPLATE_PREVIOUS, $prefix ) );
}
}
}
}
/**
* Fetch auth key
*
* @access public
* @return string
*/
public function fetchAuthKey()
{
if ( ! $this->_member['member_id'] )
{
throw new Exception( "MEMBER NOT SET" );
}
else
{
return $this->_member['member_login_key'];
}
}
/**
* Fetch member data
*
* @access public
* @return array
*/
public function fetchMemberData()
{
return ( is_array( $this->_member ) ) ? $this->_member : array();
}
/**
* Load and return member data
*
* @access public
* @param int Member ID to load
* @return array
*/
public function loadMemberData( $memberId )
{
/* Attempt to load member */
$this->DB->build( array( 'select' => 'm.*',
'from' => array( 'members' => 'm' ),
'where' => 'm.member_id=' . intval( $memberId ),
'add_join' => array( array( 'select' => 'g.*',
'from' => array( 'groups' => 'g' ),
'where' => 'g.g_id=m.member_group_id' ) ) ) );
$this->DB->execute();
/* Set up seconday groups */
$this->_member = ips_MemberRegistry::setUpSecondaryGroups( $this->DB->fetch() );
return $this->fetchMemberData();
}
/**
* Authenticate log in
*
* @access public
* @param string Username (from $this->request)
* @param string Password (from $this->request)
* @return mixed TRUE if successful, string (message) if not
*/
public function authenticateLogIn( $username, $password )
{
require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );/*noLibHook*/
$han_login = new han_login( $this->registry );
$han_login->is_admin_auth = 1;
$han_login->init();
$email = '';
/* Is this a username or email address? */
if ( IPSText::checkEmailAddress( $username ) )
{
$email = $username;
$username = '';
}
$han_login->loginAuthenticate( $username, $email, $password );
$mem = $han_login->member_data;
if ( ( ! $mem['member_id'] ) or ( $han_login->return_code == 'NO_USER' ) )
{
return 'No user found by that username';
}
if ( $han_login->return_code == 'NO_ACCESS' )
{
return 'You do not have access to the upgrade system';
}
else if ( $han_login->return_code != 'SUCCESS' )
{
return 'Password or username incorrect';
}
/* Test seconday groups */
$mem = ipsRegistry::member()->setUpSecondaryGroups( $mem );
if ( $mem['g_access_cp'] != 1 )
{
return 'You do not have access to the upgrade system';
}
/* Set up _member */
$this->loadMemberData( $mem['member_id'] );
/* Still here? */
return TRUE;
}
/**
* Return log in form HTML
*
* @access public
* @return string HTML
*/
public function fetchLogInForm()
{
require_once( IPS_ROOT_PATH . 'sources/handlers/han_login.php' );/*noLibHook*/
$han_login = new han_login( $this->registry );
$han_login->is_admin_auth = 1;
$han_login->init();
$additional_data = ''; //$han_login->additionalFormHTML();
$replace = false;
$data = array();
if( !is_null($additional_data) AND is_array($additional_data) AND count($additional_data) )
{
$replace = $additional_data[0];
$data = $additional_data[1];
}
/* Check login type */
$uses_name = false;
$uses_email = false;
$loginType = 'username';
foreach( $this->cache->getCache('login_methods') as $method )
{
if ( $method['login_user_id'] == 'username' or $method['login_user_id'] == 'either' )
{
$uses_name = true;
}
if ( $method['login_user_id'] == 'email' or $method['login_user_id'] == 'either' )
{
$uses_email = true;
}
}
if ( $uses_name AND $uses_email )
{
$loginType = 'either';
}
elseif ( $uses_email )
{
$loginType = 'email';
}
return $this->registry->output->template()->upgrade_login_300plus( $data, ( $replace == 'replace' ? true : false ), $loginType );
}
}
+9 -9
View File
@@ -1,10 +1,10 @@
<html>
<head><title>IP.Board - Bulletin Board System</title></head>
<body>
<h1>403: IP.Board -&gt; Forbidden</h1>
<hr>
You have reached this page in error, please use your back button to return to the forum.
<hr>
<a href="http://www.invisionpower.com">IP.Board</a>
</body>
<html>
<head><title>IP.Board - Bulletin Board System</title></head>
<body>
<h1>403: IP.Board -&gt; Forbidden</h1>
<hr>
You have reached this page in error, please use your back button to return to the forum.
<hr>
<a href="http://www.invisionpower.com">IP.Board</a>
</body>
</html>