1. evgenij - 20 марта 2013 — 17:36 - перейти к сообщению
В некоторых форумных движках гостю, отвечающему в тему, разрешается вводить свое имя (ник). Можно ли сделать такую модификацию?
2. evgenij - 21 марта 2013 — 18:30 - перейти к сообщению
Я нашел такой мод для Full Mods 0.1.4.
Как адаптировать его для FM 1.0 ?
Вот найденный мной мод для старой версии:
Как адаптировать его для FM 1.0 ?
Вот найденный мной мод для старой версии:
Спойлер (Отобразить)
Идентификация Гостя. Мод by Markus
Итак для того чтобы гости могли вписавать свои имена при ответе на пост
необходимо сделать некоторые изменения в файлах. А именно;
Открываем index.php и находим на 121 строке строку
Заменяем ее на строку
сохраняем и закрываем этот файл.
Открываем forum.php и находим на 143 строке строку
Заменяем ее на строку
Далее находим на 187 строке строку
Заменяем ее на строку
Сохраняем и закрываем этот файл
Открываем topic.php и находим на 197 строке строку
Прямо перед этой строкой вставляем строку
Далее находим на 232 строке строку
Заменяем ее на строку
Далее находим на 310 строке строку
и сразу за ней вставляем эту строку
Далее находим на 356 строке строку
Эту строку надо закоментировать вот так
Сохраняем и закрываем этот файл.
Открываем файл post.php и находим на 105 строке строку
И заменяем ее на эти строки
Далее находим на 245 строке строку
И сразу за ней вставляем эту строку
Далее находим на 261 строке строку
Заменяем ее строкой
Далее находим на 271 строке строку
И заменяем ее строкой
Далее находим на 383 строке строку
И заменяем на эти строки
Далее находим на 518 строке строку
И заменяем ее на
Далее находим на 529 строке строку
Заменяем ее на строку
Далее на 542 строке находим строку
И сразу после нее вставляем строку
Сохраняем и закрываем этот файл
Все на этом. Теперь в формах ответа в тему и создании новой темы будет появляться поле
для ввода имени, если это не авторизованный или не зареганный пользователь.
Единственное! Поле не будет видно в форме быстрого ответа в скинах Инвижин и Хелиус, так как эти формы облегчены.
За остальные скины ничего не могу сказать кроме скинов Original и subSilver. В этих скинах поля появляются везде.
Идентификация Гостя. Мод by Markus
Итак для того чтобы гости могли вписавать свои имена при ответе на пост
необходимо сделать некоторые изменения в файлах. А именно;
Открываем index.php и находим на 121 строке строку
CODE:
$private .= ( $forum['last_poster_id'] ) ? '<a href="profile.php?action=show&member='.$forum['last_poster_id'].'">'.$forum['last_poster'].'</a>' : $lang['Unreg'];
Заменяем ее на строку
CODE:
$private .= ( $forum['last_poster_id'] ) ? '<a href="profile.php?action=show&member='.$forum['last_poster_id'].'">'.$forum['last_poster'].'</a>' : $forum['last_poster'].'
<font size=1>'.$lang['No_reged'].'</font>';
<font size=1>'.$lang['No_reged'].'</font>';
сохраняем и закрываем этот файл.
Открываем forum.php и находим на 143 строке строку
CODE:
$startedby = $topics[$topicid]['a_id'] ? '<a href="profile.php?action=show&member='.$topics[$topicid]['a_id'].'"><b>'.$startedby.'</b>' : $startedby;
Заменяем ее на строку
CODE:
$startedby = $topics[$topicid]['a_id'] ? '<a href="profile.php?action=show&member='.$topics[$topicid]['a_id'].'"><b>'.$startedby.'</b>' : '<b>'.$topics[$topicid]['author'].'</b>
<font size=1>'.$lang['No_reged'].'</font>';
<font size=1>'.$lang['No_reged'].'</font>';
Далее находим на 187 строке строку
CODE:
$lastposter = $topics[$topicid]['p_id'] ? '<a href="profile.php?action=show&member='.$topics[$topicid]['p_id'].'">'.$lastposter.'</a>' : $lastposter;
Заменяем ее на строку
CODE:
$lastposter = $topics[$topicid]['p_id'] ? '<b><a href="profile.php?action=show&member='.$topics[$topicid]['p_id'].'">'.$lastposter.'</a></b>' : '<b>'.$topics[$topicid]['poster'].'</b>
<font size=1>'.$lang['No_reged'].'</font>';
<font size=1>'.$lang['No_reged'].'</font>';
Сохраняем и закрываем этот файл
Открываем topic.php и находим на 197 строке строку
CODE:
$member_id = isset($threads[$key]['p_id']) ? $threads[$key]['p_id'] : 0;
Прямо перед этой строкой вставляем строку
CODE:
$guest_name = (isset($threads[$key]['g_name'])) ? $threads[$key]['g_name']:0;
Далее находим на 232 строке строку
CODE:
$username = $names[$member_id]['user'];
Заменяем ее на строку
CODE:
$username =($member_id==0) ? $guest_name : $names[$member_id]['user'];
Далее находим на 310 строке строку
CODE:
$reg = (!$exbb['reged']) ? ' <a href="register.php">'.$lang['You_reged'].'</a>' : '';
и сразу за ней вставляем эту строку
CODE:
$exbb['member'] = (!$exbb['reged']) ? '<input class="tab" type=text name="goustname" value="'.$exbb['member'].'">':$exbb['member'];
Далее находим на 356 строке строку
CODE:
$names[$u_id]['user'] = $lang['Unreg'];
Эту строку надо закоментировать вот так
CODE:
#$names[$u_id]['user'] = $lang['Unreg'];
Сохраняем и закрываем этот файл.
Открываем файл post.php и находим на 105 строке строку
CODE:
if (!$exbb['reged']) {$reg = ' <a href="register.php">'.$lang['You_reged'].'</a>';}
И заменяем ее на эти строки
CODE:
if (!$exbb['reged']) {
$exbb['member'] ='<input class="tab" type=text name="goustname" value="'.$exbb['member'].'">';
$reg = ' <a href="register.php">'.$lang['You_reged'].'</a>';}
$exbb['member'] ='<input class="tab" type=text name="goustname" value="'.$exbb['member'].'">';
$reg = ' <a href="register.php">'.$lang['You_reged'].'</a>';}
Далее находим на 245 строке строку
CODE:
$allmessages[$currenttime]['p_id'] = $exbb['mem_id'];
И сразу за ней вставляем эту строку
CODE:
if(isset($vars['goustname'])){$allmessages[$currenttime]['g_name'] = $vars['goustname'];}
Далее находим на 261 строке строку
CODE:
$allforums[$inforum]['last_poster'] = $exbb['member'];
Заменяем ее строкой
CODE:
$allforums[$inforum]['last_poster'] = (isset($vars['goustname'])) ? $vars['goustname'] : $exbb['member'];
Далее находим на 271 строке строку
CODE:
$list[$intopic]['poster'] = $exbb['member'];
И заменяем ее строкой
CODE:
$list[$intopic]['poster'] = (isset($vars['goustname'])) ? $vars['goustname'] : $exbb['member'];
Далее находим на 383 строке строку
CODE:
if (!$exbb['reged']) {$reg = ' <a href="register.php">'.$lang['You_reged'].'</a>';}
И заменяем на эти строки
CODE:
if (!$exbb['reged']) {
$exbb['member'] ='<input class="tab" type=text name="goustname" value="'.$exbb['member'].'">';
$reg = ' <a href="register.php">'.$lang['You_reged'].'</a>';}
$exbb['member'] ='<input class="tab" type=text name="goustname" value="'.$exbb['member'].'">';
$reg = ' <a href="register.php">'.$lang['You_reged'].'</a>';}
Далее находим на 518 строке строку
CODE:
$forum[$inforum]['last_poster'] = $exbb['member'];
И заменяем ее на
CODE:
$forum[$inforum]['last_poster'] = (!$exbb['reged']) ? $vars['goustname'] : $exbb['member'];
Далее находим на 529 строке строку
CODE:
$list[$intopic]['author'] = $exbb['reged'] ? $exbb['member'] : false;
Заменяем ее на строку
CODE:
$list[$intopic]['author'] = $exbb['reged'] ? $exbb['member'] : $vars['goustname'];
Далее на 542 строке находим строку
CODE:
$thd[$currenttime]['p_id'] = $exbb['mem_id'];
И сразу после нее вставляем строку
CODE:
if(isset($vars['goustname'])){$thd[$currenttime]['g_name'] = $vars['goustname'];}
Сохраняем и закрываем этот файл
Все на этом. Теперь в формах ответа в тему и создании новой темы будет появляться поле
для ввода имени, если это не авторизованный или не зареганный пользователь.
Единственное! Поле не будет видно в форме быстрого ответа в скинах Инвижин и Хелиус, так как эти формы облегчены.
За остальные скины ничего не могу сказать кроме скинов Original и subSilver. В этих скинах поля появляются везде.