ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList

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

> Найдено сообщений: 29
Таня Отправлено: 12 марта 2011 — 15:24 • Тема: Фраза "Отредактировано автором" • Форум: Настройка форума

Ответов: 22
Просмотров: 19227
Nikela, это до применения исправления для удаления отметки о редактировании администратором, на которое у Вас ссылка в сообщении.

Скоро на меня Юра наверное обидится Улыбка, но я нашла там еще один неприятный момент - надпись о правке показывается раньше подписи пользователя, что совсем плохо смотрится.
Ввела в topic.php еще одну переменную, чтобы это исправить, но сейчас не об этом.


Вот мой отрезок кода из postings.php, если применять, то обязательно после исправления (ссылка выше) и естественно сделав резервную копию файла postings.php.

Вариант с отметкой о редактировании своих постов, если автор Администратор/Модератор:

CODE:
$fm->_Boolean($fm->input,'modertext');
if($fm->_Moderator===TRUE){
$topic[$post_id]['lockedit']=($fm->_Boolean($fm->input,'lockedit')===TRUE)?TRUE:FALSE;
if($topic[$post_id]['lockedit']===FALSE){
unset($topic[$post_id]['lockedit']);
}
if($topic[$post_id]['p_id']!==$fm->user['id']&&$fm->input['modertext']===TRUE){
if($fm->input['mo_text']!==''){
$topic[$post_id]['mo_text']=$fm->input['mo_text'];
}
if(defined('IS_ADMIN')){
$topic[$post_id]['ad_editor']=$fm->user['name'];
$topic[$post_id]['ad_edited']=$fm->_Nowtime;
unset($topic[$post_id]['mo_editor'],$topic[$post_id]['mo_edited']);
}else{
$topic[$post_id]['mo_editor']=$fm->user['name'];
$topic[$post_id]['mo_edited']=$fm->_Nowtime;
unset($topic[$post_id]['ad_editor'],$topic[$post_id]['ad_edited']);
}
}else{
unset($topic[$post_id]['mo_text'],$topic[$post_id]['ad_editor'],$topic[$post_id]['ad_edited'],
$topic[$post_id]['mo_editor'],$topic[$post_id]['mo_edited']);
}
}else{
if($fm->_Nowtime-$post_id>300)$topic[$post_id]['edited']=$fm->_Nowtime; //время редактирования без отметки о редактировании автором
}
if($fm->_Moderator===TRUE&&$topic[$post_id]['p_id']==$fm->user['id']&&$fm->_Nowtime-$post_id>300)$topic[$post_id]['edited']=$fm->_Nowtime; //редакция своих постов модераторами
$topic[$post_id]['post']=$fm->bads_filter(preg_replace( "#(\?|&|;|&)PHPSESSID=([0-9a-zA-Z]){32}#i", "", $fm->input['inpost']));


Вариант с закомментированной строкой, тут Администраторы могут править свои сообщения без отметок:

CODE:
$fm->_Boolean($fm->input,'modertext');
if($fm->_Moderator===TRUE){
$topic[$post_id]['lockedit']=($fm->_Boolean($fm->input,'lockedit')===TRUE)?TRUE:FALSE;
if($topic[$post_id]['lockedit']===FALSE){
unset($topic[$post_id]['lockedit']);
}
if($topic[$post_id]['p_id']!==$fm->user['id']&&$fm->input['modertext']===TRUE){
if($fm->input['mo_text']!==''){
$topic[$post_id]['mo_text']=$fm->input['mo_text'];
}
if(defined('IS_ADMIN')){
$topic[$post_id]['ad_editor']=$fm->user['name'];
$topic[$post_id]['ad_edited']=$fm->_Nowtime;
unset($topic[$post_id]['mo_editor'],$topic[$post_id]['mo_edited']);
}else{
$topic[$post_id]['mo_editor']=$fm->user['name'];
$topic[$post_id]['mo_edited']=$fm->_Nowtime;
unset($topic[$post_id]['ad_editor'],$topic[$post_id]['ad_edited']);
}
}else{
unset($topic[$post_id]['mo_text'],$topic[$post_id]['ad_editor'],$topic[$post_id]['ad_edited'],
$topic[$post_id]['mo_editor'],$topic[$post_id]['mo_edited']);
}
}else{
if($fm->_Nowtime-$post_id>300)$topic[$post_id]['edited']=$fm->_Nowtime; //время редактирования без отметки о редактировании автором
}
//if($fm->_Moderator===TRUE&&$topic[$post_id]['p_id']==$fm->user['id']&&$fm->_Nowtime-$post_id>300)$topic[$post_id]['edited']=$fm->_Nowtime; //редакция своих постов модераторами
$topic[$post_id]['post']=$fm->bads_filter(preg_replace( "#(\?|&|;|&)PHPSESSID=([0-9a-zA-Z]){32}#i", "", $fm->input['inpost']));


