السلام عليكم ورحمة الله وبركاته
أخواني قمت بتركيب الصندوق السحري أو الماسي كما يسميه البعض ووجدت أن عند تفعيل الـ html في المواضيع وبعض الساحات لا تعمل بعض خصائص هذا الصندوق مع الـ html خصوصاً تنسيق الشعر poem وإدراج الإطار frame وتدرج الألوان grade .
لذلك قمت بالبحث عن المشكله ووجدت عيوب كثيره في طريقة برمجة الصندوق مع الـ bbcode .
طريقة التعديل :
قم بفتح ملف functions_bbcodeparse.php
إبحث عن السطور التاليه :
كود PHP:
// [HIGHLIGHT]
$bbcodes['custom']['find']['[highlight]'] = '#\[highlight\](.*)\[/highlight\]#esiU';
$bbcodes['custom']['replace']['[highlight]'] = "handle_bbcode_parameter('\\1', '" . str_replace("'", "\'", '<span class="highlight">\1</span>') . "')";
$bbcodes['custom']['recurse']['highlight'][0] = array('replace_html' => "<span class=\"highlight\">\\7</span>");
بالأسفل منها قم بإضافة مايلي :
كود PHP:
// For Magic-Box Added By AL3NDALEEB
$bbcodes['custom']['find']['[poem'] = '#\[poe[m](\s|"|"|\'|)(.*)\\1\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/poe[m]\]#esiU';
$bbcodes['custom']['replace']['[poem'] = "handle_bbcode_normal('\\4', '\\2', '', 'poem')";
$bbcodes['custom']['recurse']['poem'][0] = array('handler' => 'handle_bbcode_normal');
$bbcodes['custom']['find']['[frame='] = '#\[frame=("|"|\'|)([0-9]+)[ ]+([0-9]+)[ ]*\\1\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/frame\]#esiU';
$bbcodes['custom']['replace']['[frame='] = "handle_bbcode_normal('\\5', '\\2', '\\3', 'frame')";
$bbcodes['custom']['recurse']['frame'][0] = array('handler' => 'handle_bbcode_normal');
$bbcodes['custom']['find']['[grade='] = '#\[grade("|"|\'|)(.*)\\1\](<br>|<br />|\r\n|\n|\r)??(.*)(<br>|<br />|\r\n|\n|\r)??\[/grade\]#esiU';
$bbcodes['custom']['replace']['[grade='] = "handle_bbcode_normal('\\4', '\\2', '', 'grade')";
$bbcodes['custom']['recurse']['grade'][0] = array('handler' => 'handle_bbcode_normal');
$bbcodes['custom']['find']['[hr]'] = '#\[hr\]#esiU';
$bbcodes['custom']['replace']['[hr]'] = "handle_bbcode_normal('hr', '', '', 'hr')";
$bbcodes['custom']['recurse']['hr'][0] = array('handler' => 'handle_bbcode_normal');
$bbcodes['custom']['find']['[line]'] = '#\[line\]#esiU';
$bbcodes['custom']['replace']['[line]'] = "handle_bbcode_normal('line', '', '', 'hr')";
$bbcodes['custom']['recurse']['line'][0] = array('handler' => 'handle_bbcode_normal');
//
قم بالذهاب إلى اخر الملف قبل علامة <؟ .
واضف مايلي قبلها :
كود PHP:
// For Magic-Box Added By AL3NDALEEB
function handle_bbcode_normal($message, $param1 = '', $param2 = '', $type = '' )
{
// remove empty codes
if (trim($message) == '' || $type == '')
{
return '';
}
// remove unnecessary escaped quotes
$message = strip_smilies(str_replace('\\"', '"', $message));
if($type == 'poem'){
$param1 = str_replace('\\"', '"', $param1);
$param1 = str_replace('"', '"', $param1);
// remove smilies from param
$param1 = strip_smilies($param1);
$html = '<div tag="'.$param1.'" style="display:none">'.$message.'</div><script>doPoem(0)</script>';
}elseif($type == 'frame'){
$param1 = str_replace('\\"', '"', $param1);
$param1 = str_replace('"', '"', $param1);
$param2 = str_replace('\\"', '"', $param2);
$param2 = str_replace('"', '"', $param2);
// remove smilies from param
$param1 = strip_smilies($param1);
$param2 = strip_smilies($param2);
$html = '<div id="myframe" tag="'.$param1.'|'.$param2.'|<smallfont>" style="display:none">'.$message.'</div><script>drawFrame()</script>';
}elseif($type == 'hr'){
$html = '<hr noshade size=1>';
}elseif($type == 'grade'){
$param1 = str_replace('\\"', '"', $param1);
$param1 = str_replace('"', '"', $param1);
// remove smilies from param
$param1 = strip_smilies($param1);
$html = '<div id="mygradient" tag="'.$param1.'" style="display:none">'.$message.'</div><script>drawGradient()</script>';
}
return $html;
}
قم بالبحث عن السطور التاليه وإزالتها إن وجدت .
كود PHP:
//******* MagicToolBox hack 2.5 for vB3 by Alawi Hussain (software@rayaheen.net)
require_once('./includes/extrabbcodes.php');
ExtraBBCodes($bbcode);
//******* End (MagicToolBox hack 2)
إحفظ الملف وقم برفعه مره أخرى
ملحوظه : الملف المعدل مرفق مع الموضوع .
تحياتي لكم وأي سؤال في الموضوع أنا حاضر .