Сегодня: 08:06:2025 С добрым утром!

I live ExBB and CMS Limbo!  I live ExBB and CMS Limbo!
Логин :
Пароль :
Регистрация?  Забыли пароль? 
 


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

> Без описания

  Супермодератор
Отправлено: 20 августа 2013 — 18:05
Post Id


 Покинул технарь
Профессионал
Сообщений: 1830
Регистрация: 12.2011

Проблема заключается в следующем...
При создании ответа не запоминается положение этих переключателей



Пробуем исправить...
 
 Top

  Супермодератор
Отправлено: 20 августа 2013 — 18:08
Post Id


 Покинул технарь
Профессионал
Сообщений: 1830
Регистрация: 12.2011

Открываем файл post_reply.tpl (интерфейс формы быстрого ответа)
Код (строка 80)
code:
<input name="html" type="radio" value="yes"> {$fm->LANG['Yes']}
<input name="html" type="radio" value="no" checked> {$fm->LANG['No']}

заменяем кодом
code:
<input name="html" type="radio" value="yes" {$html_yes}> {$fm->LANG['Yes']}
<input name="html" type="radio" value="no" {$html_no}> {$fm->LANG['No']}
 
 Top

  Супермодератор
Отправлено: 20 августа 2013 — 18:32
Post Id


 Покинул технарь
Профессионал
Сообщений: 1830
Регистрация: 12.2011

Далее открываем файл post.php
После кода (строка 328)
code:
function reply() {
global $fm;

добавляем код
code:
if (isset($fm->input['html']))
{
$html_yes = ($fm->input['html'] == 'yes') ? ' checked':'';
$html_no = ($fm->input['html'] == 'no') ? ' checked':'';
}
else
{
$html_yes = '';
$html_no = ' checked';
}
$check_smiles = isset($fm->input['showsmiles']) ? ' checked':'';

затем меняем код (второе вхождение, строка 385)
code:
$smilesbutton = ($fm->exbb['emoticons'] === TRUE) ? '<input type=checkbox name="showsmiles" value="yes" checked> '.$fm->LANG['DoSmiles'].'<br>':'';

кодом
code:
$smilesbutton = ($fm->exbb['emoticons'] === TRUE) ? '<input type=checkbox name="showsmiles" value="yes"'.$check_smiles.'> '.$fm->LANG['DoSmiles'].'<br>':'';


и наконец код (второе вхождение, строка 400)
code:
$PreviewText = $fm->bads_filter($fm->formatpost($fm->input['inpost'],$html));

меняем кодом
code:
$smiles = ($check_smiles == '') ? FALSE : TRUE ;
$PreviewText = $fm->bads_filter($fm->formatpost($fm->input['inpost'],$html,$smiles));
 
 Top

  Супермодератор
Отправлено: 20 августа 2013 — 18:39
Post Id


 Покинул технарь
Профессионал
Сообщений: 1830
Регистрация: 12.2011

Далее открываем topic.php

Ищем код (строка 90)
code:
$ReplyButton = ($topic['state'] == 'open') ? '<a href="post.php?action=reply&forum='.$forum_id.'&topic='.$topic_id.'"><img src="./templates/'.DEF_SKIN.'/im/'.DEF_LANG.'/replytothread.gif" border="0"></a>':'<img src="./templates/'.DEF_SKIN.'/im/'.DEF_LANG.'/closed.gif" border="0">';

который меняем кодом
code:
$ReplyButton = ($topic['state'] == 'open') ? '<a href="post.php?action=reply&showsmiles=yes&forum='.$forum_id.'&topic='.$topic_id.'"><img src="./templates/'.DEF_SKIN.'/im/'.DEF_LANG.'/replytothread.gif" border="0"></a>':'<img src="./templates/'.DEF_SKIN.'/im/'.DEF_LANG.'/closed.gif" border="0">';


и наконец ищем код (строка 286)
code:
$reply = ($access === TRUE && $topic['state'] != 'closed') ? '<a href="post.php?action=replyquote&forum='.$forum_id.'&topic='.$topic_id.'&postid='.$key.'" title="'.$fm->LANG['IconReply'].'">'.$_icon['reply'].'</a>'.$_icon['divider']:"";

который меняем кодом
code:
$reply = ($access === TRUE && $topic['state'] != 'closed') ? '<a href="post.php?action=replyquote&showsmiles=yes&forum='.$forum_id.'&topic='.$topic_id.'&postid='.$key.'" title="'.$fm->LANG['IconReply'].'">'.$_icon['reply'].'</a>'.$_icon['divider']:"";
 
 Top

  Супермодератор
Отправлено: 20 августа 2013 — 19:08
Post Id


 Покинул технарь
Профессионал
Сообщений: 1830
Регистрация: 12.2011

Открываем файл formcode.js
Ищем код (строка 99)
code:
JsHttpRequest.query('jsloader.php?loader=preview', {action: act, html: htmltags, text: TextArea.value}, function(data,text) {

который меняем на
code:
JsHttpRequest.query('jsloader.php?loader=preview', {action: act, html: htmltags, shsmiles: form.showsmiles.checked, text: TextArea.value}, function(data,text) {


Затем открываем файл jsloader.php
Ищем код (строка 29)
code:
$fm->_String('action');

после которого вставляем
code:
$smiles = ($fm->input['shsmiles'] == '') ? FALSE : TRUE ;


Далее ищем два вхождения (строки 61 и 64)
code:
echo $fm->formatpost($fm->input['text'],$fm->_Boolean($fm->input,'html'));

и в обоих случаях меняем на
code:
echo $fm->formatpost($fm->input['text'],$fm->_Boolean($fm->input,'html'),$smiles);


Теперь вроде всё...
 
 Top

  Супермодератор
Отправлено: 21 августа 2013 — 14:27
Post Id


 Покинул технарь
Профессионал
Сообщений: 1830
Регистрация: 12.2011

Просто для информации...
Из файла topic.php вызывается post_form.tpl
Из файла post.php вызывается post_reply.tpl
Базовые функции описаны в fm.class.php vars.class.php и lib.php

Предварительный просмотр сделан на AJAX что и вызвало основную трудность. У меня вообще всё что связано с ява скриптами трудно усваивается. Нужно будет на досуге специально почитать.

А вообще... завязываю ковыряться с ExBB... Тяжело читается. Если уж вникать - то нужно сначала поправить код в плане большей читабельности, а это куча времени. Может зимой...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« ExBB Community »


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

> Темы, похожие на тему "Сохраняем положение переключателей в форме ответа"
Темы Форум Информация о теме Обновление
Проверка checkbox на форме
Записная книжка PHP Ответов: 0
Автор темы: технарь
21 января 2012 — 15:00
Автор: технарь
Как прикрутить к форме создания поста счетчик символов?
ExBB Community Ответов: 0
Автор темы: технарь
10 августа 2016 — 06:28
Автор: технарь
 


Powered by ExBB v1.1.180311