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

Eduard

Пользователи
  • Число публикаций

    13
  • Регистрация

  • Последнее посещение

Недавние посетители профиля

2 355 просмотров профиля

Достижения Eduard

  1. Eduard

    Мод "Спасибо" by AVol Invision Power Board v2.3.1

    Большое спасибо! Мод установил. Всё работает корректно, проблем пока не обнаружено. Вопрос к автору! Должна ли отображаться информация о количестве благодарностей непосредственно в профиле пользователя?
  2. Спасибо за SLAED CMS! =)
  3. Нашёлся наконец-то здравомыслящий человек, который не стал делать вставку ника при нажатии на ник. ;)
  4. 2 764 скачивания

    Предлагаю Вашему вниманию вставку имени собеседника в форму быстрого ответа для форума Invision Power Board. Модификация добавляет кнопку вставки имени желаемого собеседника в форму быстрого ответа. Создавалось и тестировалось для форума Invision Power Board 2.3.1
    Бесплатный
  5. Название: Вставка имени собеседника - Nick Insert IPB Добавил: Eduard Добавлен: 26 Сен 2007 Обновлен: 26 Сен 2007 Категория: IP.Board 2.3.x Предлагаю Вашему вниманию вставку имени собеседника в форму быстрого ответа для форума Invision Power Board. Модификация добавляет кнопку вставки имени желаемого собеседника в форму быстрого ответа. Создавалось и тестировалось для форума Invision Power Board 2.3.1 Нажмите здесь, чтобы скачать файл
  6. Решение найдено лично, путём анализа классов работы с базой, и проверкой кодировки по умолчанию. Причиной тому явилось молчание суппорта которые не смогли найти ответа, по сей день... Вот именно! Это было первое на что обратил внимание, по умолчанию кодировка не прописывалась в данный файл вообще. Работаю с кодировкой базы данных latin1 очень длительное время, более 5 лет, и ничего подобного ещё не слышал. К тому же данный тип форума работает с кодировкой latin1 более 1 года на всех наших проектах. Не забываем кем разрабатывается оригинальный IPB, по крайней мере не в windows-1251 Не вижу никакой необходимости, так же не рекомендую.
  7. Всё было бы весьма весело, если не было бы так грустно. Ещё раз повторяю, что данное решение не высосано с пальца и работает. Руководству рекомендую быть внимательным и не прописывать используемую ими кодировку windows 1251 по умолчанию. Если она используется Вами, то это не значит что всеми остальными.
  8. Предлогаю решение вопроса: Проблема с кодировкой при обновлении с 2.1.7 до 2.3.*
  9. Решаем проблему с кодировкой базы данных, в случае если Вы работаете с кодировкой latin1 Ошибка часто выражается появлением вопросов за место стандартного текста на форуме, а так же данным кодом, после окончания работы мастера обновления. SELECT id FROM ipb_faq WHERE title = 'Преимущества регистрации' Сообщение сервера: Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE) for operation '=' Код ошибки: 1267 Время: Thursday 02nd of August 2007 02:37:04 PM Желательно проделать эту операцию перед запуском мастера обновления форума. Открываем файл: ips_kernel/class_db.php Примерно в 112 строке заменяем: 'mysql_codepage' => 'cp1251' , На: 'mysql_codepage' => 'latin1' , После этого запускаем файл обновления: ваш_сайт/upgrade/index.php В самом начале форум сам должен определить кодировку latin1 и обновить форум в нормальном режиме.
  10. Eduard

    Вопрос к разработчикам

    Около полугода назад, после поверхностного изучения DLE, обратил внимание на то что: 1. 80% функций работы AJAX идентичны форуму IPB 2.1.7. 2. Функции работы с базой данных, её копирование и востановление на 99% идентичны с Sypex Dumper: http://www.slaed.net/Files-view-310.html 3. Функция генерации секретного кода на 99% идентичьна Сaptcha: http://www.captcha.ru/kcaptcha/ Могу лиш констатировать факты неправомерного использования в ДЛЕ участков кода платных скриптов, в том числе IPB, больше мне нечего сказать по этому поводу.
  11. Корректная работа только с IE. Проблемы браузеров Моцила, Опера с работой JavaScript. Смотрим скрипты, ищим решения.
  12. 1 791 скачивание

    Предлагаем Вашему вниманию модифицированную форму быстрого ответа для форума Invision Power Board. Основные отличия данной формы, это транслит латинского алфавита в русский и обратно. Форма имеет функцию автоматического транслита, на лету. Учитываются BB и HTML теги, которые игнорируются при переводе. Дополнительно ко всему предложены кнопки для установки основных BB тег.
    Бесплатный
  13. Название: Форма быстрого ответа Добавил: Eduard Добавлен: 25 Июл 2006 Обновлен: 25 Июл 2006 Категория: IP.Board 2.1.x Предлагаем Вашему вниманию модифицированную форму быстрого ответа для форума Invision Power Board. Основные отличия данной формы, это транслит латинского алфавита в русский и обратно. Форма имеет функцию автоматического транслита, на лету. Учитываются BB и HTML теги, которые игнорируются при переводе. Дополнительно ко всему предложены кнопки для установки основных BB тег. Нажмите здесь, чтобы скачать файл
  14. Предлагаем Вашему вниманию модифицированную форму быстрого ответа для форума Invision Power Board. Основные отличия данной формы, это транслит латинского алфавита в русский и обратно. Форма имеет функцию автоматического транслита, на лету. Учитываются BB и HTML теги, которые игнорируются при переводе. Дополнительно ко всему предложены кнопки для установки основных BB тег. http://www.slaed.net/modules/Files/Bilder/...ply_for_IPB.gif Установка 1. Разархивируйте все файлы из скачанного архива 2. Импортируйте файл Translit.js в Вашу директорию форума jscripts/ 3. Войдите в панель администратора форума 4. Внешний вид >> Менеджер стилей >> Изменить HTML фрагменты >> skin_topic (Просмотр темы) >> quick_reply_box_open 5. Обновите прежний на новый код и сохраните изменения Новый код: <script language='JavaScript'> function AddSelectedText(BBOpen, BBClose) { if (document.REPLIER.Post.caretPos) document.REPLIER.Post.caretPos.text = BBOpen + document.REPLIER.Post.caretPos.text + BBClose; else document.REPLIER.Post.value += BBOpen + BBClose; document.REPLIER.Post.focus() } function InsertBBCode(BBcode) { AddSelectedText('[' + BBcode + ']','[/' + BBcode + ']'); } function storeCaret(textEl) { if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate(); } </script> <script type="text/javascript"> <!-- var emowindow = ''; function emo_pop(){ emowindow = window.open("index.{ipb.vars['php_ext']}?act=legends&CODE=emoticons&s={ipb.session_id}","Legends","width=250,height=500,resizable=yes,scrollbars=yes"); } --> </script> <div id="qr_open" style="display: $show; position: relative;"> <br /> <form name="REPLIER" action="{ipb.script_url}" method="post"> <input type="hidden" name="act" value="Post" /> <input type="hidden" name="CODE" value="03" /> <input type="hidden" name="f" value="$fid" /> <input type="hidden" name="t" value="$tid" /> <input type="hidden" name="st" value="{ipb.input['st']}" /> <input type="hidden" name="auth_key" value="$key" /> <input type="hidden" name="fast_reply_used" value="1" /> <!-- TITLE DIV --> <div class="borderwrap"> <div class="maintitle"><{CAT_IMG}> {ipb.lang['qr_title']}</div> <div style='padding:6px' align="center"> <textarea name="Post" onkeypress="transliteFeld(this,event);" onmouseover='checkselection()' id='fastreplyarea' cols="70" rows="8" class="textarea" tabindex="1" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);"></textarea> <script language="JavaScript" type="text/javascript" src="jscripts/Translit.js"></script><script language="JavaScript">TxtFeld=document.REPLIER.Post; language=1; richtung=1;</script> <div align='center' > <input type="button" class="button" value=" B " style="font-weight:bold; width: 40px" onClick="InsertBBCode('b')" /> <input type="button" class="button" value=" i " style="font-style:italic; width: 40px" onClick="InsertBBCode('i')" /> <input type="button" class="button" value=" u " style="text-decoration: underline; width: 40px" onClick="InsertBBCode('u')" /> <input type="button" class="button" value="Quote" style="width: 50px" onClick="InsertBBCode('quote')" /> <input type="button" class="button" value="Code" style="width: 40px" onClick="InsertBBCode('code')" /> <input type="button" class="button" value="Img" style="width: 40px" onClick="InsertBBCode('img')" /> <input type="button" class="button" value="URL" style="text-decoration: underline; width: 40px" onClick="InsertBBCode('url')" /> <input type="button" class="button" value="Rus" style="width: 40px" onClick="translateAlltoCyrillic();" /> <input type="button" class="button" value="Lat" style="width: 40px" onClick="translateAlltoLatin();" /> </div> <!-- HIDDEN PASTE SELECTION QUESTION --> <div id='fastreply-pastesel' align='center' style='display:none;'> <br /><input type="button" name="pastesel" onclick="pasteselection();" value="{ipb.lang['add_selected_text']}" class="button" /><br /> </div> <!-- / HIDDEN PASTE SELECTION QUESTION --> <br /> <input type="checkbox" id="translitSchalter" name="translit" onClick="changelanguage();" class="checkbox" /> Автоматический перевод текста <if="ipb.member['auto_track'] == "" or ipb.member['auto_track'] == '0'"> <input type="checkbox" name="enabletrack" value="1" class="checkbox" /> {ipb.lang['qr_add_email']} </if> <else> <input type="checkbox" name="enabletrack" value="1" class="checkbox" checked="checked" /> {ipb.lang['qr_add_email']} </else> <input type="checkbox" name="enableemo" value="yes" class="checkbox" checked="checked" /> <a href="java script:emo_pop();">{ipb.lang['qr_add_smilie']}</a> <input type="checkbox" name="enablesig" value="yes" class="checkbox" checked="checked" /> {ipb.lang['qr_add_sig']} <br /><br /> <input type="submit" name="submit" value="{ipb.lang['qr_submit']}" class="button" tabindex="2" accesskey="s" /> <input type="submit" name="preview" value="{ipb.lang['qr_more_opts']}" class="button" /> <input type="button" name="qrc" onclick="ShowHide('qr_open','qr_closed');" value="{ipb.lang['qr_closeit']}" class="button" /> </div></div></form></div> Код файла Translit.js: var DOM = document.getElementById ? 1 : 0, opera = window.opera && DOM ? 1 : 0, IE = !opera && document.all ? 1 : 0, NN6 = DOM && !IE && !opera ? 1 : 0; var ablauf = new Date(); var jahr = ablauf.getTime() + (365 * 24 * 60 * 60 * 1000); ablauf.setTime(jahr); var richtung=1; var isChat=false; NoHtml=true; NoScript=true; NoStyle=true; NoBBCode=true; NoBefehl=false; function setZustand(){ transHtmlPause=false; transScriptPause=false; transStylePause=false; transBefehlPause=false; transBBPause=false; } setZustand(); function keks(Name,Wert){ document.cookie = Name+"="+Wert+"; expires=" + ablauf.toGMTString(); } function changeNoTranslit(Nr){ if(document.trans.No_translit_HTML.checked)NoHtml=true;else{NoHtml=false} if(document.trans.No_translit_BBCode.checked)NoBBCode=true;else{NoBBCode=false} keks("NoHtml",NoHtml);keks("NoScript",NoScript);keks("NoStyle",NoStyle);keks("NoBBCode",NoBBCode); } function changeRichtung(r){ richtung=r;keks("TransRichtung",richtung);setFocus() } function changelanguage(){ if (language==1) {language=0;} else {language=1;} keks("autoTrans",language); setFocus(); setZustand(); } function setFocus(){ TxtFeld.focus(); } function repl(t,a,b){ var w=t,i=0,n=0; while((i=w.indexOf(a,n))>=0){ t=t.substring(0,i)+b+t.substring(i+a.length,t.length); w=w.substring(0,i)+b+w.substring(i+a.length,w.length); n=i+b.length; if(n>=w.length){ break; } } return t; } 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)+'-q').split('-'); var rus_rl = ('А-Б-В-Г-Д-Е-Ё-Ж-З-И-Й-К-Л-М-Н-О-П-Р-С-Т-У-Ф-Х-Ц-Ч-Ш-Щ-Ъ-Ы-Ь-Э-Ю-Я-а-б-в-г-д-е-ё-ж-з-и-й-к-л-м-н-о-п-р-с-т-у-ф-х-ц-ч-ш-щ-ъ-ы-ь-э-ю-я').split('-'); var lat_rl = ('A-B-V-G-D-E-JO-ZH-Z-I-J-K-L-M-N-O-P-R-S-T-U-F-H-C-CH-SH-SHH-'+String.fromCharCode(35)+String.fromCharCode(35)+'-Y-'+String.fromCharCode(39)+String.fromCharCode(39)+'-JE-JU-JA-a-b-v-g-d-e-jo-zh-z-i-j-k-l-m-n-o-p-r-s-t-u-f-h-c-ch-sh-shh-'+String.fromCharCode(35)+'-y-'+String.fromCharCode(39)+'-je-ju-ja').split('-'); var transAN=true; function transliteText(txt){ vorTxt=txt.length>1?txt.substr(txt.length-2,1):""; buchstabe=txt.substr(txt.length-1,1); txt=txt.substr(0,txt.length-2); return txt+translitBuchstabeCyr(vorTxt,buchstabe); } function translitBuchstabeCyr(vorTxt,txt){ var zweiBuchstaben = vorTxt+txt; var code = txt.charCodeAt(0); if (txt=="<")transHtmlPause=true;else if(txt==">")transHtmlPause=false; if (txt=="<script")transScriptPause=true;else if(txt=="</script>")transScriptPause=false; if (txt=="<style")transStylePause=true;else if(txt=="</style>")transStylePause=false; if (txt=="[")transBBPause=true;else if(txt=="]")transBBPause=false; if (txt=="/")transBefehlPause=true;else if(txt==" ")transBefehlPause=false; if ( (transHtmlPause==true && NoHtml==true)|| (transScriptPause==true && NoScript==true)|| (transStylePause==true && NoStyle==true)|| (transBBPause==true && NoBBCode==true)|| (transBefehlPause==true && NoBefehl==true)|| !(((code>=65) && (code<=123))||(code==35)||(code==39))) return zweiBuchstaben; for (x=0; x<lat_lr2.length; x++){ if (lat_lr2[x]==zweiBuchstaben) return rus_lr2[x]; } for (x=0; x<lat_lr1.length; x++){ if (lat_lr1[x]==txt) return vorTxt+rus_lr1[x]; } return zweiBuchstaben; } function translitBuchstabeLat(buchstabe){ for (x=0; x<rus_rl.length; x++){ if (rus_rl[x]==buchstabe) return lat_rl[x]; } return buchstabe; } function translateAlltoLatin(){ if (!IE){ var txt=TxtFeld.value; var txtnew = ""; var symb = ""; for (y=0;y<txt.length;y++){ symb = translitBuchstabeLat(txt.substr(y,1)); txtnew += symb; } TxtFeld.value = txtnew; setFocus() } else { var is_selection_flag = 1; var userselection = document.selection.createRange(); var txt = userselection.text; if (userselection==null || userselection.text==null || userselection.parentElement==null || userselection.parentElement().type!="textarea"){ is_selection_flag = 0; txt = TxtFeld.value; } txtnew=""; var symb = ""; for (y=0;y<txt.length;y++){ symb = translitBuchstabeLat(txt.substr(y,1)); txtnew += symb; } if (is_selection_flag){ userselection.text = txtnew; userselection.collapse(); userselection.select(); }else{ TxtFeld.value = txtnew; setFocus() } } return; } function transliteFeld(object,evnt){ if (language==1 || opera) return; if (NN6){ var code=void 0; var code = evnt.charCode; var textareafontsize = 14; var textreafontwidth = 7; if(code == 13){ return; } if ( code && (!(evnt.ctrlKey || evnt.altKey))){ pXpix = object.scrollTop; pYpix = object.scrollLeft; evnt.preventDefault(); txt=String.fromCharCode(code); pretxt = object.value.substring(0, object.selectionStart); result = transliteText(pretxt+txt); object.value = result+object.value.substring(object.selectionEnd); object.setSelectionRange(result.length,result.length); object.scrollTop=100000; object.scrollLeft=0; cXpix = (result.split("\n").length)*(textareafontsize+3); cYpix = (result.length-result.lastIndexOf("\n")-1)*(textreafontwidth+1); taXpix = (object.rows+1)*(textareafontsize+3); taYpix = object.clientWidth; if ((cXpix>pXpix)&&(cXpix<(pXpix+taXpix))) object.scrollTop=pXpix; if (cXpix<=pXpix) object.scrollTop=cXpix-(textareafontsize+3); if (cXpix>=(pXpix+taXpix)) object.scrollTop=cXpix-taXpix; if ((cYpix>=pYpix)&&(cYpix<(pYpix+taYpix))) object.scrollLeft=pYpix; if (cYpix<pYpix) object.scrollLeft=cYpix-(textreafontwidth+1); if (cYpix>=(pYpix+taYpix)) object.scrollLeft=cYpix-taYpix+1; } return true; } else if (IE){ if (isChat){ var code = frames['input'].event.keyCode; if(code == 13){ return; } txt=String.fromCharCode(code); cursor_pos_selection = frames['input'].document.selection.createRange(); cursor_pos_selection.text=""; cursor_pos_selection.moveStart("character",-1); vorTxt = cursor_pos_selection.text; if (vorTxt.length>1){ vorTxt=""; } frames['input'].event.keyCode = 0; if (richtung==2){ result = vorTxt+translitBuchstabeLat(txt) }else{ result = translitBuchstabeCyr(vorTxt,txt) } if (vorTxt!=""){ cursor_pos_selection.select(); cursor_pos_selection.collapse(); } with(frames['input'].document.selection.createRange()){ text = result; collapse(); select() } } else { var code = event.keyCode; if(code == 13){ return; } txt=String.fromCharCode(code); cursor_pos_selection = document.selection.createRange(); cursor_pos_selection.text=""; cursor_pos_selection.moveStart("character",-1); vorTxt = cursor_pos_selection.text; if (vorTxt.length>1){ vorTxt=""; } event.keyCode = 0; if (richtung==2){ result = vorTxt+translitBuchstabeLat(txt) }else{ result = translitBuchstabeCyr(vorTxt,txt) } if (vorTxt!=""){ cursor_pos_selection.select(); cursor_pos_selection.collapse(); } with(document.selection.createRange()){ text = result; collapse(); select() } } return; } } function translateAlltoCyrillic(){ if (!IE){ txt = TxtFeld.value; var txtnew = translitBuchstabeCyr("",txt.substr(0,1)); var symb = ""; for (kk=1;kk<txt.length;kk++){ symb = translitBuchstabeCyr(txtnew.substr(txtnew.length-1,1),txt.substr(kk,1)); txtnew = txtnew.substr(0,txtnew.length-1) + symb; } TxtFeld.value = txtnew; setFocus() }else{ var is_selection_flag = 1; var userselection = document.selection.createRange(); var txt = userselection.text; if (userselection==null || userselection.text==null || userselection.parentElement==null || userselection.parentElement().type!="textarea"){ is_selection_flag = 0; txt = TxtFeld.value; } var txtnew = translitBuchstabeCyr("",txt.substr(0,1)); var symb = ""; for (kk=1;kk<txt.length;kk++){ symb = translitBuchstabeCyr(txtnew.substr(txtnew.length-1,1),txt.substr(kk,1)); txtnew = txtnew.substr(0,txtnew.length-1) + symb; } if (is_selection_flag){ userselection.text = txtnew; userselection.collapse(); userselection.select(); }else{ TxtFeld.value = txtnew; setFocus() } } return; } Скачать данную модификацию при использовании со SLAED CMS можно по адресу: http://www.slaed.net/index.php?name=Files&...ile&lid=295
×
×
  • Создать...

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

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