Gắn VBB 3.0.X với 4images

Nguyễn Lam

Administrator
Staff member
Thay đổi template file của 4images 1 (user_loginform.html)
Thay thế trong file của 4images: 2 (sessions.php, constants.php)
Sửa file của 4images: 2
admin/admin_global.php
includes/page_header.php
Sửa file của vBulletin: 2
forums/includes/functions.php
includes/functions_online.php

Bạn cần load file những file này để chuẩn bị cho việc gắn kết giữa VBB & 4images


Những điều cần chú ý :
1/ Lưu giữ các file trước khi bạn sửa
2/ VBB và 4images phải cùng chung một database

Bước 1:
Sửa file sessions.php
define('VBLICENCE_NUMBER', 'XXXXXXXX'); //REPLACE XXXXXXXX là số đăng ký VBB của bạn
define('ALBUM_FOLDER','/album/'); //thư mục album ảnh của bạn
define('COOKIE_TIMEOUT','1800'); //Set giống như khi set cookies của VBB
$url_app = "http://www.yoursite.com/forums/";
Copy đè file sessions.php vào trong thư mục album /includes/ đã có sẵn file trước đó.
Bước 2:
Sửa file constants.php
define('VB_TABLE_PREFIX',''); // tableprefix trong vbb của bạn. vbb mặc định là blank
define('SESSIONS_TABLE', VB_TABLE_PREFIX.'session');
define('USERS_TABLE', VB_TABLE_PREFIX.'user');
define('GUEST', 0); // GUEST group or ID
define('USER_AWAITING_DEFAULT', 3);
define('USER_DEFAULT', 2);
define('ADMIN_DEFAULT', 6);
$waitinggroups = array(3, 4); // Nhóm thành viên đăng ký trong VBB đang chờ duyệt trở thành thành viên
$usergroups = array(2, 7); // Nhóm thành viên trong album có trước đó. $admingroups = array(6); // Nhóm thành viên trong VBB sẽ làm Admin trong album.
*Hãy chắc chắn VB_TABLE_PREFIX khai báo đúng
Copy đè file constants.php vào trong thư mục album /includes/ đã có sẵn file trước đó.
Bước 3:
Thay thế file loginform.html (trong templates/XXX/) với nội dung như sau:
#############################
<table width="100%" border="0" cellpadding="4" cellspacing="0">
<tr>
<td valign="top" align="left">
<form action="{url_login}" method="post" onsubmit="md5hash(vb_login_password,vb_login_md5password)">
<script type="text/javascript" src="{clientscript_md5}"></script>
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="do" value="login" />
<input type="hidden" name="forceredirect" value="1" />
<input type="hidden" name="vb_login_md5password" />
{lang_user_name}<br />
<input type="text" size="10" name="vb_login_username" class="logininput" accesskey="u" />
<br />
{lang_password}<br />
<input type="password" size="10" name="vb_login_password" class="logininput" accesskey="p" />
<br />
<input type="hidden" name="url" value="{self_full}" />
<label for="cb_cookieuser"><input type="checkbox" name="cookieuser" value="1" id="cb_cookieuser" checked="checked" /><b>Remember username/password?</b></label><br />
<input type="submit" value="{lang_login}" class="button" accesskey="s"/>
</form>
&raquo; <a href="{url_lost_password}">{lang_lost_password}</a><br />
&raquo; <a href="{url_register}">{lang_register}</a>
</td>
</tr>
</table>
##############################
Bước 4: Sửa file trong 4images
File admin/admin_global.php
Tìm:
if ($user_info['user_level'] != ADMIN) {
show_admin_header();
?>
<br /><br /><br />
<table cellpadding="1" cellspacing="0" border="0" align="center" width="500"><tr><td class="tableborder">
<table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr class="tablerow"><td align="center" nowrap><p><?php echo $lang['no_admin']; ?></p>
<form action="<?php echo ROOT_PATH; ?>admin/index.php" method="post">
<input type="hidden" name="action" value="login">
<input type="hidden" name="redirect" value="<?php echo $site_sess->url(ROOT_PATH."admin/".$self_url); ?>">
<table cellpadding="0" cellspacing="1" border="0">
<tr>
<td><input type="text" name="loginusername" size="<?php echo $textinput_size2; ?>"></td>
<td><input type="password" name="loginpassword" size="<?php echo $textinput_size2; ?>"></td>
<td><input type="submit" value=" <?php echo $lang['admin_login']; ?> "></td>
</tr>
<tr>
<td><font size="1" class="smalltext"><?php echo $lang['field_username']; ?></font></td>
<td colspan="2"><font size="1" class="smalltext"><?php echo $lang['field_password']; ?></font></td>
</tr>
</table>
</form>
</td></tr></table>
</td></tr></table>
<p align="center">4images Administration Control Panel</p>
<?php
show_admin_footer();
exit;
}
Thay thế bằng code:
if ($user_info['user_level'] != ADMIN) {
show_admin_header();
?>
<br /><br /><br />
<table cellpadding="1" cellspacing="0" border="0" align="center" width="500"><tr><td class="tableborder">
<table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr class="tablerow">
<td align="center" nowrap>
<p><?php echo $lang['no_admin']; ?></p>
<form action="/forum/login.php" method="post" onsubmit="md5hash(vb_login_password,vb_login_md5password)">
<script type="text/javascript" src="/forum/clientscript/vbulletin_md5.js"></script>
<input type="hidden" name="vb_login_md5password" />
<input type="hidden" name="s" value="$session[sessionhash]" />
<input type="hidden" name="do" value="login" />
<input type="hidden" name="forceredirect" value="1" />
<input type="hidden" name="redirect" value="<?php echo $site_sess->url(ROOT_PATH."admin/".$self_url); ?>">
<table cellpadding="0" cellspacing="1" border="0">
<tr>
<td>
<input type="text" name="vb_login_username" size="<?php echo $textinput_size2; ?>">
</td>
<td>
<input type="password" name="vb_login_password" size="<?php echo $textinput_size2; ?>">
</td>
<td>
<input type="submit" value=" <?php echo $lang['admin_login']; ?> ">
</td>
</tr>
<tr>
<td>
<font size="1" class="smalltext"><?php echo $lang['field_username']; ?></font>
</td>
<td colspan="2">
<font size="1" class="smalltext"><?php echo $lang['field_password']; ?></font>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</td></tr></table>
<p align="center">4images Administration Control Panel</p>
<?php
show_admin_footer();
exit;
}
Lưu ý:
*Thay: /forum/ tới thư mục chưa VBB của bạn. Ở đây đường dẫn là:
- /forum/login.php
- /forum/clientscript/
Sửa file: includes/page_header.php
Tìm code:
if ($user_info['user_level'] >= USER) {
$site_template->register_vars("lang_loggedin_msg", preg_replace("/".$site_template->start."loggedin_user_name".$site_template->end."/siU", $user_info['user_name'], $lang['lang_loggedin_msg']));
$user_box = $site_template->parse_template("user_logininfo");
$site_template->register_vars(array(
"user_box" => $user_box,
"user_loggedin" => 1,
"user_loggedout" => 0,
"is_admin" => ($user_info['user_level'] == ADMIN) ? 1 : 0
));
$site_template->un_register_vars("user_logininfo");
unset($user_box);
}
Thay thế bằng code:
if ($user_info['user_level'] >= USER) {
$site_template->register_vars("lang_loggedin_msg", preg_replace("/".$site_template->start."loggedin_user_name".$site_template->end."/siU", $user_info['user_name'], $lang['lang_loggedin_msg']));
$user_box = $site_template->parse_template("user_logininfo");
$myuserid = $user_info['user_id'];
$site_template->register_vars(array(
"user_box" => $user_box,
"myuserid" => $myuserid,
"user_loggedin" => 1,
"user_loggedout" => 0,
"is_admin" => ($user_info['user_level'] == ADMIN) ? 1 : 0
));
$site_template->un_register_vars("user_logininfo");
unset($user_box);
}
Bước 5: sửa file VBB
Sửa file forums/includes/functions.php
Tìm code:
$name = COOKIE_PREFIX . $name;
Thay thế bằng code:
if ($name != 'sessionhash')
{
$name = COOKIE_PREFIX . $name;
}
Sửa file includes/functions_online.php
Tìm code:
switch($userinfo['activity'])
{
Thêm vào phía sau đoạn code:
// Album user online Mod
case 'album':
$userinfo['action'] = 'Browsing album';
$userinfo['where'] = "<a href=\"$userinfo[location]\">$userinfo[location]</a>";
break;
// End
Tìm code:
else
{
$userinfo['activity'] = 'modcp';
}
return $userinfo;
}[/CODE]
Thêm vào đằng sau đoạn code:
Mã:
// Album user location 
	else if (strpos($token, "/album/") !== false)
	{
		{
			$userinfo['activity'] = 'album';
		}
		return $userinfo;
	}[/QUOTE]
* Thay đổi ($token, "/album/") giống như bạn thư mục album mà bạn đặt trong file sessions.php ở phía trên.

Chú ý, cách này chỉ áp dụng cho VBB3.0.X và 4images 1.7 và không áp dụng cho các bạn dùng subdomain cho forum và album 4images.
 

Tra cứu điểm thi

Phần mềm mới

Quảng cáo

11223344550983550000
Top