Version 2.2.2

This commit is contained in:
Neo committed 2025-12-19 00:24:35 -08:00
1 parent 22f1b963ee
commit a3bb603c96
858 files changed
+479463 -188140

No files matched your search

+96 -38
View File
@@ -1,15 +1,24 @@
<?php
/*
+---------------------------------------------------------------------------
| Invision Power Board
+--------------------------------------------------------------------------
| Invision Power Board 2.2.2
| ========================================
| by Matthew Mecham
| (c) 2006 Invision Power Services
| (c) 2001 - 2006 Invision Power Services
| http://www.invisionpower.com
| ========================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Monday 05th of March 2007 10:10:55 PM
| Release: e3790216629e5a2aaf37070b32237f06
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE SOFTWARE!
| http://www.invisionboard.com
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+---------------------------------------------------------------------------
| > $Id$
| > $Revision: 102 $
@@ -78,7 +87,7 @@ class Converge_Server
}
/**
* Converge_Server::on_member_delete()
* Converge_Server::onMemberDelete()
*
* Deletes the member.
* Keep in mind that the member may not be in the local DB
@@ -94,15 +103,17 @@ class Converge_Server
* @param string $multiple_email_addresses Comma delimited list of email addresses
* @return xml
**/
function on_member_delete( $auth_key, $product_id, $multiple_email_addresses='' )
function onMemberDelete( $auth_key, $product_id, $multiple_email_addresses='' )
{
//-----------------------------------------
// INIT
//-----------------------------------------
$return = 'FAILED';
$emails = explode( ",", $multiple_email_addresses );
$emails = explode( ",", $this->ipsclass->DB->add_slashes( $this->ipsclass->parse_clean_value( $multiple_email_addresses ) ) );
$member_ids = array();
$auth_key = $this->ipsclass->txt_md5_clean( $auth_key );
$product_id = intval( $product_id );
//-----------------------------------------
// Authenticate
@@ -158,7 +169,7 @@ class Converge_Server
}
/**
* Converge_Server::on_password_change()
* Converge_Server::onPasswordChange()
*
* handles new password change
*
@@ -173,13 +184,17 @@ class Converge_Server
* @param string $md5_once_password Plain text password hashed by MD5
* @return xml
**/
function on_password_change( $auth_key, $product_id, $email_address, $md5_once_password )
function onPasswordChange( $auth_key, $product_id, $email_address, $md5_once_password )
{
//-----------------------------------------
// INIT
//-----------------------------------------
$return = 'FAILED';
$auth_key = $this->ipsclass->txt_md5_clean( $auth_key );
$product_id = intval( $product_id );
$email_address = $this->ipsclass->parse_clean_value( $email_address );
$md5_once_password = $this->ipsclass->txt_md5_clean( $md5_once_password );
$return = 'FAILED';
//-----------------------------------------
// Authenticate
@@ -199,7 +214,7 @@ class Converge_Server
'converge_pass_salt' => str_replace( '\\', "\\\\", $salt )
);
$this->ipsclass->DB->do_update( 'members_converge', $converge, "converge_email='" . $email_address . "'" );
$this->ipsclass->DB->do_update( 'members_converge', $converge, "converge_email='" . $this->ipsclass->DB->add_slashes( $email_address ) . "'" );
$return = 'SUCCESS';
@@ -210,7 +225,7 @@ class Converge_Server
}
/**
* Converge_Server::on_email_change()
* Converge_Server::onEmailChange()
*
* Updates the local app's DB
*
@@ -225,13 +240,17 @@ class Converge_Server
* @param string $new_email_address NEW email address to change
* @return xml
**/
function on_email_change( $auth_key, $product_id, $old_email_address, $new_email_address )
function onEmailChange( $auth_key, $product_id, $old_email_address, $new_email_address )
{
//-----------------------------------------
// INIT
//-----------------------------------------
$return = 'FAILED';
$auth_key = $this->ipsclass->txt_md5_clean( $auth_key );
$product_id = intval( $product_id );
$old_email_address = $this->ipsclass->parse_clean_value( $old_email_address );
$new_email_address = $this->ipsclass->parse_clean_value( $new_email_address );
$return = 'FAILED';
//-----------------------------------------
// Get member
@@ -239,7 +258,7 @@ class Converge_Server
$member = $this->ipsclass->DB->build_and_exec_query( array( 'select' => '*',
'from' => 'members',
'where' => "email='".$old_email_address."'" ) );
'where' => "email='" . $this->ipsclass->DB->add_slashes( $old_email_address ) . "'" ) );
//-----------------------------------------
// Authenticate
@@ -249,9 +268,9 @@ class Converge_Server
{
if ( $old_email_address AND $new_email_address )
{
$this->ipsclass->DB->do_update( 'members_converge', array( 'converge_email' => $new_email_address ), "converge_email='" . $old_email_address . "'" );
$this->ipsclass->DB->do_update( 'members_converge', array( 'converge_email' => $new_email_address ), "converge_email='" . $this->ipsclass->DB->add_slashes( $old_email_address ) . "'" );
$this->ipsclass->DB->do_update( 'members' , array( 'email' => $new_email_address ), "email='" . $old_email_address . "'" );
$this->ipsclass->DB->do_update( 'members' , array( 'email' => $new_email_address ), "email='" . $this->ipsclass->DB->add_slashes( $old_email_address ) . "'" );
//-----------------------------------------
// Update member's username?
@@ -275,7 +294,7 @@ class Converge_Server
/**
* Converge_Server::import_members()
* Converge_Server::importMembers()
*
* Returns a batch of members to import
* Important!
@@ -294,8 +313,17 @@ class Converge_Server
* @param int $limit_b SQL limit b
* @return xml
**/
function import_members( $auth_key, $product_id, $limit_a, $limit_b )
function importMembers( $auth_key, $product_id, $limit_a, $limit_b )
{
//-----------------------------------------
// INIT
//-----------------------------------------
$auth_key = $this->ipsclass->txt_md5_clean( $auth_key );
$product_id = intval( $product_id );
$limit_a = intval( $limit_a );
$limit_b = intval( $limit_b );
//-----------------------------------------
// Authenticate
//-----------------------------------------
@@ -313,10 +341,19 @@ class Converge_Server
// Get Data
//-----------------------------------------
$this->ipsclass->DB->build_query( array( 'select' => '*',
'from' => 'members_converge',
'order' => 'converge_id ASC',
'limit' => array( $limit_a, $limit_b ) ) );
$this->ipsclass->DB->build_query( array( 'select' => 'c.*',
'from' => array( 'members_converge' => 'c' ),
'order' => 'c.converge_id ASC',
'limit' => array( $limit_a, $limit_b ),
'add_join' => array(
array(
'type' => 'left',
'select' => 'm.ip_address',
'where' => 'm.email=c.converge_email',
'from' => array( 'members' => 'm' ),
)
)
) );
$this->ipsclass->DB->exec_query();
@@ -326,6 +363,7 @@ class Converge_Server
$members[ $row['converge_id'] ] = array( 'email_address' => $row['converge_email'],
'pass_salt' => $row['converge_pass_salt'],
'password' => $row['converge_pass_hash'],
'ip_address' => $row['ip_address'],
'join_date' => $row['converge_joined'] );
}
@@ -344,7 +382,7 @@ class Converge_Server
}
/**
* Converge_Server::get_members_info()
* Converge_Server::getMembersInfo()
*
* IP.Converge uses this to gather how many users the local application has,
* and the last ID entered into the local application’s member table.
@@ -357,8 +395,15 @@ class Converge_Server
* @param int $product_id Product ID
* @return xml
**/
function get_members_info( $auth_key, $product_id )
function getMembersInfo( $auth_key, $product_id )
{
//-----------------------------------------
// INIT
//-----------------------------------------
$auth_key = $this->ipsclass->txt_md5_clean( $auth_key );
$product_id = intval( $product_id );
//-----------------------------------------
// Authenticate
//-----------------------------------------
@@ -383,7 +428,7 @@ class Converge_Server
}
/**
* Converge_Server::converge_log_out()
* Converge_Server::convergeLogOut()
*
* Logs in the member out of local application
*
@@ -397,13 +442,16 @@ class Converge_Server
* @param string $email_address Email address of user logged in
* @return xml
**/
function converge_log_out( $auth_key, $product_id, $email_address='' )
function convergeLogOut( $auth_key, $product_id, $email_address='' )
{
//-----------------------------------------
// INIT
//-----------------------------------------
$update = array();
$auth_key = $this->ipsclass->txt_md5_clean( $auth_key );
$product_id = intval( $product_id );
$email_address = $this->ipsclass->parse_clean_value( $email_address );
$update = array();
//-----------------------------------------
// Authenticate
@@ -417,7 +465,7 @@ class Converge_Server
$member = $this->ipsclass->DB->build_and_exec_query( array( 'select' => '*',
'from' => 'members',
'where' => "email='".$email_address."'" ) );
'where' => "email='" . $this->ipsclass->DB->add_slashes( $email_address ) . "'" ) );
//-----------------------------------------
// If we've got a member, delete their session
@@ -471,7 +519,7 @@ class Converge_Server
}
/**
* Converge_Server::converge_log_in()
* Converge_Server::convergeLogIn()
*
* Logs in the member to the local application
*
@@ -497,13 +545,21 @@ class Converge_Server
* @param string $dst_autocorrect The member's DST autocorrect settings
* @return xml
**/
function converge_log_in( $auth_key, $product_id, $email_address='', $md5_once_password='', $ip_address='', $unix_join_date='', $timezone=0, $dst_autocorrect=0 )
function convergeLogIn( $auth_key, $product_id, $email_address='', $md5_once_password='', $ip_address='', $unix_join_date='', $timezone=0, $dst_autocorrect=0 )
{
//-----------------------------------------
// INIT
//-----------------------------------------
$return = 'FAILED';
$auth_key = $this->ipsclass->txt_md5_clean( $auth_key );
$product_id = intval( $product_id );
$email_address = $this->ipsclass->parse_clean_value( $email_address );
$md5_once_password = $this->ipsclass->txt_md5_clean( $md5_once_password );
$ip_address = $this->ipsclass->parse_clean_value( $ip_address );
$unix_join_date = intval( $unix_join_date );
$timezone = intval( $timezone );
$dst_autocorrect = intval( $dst_autocorrect );
$return = 'FAILED';
//-----------------------------------------
// Authenticate
@@ -517,7 +573,9 @@ class Converge_Server
$this->ipsclass->member = $this->ipsclass->DB->build_and_exec_query( array( 'select' => '*',
'from' => 'members',
'where' => "email='".$email_address."'" ) );
'where' => "email='" . $this->ipsclass->DB->add_slashes( $email_address ) . "'" ) );
#$this->class_api_server->xmlrpc->_add_debug( "Found $email_address - ".$this->ipsclass->member['id'] );
//-----------------------------------------
// No such user? Create one!
@@ -568,9 +626,9 @@ class Converge_Server
$this->class_api_server->api_send_reply( array( 'complete' => 1,
'response' => $return,
'session_id' => $session->session_id,
'member_id' => $session->member['id'],
'log_in_key' => $session->member['member_login_key'] ) );
'session_id' => $session['_session_id'],
'member_id' => $session['id'],
'log_in_key' => $session['member_login_key'] ) );
exit();
}
}
@@ -656,7 +714,7 @@ class Converge_Server
$member = $this->ipsclass->DB->build_and_exec_query( array( 'select' => '*',
'from' => 'members',
'where' => "email='".$email_address."'" ) );
'where' => "email='" . $this->ipsclass->DB->add_slashes( $email_address ) . "'" ) );
if ( $member['id'] )
{