Victor |
Отправлено: 17 июня 2009 — 16:58
|
Full Member
Покинул форум
Сообщений всего: 237
Дата рег-ции: Март 2009
Репутация: 14
|
Было такое решение раньше:
найти в файле post.php
CODE:if ($allmessages[$last_key]['p_id'] == $exbb['mem_id'] && $exbb['reged'] && $currenttime - $last_key < 7200 && !$new_att) {
и заменить 7200, скажем, на 1. Тогда "добавление" будет отключено.
попробовал найти не смог, видимо изменился механизм подскажите...
(Добавление)
В этом же файле предлагалась следующая фишка:
После отправки поста переадресовывать не на промежуточную страницу а сразу в тему, решение было таким:
находим файл post.php
CODE:$title_page = $exbb['boardname'] .' :: '.$lang['Sent_in'].' '.$forumname;
$ok_title = $lang['Added'];
$url1 = '<li><a href="'.$relocurl.'">'.$lang['Return_in_topic'].'</a>';
$url2 = '<li><a href="forums.php?forum='.$inforum.'">'.$lang['Return_in_forum'].'</a>';
$url3 = '<li><a href="index.php">'.$lang['Forums_return'].'</a>';
include('./templates/'.$exbb['default_style'].'all_header.tpl');
include('./templates/'.$exbb['default_style'].'postok.tpl');
include('./templates/'.$exbb['default_style'].'footer.tpl');
и заменяем его
CODE:header("Location: $relocurl");
как я понял эти строки тоже притерпели изменение, не подскажете возможно такое или нет? |
|
|
yura3d |
Отправлено: 17 июня 2009 — 18:15
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Victor пишет:Было такое решение раньше:
В последней версии этот параметр вынесен в админку, страница Темы и ответы, пункт Интервал склеивания сообщения пользователя
Victor пишет:В этом же файле предлагалась следующая фишка:
После отправки поста переадресовывать не на промежуточную страницу а сразу в тему, решение было таким:
В файле post.php нужно найти строку:
CODE:$fm->_Message($fm->LANG['ReplyCreate'],$fm->LANG['ReplyAddedOk'], 'topic.php?forum='.$forum_id.'&topic='.$topic_id.'&postid='.$last_key.'#'.$last_key);
И заменить её строкой:
CODE:header('Location: topic.php?forum='.$forum_id.'&topic='.$topic_id.'&postid='.$last_key.'#'.$last_key); |
|
|
yura3d |
Отправлено: 17 июня 2009 — 21:42
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Victor пишет:все работает, но возник дополнительный вопрос как я понял это действует только при отправке сообщения.. а вообще можно изменить и убрать все промежуточные окна сообщений?
если в этом конечно нет необходимости?
Необходимость определённая есть, время ожидания несколько снижает пиковую нагрузку скриптов форума на сервер. Все промежуточные окна убрать можно, для этого Вам нужно в файлах post.php и postings.php сделать изменения по аналогии с тем, как я указывал выше. Т.е. ищите вызов функции $fm->_Message() в конце добавляющих функций типа addnewthread(), addreply и т д.:
CODE:$fm->_Message($заголовок, $сообщение, 'http://адрес');
И заменяете его вызовом функции формирования заголовка для редиректа:
CODE:header('Location: http://адрес');
Victor пишет:если сообщение не проходит отправлять его обратно к форме и делать приписку
сообщение большое или не соответствует..в теме не указано и т.д.
Возможно покажется смешным, но для реализации подобной возможности придётся переписать практически весь движок. Это одна из тех функций, которую легко написать сначала при разработке движка, а уже после разработки добавить довольно сложно. Тем более что на данный момент у форума нет как такового шаблонизатора. Могу посоветовать подождать ExBB 2, там всё это реализовано изначально
Victor пишет:вот еще вопрос если сделать на форуме странички 404, 403 и др. соответственно дизайну... была ситуация в почту пришло письмо (хотя это желательно регулировать в профиле, отправку сообщений) с этого форума спасибо за открытие темы, можете на нее перейти по ссылке.. перехожу.. попадаю на окошко тема была удалена/перенесена и все никаких ссылок.. вернутся назад я не могу поскольку попал я не с форума, а из почты, а ссылки на форум прямой нет и никуда меня он перенаправит не сможет.. другое дело если бы писался адрес типа 404 и ссылка на главную страницу.. как мне кажется это придаст некий стиль...
Ссылку на главую страницу форума на страницу с сообщением об ошибке можно добавить в файле templates/ваш_скин/error.tpl. Чтобы страницы с сообщениями об ошибках не индексировались поисковиками и тем самым не засоряли поисковый индекс, рекомендую выставить для подобных страниц 404-й заголовок
Victor пишет:и наверно еще одна интересная фишка.. возможна ли она например вместо ого чтобы жать отправить использовать сочетание клавиш...
я как то ставил один форум там такая фишка была.. многим кто общается в аське и других сайтах нравится... кажется intelect board Да и на некоторых других видел...
У нас тоже раньше была такая возможность, сочетаниями клавиш можно было не только отправлять сообщения, но и вставлять бб-коды в форму ответа. Но к сожелению она не прижилось, т.к. далеко не все браузеры правильно обрабатывают данную функцию |
|
|
Victor |
Отправлено: 18 июня 2009 — 11:03
|
Full Member
Покинул форум
Сообщений всего: 237
Дата рег-ции: Март 2009
Репутация: 14
|
yura3d большое спасибо, за подробный ответ.
а насчет смешного, то я это понимаю, поскольку представляю как трансформируется код проходя через нескольких человек и у каждого при этом свое видение реализации тех или иных функций...
командная игра хороша при правильной организации вопроса и координации в лице одно единственного координатора..что в данном случае не происходило на ранних этапах...
и вообще как говорится легче построить новый дом, чем реставрировать старый.. это справедливо и для программ
по поводу нового форума, хотелось бы сделать замечание из личного опыта, я перебрал много разных форумов и остановился на этом поскольку он был на файлах.. в чем преимущество, в том что он корректно работа с базами данных, точнее с ними не работал.. наблюдались раньше проблемы с кириллицей то не так все прописывалось, то не та версия на хостинге.. в общем и сейчас многие скрипты имеют этот баг, хочется пожелать чтоб здесь этого не произошло и в любом случае надеюсь данная файловая версия продолжит развитие и существование.. |
|
|
yura3d |
Отправлено: 18 июня 2009 — 11:04
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Перенесено из темы "Дополнительные моды"
Victor пишет:даже разбиение шапки форума all_header и logos тоже вызывает вопрос зачем? (если в этом реальная необходимость? все равно в процессе работы все элементы находятся в памяти и дополнительная их подгрузка не требуется.. и в тех страницах где нет части шапки ее отсутствие никак не ускоряет работу, теряя целостность...
Разбение шаблонов по файлам - распространённая практика. Вот пример страницы, где используется all_header.tpl, но не используется logos.tpl. Не всегда имеется необходимость подгружать шапку форума, при этом шапка html-заголовков должна подгружаться всегда
Victor пишет:$loginout = = ($fm->user['id'] !== 0) ? '' : '';
как между : вставить html код (таблицу) чтоб в первом случае выходила одна таблица, а во втором другая...
На мой взгляд лучше разместить таблицу таким образом:
CODE:if ($fm->user['id'] !== 0) {
$loginout = <<<DATA
...тут код таблицы, выводимой для авторизованных пользователей...
DATA;
}
else {
$loginout = <<<DATA
...тут код таблицы, выводимой для гостей...
DATA;
}
Victor пишет:gromescu проще заменить эти фразы на Online Offline как это зачастую и делают заменяя да на ok некий негласный международный стандарт...
Создайте тему для обсуждения подобных косметических моментов, там же я помогу с решением, если будет такая необходимость. Здесь же это оффтоп |
|
|
yura3d |
Отправлено: 18 июня 2009 — 11:04
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
Перенесено из темы "Дополнительные моды"
Victor пишет:данная схема не работает
Это смотря каким образом вставлять данный фрагмент кода. Приведите полностью файл с изменениями, посмотрим в чём проблема
Victor пишет:как я заметил ранее условие if в файле tpl выполняется не по такой схеме.. поскольку это все же подключаемый файл, а не исполняемый
Всё выполняется, никакого разделения на исполняемые и подключаемые файлы нет, файлы шаблонов отличаются от остальных скриптов форума разве что другим расширением, в остальном это такие же PHP-скрипты. Вот пример шаблона регистрационной формы, можете посмотреть как в нём используется if, и сделать по аналогии изменения у себя |
|
|
Victor |
Отправлено: 18 июня 2009 — 11:04
|
Full Member
Покинул форум
Сообщений всего: 237
Дата рег-ции: Март 2009
Репутация: 14
|
Перенесено из темы "Дополнительные моды" yura3dспасибо, ошибка была в следующем:
заменить на
выложу весь код, когда приведу его в тот вид который был задуман изначально.
сразу вопрос набор теста поиска в шапке, типа быстрый поиск, возможно или нет?
(Добавление)
кому пригодится, измененная шапка в которую включен быстрый вход.
Стили не менялись, немного изменена структура самих таблиц (хотя я свел бы все в одну таблицу)
CODE:<?php
$admincenter = (defined('IS_ADMIN')) ? ' · <a href="announcements.php" title="'.$fm->LANG['Announ'].'">'.$fm->LANG['Announ'].'</a> · <a href="admincenter.php" title="'.$fm->LANG['Admincenter'].'"><font color=red>'.$fm->LANG['Admincenter'].'</font></a>' : '';
echo <<<DATA
<table width="100%" id='logostrip' cellspacing="0" cellpadding="0">
<tr>
<td>
<a href="index.php" title="{$fm->exbb['boardname']}"><img src="./templates/InvisionExBB/im/logo.gif" alt="{$fm->exbb['boardname']}" width="207" height="52" border="0" /></a>
</td>
<td valign="bottom" align="right">
<a href="index.php" style="margin-right:20px;color:#ffffff">{$fm->exbb['boardname']}</a>
</td>
</tr>
</table>
<table width="100%" cellspacing="6" id="logomenu" border="0">
<tr>
<td width="468" align="center" rowspan="2">{$fm->_Banner}</td>
<td valign="top" align="right">
<span style="margin-right:15px;">{$fm->exbb['boarddesc']}</span>
</td>
</tr>
<tr>
<td align="right" valign="bottom" nowrap>
<img src="./templates/InvisionExBB/im/help.gif" border="0" alt="" /> <a href="tools.php?action=help" title="{$fm->LANG['Help']}"><b>{$fm->LANG['Help']}</b></a>
<img src="./templates/InvisionExBB/im/search.gif" border="0" alt="" /> <a href="search.php" title="{$fm->LANG['Search']}"><b>{$fm->LANG['Search']}</b></a>
<img src="./templates/InvisionExBB/im/members.gif" border="0" alt="" /> <a href="tools.php?action=members" title="{$fm->LANG['Users']}"><b>{$fm->LANG['Users']}</b></a>
<img src="./templates/InvisionExBB/im/help.gif" border="0" alt="" /> <a href="tools.php?action=rules" title="{$fm->LANG['ForumRules']}"><b>{$fm->LANG['ForumRules']}</b></a>
</td>
</tr>
</table>
<table width="100%" id="userlinks" cellspacing="6">
<tr>
<td>
<script language="JavaScript">var h=(new Date()).getHours();
if (h > 23 || h <7) document.write('Доброй ночи,');
if (h > 6 && h < 12) document.write('Доброе утро,');
if (h > 11 && h < 19) document.write('Добрый день,');
if (h > 18 && h < 24) document.write('Добрый вечер,');
</script> <b>{$fm->user['name']}</b>
</td>
DATA;
if ($fm->user['id'] !== 0) {
echo <<<DATA
<td align='right'>
<b><a href="profile.php" title="{$fm->LANG['YourProfile']}">{$fm->LANG['YourProfile']}</a></b> ·
<a href="messenger.php" target="_blank" title="{$fm->LANG['PMTitle']}">{$fm->LANG['PM']}</a> ·
<a href="search.php?action=newposts" title="'.$fm->LANG['NewPosts']}">{$fm->LANG['NewPosts']}</a> ·
<b><a href="loginout.php?action=logout" title="{$fm->LANG['Exit']}">{$fm->LANG['Exit']}</a></b>
{$admincenter}
</td>
</tr>
</table>
DATA;
} else {
echo <<<DATA
<td align='right'>
<a href="register.php" title="{$fm->LANG['Registration']}">{$fm->LANG['Registration']}</a> ·
<a href="profile.php?action=lostpassword" title="{$fm->LANG['ForgottenPass']}">{$fm->LANG['ForgottenPass']}</a><p>
<form style="display:inline" action="loginout.php" method="post">
<input type=hidden name="action" value="login">
<input type="text" class="forminput" size="10" name="imembername" onfocus=this.value="" value="User Name" />
<input type="password" class="forminput" size="10" name="ipassword" onfocus=this.value="" value="ibfrules" />
<input type="submit" class="forminput" name="submit" value="{$fm->LANG['Login']}">
</form>
</td>
</tr>
</table>
DATA;
}
?>
таким образом сам вход всегда можно осуществить непосредственно с любой странички где есть шапка и возникает вопрос в необходимости присутствия странички отдельного входа(Отредактировано автором: 18 июня 2009 — 14:28) |
|
|
yura3d |
Отправлено: 28 июля 2009 — 12:07
|
ExBB Team ExBB Developer ExBB Mods Author
Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009
Откуда: Минск, Беларусь
Репутация: 353
|
ildar пишет:Не знаю куда постить, поэтому решил написать в этой теме.
У меня вопрос, как поменять цвет текста описания темы на серый цвет, как в описаниях форумов?
Откройте файл templates/InvisionExBB/forum_data.tpl, найдите строку:
CODE:<td class="row4">{$uploadicon}{$topictitle}{$pollicon}{$pagestoshow} {$description}</td>
И замените её строкой:
CODE:<td class="row4">{$uploadicon}{$topictitle}{$pollicon}{$pagestoshow} <span class="desc">{$description}</span></td> |
|
|
|