Документация 304й:Форум
Материал из Wiki 304й
Содержание |
Движок, версия
Сейчас используется InvisionPowerBoard 2.3.4
Список модификаций кода
Работа в UTF-8
- все файлы форума необходимо сконвертировать из windows-1251 в UTF-8
- для VirtualHost форума необходимо включить mbstring.func_overload:
php_admin_value mbstring.func_overload 6
- в sources/ipsclass.php добавляем
if (!function_exists("mb_substr_replace")){
function mb_substr_replace( $string , $replacement , $start, $length=null ) {
if ($length == null){
return mb_substr($string,0,$start).$replacement;
}
else{
return mb_substr($string,0,$start).$replacement.mb_substr($string,$start + $length);
}
}
}
function mb_substr_replace( $string , $replacement , $start, $length=null ) {
if ($length == null){
return mb_substr($string,0,$start).$replacement;
}
else{
return mb_substr($string,0,$start).$replacement.mb_substr($string,$start + $length);
}
}
}
- во всех файлах форума меняем
substr_replaceнаmb_substr_replace
Оформление Drupal
В sources/classes/class_display.php после
//-----------------------------------------
// Add in task image?
//-----------------------------------------
if ( time() >= $this->ipsclass->cache['systemvars']['task_next_run'] )
{
$this->to_print .= "<!--TASK--><img src='{$this->ipsclass->base_url}act=task' border='0' height='1' width='1' alt='' /><!--ETASK-->";
}
// Add in task image?
//-----------------------------------------
if ( time() >= $this->ipsclass->cache['systemvars']['task_next_run'] )
{
$this->to_print .= "<!--TASK--><img src='{$this->ipsclass->base_url}act=task' border='0' height='1' width='1' alt='' /><!--ETASK-->";
}
надо добавить
// Drupal wrapper
// use CURL library to fetch remote file
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://drupal.304.ru/uwrap/forum");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 60);
$drupalwrapper = curl_exec($ch);
if ( curl_getinfo($ch,CURLINFO_HTTP_CODE) !== 200 ){
$drupalwrapper = "An error occured while communicating drupal.
Can't initialize wrapper. Returned code is ".curl_getinfo($ch,CURLINFO_HTTP_CODE)."<!--uwrap--> ";
}
$drupalwrp = explode ( "<!--uwrap-->", $drupalwrapper, 2);
$uwraph = $drupalwrp[0];
$uwrapf = $drupalwrp[1];
$uwraph = str_replace( '<link type="text/css" rel="stylesheet" media="all" href="/',
'<link type="text/css" rel="stylesheet" media="all" href="http://drupal.304.ru/',$uwraph);
$uwraph = str_replace( '<link type="text/css" rel="stylesheet" media="print" href="/',
'<link type="text/css" rel="stylesheet" media="print" href="http://drupal.304.ru/',$uwraph);
$uwraph = str_replace( '<script type="text/javascript" src="',
'<script type="text/javascript" src="http://drupal.304.ru', $uwraph);
$uwraph = str_replace( '<link rel="shortcut icon" href="',
'<link rel="shortcut icon" href="http://drupal.304.ru', $uwraph);
$uwraph = str_replace( '<li class="leaf"><a href="/',
'<li class="leaf"><a href="http://drupal.304.ru/', $uwraph);
$uwraph = str_replace( '<li class="leaf first"><a href="/',
'<li class="leaf first"><a href="http://drupal.304.ru/', $uwraph);
$uwraph = str_replace( '<li class="collapsed last"><a href="/',
'<li class="collapsed last"><a href="http://drupal.304.ru/', $uwraph);
$uwraph = str_replace( '<li class="expanded last"><a href="/',
'<li class="expanded last"><a href="http://drupal.304.ru/', $uwraph);
$uwraph = str_replace( '<div class="one-image">
<a href="/', '<div class="one-image">
<a href="http://media.304.ru/', $uwraph);
$uwraph = explode ("</head>", $uwraph, 2);
$uwraph[1] = "</head>".$uwraph[1];
// use CURL library to fetch remote file
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, "http://drupal.304.ru/uwrap/forum");
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 60);
$drupalwrapper = curl_exec($ch);
if ( curl_getinfo($ch,CURLINFO_HTTP_CODE) !== 200 ){
$drupalwrapper = "An error occured while communicating drupal.
Can't initialize wrapper. Returned code is ".curl_getinfo($ch,CURLINFO_HTTP_CODE)."<!--uwrap--> ";
}
$drupalwrp = explode ( "<!--uwrap-->", $drupalwrapper, 2);
$uwraph = $drupalwrp[0];
$uwrapf = $drupalwrp[1];
$uwraph = str_replace( '<link type="text/css" rel="stylesheet" media="all" href="/',
'<link type="text/css" rel="stylesheet" media="all" href="http://drupal.304.ru/',$uwraph);
$uwraph = str_replace( '<link type="text/css" rel="stylesheet" media="print" href="/',
'<link type="text/css" rel="stylesheet" media="print" href="http://drupal.304.ru/',$uwraph);
$uwraph = str_replace( '<script type="text/javascript" src="',
'<script type="text/javascript" src="http://drupal.304.ru', $uwraph);
$uwraph = str_replace( '<link rel="shortcut icon" href="',
'<link rel="shortcut icon" href="http://drupal.304.ru', $uwraph);
$uwraph = str_replace( '<li class="leaf"><a href="/',
'<li class="leaf"><a href="http://drupal.304.ru/', $uwraph);
$uwraph = str_replace( '<li class="leaf first"><a href="/',
'<li class="leaf first"><a href="http://drupal.304.ru/', $uwraph);
$uwraph = str_replace( '<li class="collapsed last"><a href="/',
'<li class="collapsed last"><a href="http://drupal.304.ru/', $uwraph);
$uwraph = str_replace( '<li class="expanded last"><a href="/',
'<li class="expanded last"><a href="http://drupal.304.ru/', $uwraph);
$uwraph = str_replace( '<div class="one-image">
<a href="/', '<div class="one-image">
<a href="http://media.304.ru/', $uwraph);
$uwraph = explode ("</head>", $uwraph, 2);
$uwraph[1] = "</head>".$uwraph[1];
Дальше надо в Админке, Внешний вид, Изменить общий шаблон форума
<% UWRAPH1 %> <% CSS %> <% GENERATOR %> <meta name="verify-v1" content="Bynu5kb8wWivzVcL/Vi0PYycJt64Q3qal8LZ6mHwdPg=" /> <% JAVASCRIPT %> <% UWRAPH2 %> <div style="float:left; width: 100%;"> <% BOARD HEADER %> <% MEMBER BAR %> <% NAVIGATION %> <!--IBF.NEWPMBOX--> <% BOARD %> <% BOARD FOOTER %> <% STATS %> <% COPYRIGHT %> </div> <% UWRAPF %>
Информация о пользователе рядом с его сообщением
Надо вспомнить, что правили. Убирали лишнее, добавляли ИмяФамилию