Проэкты сайты, и прочее - прочее.
Пересобранный пакет от neutral (Огромное уважение за проделанный !полезный многим! труд)
со всеми изменениями темы http://punbb.ru/viewtopic.php?id=203&p=1
Сам файл:
http://trijin.ru/forum/upload/Modern_BB … RePack.zip
Неактивен
Modern_BB_Code прекрасно работает, но... ошибочку в IE выдает: ....ошибка: "id" есть null... и т.п. Хоть она и не мешает функционированию, но... как то раздражает.
Сам стараюсь быстренько с таких сайтов уходить, обычно че нить там не в полную меру отрабатывает.
Не хотелось бы, что бы и с моего форума кто нибудь так же линял (да еще советчики всякие: "исправляй ошибки, а затем привлекай на форум посетителей...".
У Вас, уважаемый trijin, тоже такая ошибка. Как исправить? Если бы я разбирался в этом... Может кто подскажет, а?
Нашел ошибку: исправляем код modern_bbcode.js и в IE нет ошибок (исправьте пожалуйста в своем архиве)
/* =================================================================== */
/* 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);
}Отредактированно lans (2007-04-18 22:16:34)
Неактивен
Изменил. И внес изменения, только немного иные.
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;
}
}Неактивен
После вставки картинки с тегом "без обтекания" в предварительном просмотре сообщения выдавало ошибку 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
В файле readme.txt:
#
#---------[ 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
P.S. И "function documentClickHandler(target)" от ошибки IE тоже что то не нашел изменений
Отредактированно lans (2007-08-01 21:56:47)
Неактивен
lans написал:
После вставки картинки с тегом "без обтекания" в предварительном просмотре сообщения выдавало ошибку 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
При правильной инсталляции дополнения - такой ошибки нет.
Возможно вы вместо "BEFORE ADD"
сделали "REPLACE"?
потому что после установки дополнения функция handle_img_tag() остается.
lans написал:
P.S. И "function documentClickHandler(target)" от ошибки IE тоже что то не нашел изменений
действительно забыл залить. Исправил.
Неактивен
