Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
maclader777

Транслит

Recommended Posts

Поиск по форуму не помог(

Установил мод Translit все ок! только это модуль есть в Ответе. Как ещё добавить его чтобы данная кнопка была в Быстром ответе.

Зарание спасибо

3bbcb569c629.jpg

 

хочу ещё сюда :)

bfefee760d4a.jpg

 

 

 

 

оч прошу :) поменяйте в коде что надо чтобы была кнопка в быстром ответе см код:

 

Изменяемые файлы:
./jscripts/ips_text_editor.js

//--------------------------------------------------------------------------------
// Открыть ./jscripts/ips_text_editor.js
//--------------------------------------------------------------------------------
================================================================================
=
Отличить сжатую версию JS от несжатой очень просто: в сжатой версии все написано в одну строку, без пробелов, 
а в несжатой используются пробелы, табы и прочее для читаемости кода.
================================================================================
=	
Если вы используете сжатую версию JS, то добавить в конец файла:
================================================================================
=
var rus_lr2=('Е-е-О-о-Ё-Ё-Ё-Ё-Ж-Ж-Ч-Ч-Ш-Ш-Щ-Щ-Ъ-Ь-Э-Э-Ю-Ю-Я-Я-Я-Я-ё-ё-ж-ч-ш-щ-э-ю-я-я').split('-');var lat_lr2=('/E-/e-/O-/o-ЫO-Ыo-ЙO-Йo-ЗH-Зh-ЦH-Цh-СH-Сh-ШH-Шh-ъ'+String.fromCharCode(35)+'-ь'+String.fromCharCode(39)+'-ЙE-Йe-ЙU-Йu-ЙA-Йa-ЫA-Ыa-ыo-йo-зh-цh-сh-шh-йe-йu-йa-ыa').split('-');var rus_lr1=('А-Б-В-Г-Д-Е-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Х-Ц-Щ-Ы-Я-а-б-в-г-д-е-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-х-ц-щ-ъ-ы-ь-ь-я').split('-');var lat_lr1=('A-B-V-G-D-E-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-X-C-W-Y-Q-a-b-v-g-d-e-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-x-c-w-'+String.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-'+String.fromCharCode(96)+'-q').split('-');function translit(){var obj_ta=document.REPLIER.Post;if((ua_vers>=4)&&is_ie&&is_win){if(obj_ta.isTextEdit){obj_ta.focus();var sel=document.selection;var rng=sel.createRange();rng.colapse;if((sel.type=="Text"||sel.type=="None")&&rng!=null){rng.text=dotranslate(rng.text)}}else{obj_ta.value=dotranslate(obj_ta.
alue)}}else if(obj_ta.selectionEnd){var ss=obj_ta.selectionStart;var st=obj_ta.scrollTop;var es=obj_ta.selectionEnd;if(es<=2){es=obj_ta.textLength}var start=(obj_ta.value).substring(0,ss);var middle=(obj_ta.value).substring(ss,es);var end=(obj_ta.value).substring(es,obj_ta.textLength);if(obj_ta.selectionEnd-obj_ta.selectionStart>0){middle=dotranslate(middle)}obj_ta.value=start+middle+end;var cpos=ss+(middle.length);obj_ta.selectionStart=cpos;obj_ta.selectionEnd=cpos;obj_
a.scrollTop=st}else{obj_ta.value=dotranslate(obj_ta.value)}obj_ta.focus();return
function dotranslate(text){var txtnew="";var symb=0;var subsymb="";var trans=1;for(kk=0;kk<text.length;kk++){subsymb=text.substr(kk,1);if((subsymb=="[")||(subsymb=="<")){trans=0}if((subsymb=="]")||(subsymb==">")){trans=1}if(trans){symb=transsymbtocyr(txtnew.substr(txtnew.length-1,1),subsymb)}else{symb=txtnew.substr(txtnew.length-1,1)+subsymb}txtnew=txtnew.substr(0,txtnew.length-1)+symb}return txtnew}function transsymbtocyr(pretxt,txt){var doubletxt=pretxt+txt;var code=txt.charCodeAt(0);if(!(((code>=65)&&(code<=123))||(code==35)||(code==39)))return doubletxt;var ii;for(ii=0;ii<lat_lr2.length;ii++){if(lat_lr2[ii]==doubletxt)return rus_lr2[ii]}for(ii=0;ii<lat_lr1.length;ii++){if(lat_lr1[ii]==txt)return pretxt+rus_lr1[ii]}return doubletxt}
================================================================================
=
Если вы используете несжатую версию JS, то добавить в конец файла:
================================================================================
=
//translit
var rus_lr2 = ('Е-е-О-о-Ё-Ё-Ё-Ё-Ж-Ж-Ч-Ч-Ш-Ш-Щ-Щ-Ъ-Ь-Э-Э-Ю-Ю-Я-Я-Я-Я-ё-ё-ж-ч-ш-щ-э-ю-я-я').split('-');
var lat_lr2 = ('/E-/e-/O-/o-ЫO-Ыo-ЙO-Йo-ЗH-Зh-ЦH-Цh-СH-Сh-ШH-Шh-ъ'+String.fromCharCode(35)+'-ь'+String.fromCharCode(39)+'-ЙE-Йe-ЙU-Йu-ЙA-Йa-ЫA-Ыa-ыo-йo-зh-цh-сh-шh-йe-йu-йa-ыa').split('-');
var rus_lr1 = ('А-Б-В-Г-Д-Е-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Х-Ц-Щ-Ы-Я-а-б-в-г-д-е-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-х-ц-щ-ъ-ы-ь-ь-я').split('-');
var lat_lr1 = ('A-B-V-G-D-E-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-X-C-W-Y-Q-a-b-v-g-d-e-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-x-c-w-'+String.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-'+String.fromCharCode(96)+'-q').split('-');
//translit
//==========================================
// TRANSLITIRATE (Main)
//==========================================
function translit()
{
var obj_ta = document.REPLIER.Post;

//----------------------------------------
// It's IE!
//----------------------------------------
if ( (ua_vers >= 4) && is_ie && is_win)
{
       if (obj_ta.isTextEdit)
	{
           obj_ta.focus();
		var sel = document.selection;
		var rng = sel.createRange();
		rng.colapse;
           if((sel.type == "Text" || sel.type == "None") && rng != null)
		{
			rng.text = dotranslate(rng.text);
		}
	}
       else
       {
           obj_ta.value = dotranslate(obj_ta.value);
       }
}
//----------------------------------------
// It's MOZZY!
//----------------------------------------

else if ( obj_ta.selectionEnd )
{
       var ss = obj_ta.selectionStart;
	var st = obj_ta.scrollTop;
	var es = obj_ta.selectionEnd;

	if (es <= 2)
	{
		es = obj_ta.textLength;
	}

	var start  = (obj_ta.value).substring(0, ss);
	var middle = (obj_ta.value).substring(ss, es);
	var end    = (obj_ta.value).substring(es, obj_ta.textLength);

	//-----------------------------------
	// text range?
	//-----------------------------------

	if (obj_ta.selectionEnd - obj_ta.selectionStart > 0)
	{
		middle = dotranslate(middle);
	}

	obj_ta.value = start + middle + end;

	var cpos = ss + (middle.length);

	obj_ta.selectionStart = cpos;
	obj_ta.selectionEnd   = cpos;
	obj_ta.scrollTop      = st;


}
//----------------------------------------
// It's CRAPPY!
//----------------------------------------
else
{
	obj_ta.value = dotranslate(obj_ta.value);
}

obj_ta.focus();

return;
}

//==========================================
// TRANSLITIRATE (String convertion)
//------------------------------------------
// Original code from translit.ru
// by Igor Ilyin (2002-2004)
//==========================================


function dotranslate(text)
{
   var txtnew = "";
   var symb = 0;
   var subsymb = "";
   var trans = 1;
   for (kk=0;kk<text.length;kk++)
   {
       subsymb = text.substr(kk,1);
       if ((subsymb=="[") || (subsymb=="<"))
       {
           trans = 0;
       }
       if ((subsymb=="]") || (subsymb==">"))
       {
           trans = 1;
       }
       if (trans)
       {
           symb = transsymbtocyr(txtnew.substr(txtnew.length-1,1), subsymb);
       }
       else
       {
           symb = txtnew.substr(txtnew.length-1,1) + subsymb;
       }
       txtnew = txtnew.substr(0,txtnew.length-1) + symb;
   }
   return txtnew;
}

//==========================================
// TRANSLITIRATE (Symbol convertion)
//------------------------------------------
// Original code from translit.ru
// by Igor Ilyin (2002-2004)
//==========================================

function transsymbtocyr(pretxt,txt)
{
var doubletxt = pretxt+txt;
var code = txt.charCodeAt(0);
if (!(((code>=65) && (code<=123))||(code==35)||(code==39))) return doubletxt;
var ii;
for (ii=0; ii<lat_lr2.length; ii++)
{
	if (lat_lr2[ii]==doubletxt) return rus_lr2[ii];
}
for (ii=0; ii<lat_lr1.length; ii++)
{
	if (lat_lr1[ii]==txt) return pretxt+rus_lr1[ii];
}
return doubletxt;
}
================================================================================
=

//--------------------------------------------------------------------------------
// Открыть Админцентр -> ВНЕШНИЙ ВИД -> * -> Изменить HTML фрагменты -> skin_editors (редактор сообщений) -> ips_editor
//        (Admin CP -> LOOK & FEEL -> * -> Edit Template HTML -> skin_editors -> ips_editor)
//--------------------------------------------------------------------------------
Найти:
================================================================================
=
<td><div class="rte-normal" id="{$editor_id}_cmd_underline"><img src="{$images_path}rte-underlined.png" alt="{$this->ipsclass->lang['js_tt_underline']}" title="{$this->ipsclass->lang['js_tt_underline']}" ></div></td>
================================================================================
=
Добавить ниже:
================================================================================
=
<td><div class="rte-normal"><a href="java script:translit()"><img src="{$images_path}rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>
================================================================================
=
//--------------------------------------------------------------------------------
// Скопировать rte-translit.gif в папку ./style_images/<папка_скина>/folder_editor_images/
//--------------------------------------------------------------------------------

у меня жатая версия..

Edited by SomehaiN

Share this post


Link to post
Share on other sites

Поместите код в тег

[codebox]  [/codebox]

:)

