pyccak пишет:блин народ помогите встроить мне мод у меня уже истерика.
Я попробовал, все пашет отлично!
Попробую тебе объяснить по своему, по описанию nokia6230
Зайди у себя в файл lib.php и удали там вот такой код:
CODE: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 );
}
Если форум с нуля, то как ты говоришь, нет там такого кода, да, это так - пропусти этот пункт!
*Потом там же найди вот такой код:
CODE: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);
}
...и перед ним вставь вот такой вот код:
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>[$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>";
}
}
....потом находишь код:
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);
Далее, в файле "lang.php" вставляешь в любое место, код:
CODE:$lang['HiddenText'] = 'Скрытый текст:';
$lang['ToRead'] = 'Для прочтения необходимо';
$lang['Register'] = ' <a href="register.php">зарегистрироваться</a>';
$lang['And'] = ' и';
$lang['CollectPosts'] = ' набрать не менее %d сообщений';
Вот и все, ничего сложного! По крайней мере у меня все нормально работает!
Так же, лично мне нужно чтоб ссылки видели именно зарегистрированые пользователи, т.е. сколько набрал пользователь сообщений для меня не важно, поэтому я убрал кусочек кода:
CODE:if (empty($arr[1]) || $arr[1] == 10)
$arr[1] = 10;
...из кода, смотри выше, в начале моего сообщения, пометил - *
Ну и можно наверное убрать следующий кусочек кода в файле ''lang.php'':
CODE:$lang['And'] = ' и';
$lang['CollectPosts'] = ' набрать не менее %d сообщений';
Я смотрю ты уже давно бъешся с этой проблемой, объяснил я думаю очень понятно! |