Strict Standards: Resource ID#30 used as offset, casting to integer (30) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#32 used as offset, casting to integer (32) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Касательно мода Новости форума на странице сайта.
ТвойWeb » » Моды, хаки, скины и дополнения » Касательно мода Новости форума на странице сайта.

Страниц (1): [1]
 

1. Гусь - 13 Сентября, 2006 - 08:46:21 - перейти к сообщению
Как в него прописать фильтрацию скрытого текста.
Мод реализован так: (цитата из другова поста)
Цитата:
Зайди у себя в файл lib.php и удали там вот такой код:
Код:
if ($exbb['reged'])
{
$post = preg_replace( "#\[hide\](.+?)\[/hide\]#is", "<span class=small>Скрытый текст:</span><table cellpadding=3 cellspacing=0 width=85% class=hide_table><tr><td class=hide_td>$1</td></tr></table>", $post );
}
else
{
$post = preg_replace( "#\[hide\](.+?)\[/hide\]#is", "<span class=small><font color=red>[ Скрытый текст. Для прочтения необходима <a href=\"register.php\">регистрация</a>! ]</font></span>", $post );
}

Потом найди вот такой код:
Код:
function setsmiles($sm) {
static $sm_code,$sm_img;

if( empty($sm_code) ) {
$smilies = get_file('./data/smiles.php'Подмигивание;
$sm_code = array();
$sm_img = array();
foreach ($smilies as $code=>$data) {
$code = str_replace('Подмигивание','\)',$code);
$code = str_replace('(','\(',$code);
$sm_code[] = "'$code'";
$sm_img[] = '<img src="./im/emoticons/'.$data['img'].'" border="0">';
}
}
#$sm = str_replace('"','"',$sm);
return preg_replace($sm_code,$sm_img,$sm);
}

И перед ним вставь вот такой вот код:
Код:
function reg_exp_callback($arr)
{
global $exbb,$lang,$inmembmod,$inuser;

if (empty($arr[1]) || $arr[1] == 10)
$arr[1] = 10;
if (!$exbb['reged'])
{
$hidetext = $lang['HiddenText'].' '.$lang['ToRead'].$lang['Register'];
if ($arr[1] > 0)
$hidetext .= $lang['And'].sprintf($lang['CollectPosts'], $arr[1]);
return "<BR><span class=small><font color=red>[$hidetext!]</font></span>";
}
if (($inuser['posts'] >= $arr[1]) || $inmembmod)
{
return "<BR><span class=small>$lang[HiddenText]</span><table cellpadding=3 cellspacing=0 width=85% class=hide_table><tr><td class=hide_td>$arr[2]</td></tr></table>";
}
else
{
$hidetext = $lang['HiddenText'].' '.$lang['ToRead'].sprintf($lang['CollectPosts'], $arr[1]);
return "<BR><span class=small><font color=red>[$hidetext!]</font></span>";
}
}

Потом найди вот такой вот код:
Код:
$post = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $post );

Вставь сразу после него:
Код:
$post = preg_replace_callback("#\[hide(?:=([0-9]+))*\](.+?)\[/hide\]#is", 'reg_exp_callback', $post);

Потом иди в файл lang.php и вставляй следующий код:
Код:
$lang['HiddenText'] = 'Скрытый текст:';
$lang['ToRead'] = 'Для прочтения необходимо';
$lang['Register'] = ' <a href="register.php">зарегистрироваться</a>';
$lang['And'] = ' и';
$lang['CollectPosts'] = ' набрать не менее %d сообщений';

Вот и всё....!!!
Только перед тем как все это делать, лучше сохрани свой старый lib.php
2. Гусь - 13 Сентября, 2006 - 11:12:09 - перейти к сообщению
Всё сам зделал.
3. Vovich - 14 Сентября, 2006 - 02:43:54 - перейти к сообщению
Гусь
Делись плз
4. Гусь - 22 Сентября, 2006 - 08:48:43 - перейти к сообщению
В файле fnops.php найди такой текст
CODE:
function fnsp_get_file($filename) {
$fp = fopen($filename,'r');
fnsp_lock_file($fp,$filename);
$filesize = filesize($filename);
$filesize = ($filesize ===0) ? 1:$filesize-8;
fseek($fp,8);
$str = fread($fp,$filesize);
fclose($fp);
return (!empty($str))?unserialize($str):array();
}


И пред ним вставь вот такой
CODE:
function reg_exp_callback($arr)
{
global $exbb,$lang,$inmembmod,$inuser;

if (empty($arr[1]) || $arr[1] == 10)
$arr[1] = 10;
if (!$exbb['reged'])
{
$hidetext = $lang['HiddenText'].' '.$lang['ToRead'].$lang['Register'];
if ($arr[1] > 0)
$hidetext .= $lang['And'].sprintf($lang['CollectPosts'], $arr[1]);
return "<BR><span class=small><font color=red>[Скрытый текст Для прочтения необходимо зарегистрироваться]</font></span>";
}
if (($inuser['posts'] >= $arr[1]) || $inmembmod)
{
return "<BR><span class=small>$lang[HiddenText]</span><table cellpadding=3 cellspacing=0 width=85% class=hide_table><tr><td class=hide_td>$arr[2]</td></tr></table>";
}
else
{
$hidetext = $lang['HiddenText'].' '.$lang['ToRead'].sprintf($lang['CollectPosts'], $arr[1]);
return "<BR><span class=small><font color=red>[$hidetext!]</font></span>";
}
}


Потом найди
CODE:
$post = preg_replace( "#\[u\](.+?)\[/u\]#is", "<u>\\1</u>", $post );

И после него вставь
CODE:
$post = preg_replace_callback("#\[hide(?:=([0-9]+))*\](.+?)\[/hide\]#is", 'reg_exp_callback', $post);
5. antoshka - 28 Октября, 2006 - 16:31:29 - перейти к сообщению
а для какой версии форума это? Улыбка
6. Гусь - 29 Октября, 2006 - 04:17:36 - перейти к сообщению
У меня на 1.5, но будет работать и на 1.4

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0372]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33