Share this post


Link to post
Share on other sites

Админцентр -> ВНЕШНИЙ ВИД -> Ваш_стиль -> Редактировать HMTL фрагменты -> skin_topic (просмотр темы) -> quick_reply_box_open.

 

Найти:

 

<td><div class="rte-normal" id="{$editor_id}_cmd_underline"><img src="{$images_path}rte-underlined.png" alt="{$this->ipsclass->lang['js_tt_underline']}" title="{$this->ipsclass->lang['js_tt_underline']}" ></div></td>

 

Добавить ниже:

 

<td><div class="rte-normal"><a href="java script:translit()"><img src="{$images_path}rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

 

p.s. даже если у вас и сжатый js, то вставляйте код в самый конец файла.

Share this post


Link to post
Share on other sites

> Sannis

объясни пожалуйста подробнее(( где этот тег ... куда нада заходить

Share this post


Link to post
Share on other sites
> Sannis

объясни пожалуйста подробнее(( где этот тег ... куда нада заходить

 

Имелось ввиду тело 1 сообщения заключить в этот bb-код. :)

Share this post


Link to post
Share on other sites

нечерта не понял((

угу..

чтобы ещё в "Быстрый ответ" добавился мод транслит

Share this post


Link to post
Share on other sites

сделал..

рисунок не отоброжается, и транслит не работает "Ошибка на странице"

 

4a55aa74ead9.jpg

Share this post


Link to post
Share on other sites

1) Вы не загрузили изображение в папку ./folder_editor_images/;

2) jаvаscriрt пишется вместе! (английскими буквами).

Share this post


Link to post
Share on other sites

сделал так:

 

<td><div class="rte-normal"><a href="java script:translit()"><img src="style_images/<#IMG_DIR#>/folder_editor_images/rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

 

изображение есть.. только Транслит не работает((( ошибка на странице

 

Так кажется что путь не верный(( в Ответе работает. А быстрый ответ нет(( может путь надо ещё указать для быстрого ответа?

Загрузил инструкцию..

translit.txt

Share this post


Link to post
Share on other sites

Просто файл с кодом транслита не подгружается. Можете, например, в шаблоне topic_page_top (skin_topic) указать путь к скрипту с транслитом, и все должно забаротать.

SomehaiN, а вы попробуйте слитно в тэге code написать javascript в якоре

вот пример:

<a href="java script:translit()">

Share this post


Link to post
Share on other sites

> andaril

если я мог бы указать путь :)

открыл "topic_page_top" в АЦ

не знаю что туда добавить :)

 

Загрузил сюда topic_page_top … добавьте туда пжлс нужный путь чтобы транслит работал в Быстром Ответе.

 

<script type="text/javascript">
<!--
var ipb_lang_tt_prompt = "{$this->ipsclass->lang['tt_prompt']}";
var ipb_lang_js_del_1  = "{$this->ipsclass->lang['js_del_1']}";
var ipb_lang_js_del_2  = "{$this->ipsclass->lang['js_del_2']}";
var addquotebutton     = "{$this->ipsclass->vars['img_url']}/p_mq_add.gif";
var removequotebutton  = "{$this->ipsclass->vars['img_url']}/p_mq_remove.gif";
var unselectedbutton = "{$this->ipsclass->vars['img_url']}/topic_unselected.gif";
var selectedbutton   = "{$this->ipsclass->vars['img_url']}/topic_selected.gif";
var lang_gobutton    = "{$this->ipsclass->lang['f_go']}";
var lang_suredelete  = "{$this->ipsclass->lang['cp_js_delete']}";
var js_error_no_permission = "{$this->ipsclass->lang['js_error_no_permission']}";
var js_no_empty_post = "{$this->ipsclass->lang['js_no_empty_post']}";
//-->
</script>
<script type="text/javascript" src="jscripts/ipb_topic.js"></script>
<script type="text/javascript" src="jscripts/ips_text_editor_lite.js"></script>
<script type='text/javascript'>
//<![CDATA[
topic_rate = new topic_rate();
//]]>
</script>
<a name="top"></a>
<!--IBF.FORUM_RULES-->
<if="$threaded == 0">
<table class='ipbtable' cellspacing="0">
<tr>
	<td style='padding-left:0px' width="40%" valign="middle" nowrap="nowrap"><div>{$data['TOPIC']['SHOW_PAGES']} {$data['TOPIC']['go_new']}</div></td>
	<td class='nopad' style='padding:0px 0px 5px 0px' align="right" width="60%" valign="middle"><!--IBF.TOPIC_REPLY--><a href="{$this->ipsclass->base_url}act=post&do=new_post&f={$data['FORUM']['id']}" title="{$this->ipsclass->lang['start_new_topic']}"><{A_POST}></a></td>
</tr>
</table>
</if>
<div class="borderwrap">
<div class="maintitle" style='padding:4px'>
<!-- TABLE FIX FOR MOZILLA WRAPPING-->
<table width='100%' style='padding:0px' cellspacing='0' cellpadding='0'>
<tr>
 <td width='99%' style='word-wrap:break-word;'><div><{CAT_IMG}> <b>{$data['TOPIC']['title']}</b>{$data['TOPIC']['description']}</div></td>

 <td width='1%' align='right' nowrap='nowrap'>

	<if="$data['TOPIC']['_allow_rate'] != 0">
		<div class='popmenubutton' id='topic-rating'>
			<a href='#topicrating'>{$this->ipsclass->lang['topic_rating']}</a>
			{$data['TOPIC']['_rate_img']} <img src='{$this->ipsclass->vars['img_url']}/menu_action_down.gif' alt='V' title='{$this->ipsclass->lang['global_open_menu']}' border='0' />
		</div>
	<else />
		<if="$data['TOPIC']['_rate_show'] == 1 AND $data['TOPIC']['_rate_img'] != ''">
			<div class='popmenubutton' id='topic-rating'>
				{$this->ipsclass->lang['topic_rating']} {$data['TOPIC']['_rate_img']} <img src='{$this->ipsclass->vars['img_url']}/menu_action_down.gif' alt='V' title='{$this->ipsclass->lang['global_open_menu']}' border='0' />
			</div>
		</if>
	</if>
	<if="$data['TOPIC']['_allow_rate'] != 0">
		<div id='topic-rating_menu' class='popupmenu-new' style='display:none;width:140px'>
			<div class='popupmenu-item'>
				<div id='topic-rating-wrapper'></div>
			</div>
			<div class='popupmenu-item'>
				{$this->ipsclass->lang['you_have_rated_x']} <span id='topic-rating-my-rating'>{$data['TOPIC']['_rating_value']}</span>
			</div>
			<div class='popupmenu-item-last'>
				{$this->ipsclass->lang['total_ratings']} <span id='topic-rating-hits'>{$data['TOPIC']['topic_rating_hits']}</span>
			</div>
		</div>
		<script type='text/javascript'>
			ipsmenu.register( "topic-rating" );
		</script>
	</if>
    </td>
 <td width='1%' align='right' nowrap='nowrap'>
    <div class='popmenubutton' id='topicmenu-options'><a href='#topicoptions'>{$this->ipsclass->lang['topic_options']}</a> <img src='{$this->ipsclass->vars['img_url']}/menu_action_down.gif' alt='V' title='{$this->ipsclass->lang['global_open_menu']}' border='0' /></div>
 </td>
</tr>
 </table>

</div>
<!--{IBF.POLL}-->
<script type="text/javascript">
<!--
menu_build_menu(
"topicmenu-options",
new Array(   img_item + " <a href='{$this->ipsclass->base_url}act=usercp&CODE=start_subs&method=topic&tid={$data['TOPIC']['tid']}'>{$this->ipsclass->lang['track_topic']}</a>",
			 img_item + " <a href='{$this->ipsclass->base_url}act=Forward&f={$data['FORUM']['id']}&t={$data['TOPIC']['tid']}'>{$this->ipsclass->lang['forward']}</a>",
			 img_item + " <a href='{$this->ipsclass->base_url}act=Print&client=printer&f={$data['FORUM']['id']}&t={$data['TOPIC']['tid']}'>{$this->ipsclass->lang['print']}</a>",
            img_item + " <a href='{$this->ipsclass->base_url}act=Print&client=choose&f={$data['FORUM']['id']}&t={$data['TOPIC']['tid']}'>{$this->ipsclass->lang['av_title']}</a>",
			 img_item + " <a href='{$this->ipsclass->base_url}act=usercp&CODE=start_subs&method=forum&fid={$data['FORUM']['id']}'>{$this->ipsclass->lang['ft_title']}</a>",
			 "~~NODIV~~<div class='popupmenu-category' align='center'>{$this->ipsclass->lang['dd_display_modes']}</div>",
			 img_item + " {$data['TOPIC']['to_button_threaded']}",
			 img_item + " {$data['TOPIC']['to_button_standard']}",
			 img_item + " {$data['TOPIC']['to_button_linearpl']}"
    ) );
topic_rate.settings['allow_rating']       = parseInt("{$data['TOPIC']['_allow_rate']}");
topic_rate.settings['default_rating']     = parseInt("{$data['TOPIC']['_rate_int']}");
topic_rate.settings['img_base_url']       = ipb_var_image_url + '/folder_topic_view';
topic_rate.settings['div_rating_wrapper'] = 'topic-rating-wrapper';
topic_rate.settings['text_rating_image']  = 'topic-rating-img-';
topic_rate.languages['img_alt_rate']      = "{$this->ipsclass->lang['js_img_alt_rate']}";
topic_rate.languages['rate_me']           = "{$this->ipsclass->lang['js_rate_me']}";
topic_rate.init_rating_images();
-->
</script>

Share this post


Link to post
Share on other sites

в самом верху добавьте, изменяя слова "ПУТЬ К СКРИПТУ С ТРАНСЛИТОМ", на путь к скрипту, который отвечает за транслит.

<script type="text/javascript" src="ПУТЬ К СКРИПТУ С ТРАНСЛИТОМ"></script>

Share this post


Link to post
Share on other sites

Большое спасибо за оперативную помощь!! Постараюсь сделать.

 

Ещё одна помощь))

больше не буду надоедать.

Как сделать чтобы админы – были красного цвета \ а модераторы - синего.

см. скриншот

14838f292265.jpg

Share this post


Link to post
Share on other sites

Эх... Ладно народ не читает документацию, но по админке можно хоть немного полазить. Есть такое понятие, префикс и суффикс группы, что в управлении группами. Там ставите span'ы и все.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...