Возможно, строка для правки своих сообщений Администраторами/Модераторами не идеальна, но думаю это нужно/можно опционально вынести в админку. Если такая возможность не требуется закомментированную строку можно совсем удалить.

Последняя строчка в примерах

CODE:
$topic[$post_id]['post']=$fm->bads_filter(preg_replace( "#(\?|&|;|&)PHPSESSID=([0-9a-zA-Z]){32}#i", "", $fm->input['inpost']));


не изменяется, я её привела для определения места окончания отрезка кода.

Юра наверное еще подправит, уже под вариант с исправлением, в моем варианте 300 секунд (подставила как у Nikela, чтобы меньше возиться) дается на правку без отметки о редактировании с момента публикации сообщения.
Таня Отправлено: 12 марта 2011 — 01:25 • Тема: Фраза "Отредактировано автором" • Форум: Настройка форума

Ответов: 22
Просмотров: 19227
5 минут... мало очень, планирую 2 часа сделать, оно же ни на что не влияет.

У меня другая строка, вместо

CODE:
} elseif ($fm->_Moderator === FALSE) {
$topic[$post_id]['edited'] = $fm->_Nowtime;
}


CODE:
}else{
$topic[$post_id]['edited']=$fm->_Nowtime;
}


Видимо потому, что делала исправления по этим отметкам (там кажется админская правка не стиралась никак), выложенные тут на форуме, потому решение пришлось делать универсальным, чтобы работало как с исправлением, так без него.

Второй вариант с дополнительными 3 минутами после склейки тоже красиво, хотя дополнение (склейка) по сути тоже есть редакция.
(Добавление)
Сейчас проверила - да, у меня сделано исправление и что интересно модераторы/администраторы могут редактировать свои сообщения без отметки о редакции.

Сочла это несправедливостью Хм и в postings.php перед строкой

CODE:
$topic[$post_id]['post']=$fm->bads_filter(preg_replace( "#(\?|&|;|&)PHPSESSID=([0-9a-zA-Z]){32}#i", "", $fm->input['inpost']));


добавила строчку

CODE:
if($fm->_Moderator===TRUE&&$topic[$post_id]['p_id']==$fm->user['id']&&$fm->_Nowtime-$post_id>180)$topic[$post_id]['edited']=$fm->_Nowtime; //редакция своих постов модераторами
Таня Отправлено: 9 марта 2011 — 19:38 • Тема: помогите начудил со счётчиком • Форум: Решение проблем

Ответов: 11
Просмотров: 6748
Нет, никаких идентификационных данных в файле нет, там просто ссылка счетчика, она и так видна в коде Вашей страницы.
Таня Отправлено: 9 марта 2011 — 19:29 • Тема: помогите начудил со счётчиком • Форум: Решение проблем

Ответов: 11
Просмотров: 6748
Не за что, делайте обязательно резервные копии файлов перед изменениями, это очень важно.
Таня Отправлено: 9 марта 2011 — 19:18 • Тема: помогите начудил со счётчиком • Форум: Решение проблем

Ответов: 11
Просмотров: 6748
Пробуйте, у Вас там еще много переводов строк было почему-то потеряно.
Таня Отправлено: 9 марта 2011 — 18:58 • Тема: помогите начудил со счётчиком • Форум: Решение проблем

Ответов: 11
Просмотров: 6748
После <?php обязателен перевод строки.

CODE:
<?php
if (!defined('IN_EXBB')) die('Hack attempt!');
$this->_Counters = <<<CNT<!--LiveInternet counter--><script type="text/javascript">
Таня Отправлено: 9 марта 2011 — 18:52 • Тема: помогите начудил со счётчиком • Форум: Решение проблем

Ответов: 11
Просмотров: 6748
Синтаксическая ошибка в первой строке файла counters.php, опубликуйте первые 2-3 строки из этого файла.
(Добавление)
А вот, увидела следующее сообщение, для начала после <?php обязателен перевод строки.
Таня Отправлено: 9 марта 2011 — 18:47 • Тема: Предложения • Форум: Обсуждаем

