أهلا ..
بعد قرائتي للكود وجدت انه يستخدم دالتين .. ليتلقف المتغيرات القادمه من الطلب 
الاولى : clean_array_gpc( $global,$variable)
وتكتب هكذا
كود مقتبس من newthread.php
كود:
$vbulletin->input->clean_array_gpc('p', array(
'variable' => type,
..........
));
مثل
$vbulletin->input->clean_array_gpc('p', array(
'wysiwyg' => TYPE_BOOL,
'message' => TYPE_STR,
..........
));
ومعنى p هنا
_post
وtype = نوع المتغير
variable = مكانه
ولكل نوع حرف .. وهو الحرف الاول منه
* @param string Either, g, p, c, r or f (corresponding to get, post, cookie, request and files)
الثانيه هي :clean_gpc
وهي للمتغير الفردي
مثل
كود:
$vbulletin->input->clean_gpc('p', 'posthash', TYPE_NOHTML);
بنفس الترتيب السابق ..
حيث p = _post
posthash = إسم المتغير
TYPE_NOHTML = نوعه
ونوعه هي اساس التنظيف
وأيضاً هناك دوال اخرى مثل clean
ولكنها لمتغيرات العاديه أي غير مجلوبه عن طريق post ...etc ..
المهم لإستخدام المتغير بعد تنظيفه تنستخدم
كود:
$vbulletin->GPC['إسم المتغير']
مثل
$vbulletin->GPC['wysiwyg']
وهنا نعرف الانواع ومعانيها
كود:
define('TYPE_NOCLEAN', 0); // no change
define('TYPE_BOOL', 1); // force boolean
define('TYPE_INT', 2); // force integer
define('TYPE_UINT', 3); // force unsigned integer
define('TYPE_NUM', 4); // force number
define('TYPE_UNUM', 5); // force unsigned number
define('TYPE_UNIXTIME', 6); // force unix datestamp (unsigned integer)
define('TYPE_STR', 7); // force trimmed string //
define('TYPE_NOTRIM', 8); // force string - no trim
define('TYPE_NOHTML', 9); // force trimmed string with HTML made safe
define('TYPE_ARRAY', 10); // force array
define('TYPE_FILE', 11); // force file
define('TYPE_BINARY', 12); // force binary string
define('TYPE_NOHTMLCOND', 13); // force trimmed string with HTML made safe if determined to be unsafe
للإستزاده
إفتح ملف class_core.php
واعذرنا على اللخبطه
ونشوف الشباب ..