[DataLife] هماهنگ سازی دیتالایف 8.5 با ویبولتین 4.0.3

شروع موضوع توسط progpars ‏21 سپتامبر 2010 در انجمن Movable Type ، DataLife ، phpNuke

  1. progpars

    progpars progpars.com

    ارسال‌ها:
    445
    تشکر شده:
    538
    امتیاز دستاورد:
    93
    آموزش هماهنگ سازي ديتالايف با انجمن ساز قدرتمند ويبولتين
    براي هماهنگ سازي اين دو سيستم شما بايد از يک هاست و يک دامنه استفاده کنيد
    ابتدا فايل ضميمه را دانلود و در مسير مورد نظر آپلود کنيد
    مشاهده پیوست dle-vb.zip
    سپس آدرس زير را اجرا کنيد
    http://yoursite.com/install.php
    ------------------------------------
    فايل index.php را باز کنيد و به دنبال کد زير بگرديد
    کد (Text):
    $tpl->load_template ( 'main.tpl' );
     
    پس از آن کد زير را قرار دهيد
    کد (Text):
    $tpl->set ( '{forum_last_vB}', forum_last_vB());
    $tpl->set ( '{birthday_block}', birthday_user_forum());
     
    فايل engine/inc/editusers.php را باز کنيد و کد زير را پيدا کنيد
    کد (Text):
    if( !defined( 'DATALIFEENGINE' ) OR !defined( 'LOGGED_IN' ) ) {
        die( "Hacking attempt!" );
    }
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    require_once(ROOT_DIR.'/engine/modules/dle_vs_vb.php');
     
    در همين فايل به دنبال کد زير بگرديد:
    کد (Text):
    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" );
     
    قبل از آن کد زير را قرار دهيد
    کد (Text):
    vb_admin_add($regusername, $regpassword, $regemail, $add_time);
     
    در همين فايل به دنبال کد زير بگرديد:
    کد (Text):
    $filecontents = '';
     
    پس از آن کد زير را قرار دهيد
    کد (Text):
    vb_admin_profile($editmail, $editlogin, $editpass, $editicq, $editland, $editinfo);
     
    به دنبال کد زير بگرديد:
    کد (Text):
    $db->query( "delete FROM " . USERPREFIX . "_pm WHERE user='$id'" );
     
    پس از آن کد زير را قرار دهيد
    کد (Text):
    vb_admin_del_user($row['name']);
     
    فايل engine/modules/sitelogin.php را باز کنيد و کد زير را پيدا کنيد
    کد (Text):
    if( ! defined( 'DATALIFEENGINE' ) ) {
        die( "Hacking attempt!" );
    }
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    require_once(ROOT_DIR.'/engine/modules/dle_vs_vb.php');
     
    در همين فايل کد زير را پيدا کنيد
    کد (Text):
    if( isset( $_REQUEST['action'] ) and $_REQUEST['action'] == "logout" ) {
     
    و بعد از آن کد زير را قرار دهيد
    کد (Text):
    if (isset($_SESSION['dle_user_id'])) vb_logout($_SESSION['dle_user_id']); elseif (isset($_COOKIE['dle_user_id'])) vb_logout($_COOKIE['dle_user_id']);
     
    کد زير را پيدا کنيد
    کد (Text):
    if( $is_logged ) {
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    vb_login($member_login);
     
    فايل engine/modules/pm.php را باز کنيد و کد زير را پيدا کنيد
    کد (Text):
    $db->query( "UPDATE " . USERPREFIX . "_users set pm_all=pm_all+1, pm_unread=pm_unread+1  where user_id='$row[user_id]'" );
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    vb_pm($member_id['name'], $name, $subj, $comments, $time, intval($_REQUEST['outboxcopy']));
     
    در همين فايل کد زير را پيدا کنيد
    کد (Text):
    if( ($row['user'] == $member_id['user_id'] and $row['folder'] == "inbox") or ($row['user_from'] == $member_id['name'] and $row['folder'] == "outbox") ) {
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    vb_pm($row['pm_read'], $member_id['name'], '', '', '', $row['id'], "del");
     
    کد زير را پيدا کنيد
    کد (Text):
    if( ($row['user'] == $member_id['user_id'] and $row['folder'] == "inbox") or ($row['user_from'] == $member_id['name'] and $row['folder'] == "outbox") ) {
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    vb_pm($row['pm_read'], $member_id['name'], '', '', '', $row['id'], "del");
     
    کد زير را پيدا کنيد
    کد (Text):
    $db->query( "UPDATE " . USERPREFIX . "_pm set pm_read='yes'  where id='$row[id]'" );
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    vb_pm('', $member_id['name'], '', '', '', $row['id'], "read");
     
    فايل engine/modules/lostpassword.php را باز کنيد و کد زير را پيدا کنيد
    کد (Text):
    $db->query( "DELETE FROM " . USERPREFIX . "_lostdb WHERE lostname='$douser'" );
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    vb_lostpassword($username, $new_pass);
     
    فايل engine/modules/register.php را باز کنيد و کد زير را پيدا کنيد
    کد (Text):
    $db->query( "UPDATE " . USERPREFIX . "_users set fullname='$fullname', info='$info', land='$land', icq='$icq', xfields='$filecontents' where name='$user'" );
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    vb_register($user, "", "", '', $land, $icq, $info, "update");
     
    کد زير را پيدا کنيد
    کد (Text):
    $id = $db->insert_id();
     
    قبل از آن کد زير را قرار دهيد
    کد (Text):
    vb_register($name, $user_arr[2], $email, $add_time , "", "", "", "new");
     
    فايل engine/modules/profile.php را باز کنيد و کد زير را پيدا کنيد
    کد (Text):
    if( strlen( $password1 ) > 0 ) {
     
    قبل از آن کد زير را قرار دهيد
    کد (Text):
    vb_editpofile($icq, $email, md5($password1), $user, $land, $info);
     
    فايل engine/modules/show.full.php را باز کنيد و کد زير را پيدا کنيد
    کد (Text):
    $tpl->compile( 'content' );
     
    قبل از آن کد زير را قرار دهيد
    کد (Text):
    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 را باز کنيد و قبل از کد زير را قرار دهيد
    کد (Text):
    <link rel="stylesheet" type="text/css" href="{THEME}/css/vblaststyle.css" />
     
    فايل register.php ويبولتين را باز کنيد و به دنبال کد زير بگرديد
    کد (Text):
    require_once(DIR . '/includes/functions_misc.php');
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    require_once('../engine/modules/dle_vs_vb.php');
     
    کد زير را پيدا کنيد
    کد (Text):
    $vbulletin->userinfo['userid']
    = $userid
    = $userdata->save();
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    dle_register($vbulletin->GPC['username'], $vbulletin->GPC['password'], $vbulletin->GPC['password_md5'], $vbulletin->GPC['emailconfirm'], $vbulletin->GPC['bblastvisit']);
     
    فايل login.php ويبولتين را باز کنيد و به دنبال کد زير بگرديد
    کد (Text):
    require_once(DIR . '/includes/functions_login.php');
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    require_once('../engine/modules/dle_vs_vb.php');
     
    کد زير را پيدا کنيد
    کد (Text):
    if ($_REQUEST['do'] == 'logout')
    {
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    dle_logout();
     
    کد زير را پيدا کنيد
    کد (Text):
    process_new_login($vbulletin->GPC['logintype'], $vbulletin->GPC['cookieuser'], $vbulletin->GPC['cssprefs']);
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    dle_login($vbulletin->GPC['vb_login_username'], $vbulletin->GPC['vb_login_password'], $vbulletin->GPC['vb_login_md5password'], $vbulletin->GPC['bblastvisit']);
     
    در همين فايل کد زير را پيدا کنيد
    کد (Text):
    $userdata->save();
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    dle_lostpassword($userinfo['username'], md5(md5($newpassword)));
     
    فايل profile.php ويبولتين را باز کنيد و به دنبال کد زير بگرديد
    کد (Text):
    require_once(DIR . '/includes/functions_user.php');
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    require_once('../engine/modules/dle_vs_vb.php');
     
    در همين فايل کد زير را پيدا کنيد
    کد (Text):
    if ($activate)
     
    قبل از آن کد زير را قرار دهيد
    کد (Text):
    dle_editpofile('', $vbulletin->GPC['emailconfirm'], $vbulletin->GPC['currentpassword'], $vbulletin->GPC['newpasswordconfirm'], $vbulletin->userinfo['username'], '', '');
     
    کد زير را پيدا کنيد
    کد (Text):
    if ($vbulletin->session->vars['profileupdate'])
     
    قبل از آن کد زير را قرار دهيد
    کد (Text):
    dle_editpofile($vbulletin->GPC['icq'], "", "", "", $vbulletin->userinfo['username'], $vbulletin->GPC['userfield']['field2'], $vbulletin->GPC['userfield']['field1']);
     
    فايل private.php ويبولتين را باز کنيد و به دنبال کد زير بگرديد
    کد (Text):
    require_once(DIR . '/includes/functions_misc.php');
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    require_once('../engine/modules/dle_vs_vb.php');
     
    کد زير را پيدا کنيد
    کد (Text):
    $deletePmSql = "DELETE FROM " . TABLE_PREFIX . "pm WHERE pmid IN(" . implode(', ', $pmids) . ")";
     
    قبل از آن کد زير را قرار دهيد
    کد (Text):
    dle_pm('', $vbulletin->userinfo['username'], '', '', '', $pmids, "del");
     
    کد زير را پيدا کنيد
    کد (Text):
    $pmdm->save();
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    dle_pm($pmdm->pmtext['fromusername'], $pmdm->pmtext['touserarray'], $pmdm->pmtext['title'], $pmdm->pmtext['message'], $pmdm->pmtext['dateline'], $pmdm->info['savecopy']);
     
    در همين فايل کد زير را پيدا کنيد
    کد (Text):
    $db->shutdown_query("UPDATE " . TABLE_PREFIX . "pm SET messageread=1 WHERE userid=" . $vbulletin->userinfo['userid'] . " AND pmid=$pm[pmid]");
     
    بعد از آن کد زير را قرار دهيد
    کد (Text):
    dle_pm('', $vbulletin->userinfo['username'], '', '', '', $pm['pmid'], "read");
     
    براي نمايش آخرين ارسال ها از تگ {forum_last_vB} استفاده کنيد

    با استفاده از اين هک قسمت هاي عضويت , پيام خصوصي , ورود , آمار و lostpassword هماهنگ مي شوند.
    اين هک بر روي ورژن 4.0.3 ويبولتين و اکثر ورژن هاي 3.8.4 به بعد قابل اجرا است
     
    نوشته شده توسط progpars در ‏21 سپتامبر 2010
    abdolahe، daland، mohammad_1ta و یک نفر دیگر از این ارسال تشکر کرده اند.
  2. abdolahe

    abdolahe New Member

    ارسال‌ها:
    2
    تشکر شده:
    1
    امتیاز دستاورد:
    1
    سلام

    برای دیتالایف 9.8 و وی بی 3.8 باید چکار کنیم .ممنون:rose:
     
    نوشته شده توسط abdolahe در ‏2 ژوئن 2012

به اشتراک بگذارید