Перейти к контенту
  • 0

Подсчет числа символов в сообщении


Вопрос

В IPB старых версий была функция подсчета количества символов в сообщении. Очень удобная штука для ролевых форумов, все ее активно пользовали.

Есть ли аналогичная функция для IPB 2.3? Или мод? Если да - где достать, как сделать?

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Получившееся у меня решение, если кому интересно :)

 

Открываем файл jscripts/ips_text_editor_func.js и в самый конец добавляем:

/*-------------------------------------------------------------------------*/
// Check message length
/*-------------------------------------------------------------------------*/

function check_length()
{

	if ( ! postformid )
{
	postformid = postingform;
}

if ( ! postfieldid )
{
	postfieldid = postcontent;
}

postformobj  = document.getElementById( postformid );
postfieldobj = document.getElementById( postfieldid );

MessageLength  = postfieldobj.value.length;
message        = "";

if (MessageMax > 0)
{
	message = "Максимальная длина " + MessageMax + " символов.";
}
else
{
	message = "";
}

alert(message + " Вами использовано " + MessageLength + " символов.");
}

 

 

 

Затем Админцентр - Внешний вид - Изменить HTML шаблоны - skin_editors - ips_editor.

 

Ищем:

var Override            = "{$this->ipsclass->lang['override']}";

 

Добавляем ниже:

var postcontent = "{$editor_id}_textarea";
var postformid;
var postfieldid;
var postformobj;
var postfieldobj;

 

Переходим в самый конец и добавляем:

 <input type="button" value="{$this->ipsclass->lang['js_check_length']}" title='{$this->ipsclass->lang['js_check_length']}' onclick='check_length(); return false;' id="checklength"  class="rtebottombutton" />

 

Чтобы работало в быстром ответе, функцию надо добавить в ips_text_editor_lite.js.

Затем в шаблоне skin_topic - quick_reply_box_open ищем:

<td><div class="rte-normal" id="fast-reply_cmd_ipb_code"><img src="style_images/master/folder_editor_images/rte-code-button.png"  alt="{$this->ipsclass->lang['js_rte_lite_code']}" title="{$this->ipsclass->lang['js_rte_lite_code']}" /></div></td>

Вставляем после:

<script type="text/javascript">var MessageMax          = parseInt("{$this->ipsclass->lang['the_max_length']}");
var postcontent = "fast-reply_textarea";
var postingform;
var postformid;
var postfieldid;
var postformobj;
var postfieldobj;</script>

Ищем дальше:

		    <div style='margin-top:3px'>
			<input type="submit" name="submit" value="{$this->ipsclass->lang['qr_submit']}" class="button" tabindex="2" accesskey="s" />  
			<input type="submit" name="preview" value="{$this->ipsclass->lang['qr_more_opts']}" class="button" />  
			<input type="button" name="qrc" onclick="ShowHide('qr_open','qr_closed');" value="{$this->ipsclass->lang['qr_closeit']}" class="button" />

Вставляем после:

<input type="button" value="{$this->ipsclass->lang['js_check_length']}" title='{$this->ipsclass->lang['js_check_length']}' onclick='check_length(); return false;' id="checklength"  class="button" />

 

Вуаля!

Изменено пользователем Crazy Diamond
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.