Полезная информация


----

Начать новую тему Ответить на тему
АвторСообщение

 Сообщение Скрипт исправления раскладки клавиатуры phpbb3 2013-11-12

Аватар пользователя

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

Что делает скрипт? Допустим пишите вы длинное сообщение не смотря на монитор, а потом с удивлением обнаруживаете то, что писали на английской раскладке. Что делать? Стереть все что написали и переписать заново. А после установки данного скрипта вам не потребуется заново писать все.

После установки в панель ВВ-кодов добавится 2 кнопочки RU → EN и EN → RU по нажатию на которые весь текст переведется в нужную раскладку. Скрипт установлен так же и у нас

Вообщем для установки нужно открыть шаблон posting_buttons.html используемого стиля, поставить правильную кодировку и найти
<script type="text/javascript">
 

Вставить перед найденным
   <script type='text/javascript'>
function enru(){
var text=document.getElementById('message').value;
var transl=new Array();
       transl['F']='А';     transl['f']='а';
    transl[',']='Б';     transl[',']='б';
    transl['D']='В';     transl['d']='в';
    transl['U']='Г';     transl['u']='г';
    transl['L']='Д';     transl['l']='д';
    transl['T']='Е';     transl['t']='е';
    transl['`']='Ё';    transl['`']='ё';
    transl[';']='Ж';    transl[';']='ж';
    transl['P']='З';     transl['p']='з';
    transl['B']='И';     transl['b']='и';
    transl['Q']='Й';     transl['q']='й';
    transl['R']='К';     transl['r']='к';
    transl['K']='Л';     transl['k']='л';
    transl['V']='М';     transl['v']='м';
    transl['Y']='Н';     transl['y']='н';
    transl['J']='О';     transl['j']='о';
    transl['G']='П';     transl['g']='п';
    transl['H']='Р';     transl['h']='р';
    transl['C']='С';     transl['c']='с';
    transl['N']='Т';     transl['n']='т';
    transl['E']='У';     transl['e']='у';
    transl['A']='Ф';     transl['a']='ф';
    transl['[']='Х';     transl['[']='х';
    transl['W']='Ц';     transl['w']='ц';
    transl['X']='Ч';    transl['x']='ч';
    transl['I']='Ш';    transl['i']='ш';
    transl['O']='Щ';    transl['o']='щ';
    transl[']']='Ъ';     transl[']']='ъ';
    transl['S']='Ы';    transl['s']='ы';
   transl['M']='ь';    transl['m']='ь';
    transl['\'']='Э';    transl['\'']='э';
    transl['.']='Ю';    transl['.']='ю';
    transl['Z']='Я';    transl['z']='я';

    var result='';
    for(i=0;i<text.length;i++) {
        if(transl[text[i]]!=undefined) { result+=transl[text[i]]; }
        else { result+=text[i]; }
    }
    document.getElementById('message').value=result;
}
function ruen(){
var text=document.getElementById('message').value;
var transl=new Array();
    transl['А']='F';     transl['а']='f';
    transl['Б']=',';     transl['б']=',';
    transl['В']='D';     transl['в']='d';
    transl['Г']='U';     transl['г']='u';
    transl['Д']='L';     transl['д']='l';
    transl['Е']='T';     transl['е']='t';
    transl['Ё']='`';    transl['ё']='`';
    transl['Ж']=';';    transl['ж']=';';
    transl['З']='P';     transl['з']='p';
    transl['И']='B';     transl['и']='b';
    transl['Й']='Q';     transl['й']='q';
    transl['К']='R';     transl['к']='r';
    transl['Л']='K';     transl['л']='k';
    transl['М']='V';     transl['м']='v';
    transl['Н']='Y';     transl['н']='y';
    transl['О']='J';     transl['о']='j';
    transl['П']='G';     transl['п']='g';
    transl['Р']='H';     transl['р']='h';
    transl['С']='C';     transl['с']='c';
    transl['Т']='N';     transl['т']='n';
    transl['У']='E';     transl['у']='e';
    transl['Ф']='A';     transl['ф']='a';
    transl['Х']='[';     transl['х']='[';
    transl['Ц']='W';     transl['ц']='w';
    transl['Ч']='X';    transl['ч']='x';
    transl['Ш']='I';    transl['ш']='i';
    transl['Щ']='O';    transl['щ']='o';
    transl['Ъ']=']';     transl['ъ']=']';
    transl['Ы']='S';    transl['ы']='s';
    transl['Ь']='M';    transl['ь']='m';
    transl['Э']='\'';    transl['э']='\'';
    transl['Ю']='.';    transl['ю']='.';
    transl['Я']='Z';    transl['я']='z';

    var result='';
    for(i=0;i<text.length;i++) {
        if(transl[text[i]]!=undefined) { result+=transl[text[i]]; }
        else { result+=text[i]; }
    }
    document.getElementById('message').value=result;
}
</script>
 

