Version 2.1.7
This commit is contained in:
1 parent
0eecc172d9
commit
f73f8bff6d
941 files changed
+215301
-103093
No files matched your search
@@ -2,16 +2,28 @@
|
||||
|
||||
/*
|
||||
+--------------------------------------------------------------------------
|
||||
| Invision Power Board v2.0.0
|
||||
| Invision Power Board 2.1.7
|
||||
| =============================================
|
||||
| by Matthew Mecham
|
||||
| (c) 2001 - 2004 Invision Power Services, Inc.
|
||||
| (c) 2001 - 2005 Invision Power Services, Inc.
|
||||
| http://www.invisionpower.com
|
||||
| =============================================
|
||||
| Web: http://www.invisionboard.com
|
||||
| Time: Tue, 21 Sep 2004 16:34:28 GMT
|
||||
| Release: 150aa7a702c3c8b6f6eb90ad49305d2f
|
||||
| http://www.ibresource.ru/products/invisionpowerboard/
|
||||
| Time: Tuesday 18th of July 2006 05:56:00 PM
|
||||
| Release: 52f408a29988b02f45b5e6f4ba5af0ae
|
||||
| Licence Info: http://www.invisionboard.com/?license
|
||||
| http://www.ibresource.ru/license
|
||||
+---------------------------------------------------------------------------
|
||||
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
|
||||
+---------------------------------------------------------------------------
|
||||
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
|
||||
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
|
||||
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
|
||||
+---------------------------------------------------------------------------
|
||||
| > $Date: 2005-10-10 14:03:20 +0100 (Mon, 10 Oct 2005) $
|
||||
| > $Revision: 22 $
|
||||
| > $Author: matt $
|
||||
+---------------------------------------------------------------------------
|
||||
|
|
||||
| > Converge methods (KERNEL)
|
||||
@@ -22,16 +34,50 @@
|
||||
+--------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* IPS Kernel Pages: Converge
|
||||
*
|
||||
* @package IPS_KERNEL
|
||||
* @author Matt Mecham
|
||||
* @version 2.1
|
||||
*/
|
||||
/**
|
||||
* Converge Class
|
||||
*
|
||||
* Methods and functions for handling converge authentication,
|
||||
* password generation and update methods
|
||||
*
|
||||
* @package IPS_KERNEL
|
||||
* @author Matt Mecham
|
||||
* @version 2.1
|
||||
*/
|
||||
class class_converge
|
||||
{
|
||||
/**
|
||||
* Current DB connection, passed by reference
|
||||
*
|
||||
* @var Database object
|
||||
* @todo Use ipsclass?
|
||||
*/
|
||||
var $current_db = "";
|
||||
|
||||
/**
|
||||
* Converge member array
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
var $member = array();
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
// CONSTRUCTOR
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Constructor, accepts database object
|
||||
*
|
||||
* @param object Database object
|
||||
*/
|
||||
|
||||
function class_converge(&$DB)
|
||||
{
|
||||
$this->current_db = $DB;
|
||||
@@ -44,6 +90,13 @@ class class_converge
|
||||
// Test for converge row
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Checks for a DB row that matches $email
|
||||
*
|
||||
* @param string Email address
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
function converge_check_for_member_by_email( $email )
|
||||
{
|
||||
$test = $this->converge_db->simple_exec_query( array( 'select' => 'converge_id', 'from' => 'members_converge', 'where' => "converge_email='$email'" ) );
|
||||
@@ -62,6 +115,13 @@ class class_converge
|
||||
// Update converge row (password)
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Updates member's converge DB row password
|
||||
*
|
||||
* @param string MD5 hash of new password
|
||||
* @param string Email address
|
||||
*/
|
||||
|
||||
function converge_update_password( $new_md5_pass, $email )
|
||||
{
|
||||
if ( ! $email or ! $new_md5_pass )
|
||||
@@ -87,6 +147,14 @@ class class_converge
|
||||
// Update converge row
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Updates member's converge DB row email address
|
||||
*
|
||||
* @param string Current email address
|
||||
* @param string New email address
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
function converge_update_member($curr_email, $new_email)
|
||||
{
|
||||
if ( ! $curr_email or ! $new_email )
|
||||
@@ -113,6 +181,12 @@ class class_converge
|
||||
// Get converge row
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Load converge DB row by email address
|
||||
*
|
||||
* @param string Current email address
|
||||
*/
|
||||
|
||||
function converge_load_member($email)
|
||||
{
|
||||
if ( ! $email )
|
||||
@@ -129,6 +203,12 @@ class class_converge
|
||||
// Get converge row (based on ID)
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Load converge DB row by converge (member) ID
|
||||
*
|
||||
* @param integar Member ID
|
||||
*/
|
||||
|
||||
function converge_load_member_by_id($id)
|
||||
{
|
||||
$id = intval($id);
|
||||
@@ -147,6 +227,13 @@ class class_converge
|
||||
// Authenticate password
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Check supplied password with converge DB row
|
||||
*
|
||||
* @param string MD5 of entered password
|
||||
* @return boolean
|
||||
*/
|
||||
|
||||
function converge_authenticate_member( $md5_once_password )
|
||||
{
|
||||
if ( ! $this->member['converge_pass_hash'] )
|
||||
@@ -168,6 +255,16 @@ class class_converge
|
||||
// Generate password
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Generates a compiled passhash
|
||||
*
|
||||
* Returns a new MD5 hash of the supplied salt and MD5 hash of the password
|
||||
*
|
||||
* @param string User's salt (5 random chars)
|
||||
* @param string User's MD5 hash of their password
|
||||
* @return string MD5 hash of compiled salted password
|
||||
*/
|
||||
|
||||
function generate_compiled_passhash($salt, $md5_once_password)
|
||||
{
|
||||
return md5( md5( $salt ) . $md5_once_password );
|
||||
@@ -177,11 +274,21 @@ class class_converge
|
||||
// Generate SALT
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Generates a password salt
|
||||
*
|
||||
* Returns n length string of any char except backslash
|
||||
*
|
||||
* @param integer Length of desired salt, 5 by default
|
||||
* @return string n character random string
|
||||
*/
|
||||
|
||||
function generate_password_salt($len=5)
|
||||
{
|
||||
$salt = '';
|
||||
|
||||
srand( (double)microtime() * 1000000 );
|
||||
//srand( (double)microtime() * 1000000 );
|
||||
// PHP 4.3 is now required ^ not needed
|
||||
|
||||
for ( $i = 0; $i < $len; $i++ )
|
||||
{
|
||||
@@ -202,6 +309,13 @@ class class_converge
|
||||
// Generate auto log in key (MD5 hash of random 60 char string
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Generates a log in key
|
||||
*
|
||||
* @param integer Length of desired random chars to MD5
|
||||
* @return string MD5 hash of random characters
|
||||
*/
|
||||
|
||||
function generate_auto_log_in_key($len=60)
|
||||
{
|
||||
$pass = $this->generate_password_salt( 60 );
|
||||
|
||||
Reference in new issue
Block a user