ایران سرور
مجتمع سازی دیتالایف 8.5 با ویبولتین 4.0.3


سلام دوستان bully
آموزش هماهنگ سازي ديتالايف با انجمن ساز قدرتمند ويبولتين رو براتون آماده کردم

براي هماهنگ سازي اين دو سيستم شما بايد از يک هاست و يک دامنه استفاده کنيد
ابتدا فايل ضميمه را دانلود و در مسير مورد نظر آپلود کنيد
integration dle with vbulletin 4.0.3

سپس آدرس زير را اجرا کنيد
http://yoursite.com/install.php


فايل index.php را باز کنيد و به دنبال کد زير بگرديد
$tpl->load_template ( 'main.tpl' );


پس از آن کد زير را قرار دهيد
$tpl->set ( '{forum_last_vB}', forum_last_vB());
$tpl->set ( '{birthday_block}', birthday_user_forum());


فايل engine/inc/editusers.php را باز کنيد و کد زير را پيدا کنيد
if( !defined( 'DATALIFEENGINE' ) OR !defined( 'LOGGED_IN' ) ) {
    die( "Hacking attempt!" );
}


بعد از آن کد زير را قرار دهيد
require_once(ROOT_DIR.'/engine/modules/dle_vs_vb.php');


در همين فايل به دنبال کد زير بگرديد:
msg( "info", $lang['user_addok'], "$lang[user_ok] <b>$regusername</b> $lang[user_ok_1] <b>{$user_group[$reglevel]['group_name']}</b>", "$PHP_SELF?mod=editusers&action=list" );


قبل از آن کد زير را قرار دهيد
vb_admin_add($regusername, $regpassword, $regemail, $add_time);


در همين فايل به دنبال کد زير بگرديد:
$filecontents = '';


پس از آن کد زير را قرار دهيد
vb_admin_profile($editmail, $editlogin, $editpass, $editicq, $editland, $editinfo);


به دنبال کد زير بگرديد:
$db->query( "delete FROM " . USERPREFIX . "_pm WHERE user='$id'" );


پس از آن کد زير را قرار دهيد
vb_admin_del_user($row['name']);


فايل engine/modules/sitelogin.php را باز کنيد و کد زير را پيدا کنيد
if( ! defined( 'DATALIFEENGINE' ) ) {
    die( "Hacking attempt!" );
}


بعد از آن کد زير را قرار دهيد
require_once(ROOT_DIR.'/engine/modules/dle_vs_vb.php');


