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


----

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

 Сообщение Скрипт исправления раскладки клавиатуры 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
Разбираем подключение и использование скрипта табов(вкладок) для использования в phpbb3

DeaDRoMeO

3

1582

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

27 ноя 2013, 18:03

psnw2007

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

DeaDRoMeO

0

838

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

27 сен 2015, 14:56

DeaDRoMeO

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

DeaDRoMeO

6

2109

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

16 ноя 2015, 05:23

DeaDRoMeO

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

DeaDRoMeO

59

3124

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

31 мар 2014, 08:35

DeaDRoMeO

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

Безликий

3

2257

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

20 май 2012, 11:40

DeaDRoMeO

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

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

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

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


cron

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