Потом найти
d: '{LA_BBCODE_D_HELP}'
 

Вставить после найденного
t12: 'Перевод написанного текста в EN-раскладку',
               t13: 'Перевод написанного текста в RU-раскладку',
 

Потом найти
   <!-- IF S_BBCODE_FLASH -->
      тут любой код
   <!-- ENDIF -->
 

Вставить после найденного
<input type="button" class="ваш класс кнопок" accesskey="t" name="keybo" value="RU &rarr; EN" onclick="ruen()"  onMouseOver="helpline('t12')" onmouseout="helpline('tip')" />
         <input type="button" class="ваш класс кнопок" accesskey="t" name="keybo" value="EN &rarr; RU" onclick="enru()"  onMouseOver="helpline('t13')" onmouseout="helpline('tip')" />
 

Обращаем внимание на эти 2 кусочка class="ваш класс кнопок", вместо слов ваш класс кнопок вписываете класс, который присваивается кнопкам в вашем стиле, чистите кеш и радуетесь результатам :co_ol:


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!

Теги темы
Скрипт исправляющий раскладку клавиатуры, Скрипт исправления раскладки клавиатуры phpbb3
          Вернуться наверх  
 


Аватар пользователя

на эти моменты (в красном) обратите внимание....

а в зеленой рамке у меня так прописаны эти кнопки. Владимир правил!



Пожалуйста Зарегистрируйтесь чтобы увидеть ссылку


          Вернуться наверх  
 


Аватар пользователя

Все сделал, работает отлично.
В субсильвере пришлось правит posting_body.html как писал Владимир.

упс.
в просильвере после установки перестали работать смайлы.
при нажатии на смайлик в форме быстрого ответа , страничка возвращается вверх к первому сообщению.
а в форме ответа ничего не происходит.
куда копать?


          Вернуться наверх  
 


Аватар пользователя

Правки проверяли? Обычно с этого начинать надо)


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Правки проверяли? Обычно с этого начинать надо)

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


          Вернуться наверх  
 


Аватар пользователя

Прям беда какая та.
На просильвере не работает.
Пробовал несколько раз.
После правок перестают работать все бб коды, кнопку нажимаешь , а ничего в форму ответа не вставляется.
И при нажатии на смайлик страничка поднимается вверх.
Установлен мод быстрого ответа, видимо дело в нем.
Подскажите что подправить.


          Вернуться наверх  
 


Аватар пользователя

Хех, дайте полный код шаблона после всех правок


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Хех, дайте полный код шаблона после всех правок

