PHP-Fusion
1)
register.php
НАХОДИМ
include LOCALE.LOCALESET."user_fields.php";
ДОБАВЛЯЕМ НИЖЕ
/**************************************************************************
* Подключение интегратора с Invision Power Board Forum v2.1.x (reg.php)
*
**************************************************************************/
require_once INCLUDES."ipb_integration/reg.php";
/**************************************************************************/
НАХОДИМ
$result = dbquery("DELETE
FROM ".$db_prefix."new_users WHERE user_code='$activate'");
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Актевируем в Invision Power Board Forum v2.1.x
*
*************************************************************************/
if ($settings['admin_activation'] == "0"){
activate_ipb($user_info['user_name']);
}
/*************************************************************************/
НАХОДИМ
$result = dbquery("INSERT
INTO ".$db_prefix."new_users (user_code, user_email, user_datestamp,
user_info) VALUES('$user_code', '".$email."', '".time()."', '$user_info')");
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Регистрация в Invision Power Board Forum v2.1.x
*
*************************************************************************/
$user_inf = array(
'user_name' => $username,
'user_pass' => md5($password1),
'user_email' => $email,
'user_location' => '',
'user_aim' => '',
'user_icq' => '',
'user_msn' => '',
'user_yahoo' => '',
'user_web' => '',
'user_hide_email' => $user_hide_email,
'user_offset' => '0',
'user_month' => '',
'user_day' => '',
'user_year' => '',
'activation' => '2',
'user_joined' => ''
);
registration_ipb($user_inf);
/*************************************************************************/
НАХОДИМ
$result = dbquery("INSERT
INTO ".$db_prefix."users (user_name, user_password, user_email,
user_hide_email, user_location, user_birthdate, user_aim, user_icq,
user_msn, user_yahoo, user_web, user_theme, user_offset, user_avatar,
user_sig, user_posts, user_joined, user_lastvisit, user_ip,
user_rights, user_groups, user_level, user_status) VALUES('$username',
md5('".$password1."'), '".$email."', '$user_hide_email', '$user_location',
'$user_birthdate', '$user_aim', '$user_icq', '$user_msn', '$user_yahoo',
'$user_web', '$user_theme', '$user_offset', '', '$user_sig', '0',
'".time()."', '0', '".USER_IP."', '', '', '101', '$activation')");
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Регистрация в Invision Power Board Forum v2.1.x
*
*************************************************************************/
$user_info = array(
'user_name' => $username,
'user_pass' => md5($password1),
'user_email' => $email,
'user_location' => $user_location,
'user_aim' => $user_aim,
'user_icq' => $user_icq,
'user_msn' => $user_msn,
'user_yahoo' => $user_yahoo,
'user_web' => $user_web,
'user_hide_email' => $user_hide_email,
'user_offset' => str_replace('+', '', $user_offset),
'user_month' => $user_month,
'user_day' => $user_day,
'user_year' => $user_year,
'activation' => $activation,
'user_joined' => time()
);
registration_ipb($user_info);
/*************************************************************************/
2)
maincore.php
НАХОДИМ
define("THEMES", BASEDIR."themes/");
ДОБАВЛЯЕМ НИЖЕ
/*****************************************************************************
* Подключение интегратора с Invision Power Board Forum v2.1.x
(config.php)
*
*****************************************************************************/
require_once INCLUDES."ipb_integration/config.php";
/*****************************************************************************/
/*****************************************************************************
* Подключение интегратора с Invision Power Board Forum v2.1.x
(login.php)
*
*****************************************************************************/
require_once INCLUDES."ipb_integration/login.php";
/*****************************************************************************/
НАХОДИМ
redirect(BASEDIR."setuser.php?user=".$data['user_name'],
"script");
ДОБАВЛЯЕМ ВЫШЕ
/*************************************************************************
* Вход пользователя в Invision Power Board Forum v2.1.x
*
*************************************************************************/
login_ipb($data, $_POST['remember_me']);
/*************************************************************************/
3) setuser.php
НАХОДИМ
$result = dbquery("DELETE FROM ".$db_prefix."online WHERE online_ip='".USER_IP."'");
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Выход из Invision Power Board v 2.1.x *
*************************************************************************/
logout_ipb($userdata['user_name']);
/*************************************************************************/
4) includes/update_profile_include.php
НАХОДИМ
if (!iMEMBER || !isset($_POST['user_hash']) || $_POST['user_hash'] != $userdata['user_password']) fallback("index.php");
ДОБАВЛЯЕМ НИЖЕ
/*******************************************************************************
* Подключение интегратора с Invision Power Board Forum v2.1.x
(profile.php)
*
*******************************************************************************/
require_once INCLUDES."ipb_integration/profile.php";
/*******************************************************************************/
НАХОДИМ
$result = dbquery("SELECT * FROM ".$db_prefix."users WHERE user_id='".$userdata['user_id']."'");
ДОБАВЛЯЕМ ВЫШЕ
/*************************************************************************
* Изменения профиля в Invision Power Board v 2.1.x
*
*************************************************************************/
$user_info = array(
'name' => $userdata['user_name'],
'user_name' => $username,
'user_pass' => $user_newpassword != "" ? md5($user_newpassword):'',
'user_email' => $user_email,
'user_location' => $user_location,
'user_aim' => $user_aim,
'user_icq' => $user_icq,
'user_msn' => $user_msn,
'user_yahoo' => $user_yahoo,
'user_web' => $user_web,
'user_hide_email' => $user_hide_email,
'user_offset' => str_replace('+', '', $user_offset),
'user_month' => $user_month,
'user_day' => $user_day,
'user_year' => $user_year
);
profile_ipb($user_info);
/*************************************************************************/
5) administration/updateuser.php
НАХОДИМ
if (!isset($user_id) || !isNum($user_id))
fallback(FUSION_SELF.$aidlink);
ДОБАВЛЯЕМ НИЖЕ
/*******************************************************************************
* Подключение интегратора с Invision Power Board Forum v2.1.x
(profile.php)
*
*******************************************************************************/
require_once INCLUDES."ipb_integration/profile.php";
/*******************************************************************************/
НАХОДИМ
}
?>
ДОБАВЛЯЕМ ВЫШЕ
/*************************************************************************
* Изменения профиля в Invision Power Board v 2.1.x
*
*************************************************************************/
$user_info = array(
'name' => $data2['user_name'],
'user_name' => $user_name,
'user_pass' => $user_newpassword != "" ? md5($user_newpassword):'',
'user_email' => $_POST['user_email'],
'user_location' => $user_location,
'user_aim' => $user_aim,
'user_icq' => $user_icq,
'user_msn' => $user_msn,
'user_yahoo' => $user_yahoo,
'user_web' => $user_web,
'user_hide_email' => $user_hide_email,
'user_offset' => str_replace('+', '', $user_offset),
'user_month' => $user_month,
'user_day' => $user_day,
'user_year' => $user_year
);
profile_ipb($user_info);
/*************************************************************************/
6) administration/members.php
НАХОДИМ
include LOCALE.LOCALESET."user_fields.php";
ДОБАВЛЯЕМ НИЖЕ
/**************************************************************************
* Подключение интегратора с Invision Power Board Forum v2.1.x (reg.php)
*
**************************************************************************/
require_once INCLUDES."ipb_integration/reg.php";
/**************************************************************************/
НАХОДИМ
$udata = dbarray($result);
$result = dbquery("UPDATE ".$db_prefix."users SET user_status='0'
WHERE user_id='$user_id'");
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Актевируем в Invision Power Board Forum v2.1.x
*
*************************************************************************/
activate_ipb($udata['user_name']);
/*************************************************************************/
7) administration/settings_registration.php
НАХОДИМ
include LOCALE.LOCALESET."admin/settings.php";
ДОБАВЛЯЕМ НИЖЕ
/**************************************************************************
* Подключение интегратора с Invision Power Board Forum v2.1.x (reg.php)
*
**************************************************************************/
require_once INCLUDES."ipb_integration/reg.php";
/**************************************************************************/
НАХОДИМ
redirect(FUSION_SELF.$aidlink);
ДОБАВЛЯЕМ ВЫШЕ
/*************************************************************************
* Изменение настроек регистрации в Invision Power Board Forum v2.1.x
*
*************************************************************************/
settings_registration_ipb($_POST['email_verification'], $_POST['admin_activation']);
/*************************************************************************/
Invision Power Board
1) sources/lib/func_usercp.php
НАХОДИМ
$this->ipsclass->print->redirect_screen( $this->ipsclass->lang['email_c_up'],
"act=UserCP&CODE=02" );
ДОБАВЛЯЕМ ВЫШЕ
/*************************************************************************
* Изменения профиля в PHP-Fusion v6.01.x
*
*************************************************************************/
if ($this->ipsclass->vars['db_pf']=='1'){
$pf=@mysql_connect($this->ipsclass->vars['host_pf'], $this->ipsclass->vars['user_pf'],
$this->ipsclass->vars['pass_pf']);
@mysql_select_db($this->ipsclass->vars['name_pf'], $pf);
}
mysql_query("UPDATE ".$this->ipsclass->vars['prefix_pf']."users SET
user_hide_email='".$this->ipsclass->input['hide_email']."' WHERE
user_name='".$this->ipsclass->member['name']."'");
if ($this->ipsclass->vars['db_pf']=='1'){
$this->ipsclass->init_db_connection();
}
/*************************************************************************/
НАХОДИМ
$this->ipsclass->DB->do_update( 'member_extra', $bet, 'id='.$this->ipsclass->member['id']
);
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Изменения профиля в PHP-Fusion v6.01.x
*
*************************************************************************/
if ($this->ipsclass->vars['db_pf']=='1'){
$pf=@mysql_connect($this->ipsclass->vars['host_pf'], $this->ipsclass->vars['user_pf'],
$this->ipsclass->vars['pass_pf']);
@mysql_select_db($this->ipsclass->vars['name_pf'], $pf);
}
$user_birthdate=$this->ipsclass->input['year'].'-'.$this->ipsclass->input['month'].'-'.$this->ipsclass->input['day'];
mysql_query("UPDATE ".$this->ipsclass->vars['prefix_pf']."users SET
user_location='".$this->ipsclass->input['Location']."',
user_birthdate='".$user_birthdate."', user_aim='".$this->ipsclass->input['AOLName']."',
user_icq='".$this->ipsclass->input['ICQNumber']."', user_msn='".$this->ipsclass->input['MSNName']."',
user_yahoo='".$this->ipsclass->input['YahooName']."', user_web='".$this->ipsclass->input['WebSite']."'
WHERE user_name='".$this->ipsclass->member['name']."'");
if ($this->ipsclass->vars['db_pf']=='1'){
$this->ipsclass->init_db_connection();
}
/*************************************************************************/
2) sources/action_public/login.php
НАХОДИМ
//-----------------------------------------
// Check for input length
//-----------------------------------------
ДОБАВЛЯЕМ ВЫШЕ
/*************************************************************************
* Вход пользователя в PHP-Fusion v6.01.x
|1|
*
*************************************************************************/
if ($this->ipsclass->vars['db_pf']=='1'){
$pf=@mysql_connect($this->ipsclass->vars['host_pf'], $this->ipsclass->vars['user_pf'],
$this->ipsclass->vars['pass_pf']);
@mysql_select_db($this->ipsclass->vars['name_pf'], $pf);
}
$pf_user_pass = md5($_POST['PassWord']);
$pf_user_name = preg_replace(array("/\=/","/\#/","/\sOR\s/"), "",
stripslashes($_POST['UserName']));
$pf_result = @mysql_query("SELECT `user_id`, `user_password` FROM
".$this->ipsclass->vars['prefix_pf']."users WHERE user_name='$pf_user_name'
AND user_password='$pf_user_pass'");
$pf_data = @mysql_fetch_assoc($pf_result);
$pf_cookie_value = $pf_data['user_id'].".".$pf_data['user_password'];
if ($this->ipsclass->vars['db_pf']=='1'){
$this->ipsclass->init_db_connection();
}
/*************************************************************************/
НАХОДИМ
//-----------------------------------------
// Remove any COPPA cookies previously set
//-----------------------------------------
ДОБАВЛЯЕМ ВЫШЕ
/*************************************************************************
* Вход пользователя в PHP-Fusion v6.01.x
|3|
*
*************************************************************************/
$cookie_exp = isset($this->ipsclass->input['CookieDate'])? time() +
60*60*24*365 : "";
@setcookie("fusion_user", $pf_cookie_value, $cookie_exp, "/", "",
"0");
/*************************************************************************/
НАХОДИМ
if ( is_array($_COOKIE) )
ДОБАВЛЯЕМ ВЫШЕ
/*************************************************************************
* Выход из PHP-Fusion v6.01.x
*
*************************************************************************/
setcookie("fusion_user", "", time() - 7200, "/", "", "0");
/*************************************************************************/
3) sources/action_public/register.php
НАХОДИМ
$this->ipsclass->DB->do_insert( 'members', $member );
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Вход пользователя в PHP-Fusion v6.01.x *
*************************************************************************/
if ($this->ipsclass->vars['db_pf']=='1'){
$pf=@mysql_connect($this->ipsclass->vars['host_pf'], $this->ipsclass->vars['user_pf'],
$this->ipsclass->vars['pass_pf']);
@mysql_select_db($this->ipsclass->vars['name_pf'], $pf);
}
$activation = $this->ipsclass->vars['reg_auth_type']=='0'? '0':'2';
$pf_result = @mysql_query("INSERT INTO ".$this->ipsclass->vars['prefix_pf']."users
(user_name, user_password, user_email, user_hide_email, user_offset,
user_posts, user_joined, user_lastvisit, user_ip, user_level,
user_status) VALUES('$in_username', md5('".$in_password."'), '".$in_email."',
'".($this->ipsclass->input['allow_member_mail'] ? 0 : 1)."',
'".$this->ipsclass->input['time_offset']."', '0', '".time()."', '0',
'".$this->ipsclass->input['IP_ADDRESS']."', '101', '$activation')");
if ($this->ipsclass->vars['db_pf']=='1'){
$this->ipsclass->init_db_connection();
}
/*************************************************************************/
НАХОДИМ
$this->email->send_mail();
}
$this->ipsclass->my_setcookie("member_id" , $member['id'] , 1);
$this->ipsclass->my_setcookie("pass_hash" , $member['member_login_key'],
1);
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Вход пользователя в PHP-Fusion v6.01.x *
*************************************************************************/
if ($this->ipsclass->vars['db_pf']=='1'){
$pf=@mysql_connect($this->ipsclass->vars['host_pf'], $this->ipsclass->vars['user_pf'],
$this->ipsclass->vars['pass_pf']);
@mysql_select_db($this->ipsclass->vars['name_pf'], $pf);
}
$pf_result = @mysql_query("SELECT `user_id`, `user_password` FROM
".$this->ipsclass->vars['prefix_pf']."users WHERE user_name='$in_username'");
$pf_data = @mysql_fetch_assoc($pf_result);
$pf_cookie_value = $pf_data['user_id'].".".$pf_data['user_password'];
@setcookie("fusion_user", $pf_cookie_value, time() + 60*60*24*365,
"/", "", "0");
if ($this->ipsclass->vars['db_pf']=='1'){
$this->ipsclass->init_db_connection();
}
/*************************************************************************/
НАХОДИМ
if ( $this->ipsclass->vars['reg_auth_type'] != 'admin_user' )
{
$this->ipsclass->DB->do_update(
'members', array( 'mgroup' => intval($validate['real_group']) ),
'id='.intval($member['id']) );
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Актевация в PHP-Fusion v6.01.x*
*************************************************************************/
if ($this->ipsclass->vars['db_pf']=='1'){
$pf=@mysql_connect($this->ipsclass->vars['host_pf'], $this->ipsclass->vars['user_pf'],
$this->ipsclass->vars['pass_pf']);
@mysql_select_db($this->ipsclass->vars['name_pf'], $pf);
}
@mysql_query("UPDATE ".$this->ipsclass->vars['prefix_pf']."users SET
user_status='2' WHERE user_name='".$member['name']."'");
$pf_result = @mysql_query("SELECT `user_id`, `user_password` FROM
".$this->ipsclass->vars['prefix_pf']."users WHERE user_name='".$member['name']."'");
$pf_data = @mysql_fetch_assoc($pf_result);
@setcookie("fusion_user", $pf_cookie_value, time() + 60*60*24*365,
"/", "", "0");
$pf_cookie_value = $pf_data['user_id'].".".$pf_data['user_password'];
if ($this->ipsclass->vars['db_pf']=='1'){
$this->ipsclass->init_db_connection();
}
/*************************************************************************/
4) sources/action_public/usercp.php
НАХОДИМ
$this->ipsclass->DB->do_update( 'members', array( 'member_login_key'
=> $key ), 'id='.$this->ipsclass->member['id'] );
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Изменения профиля в PHP-Fusion v6.01.x *
*************************************************************************/
if ($this->ipsclass->vars['db_pf']=='1'){
$pf=@mysql_connect($this->ipsclass->vars['host_pf'], $this->ipsclass->vars['user_pf'],
$this->ipsclass->vars['pass_pf']);
@mysql_select_db($this->ipsclass->vars['name_pf'], $pf);
}
mysql_query("UPDATE ".$this->ipsclass->vars['prefix_pf']."users SET
user_password='".$md5_pass."' WHERE user_name='".$this->ipsclass->member['name']."'");
$pf_result = @mysql_query("SELECT `user_id`, `user_password` FROM
".$this->ipsclass->vars['prefix_pf']."users WHERE user_name='".$this->ipsclass->member['name']."'
AND user_password='$md5_pass'");
$pf_data = @mysql_fetch_assoc($pf_result);
$pf_cookie_value = $pf_data['user_id'].".".$pf_data['user_password'];
@setcookie("fusion_user", $pf_cookie_value, time() + 60*60*24*365,
"/", "", "0");
if ($this->ipsclass->vars['db_pf']=='1'){
$this->ipsclass->init_db_connection();
}
/*************************************************************************/
НАХОДИМ
$this->ipsclass->DB->do_update( 'members', array( 'email' => $email_one
), 'id='.$this->ipsclass->member['id'] );
ДОБАВЛЯЕМ НИЖЕ
/*************************************************************************
* Изменения профиля в PHP-Fusion v6.01.x *
*************************************************************************/
if ($this->ipsclass->vars['db_pf']=='1'){
$pf=@mysql_connect($this->ipsclass->vars['host_pf'], $this->ipsclass->vars['user_pf'],
$this->ipsclass->vars['pass_pf']);
@mysql_select_db($this->ipsclass->vars['name_pf'], $pf);
}
mysql_query("UPDATE ".$this->ipsclass->vars['prefix_pf']."users SET
user_email='".$email_one."' WHERE user_name='".$this->ipsclass->member['name']."'");
if ($this->ipsclass->vars['db_pf']=='1'){
$this->ipsclass->init_db_connection();
}
/*************************************************************************/
5) sources/classes/post/class_post.php
НАХОДИМ
$mgroup = "";
ДОБАВЛЯЕМ НИЖЕ
/****************************************
* Подсчет постов в PHP-Fusion v6.01.x *
****************************************/
$user_posts = "";
/****************************************/
НАХОДИМ
$pcount = "posts=posts+1, ";
ДОБАВЛЯЕМ НИЖЕ
/****************************************
* Подсчет постов в PHP-Fusion v6.01.x *
****************************************/
$user_posts = "user_posts=user_posts+1";
/****************************************/
НАХОДИМ
$this->ipsclass->DB->simple_construct(
array( 'update'
=> 'members',
'set' =>
$pcount.$mgroup." last_post=".intval($this->ipsclass->member['last_post']),
'where' => 'id='.$this->ipsclass->member['id']
) );
$this->ipsclass->DB->simple_exec();
ДОБАВЛЯЕМ НИЖЕ
/****************************************
* Подсчет постов в PHP-Fusion v6.01.x *
****************************************/
if ($this->ipsclass->vars['db_pf']=='1'){
$pf=@mysql_connect($this->ipsclass->vars['host_pf'], $this->ipsclass->vars['user_pf'],
$this->ipsclass->vars['pass_pf']);
@mysql_select_db($this->ipsclass->vars['name_pf'], $pf);
}
mysql_query("UPDATE ".$this->ipsclass->vars['prefix_pf']."users SET
".$user_posts." WHERE user_name='".$this->ipsclass->member['name']."'");
if ($this->ipsclass->vars['db_pf']=='1'){
$this->ipsclass->init_db_connection();
}
/****************************************/