تفضل اخى الحل فى موقع الشركة الرسمي
http://www.vbulletin.com/forum/showthread.php?t=208475
و ارفقتة لك
السبب فى هذه المشكلة هى الأكواد الجديدة للدالة fetch_no_shouting_text والمسؤولة عن تغيير الرموز الإنجليزية الكبيرة إلى رموز صغيرة عند تفعيل هذا الخيار من لوحة التحكم قد تغيرت وتسبب هذه المشكلة.
الخيار المعنى بلوحة التحكم هو ما يتم ترجمته بـ "منع الصراخ" أو بالإنجليزية "Prevent Shouting" ولذا فإن الحل أحد الأمرين:
إما أن يتم تعطيل هذه الخاصية من لوحة التحكم وذلك كالتالى: لوحة التحكم -> خيارات المنتدى -> إعدادات طريقة نشر المواضيع و الردود
ثم التوجه إلى منتصف الصفحة تقريباً لتجد الخيار المطلوب وهو "منع الصراخ" أو "Prevent Shouting" وتقوم بوضع القيمة 0 أمامه، قد تجد القيمة 1 أو 2 أو 3 وفى جميع الاحوال قم بتغييرها إلى 0.
الحل الثانى هو أن نستخدم أكواد الدالة القديمة والتى كانت تستخدم حتى الإصدار 3.6.2 وذلك إذا رغبت فى أن تستخدم هذا الخيار ولا تعطله وفى هذه الحالة عليك بعمل التالى:
التوجه إلى الملف includes/functions_newpost.php وفتحه والبحث بداخله عن الأكواد التالية:
كود PHP:
function fetch_no_shouting_text($text)
{
// stops $text being all UPPER CASE
global $vbulletin;
// we only actually touch a-z with vbstrtolower()
$effective_string = preg_replace('#[^a-z0-9\s]#i', '', $text);
if ($vbulletin->options['stopshouting'] AND vbstrlen($effective_string) >= $vbulletin->options['stopshouting'] AND $effective_string == strtoupper($effective_string))
{
return ucwords(vbstrtolower($text));
}
else
{
return $text;
}
}
ثم تقوم بإستبدالها بالأكواد التالية:
كود PHP:
function fetch_no_shouting_text($text)
{
// stops $text being all UPPER CASE
global $vbulletin;
return iif($vbulletin->options['stopshouting'] AND vbstrlen($text) >= $vbulletin->options['stopshouting'] AND $text == strtoupper($text), ucwords(vbstrtolower($text)), $text);
}