Не смог найти как прикрепить файл.
Вот полный код шаблона постинг_буттонс
<script type="text/javascript">
// <![CDATA[
   var form_name = 'postform';
   var text_name = <!-- IF $SIG_EDIT -->'signature'<!-- ELSE -->'message'<!-- ENDIF -->;
   var load_draft = false;
   var upload = false;

   // Define the bbCode tags
   var bbcode = new Array();
   var bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','[/code]','[list]','[/list]','[list=]','[/list]','[img]','[/img]','[url]','[/url]','[flash=]', '[/flash]','[size=]','[/size]'<!-- BEGIN custom_tags -->, {custom_tags.BBCODE_NAME}<!-- END custom_tags -->);
   var imageTag = false;

   // Helpline messages
   var help_line = {
      b: '{LA_BBCODE_B_HELP}',
      i: '{LA_BBCODE_I_HELP}',
      u: '{LA_BBCODE_U_HELP}',
      q: '{LA_BBCODE_Q_HELP}',
      c: '{LA_BBCODE_C_HELP}',
      l: '{LA_BBCODE_L_HELP}',
      o: '{LA_BBCODE_O_HELP}',
      p: '{LA_BBCODE_P_HELP}',
      w: '{LA_BBCODE_W_HELP}',
      a: '{LA_BBCODE_A_HELP}',
      s: '{LA_BBCODE_S_HELP}',
      f: '{LA_BBCODE_F_HELP}',
      y: '{LA_BBCODE_Y_HELP}',
      d: '{LA_BBCODE_D_HELP}'
      t12: 'Перевод написанного текста в EN-раскладку',
        t13: 'Перевод написанного текста в RU-раскладку',
      <!-- BEGIN custom_tags -->
         ,cb_{custom_tags.BBCODE_ID}: '{custom_tags.A_BBCODE_HELPLINE}'
      <!-- END custom_tags -->
   }

       function BBCurl()
        {
            var enterURL   = prompt('{LA_ENTER_URL}', 'http://');
            var enterTITLE = prompt('{LA_ENTER_TEXT}', '{LA_DESC_URL}');

            if (!enterURL || !enterTITLE || enterURL == 'http://')
            {
                return;
            }

            var ToAdd = '[url=' + enterURL + ']' + enterTITLE + '[/url]';
            insert_text(ToAdd);
        }
   var panels = new Array('options-panel', 'attach-panel', 'poll-panel');
   var show_panel = 'options-panel';


// ]]>
</script>
<script type="text/javascript" src="{T_SUPER_TEMPLATE_PATH}/editor.js"></script>

<!-- IF S_BBCODE_ALLOWED -->
<div id="colour_palette" style="display: none;">
   <dl style="clear: left;">
      <dt><label>{L_FONT_COLOR}:</label></dt>
      <dd>
               <script type="text/javascript">
      // <![CDATA[
         function change_palette()
         {
            dE('colour_palette');
            e = document.getElementById('colour_palette');
            
            if (e.style.display == 'block')
            {
               document.getElementById('bbpalette').value = '{LA_FONT_COLOR_HIDE}';
            }
            else
            {
               document.getElementById('bbpalette').value = '{LA_FONT_COLOR}';
            }
         }

         colorPalette('h', 15, 10);
      // ]]>
      </script>
      </dd>
   </dl>
</div>