در همين فايل کد زير را پيدا کنيد
if( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == "logout" ) {


و بعد از آن کد زير را قرار دهيد
if (isset($_SESSION['dle_user_id'])) vb_logout($_SESSION['dle_user_id']); elseif (isset($_COOKIE['dle_user_id'])) vb_logout($_COOKIE['dle_user_id']);


کد زير را پيدا کنيد
if( $is_logged ) {


بعد از آن کد زير را قرار دهيد
vb_login($member_login);


فايل engine/modules/pm.php را باز کنيد و کد زير را پيدا کنيد
$db->query( "UPDATE " . USERPREFIX . "_users set pm_all=pm_all+1, pm_unread=pm_unread+1  where user_id='$row[user_id]'" );


بعد از آن کد زير را قرار دهيد
vb_pm($member_id['name'], $name, $subj, $comments, $time, intval($_REQUEST['outboxcopy']));


در همين فايل کد زير را پيدا کنيد
if( ($row['user'] == $member_id['user_id'] and $row['folder'] == "inbox") or ($row['user_from'] == $member_id['name'] and $row['folder'] == "outbox") ) {


بعد از آن کد زير را قرار دهيد
vb_pm($row['pm_read'], $member_id['name'], '', '', '', $row['id'], "del");


کد زير را پيدا کنيد
if( ($row['user'] == $member_id['user_id'] and $row['folder'] == "inbox") or ($row['user_from'] == $member_id['name'] and $row['folder'] == "outbox") ) {


بعد از آن کد زير را قرار دهيد
vb_pm($row['pm_read'], $member_id['name'], '', '', '', $row['id'], "del");


کد زير را پيدا کنيد
$db->query( "UPDATE " . USERPREFIX . "_pm set pm_read='yes'  where id='$row[id]'" );


بعد از آن کد زير را قرار دهيد
vb_pm('', $member_id['name'], '', '', '', $row['id'], "read");


فايل engine/modules/lostpassword.php را باز کنيد و کد زير را پيدا کنيد
$db->query( "DELETE FROM " . USERPREFIX . "_lostdb WHERE lostname='$douser'" );


بعد از آن کد زير را قرار دهيد
vb_lostpassword($username, $new_pass);


فايل engine/modules/register.php را باز کنيد و کد زير را پيدا کنيد
$db->query( "UPDATE " . USERPREFIX . "_users set fullname='$fullname', info='$info', land='$land', icq='$icq', xfields='$filecontents' where name='$user'" );


بعد از آن کد زير را قرار دهيد
vb_register($user, "", "", '', $land, $icq, $info, "update");


کد زير را پيدا کنيد
$id = $db->insert_id();


قبل از آن کد زير را قرار دهيد
vb_register($name, $user_arr[2], $email, $add_time , "", "", "", "new");


فايل engine/modules/profile.php را باز کنيد و کد زير را پيدا کنيد
if( strlen( $password1 ) > 0 ) {


قبل از آن کد زير را قرار دهيد
vb_editpofile($icq, $email, md5($password1), $user, $land, $info);


فايل engine/modules/show.full.php را باز کنيد و کد زير را پيدا کنيد
$tpl->compile( 'content' );


قبل از آن کد زير را قرار دهيد
if ($config_vb['goforum'] && $config_vb['allow_module'] && $config_vb['forumid'][$row['category']] != "") {
$link_on_forum = preg_replace('/{link_on_forum}/',$config['http_home_url']."?do=goforum&postid=".$row['id'],
$config_vb['link_on_forum']);
$tpl->set('{link_on_forum}', $link_on_forum); }
else $tpl->set('{link_on_forum}', "");


فايل templates/{THEME}/main.tpl را باز کنيد و قبل از کد زير را قرار دهيد
<link rel="stylesheet" type="text/css" href="{THEME}/css/vblaststyle.css" />


فايل register.php ويبولتين را باز کنيد و به دنبال کد زير بگرديد
require_once(DIR . '/includes/functions_misc.php');


بعد از آن کد زير را قرار دهيد
require_once('../engine/modules/dle_vs_vb.php');


کد زير را پيدا کنيد
$vbulletin->userinfo['userid']
= $userid
= $userdata->save();


بعد از آن کد زير را قرار دهيد
dle_register($vbulletin->GPC['username'], $vbulletin->GPC['password'], $vbulletin->GPC['password_md5'], $vbulletin->GPC['emailconfirm'], $vbulletin->GPC['bblastvisit']);


فايل login.php ويبولتين را باز کنيد و به دنبال کد زير بگرديد
require_once(DIR . '/includes/functions_login.php');


بعد از آن کد زير را قرار دهيد
require_once('../engine/modules/dle_vs_vb.php');


کد زير را پيدا کنيد
if ($_REQUEST['do'] == 'logout')
{


بعد از آن کد زير را قرار دهيد
dle_logout();


کد زير را پيدا کنيد
process_new_login($vbulletin->GPC['logintype'], $vbulletin->GPC['cookieuser'], $vbulletin->GPC['cssprefs']);


بعد از آن کد زير را قرار دهيد
dle_login($vbulletin->GPC['vb_login_username'], $vbulletin->GPC['vb_login_password'], $vbulletin->GPC['vb_login_md5password'], $vbulletin->GPC['bblastvisit']);


در همين فايل کد زير را پيدا کنيد
$userdata->save();


بعد از آن کد زير را قرار دهيد
dle_lostpassword($userinfo['username'], md5(md5($newpassword)));


فايل profile.php ويبولتين را باز کنيد و به دنبال کد زير بگرديد
require_once(DIR . '/includes/functions_user.php');


بعد از آن کد زير را قرار دهيد
require_once('../engine/modules/dle_vs_vb.php');


در همين فايل کد زير را پيدا کنيد
if ($activate)


قبل از آن کد زير را قرار دهيد
dle_editpofile('', $vbulletin->GPC['emailconfirm'], $vbulletin->GPC['currentpassword'], $vbulletin->GPC['newpasswordconfirm'], $vbulletin->userinfo['username'], '', '');


کد زير را پيدا کنيد
if ($vbulletin->session->vars['profileupdate'])


قبل از آن کد زير را قرار دهيد
dle_editpofile($vbulletin->GPC['icq'], "", "", "", $vbulletin->userinfo['username'], $vbulletin->GPC['userfield']['field2'], $vbulletin->GPC['userfield']['field1']);


فايل private.php ويبولتين را باز کنيد و به دنبال کد زير بگرديد
require_once(DIR . '/includes/functions_misc.php');


بعد از آن کد زير را قرار دهيد
require_once('../engine/modules/dle_vs_vb.php');


کد زير را پيدا کنيد
$deletePmSql = "DELETE FROM " . TABLE_PREFIX . "pm WHERE pmid IN(" . implode(', ', $pmids) . ")";


قبل از آن کد زير را قرار دهيد
dle_pm('', $vbulletin->userinfo['username'], '', '', '', $pmids, "del");


کد زير را پيدا کنيد
$pmdm->save();


بعد از آن کد زير را قرار دهيد
dle_pm($pmdm->pmtext['fromusername'], $pmdm->pmtext['touserarray'], $pmdm->pmtext['title'], $pmdm->pmtext['message'], $pmdm->pmtext['dateline'], $pmdm->info['savecopy']);


در همين فايل کد زير را پيدا کنيد
$db->shutdown_query("UPDATE " . TABLE_PREFIX . "pm SET messageread=1 WHERE userid=" . $vbulletin->userinfo['userid'] . " AND pmid=$pm[pmid]");


بعد از آن کد زير را قرار دهيد
dle_pm('', $vbulletin->userinfo['username'], '', '', '', $pm['pmid'], "read");


براي نمايش آخرين ارسال ها از تگ {forum_last_vB} استفاده کنيد

با استفاده از اين هک قسمت هاي عضويت , پيام خصوصي , ورود , آمار و lostpassword هماهنگ مي شوند.
اين هک بر روي ورژن 4.0.3 ويبولتين و اکثر ورژن هاي 3.8.4 به بعد قابل اجرا است

اگر مشکلي داشتيد در بخش نظرات بگيد flower


آرمان کیانپور، اشکان و faridxxf1994 و 15 نفر دیگر تشکر کرده‌‌اند.

اطلاعات

برای ارسال نظر، باید در سایت عضو شوید.