» trijin.ru форум http://trijin.ru/forum/index.php » Наработки по PunBB http://trijin.ru/forum/viewforum.php?id=10 » Modern_BB_Code_v1.0.0.trijin.RePack.zip http://trijin.ru/forum/viewtopic.php?id=12 |
trijin — 2006-06-20 02:09:51 |
Пересобранный пакет от neutral (Огромное уважение за проделанный !полезный многим! труд) |
lans — 2007-04-18 19:57:58 |
Modern_BB_Code прекрасно работает, но... ошибочку в IE выдает: ....ошибка: "id" есть null... и т.п. Хоть она и не мешает функционированию, но... как то раздражает. Код:/* =================================================================== */ /* MOD "MODERN BBCODE" JAVASCRIPT FUNCTIONS */ /* Author: neutral */ /* =================================================================== */ /* ======================= */ /* Common script variables */ /* ======================= */ var uagent = navigator.userAgent.toLowerCase(); var is_safari = ((uagent.indexOf('safari') != -1) || (navigator.vendor == "Apple Computer, Inc.")); var is_opera = (uagent.indexOf('opera') != -1); var is_webtv = (uagent.indexOf('webtv') != -1); var is_ie = ((uagent.indexOf('msie') != -1) && (!is_opera) && (!is_safari) && (!is_webtv)); var menu_ids = new Array(0, 1, 2, 3, 4); var dropdown_buttons = new Array( "color", "smiley", "size", "img", "list" ); var popup_panels = new Array( "colorpalette", "smilespanel", "sizepanel", "imgpanel", "listpanel" ); var opened_popup = -1; // only for ie fix var none_ie = new Array( "colorbtn", "smilesbtn", "sizebtn", "imgbtn", "listbtn" ); var none_ie_2 = new Array( "colorcontent", "smilescontent", "sizecontent", "imgcontent", "listcontent" ); /* =========================================== */ /* This function fixes toolbar width for Opera */ /* =========================================== */ function fixOperaWidth() { if (is_opera) { document.getElementById('bbcode').style.width = "99%"; document.getElementById('bbcode_adv').style.width = "99%"; } } /* ================================ */ /* Returns left posititon of object */ /* ================================ */ function getObjectLeftpos (obj) { var left = obj.offsetLeft; while ((obj = obj.offsetParent) != null) { left += obj.offsetLeft; } return left; } /* ================================ */ /* Returns top posititon of object */ /* ================================ */ function getObjectToppos(obj) { var top = obj.offsetTop; while ((obj = obj.offsetParent) != null) { top += obj.offsetTop; } return top; } /* ============================ */ /* Generates list tag structure */ /* ============================ */ function tag_list( type ) { var listitem = "init"; var thelist = ""; opentag = ( type == 'ordered' ) ? '[listo]' : '[list]'; closetag = ( type == 'ordered' ) ? '[/listo]' : '[/list]'; while ((listitem != "") && (listitem != null)) { listitem = prompt(list_prompt, ""); if ((listitem != "") && (listitem != null)) { thelist = thelist + "[li]" + listitem + "[/li]"; } } if ( thelist != "" ) { thelist = opentag + thelist + closetag; insert_text(thelist, ""); } } /* =================== */ /* Hides poped up menu */ /* =================== */ function hide_poped_menu() { if (opened_popup >= 0) { var btn_id = dropdown_buttons[opened_popup]; var popup_id = popup_panels[opened_popup]; document.getElementById(popup_id).style.visibility = "hidden"; document.getElementById(popup_id).style.display = "none"; opened_popup = -1; document.getElementById(btn_id).className = 'dropdown'; } } function documentClickHandler(target) { if (!is_ie) { for (var i = 0; i < menu_ids.length; i++) { if (target.id == dropdown_buttons[i]) return true; } if (target.className == "abtn") return true; hide_poped_menu(); return true; } } /* ===================================== */ /* Shows popup menu specified by menu_id */ /* ===================================== */ function popup_menu(menu_id) { var btn_id = dropdown_buttons[menu_id]; btnElement = document.getElementById(btn_id); var iLeftPos = getObjectLeftpos(btnElement); var iTopPos = getObjectToppos(btnElement) + (btnElement.offsetHeight - 1); if (is_ie) { iLeftPos += 3; iTopPos += -9; } var popup_id = popup_panels[menu_id]; document.getElementById(popup_id).style.left = (iLeftPos) + "px"; document.getElementById(popup_id).style.top = (iTopPos) + "px"; if (opened_popup == menu_id) { hide_poped_menu(); return; } hide_poped_menu(); document.getElementById(popup_id).style.visibility = "visible"; document.getElementById(popup_id).style.display = "inline"; document.getElementById(btn_id).className = 'dropdown_opened'; if (is_ie) { document.getElementById(none_ie[menu_id]).style.visibility = "hidden"; document.getElementById(none_ie_2[menu_id]).className = "popupcontent_ie"; } opened_popup = menu_id; return; } function mouseover_menu(menu_id) { if (opened_popup < 0) return; if (opened_popup != menu_id) popup_menu(menu_id); } |
trijin — 2007-04-19 20:28:49 |
Благодарю. Вечером разберусь, исправлю и перезалью. |
trijin — 2007-04-20 02:25:37 |
Изменил. И внес изменения, только немного иные. Код:function documentClickHandler(target) { try { for (var i = 0; i < menu_ids.length; i++) { if (target.id == dropdown_buttons[i]) return true; } if (target.className == "abtn") return true; hide_poped_menu(); return true; } catch(e) { // IE Error hide_poped_menu(); return true; } } |
lans — 2007-08-01 21:28:57 |
После вставки картинки с тегом "без обтекания" в предварительном просмотре сообщения выдавало ошибку Fatal error: Call to undefined function handle_img_tag() in /home/users/l/lans/vmarx.net/doc/include/parser.php(450) : regexp code on line 1 Код:# #---------[ 6. FIND (line:449) ]--------------------------------------------------- # if ($pun_config['p_message_img_tag'] == '1') { // $text = preg_replace('#\[img\]((ht|f)tps?://)([^\s<"]*?)\.(jpg|jpeg|png|gif)\[/img\]#e', 'handle_img_tag(\'$1$3.$4\')', $text); $text = preg_replace('#\[img\]((ht|f)tps?://)([^\s<"]*?)\[/img\]#e', 'handle_img_tag(\'$1$3\')', $text); } # #---------[ 6. REPLACE WITH ]--------------------------------------------------- и далее.. Вместо Код:$text = preg_replace('#\[img\]((ht|f)tps?://)([^\s<"]*?)\[/img\]#e', 'handle_img_tag(\'$1$3\')', $text); вставил Код:$text = preg_replace('#\[img\]((ht|f)tps?://)([^\s<"]*?)\[/img\]#e', 'handle_img_tag_modern(\'none\', \'$1$3\')', $text); Только после этого стало работать. Если я прав - не плохо было бы в Modern_BB_Code_v1.0.0.trijin.RePack.zip подправить readme.txt |
trijin — 2007-10-01 03:01:12 |
При правильной инсталляции дополнения - такой ошибки нет.
действительно забыл залить. Исправил. |