<div id="format-buttons">
   <input type="button" class="button2" accesskey="b" name="addbbcode0" value=" B " style="font-weight:bold; width: 30px" onclick="bbstyle(0)" title="{L_BBCODE_B_HELP}" />
   <input type="button" class="button2" accesskey="i" name="addbbcode2" value=" i " style="font-style:italic; width: 30px" onclick="bbstyle(2)" title="{L_BBCODE_I_HELP}" />
   <input type="button" class="button2" accesskey="u" name="addbbcode4" value=" u " style="text-decoration: underline; width: 30px" onclick="bbstyle(4)" title="{L_BBCODE_U_HELP}" />
   <!-- IF S_BBCODE_QUOTE -->
      <input type="button" class="button2" accesskey="q" name="addbbcode6" value="Quote" style="width: 50px" onclick="bbstyle(6)" title="{L_BBCODE_Q_HELP}" />
   <!-- ENDIF -->
   <input type="button" class="button2" accesskey="c" name="addbbcode8" value="Code" style="width: 40px" onclick="bbstyle(8)" title="{L_BBCODE_C_HELP}" />
   <input type="button" class="button2" accesskey="l" name="addbbcode10" value="List" style="width: 40px" onclick="bbstyle(10)" title="{L_BBCODE_L_HELP}" />
   <input type="button" class="button2" accesskey="o" name="addbbcode12" value="List=" style="width: 40px" onclick="bbstyle(12)" title="{L_BBCODE_O_HELP}" />
   <input type="button" class="button2" accesskey="y" name="addlistitem" value="[*]" style="width: 40px" onclick="bbstyle(-1)" title="{L_BBCODE_LISTITEM_HELP}" />
   <!-- IF S_BBCODE_IMG -->
      <input type="button" class="button2" accesskey="p" name="addbbcode14" value="Img" style="width: 40px" onclick="bbstyle(14)" title="{L_BBCODE_P_HELP}" />
   <!-- ENDIF -->
    <!-- IF S_LINKS_ALLOWED -->
        <input type="button" class="button2" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onclick="BBCurl('message','')" title="{L_BBCODE_W_HELP}" />
    <!-- ENDIF -->
   <!-- IF S_BBCODE_FLASH -->
      <input type="button" class="button2" accesskey="d" name="addbbcode18" value="Flash" onclick="bbstyle(18)" title="{L_BBCODE_D_HELP}" />
   <!-- ENDIF -->
   <input type="button" class="button2" accesskey="t" name="keybo" value="RU &rarr; EN" onclick="ruen()"  onMouseOver="helpline('t12')" onmouseout="helpline('tip')" />
         <input type="button" class="button2" accesskey="t" name="keybo" value="EN &rarr; RU" onclick="enru()"  onMouseOver="helpline('t13')" onmouseout="helpline('tip')" />
   <select name="addbbcode20" onchange="bbfontstyle('[size=' + this.form.addbbcode20.options[this.form.addbbcode20.selectedIndex].value + ']', '[/size]');this.form.addbbcode20.selectedIndex = 2;" title="{L_BBCODE_F_HELP}">
      <option value="50">{L_FONT_TINY}</option>
      <option value="85">{L_FONT_SMALL}</option>
      <option value="100" selected="selected">{L_FONT_NORMAL}</option>
      <!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 150 -->
         <option value="150">{L_FONT_LARGE}</option>
         <!-- IF not MAX_FONT_SIZE or MAX_FONT_SIZE >= 200 -->
            <option value="200">{L_FONT_HUGE}</option>
         <!-- ENDIF -->
      <!-- ENDIF -->
   </select>
   <input type="button" class="button2" name="bbpalette" id="bbpalette" value="{L_FONT_COLOR}" onclick="change_palette();" title="{L_BBCODE_S_HELP}" />
   <!-- BEGIN custom_tags -->
      <input type="button" class="button2" name="addbbcode{custom_tags.BBCODE_ID}" value="{custom_tags.BBCODE_TAG}" onclick="bbstyle({custom_tags.BBCODE_ID})" title="{custom_tags.BBCODE_HELPLINE}" />
   <!-- END custom_tags -->
