Перейти к контенту
  • 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
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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