irantraining
Member
bbtonuke 2.0.14 هم رسید.
برای patch کردن دستی bbtonuke 2.0.13 به bbtonuke 2.0.14 از طریق زیر عمل کنید:
ابتدا یک پشتیبان (backup) از فایلهای مورد نظر بگیرید.
الف - فایل modules/Forums/admin/admin_styles.php را باز کنید
1- در حدود خط 78 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
2- در حدود خط 742 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
ب - فایل modules/Forums/admin/page_header_admin.php را باز کنید
1- در حدود خط 38 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
پ - فایل modules/Forums/admin/page_footer_admin.php را باز کنید
1- در حدود خط 36 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
ت - فایل db/postgres7.php را باز کنید
1- در حدود خط 36 کدهای زیر را پیدا کنید:
بعد از آن این کدها را اضافه کنید:
ث - فایل includes/page_header.php را باز کنید
1- در حدود خط 38 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
2- در حدود خط 469 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
ج - فایل includes/sessions.php را باز کنید
1- در حدود خط 53 کدهای زیر را پیدا کنید:
بعد از آن این را اضافه کنید:
2- در حدود خط 92 کدهای زیر را پیدا کنید:
بعد از آن این را اضافه کنید:
3- در حدود خط 105 کدهای زیر را پیدا کنید:
[/code]
بعد از آن این را اضافه کنید:
4- در حدود خط 244 کدهای زیر را پیدا کنید:
قبل از آن این را اضافه کنید:
چ - فایل modules/Forums/modcp.php را باز کنید
1- در حدود خط 130 کدهای زیر را پیدا کنید:
بعد از آن این را اضافه کنید:
2- در حدود خط 150 کدهای زیر را پیدا کنید:
بعد از آن این را اضافه کنید:
ح - فایل modules/Private_Messages/index.php را باز کنید
1- در حدود خط 566 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
2- در حدود خط 1531 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
خ - فایل modules/Forums/search.php را باز کنید
1- در حدود خط 200 کدهای زیر را پیدا کنید:
قبل از آن این را اضافه کنید:
2- در حدود خط 269 کدهای زیر را پیدا کنید:
بعد از آن این را اضافه کنید:
if (preg_match('#^[\*%]+$#', trim($split_search[$i])) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($split_search[$i]))))
{
$split_search[$i] = '';
continue;
} [/code]
3- در حدود خط 416 کدهای زیر را پیدا کنید:
بعد از آن این را اضافه کنید:
د - فایل modules/Forums/viewtopic.php را باز کنید
1- در حدود خط 1052 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
2- در حدود خط 1122 کدهای زیر را پیدا کنید:
جای آن را با این عوض کنید:
موفق باشید.
برای patch کردن دستی bbtonuke 2.0.13 به bbtonuke 2.0.14 از طریق زیر عمل کنید:
ابتدا یک پشتیبان (backup) از فایلهای مورد نظر بگیرید.
الف - فایل modules/Forums/admin/admin_styles.php را باز کنید
1- در حدود خط 78 کدهای زیر را پیدا کنید:
کد:
include($phpbb_root_path. "templates/" . $install_to . "/theme_info.cfg");
جای آن را با این عوض کنید:
کد:
include($phpbb_root_path. "templates/" . basename($install_to) . "/theme_info.cfg");
2- در حدود خط 742 کدهای زیر را پیدا کنید:
کد:
$fp = @fopen($phpbb_root_path . 'templates/' . $template_name . '/theme_info.cfg', 'w');
جای آن را با این عوض کنید:
کد:
$fp = @fopen($phpbb_root_path . 'templates/' . basename($template_name) . '/theme_info.cfg', 'w');
ب - فایل modules/Forums/admin/page_header_admin.php را باز کنید
1- در حدود خط 38 کدهای زیر را پیدا کنید:
کد:
$useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;
جای آن را با این عوض کنید:
کد:
$useragent = (isset($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) ? $HTTP_SERVER_VARS['HTTP_USER_AGENT'] : getenv('HTTP_USER_AGENT');
پ - فایل modules/Forums/admin/page_footer_admin.php را باز کنید
1- در حدود خط 36 کدهای زیر را پیدا کنید:
کد:
'PHPBB_VERSION' => '2' . $board_config['version'],
جای آن را با این عوض کنید:
کد:
'PHPBB_VERSION' => ($userdata['user_level'] == ADMIN && $userdata['user_id'] != ANONYMOUS) ? '2' . $board_config['version'] : '',
ت - فایل db/postgres7.php را باز کنید
1- در حدود خط 36 کدهای زیر را پیدا کنید:
کد:
$query = preg_replace("/LIMIT ([0-9]+),([ 0-9]+)/", "LIMIT \\2 OFFSET \\1", $query);
بعد از آن این کدها را اضافه کنید:
کد:
$query = preg_replace('#(.*WHERE.*)(username|user_email|ban_email) = \'(.*)\'#ise', "\"\\1LOWER(\\2) = '\" . strtolower('\\3') . \"'\"", $query);
ث - فایل includes/page_header.php را باز کنید
1- در حدود خط 38 کدهای زیر را پیدا کنید:
کد:
$useragent = (isset($_SERVER["HTTP_USER_AGENT"]) ) ? $_SERVER["HTTP_USER_AGENT"] : $HTTP_USER_AGENT;
جای آن را با این عوض کنید:
کد:
$useragent = (isset($HTTP_SERVER_VARS['HTTP_USER_AGENT'])) ? $HTTP_SERVER_VARS['HTTP_USER_AGENT'] : getenv('HTTP_USER_AGENT');
2- در حدود خط 469 کدهای زیر را پیدا کنید:
کد:
if (!empty($_SERVER['SERVER_SOFTWARE']) && strstr($_SERVER['SERVER_SOFTWARE'], 'Apache/2'))
جای آن را با این عوض کنید:
کد:
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
ج - فایل includes/sessions.php را باز کنید
1- در حدود خط 53 کدهای زیر را پیدا کنید:
کد:
$session_id = '';
}
بعد از آن این را اضافه کنید:
کد:
$page_id = (int) $page_id;
2- در حدود خط 92 کدهای زیر را پیدا کنید:
کد:
// No match; don't login, set as anonymous user
$login = 0;
$enable_autologin = 0;
$user_id = $userdata['user_id'] = ANONYMOUS;
بعد از آن این را اضافه کنید:
کد:
$sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS;
$result = $db->sql_query($sql);
$userdata = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
3- در حدود خط 105 کدهای زیر را پیدا کنید:
کد:
[code]// Autologin is not set. Don't login, set as anonymous user
$login = 0;
$enable_autologin = 0;
$user_id = $userdata['user_id'] = ANONYMOUS;
بعد از آن این را اضافه کنید:
کد:
$sql = 'SELECT * FROM ' . USERS_TABLE . ' WHERE user_id = ' . ANONYMOUS;
$result = $db->sql_query($sql);
$userdata = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
4- در حدود خط 244 کدهای زیر را پیدا کنید:
کد:
//
// Does a session exist?
//
قبل از آن این را اضافه کنید:
کد:
$thispage_id = (int) $thispage_id;
چ - فایل modules/Forums/modcp.php را باز کنید
1- در حدود خط 130 کدهای زیر را پیدا کنید:
کد:
message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
}
$topic_row = $db->sql_fetchrow($result);
بعد از آن این را اضافه کنید:
کد:
if (!$topic_row)
{
message_die(GENERAL_MESSAGE, 'Topic_post_not_exist');
}
2- در حدود خط 150 کدهای زیر را پیدا کنید:
کد:
message_die(GENERAL_MESSAGE, 'Forum_not_exist');
}
$topic_row = $db->sql_fetchrow($result);
بعد از آن این را اضافه کنید:
کد:
if (!$topic_row)
{
message_die(GENERAL_MESSAGE, 'Forum_not_exist');
}
ح - فایل modules/Private_Messages/index.php را باز کنید
1- در حدود خط 566 کدهای زیر را پیدا کنید:
کد:
if ( !$board_config['allow_html'] )
{
if ( $user_sig != '' && $privmsg['privmsgs_enable_sig'] && $userdata['user_allowhtml'] )
جای آن را با این عوض کنید:
کد:
if ( !$board_config['allow_html'] || !$userdata['user_allowhtml'])
{
if ( $user_sig != '')
2- در حدود خط 1531 کدهای زیر را پیدا کنید:
کد:
if ( !$html_on )
{
if ( $user_sig != '' || !$userdata['user_allowhtml'] )
جای آن را با این عوض کنید:
کد:
if ( !$html_on || !$board_config['allow_html'] || !$userdata['user_allowhtml'] )
{
if ( $user_sig != '' )
خ - فایل modules/Forums/search.php را باز کنید
1- در حدود خط 200 کدهای زیر را پیدا کنید:
کد:
$search_author = str_replace('*', '%', trim($search_author));
قبل از آن این را اضافه کنید:
کد:
if (preg_match('#^[\*%]+$#', trim($search_author)) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author))))
{
$search_author = '';
}
2- در حدود خط 269 کدهای زیر را پیدا کنید:
کد:
[code]for($i = 0; $i < count($split_search); $i++)
{
بعد از آن این را اضافه کنید:
if (preg_match('#^[\*%]+$#', trim($split_search[$i])) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($split_search[$i]))))
{
$split_search[$i] = '';
continue;
} [/code]
3- در حدود خط 416 کدهای زیر را پیدا کنید:
کد:
// Author name search
//
if ( $search_author != '' )
{
بعد از آن این را اضافه کنید:
کد:
if (preg_match('#^[\*%]+$#', trim($search_author)) || preg_match('#^[^\*]{1,2}$#', str_replace(array('*', '%'), '', trim($search_author))))
{
$search_author = '';
}
د - فایل modules/Forums/viewtopic.php را باز کنید
1- در حدود خط 1052 کدهای زیر را پیدا کنید:
کد:
if ( !$board_config['allow_html'] )
{
if ( $user_sig != '' && $userdata['user_allowhtml'] )
جای آن را با این عوض کنید:
کد:
if ( !$board_config['allow_html'] || !$userdata['user_allowhtml'])
{
if ( $user_sig != '' )
2- در حدود خط 1122 کدهای زیر را پیدا کنید:
کد:
$user_sig = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $user_sig . '<'), 1, -1));
}
$message = str_replace('\"', '"', substr(preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1));
جای آن را با این عوض کنید:
کد:
$user_sig = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $user_sig . '<'), 1, -1));
}
$message = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1));
موفق باشید.