</div>
<!-- ENDIF -->
<script type='text/javascript'>
function enru(){
var text=document.getElementById('message').value;
var transl=new Array();
       transl['F']='А';     transl['f']='а';
    transl[',']='Б';     transl[',']='б';
    transl['D']='В';     transl['d']='в';
    transl['U']='Г';     transl['u']='г';
    transl['L']='Д';     transl['l']='д';
    transl['T']='Е';     transl['t']='е';
    transl['`']='Ё';    transl['`']='ё';
    transl[';']='Ж';    transl[';']='ж';
    transl['P']='З';     transl['p']='з';
    transl['B']='И';     transl['b']='и';
    transl['Q']='Й';     transl['q']='й';
    transl['R']='К';     transl['r']='к';
    transl['K']='Л';     transl['k']='л';
    transl['V']='М';     transl['v']='м';
    transl['Y']='Н';     transl['y']='н';
    transl['J']='О';     transl['j']='о';
    transl['G']='П';     transl['g']='п';
    transl['H']='Р';     transl['h']='р';
    transl['C']='С';     transl['c']='с';
    transl['N']='Т';     transl['n']='т';
    transl['E']='У';     transl['e']='у';
    transl['A']='Ф';     transl['a']='ф';
    transl['[']='Х';     transl['[']='х';
    transl['W']='Ц';     transl['w']='ц';
    transl['X']='Ч';    transl['x']='ч';
    transl['I']='Ш';    transl['i']='ш';
    transl['O']='Щ';    transl['o']='щ';
    transl[']']='Ъ';     transl[']']='ъ';
    transl['S']='Ы';    transl['s']='ы';
   transl['M']='ь';    transl['m']='ь';
    transl['\'']='Э';    transl['\'']='э';
    transl['.']='Ю';    transl['.']='ю';
    transl['Z']='Я';    transl['z']='я';

    var result='';
    for(i=0;i<text.length;i++) {
        if(transl[text[i]]!=undefined) { result+=transl[text[i]]; }
        else { result+=text[i]; }
    }
    document.getElementById('message').value=result;
}
function ruen(){
var text=document.getElementById('message').value;
var transl=new Array();
    transl['А']='F';     transl['а']='f';
    transl['Б']=',';     transl['б']=',';
    transl['В']='D';     transl['в']='d';
    transl['Г']='U';     transl['г']='u';
    transl['Д']='L';     transl['д']='l';
    transl['Е']='T';     transl['е']='t';
    transl['Ё']='`';    transl['ё']='`';
    transl['Ж']=';';    transl['ж']=';';
    transl['З']='P';     transl['з']='p';
    transl['И']='B';     transl['и']='b';
    transl['Й']='Q';     transl['й']='q';
    transl['К']='R';     transl['к']='r';
    transl['Л']='K';     transl['л']='k';
    transl['М']='V';     transl['м']='v';
    transl['Н']='Y';     transl['н']='y';
    transl['О']='J';     transl['о']='j';
    transl['П']='G';     transl['п']='g';
    transl['Р']='H';     transl['р']='h';
    transl['С']='C';     transl['с']='c';
    transl['Т']='N';     transl['т']='n';
    transl['У']='E';     transl['у']='e';
    transl['Ф']='A';     transl['ф']='a';
    transl['Х']='[';     transl['х']='[';
    transl['Ц']='W';     transl['ц']='w';
    transl['Ч']='X';    transl['ч']='x';
    transl['Ш']='I';    transl['ш']='i';
    transl['Щ']='O';    transl['щ']='o';
    transl['Ъ']=']';     transl['ъ']=']';
    transl['Ы']='S';    transl['ы']='s';
    transl['Ь']='M';    transl['ь']='m';
    transl['Э']='\'';    transl['э']='\'';
    transl['Ю']='.';    transl['ю']='.';
    transl['Я']='Z';    transl['я']='z';

    var result='';
    for(i=0;i<text.length;i++) {
        if(transl[text[i]]!=undefined) { result+=transl[text[i]]; }
        else { result+=text[i]; }
    }
    document.getElementById('message').value=result;
}
</script>
<script type="text/javascript">
// <![CDATA[
$(document).ready(function(){
   $("div.postbody").mouseup(function(e){
      pt = $(this).parents("table.tablebg");
      if (window.getSelection)
      {
         theSelection = window.getSelection().toString();
      }
      else if (document.getSelection)
      {
         theSelection = document.getSelection();
      }
         else if (document.selection)
      {
         theSelection = document.selection.createRange().text;
      }   
      if (theSelection)
      {
         $("#addQuote").remove();
         $("body").append('<div id="addQuote" style="left: '+(e.pageX+15)+'px; top: '+(e.pageY+15)+'px;">Цитировать выделенное</div>');
         $("#addQuote").click(function () {
            $(this).hide();   
            username = pt.find("b[class='postauthor']:first").text();
            insert_text('[quote="' + username + '"]' + theSelection + '[/quote]');
         });
         $("#addQuote").oneTime(3000, function() {
            if ($(this).is(':visible')) {$(this).animate({height:0 , opacity:0}, 150)};
         });
      }
   });
});
// ]]>
</script>
 