Ответов: 119
Просмотров: 72654
Мне так очень мешает, стараюсь мышкой вообще не попадать в область названий тем, иначе всплывет это окно и закроет собой все остальные названия, иногда это окно "бегает" за мышкой и никак его не закрыть =((
Таня Отправлено: 9 марта 2011 — 17:46 • Тема: Фраза "Отредактировано автором" • Форум: Настройка форума

Ответов: 22
Просмотров: 19227
CODE:
Прошу о создании следующего мода: сейчас при изменении своего собственного поста вставляется фраза:
(Отредактировано автором: 23 декабря 2010 — 22:37)

Она вставляется даже если редактирование осуществилось менее чем в течение минуты после создания сообщения. Мне кажется это как-то неразумно и эта фраза постоянно засоряет форум (если отфильтровать все мои сообщения то 90% будут с этой фразой, т.к. я сначала публикую, потом исправляю ).


Тоже столкнулась с этой проблемой, решилась довольно быстро, в файле postings.php находим строку

CODE:
$topic[$post_id]['edited'] = $fm->_Nowtime;


И заменяем её на строку

CODE:
if($fm->_Nowtime-$post_id>180)$topic[$post_id]['edited']=$fm->_Nowtime;


В данном случае время 60*3=180 секунд, т.е. три минуты, Вы можете указать любое, но не забывайте, что оно должно соотноситься с допустимым временем правки, если оно у Вас применяется ( мод "Время правки сообщений" ).

В примере из текущего времени отнимается $post_id, которая равна времени публикации сообщения и если разница меньше заданной то параметр edited ( и соответственно надпись "Отредактировано автором..." ) к сообщению не добавляется.

При правке модератором или администратором эта строка не работает т.к. условия их параметра правки выполняются раньше.
Таня Отправлено: 8 марта 2011 — 16:23 • Тема: Удаление копирайтов • Форум: Новости

Ответов: 186
Просмотров: 142816
Определить наличие копирайта так, чтобы это было незаметно практически невозможно и даже если это сделать поможет только от совсем "не продвинутых" их форумы и сайты как правило сами по себе долго не живут и толку от копирайта на таком форуме будет мало.

Более "продвинутых" (уже опытных владельцев-администраторов форумов) наличие "скрытых" функций проверки будет раздражать, ведь это кроме того непроизводительные затраты ресурсов сервера. Учитывая, что форум состоит из отдельных частей кода, выполняемых иногда независимо этих функций проверки будет немало, и они будут не совсем просты.

Опять таки скрыть их не удастся, "детские" методы типа обфускации кода будут только раздражать администраторов.

Ничего не утверждаю, это моё личное мнение, думаю в этой ситуации совесть - лучший контролер.
Таня Отправлено: 8 марта 2011 — 15:55 • Тема: Вывод имени отдельно открытого форума в навигации • Форум: Обсуждение

Ответов: 2
Просмотров: 3335
Заметила недоработку - в строке навигации не выводится имя форума (категории), если он открыт отдельно, причем даже на этом форуме, пример http://exbb.info/community/index.php?c=1

Внешне создается впечатление, что на форуме больше нет категорий (форумов), кроме выведенного, предлагаю разработчикам это поправить, для себя сделала так:


Файл board_body.tpl

После строки <?php в самом начале файла добавить строку
CODE:
if(!isset($navbody))$navbody='';


Получится:
CODE:
<?php
if(!isset($navbody))$navbody='';


Это нужно на случай, если пользователь прислал индекс несуществующей категории (форума) в параметре [c] и файл board_data.tpl, где будет определяется имя категории (форума) $navbody не будет загружен.

Дальше в этом же файле находим строку:

CODE:
<div id="navstrip" align="left">
<img src="./templates/InvisionExBB/im/nav.gif" border="0" alt="&gt;" />
<a href="index.php" title="{$fm->exbb['boardname']}">{$fm->exbb['boardname']}</a>
</div>


и заменяем на:

CODE:
<div id="navstrip" align="left">
<img src="./templates/InvisionExBB/im/nav.gif" border="0" alt="&gt;" />
<a href="index.php" title="{$fm->exbb['boardname']}">{$fm->exbb['boardname']}</a> {$navbody}
</div>


Мы добавили переменную $navbody в конец строки.

Теперь файл board_data.tpl

Тут мы определяем имя отдельно открытой категории (форума) для переменной $navbody

После строки <?php в самом начале файла добавить строку

CODE:
$navbody=($fm->input['c']!=0&&$fm->input['c']=$in_cat)?'&nbsp;&raquo;&nbsp; <b>'.$category.'</b>':'';


Должно получиться:

CODE:
<?php
$navbody=($fm->input['c']!=0&&$fm->input['c']==$in_cat)?'&nbsp;&raquo;&nbsp; <b>'.$category.'</b>':'';


Здесь при выполнении условий: input['c'], прислан пользователем и равен $in_cat (открыта отдельная категория) к строке навигации добавится имя категории.

В противном случае, например, когда мы на главной странице форума $navbody будет пуста и ничего не добавит в навигацию т.к. ни один форум не открыт отдельно.

На этом всё, нужно протестировать.
Таня Отправлено: 6 марта 2011 — 00:44 • Тема: Мод: Ограничение времени редактирования сообщений • Форум: Модификации и дополнения

Ответов: 44
Просмотров: 35310
Файл topic.php
Строка

CODE:
/* Опции сообщения */
$edit = ($fm->_Moderator === TRUE || ($fm->user['id'] === $member_id && $fm->user['id'] && $topic['state'] != 'closed')) ? '<a href="postings.php?action=edit&forum='.$forum_id.'&topic='.$topic_id.'&postid='.$key.'">'.$_icon['edit'].'</a>'.$_icon['divider']:'';

В этой строке определяются условия отображения иконки кнопки редактирования, если пользователь Администратор (Модератор), она отображается всегда в противном случае требуется выполнение условий: пользователь (ID) = автор сообщения (ID) + тема незакрыта.

Я добавила еще одно условие для отображения иконки (ссылки на кнопку) - [текущее время] минус [время поста] < (меньше) [разрешенного в админке], если это дополнительное условие не выполняется иконка (ссылка на кнопку) не отображается, всё просто.

Строку нужно заменить на эту
CODE:
/* Опции сообщения */
$edit=($fm->_Moderator===TRUE||($fm->user['id']===$member_id&&$fm->user['id']&&$topic['state'] != 'closed'&&($fm->_Nowtime - $key<$fm->exbb['edit_time'] * 60)))?'<a href="postings.php?action=edit&forum='.$forum_id.'&topic='.$topic_id.'&postid='.$key.'">'.$_icon['edit'].'</a>'.$_icon['divider']:'';


Естественно сделайте резервную копию файла перед заменой, мало ли что.

В этом примере время в минутах (*60) для совместимости с не модифицированным модом (извиняюсь за каламбур) ограничения времени правки сообщений.

Я использовала для получения времени добавления поста вместо post_id значение $key, думаю это вполне допустимо, учитывая, что ключ фактически равен post_id, а он в свою очередь времени добавления сообщения.
Таня Отправлено: 5 марта 2011 — 17:44 • Тема: смена копирайта • Форум: Общие вопросы

Ответов: 22
Просмотров: 15677
Zamorskiy, Если Вы хотите получить авторские права на скрипты форума и заменить копирайт на свой именно на форуме то Вы должны как минимум переписать 50% исходного кода скриптов самостоятельно, что сразу будет видно любому при просмотре исходного кода загружаемых с Вашего форума страниц.

И само собой зарегистрировать Ваши права (тоже естественно не бесплатно) в установленном порядке, получить соответствующий патент, иначе Ваше право при любой претензии ничего из себя представлять не будет.

В противном случае Вы нарушаете закон об авторском праве и занимаетесь плагиатом, присваивая себе чужой труд.
Таня Отправлено: 5 марта 2011 — 17:16 • Тема: Удаление копирайтов • Форум: Новости

Ответов: 186
Просмотров: 142816
Причем тут носки (покупка товара с ограниченным сроком службы) и бессрочная покупка у правообладателя права использования продукта по своему усмотрению, без права распространения?

Хотя даже в случае с носками Вам обязаны предоставить чек, который в соответствии с законодательством РФ является подтверждением сделки, стоимость которой ни коим образом не влияет на применение закона.

В данном случае частное лицо приобретает у законного правообладателя определенные права, а правообладатель делегирует эти права частному лицу на возмездной основе.

Представьте себе обвинение - "Вы пользуетесь данным продуктом незаконно!", чем будете отвечать? Тем, что Вы купили этот продукт у кого-то там в интернете?

Для бытового уровня - подруги или друга подойдет, отдел "К" или другой проверяющий орган будет долго смеяться, правда мне потом будет не до смеха Огорчение
Таня Отправлено: 5 марта 2011 — 03:35 • Тема: Удаление копирайтов • Форум: Новости

Ответов: 186
Просмотров: 142816
Понятно, спасибо за ответ, после праздников доложу начальнику, пусть сам думает устроит его такая бумага или нет.

Жаль, что проект нерентабельный Огорчение, это пока лучшее, что я смогла найти из файловых форумов.

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

Яндекс.Метрика   

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

[Script Execution time: 0.0315]     [ ]