Документация 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);
                }
        }
}
  • во всех файлах форума меняем 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-->";
        }

надо добавить

        // 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];

Дальше надо в Админке, Внешний вид, Изменить общий шаблон форума

<% 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 %>

Информация о пользователе рядом с его сообщением

Надо вспомнить, что правили. Убирали лишнее, добавляли ИмяФамилию