Там три раза встречается
<script type="text/javascript">
 

Пробовал по всякому.


          Вернуться наверх  
 


Аватар пользователя

bublik89 писал(а):

Там три раза встречается

Первое же совпадение - нужное вам, а вот почему не работает - это я не знаю, ошибиться невозможно в этих правках


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Первое же совпадение - нужное вам, а вот почему не работает - это я не знаю, ошибиться невозможно в этих правках

Ставил около первого, в самый верх шаблона.
Не работает!
Самое интересное, что перестают из за этой правки работать все бб коды и смайлы.
Хотя раскладку меняет :-0=)


          Вернуться наверх  
 


Аватар пользователя

Это просто магия какая то, а если убрать правку в которой надо найти d: '{LA_BBCODE_D_HELP}' ?


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

Это просто магия какая то, а если убрать правку в которой надо найти d: '{LA_BBCODE_D_HELP}' ?

тоесть убрать
t12: 'Перевод написанного текста в EN-раскладку',
               t13: 'Перевод написанного текста в RU-раскладку',
 


Сообщение добавлено... спустя 24 минуты 22 секунды:
DeaDRoMeO писал(а):

убрать правку в которой надо найти d: '{LA_BBCODE_D_HELP}'

Вах! Серега, ты волшебник. все заработало :co_ol:


          Вернуться наверх  
 


Аватар пользователя

Гы, ешкин кот, дело в этом чтоли было? Ну отсутствие подсказки не беда


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

DeaDRoMeO писал(а):

дело в этом чтоли было?

Выходит так. Теперь все работает. Такое изменение только в просильвере пришлось делать.


          Вернуться наверх  
 


Аватар пользователя

Вечером гляну еще раз, думаю прикрутим и подсказки


_________________
Подпись:
-_- -_-
На вопросы, связанные с phpBB, по ЛС не отвечаю !!!
          Вернуться наверх  
 


Аватар пользователя

Ура! все получилось с вашими обоюдными правками. Стиль subsilver2, без правки post_body.html не работало.
Такая нужная функция... Ребята, вы лучшие!

и да, что пока заметила - действительно скрипт весь текст в сообщении меняет, а не только выделенную строчку.


          Вернуться наверх  
 
 
Начать новую тему Ответить на тему


Дополнительные возможности

  Похожие темы  Автор  Ответов  Просмотров  Последнее сообщение 
Аватар пользователя Скрипт сокращения текста phpBB3
Данный скрипт поможет вам сокращать текст в блоках до любого количества знаков

DeaDRoMeO

0

919

Аватар пользователя

27 сен 2015, 14:56

DeaDRoMeO

Аватар пользователя Скрипт табов(вкладок) phpbb3
Разбираем подключение и использование скрипта табов(вкладок) для использования в phpbb3

DeaDRoMeO

3

1668

Аватар пользователя

27 ноя 2013, 18:03

psnw2007

Аватар пользователя Скрипт "Проверка ТИЦ и PR сайтов в профилях" phpbb3
Скрипт информера ТИЦ и PR для сайтов в профилях пользователей

DeaDRoMeO

6

2182

Аватар пользователя

16 ноя 2015, 05:23

DeaDRoMeO

Аватар пользователя Скрипт "У нас нашли" phpbb3
Скрипт формирует блок, в котором выводятся последние поисковые запросы, по которым заходили на форум

DeaDRoMeO

59

3296

Аватар пользователя

31 мар 2014, 08:35

DeaDRoMeO

Аватар пользователя Выделить нужный скрипт

Безликий

3

2500

Аватар пользователя

20 май 2012, 11:40

DeaDRoMeO

Оставить свой комментарий

Поделиться темой с помощью

Ссылки на тему

Прямая ссылка:
BB-код для форумов, сайтов, блогов:
HTML ссылка:
 


Самая неформальная поддержка phpBB :P