كود PHP:
// Name of this form
$formname = "form";
if ($_REQUEST['do'] == $formname)
{
$vbulletin->input->clean_array_gpc('p', array(
'normalanswer1' => STR,
'radioanswer1' => STR,
'radioanswer2' => STR,
'radioanswer3' => STR,
'radioanswer3other' => STR,
'answer1' => STR,
'answer2' => STR,
'answer3' => STR,
'longanswer1' => STR,
'action' => STR
));
$normalanswer1 =& $vbulletin->GPC['normalanswer1'];
$radioanswer1 =& $vbulletin->GPC['radioanswer1'];
$radioanswer2 =& $vbulletin->GPC['radioanswer2'];
$radioanswer3 =& $vbulletin->GPC['radioanswer3'];
$radioanswer3other =& $vbulletin->GPC['radioanswer3other'];
$answer1 =& $vbulletin->GPC['answer1'];
$answer2 =& $vbulletin->GPC['answer2'];
$answer3 =& $vbulletin->GPC['answer3'];
$longanswer1 =& $vbulletin->GPC['longanswer1'];
// #######################################################################
// ######################## CUSTOMIZE VARIABLES ##########################
// #######################################################################
////////////////////////////////////////////////////////////////////////////////////////////////////
////// BEGIN CUSTOMIZATION BELOW////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//USERGROUPS ALLOWED
//You can add or remove usegroups that are ALLOWED to use this form by changing the numbers below in the array.
//You may remove this feature by adding a '//' before the 'if'.
////////////////////////////////////////////////////////////////////////////////////////////////////
if (!in_array($vbulletin->userinfo['usergroupid'], array(2,5,6,7))) print_no_permission();
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//NAME OF TEMPLATES - DO THIS BIT IF YOU ARE MAKING MORE FORMS أسماء القوالب - إستخدم هذه القوالب إذا كنت إضافة أكثر من فورم
////////////////////////////////////////////////////////////////////////////////////////////////////
// Name of the main template
$maintemplate = "form";
// Name of the answer template
$answertemplate = "formanswers";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//CHOOSE WHETHER YOU WANT FORM TO BE POSTED IN A NEW THREAD, NEW POLL, REPLY TO EXISITING THREAD, PMed OR EMAILED
//خيارات إضافة الطلبات في موضوع جديد ، تصويت ، مشاركة على موضوع ، رسالة خاصة ، أو رسالة بريدية
///////////////////////////////////////////////////////////////////////////////////////////////////
//ENABLE FORM TO BE POSTED - 1 = yes, 0 = no لتفعيل الفورم 1 = نعم ، 0 = لا
$formforum = "0";
//FORUM TO POST NEW THREAD IN حدد رقم القسم المراد اضافة الموضوع فيه. فم بالتغيير على الرقه 14 الى رقم القسم المراد
$formforumid = "14";
//ENABLE POLL TO BE CREATED - 1 = yes, 0 = no غير الرقم الى 1 اذا كنت تريد تفعيل التصويت
$formpoll = "0";
$polloption[1] = "نعم";
$polloption[2] = "لا";
$polloption[3] = "ربما";
////////////////////////////////////////////////////////////////////////////////////////////////////
//ENABLE FORM TO REPLY TO EXISTING THREAD - 1 = yes, 0 = no غير الرقم الى 1 اذا كنت تريد الطلب يضاف الى موضوع
$formreply = "0";
//EXISTING THREAD ID FOR FORM TO REPLY IN حدد الموضوع الذي تريد الطلب يضاف اليها
$formreplythreadid = "12345";
////////////////////////////////////////////////////////////////////////////////////////////////////
//ENABLE FORM TO BE PMED - 1 = yes, 0 = no لإرسال الطلبات على الرسائل الخاصه غير الرقم الى 1
$formpm = "1";
//USERNAME TO PM TO اكتب اسم العضو الذي تريد تصل اليه الطلبات
$formpmname = "Casper";
////////////////////////////////////////////////////////////////////////////////////////////////////
//ENABLE FORM TO BE EMAILED - 1 = yes, 0 = no غير الرقم الى 1 اذا اردت ارسال الطلبات على البريد
$formemail = "1";
//EMAIL ADDRESS TO EMAIL TO حدد الايميل المراد
$formemailaddress = "C.asper@msn.com";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//REDIRECT OPTIONS: بعد تقديم الطلب ماذا تريد ان تفعل
// 0 - thank you message (thread, reply, pm, or email) رسالة شكر
// 1 - redirect to post (thread or reply) الإنتقال الى الموضوع او المشاركه
// 2 - redirect to thread (thread only) الانتقال الى الموضوع
// 3 - redirect to forum (thread only) الانتقال الى القسم
// 4 - redirect to editpost to upload attachments (thread or reply) الانتقال الى الموضوع مع التعديل عليه لإضافة مرفقات
//
// Feel free to change the thank you message if you choose option 0
////////////////////////////////////////////////////////////////////////////////////////////////////
$redirectoption = "0";
$errormessage = "شكراً لك لتقيدم طلب الاشراف للنهوض بشبكة ومنتديات صباحو. وستقوم الإدارة بمراسلتك قريباً."; //This is the thank you message
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//FORCE USER TO ANSWER ALL QUESTIONS - 1 = yes, 0 = no غير الرقم الى 1 اذا اردت فرض اجابة جميع الاسئلة
////////////////////////////////////////////////////////////////////////////////////////////////////
$answerall = "0";
////////////////////////////////////////////////////////////////////////////////////////////////////
//TITLE OF FORM (do not use quotation marks or you will get a parse error) عنوان الفورم
////////////////////////////////////////////////////////////////////////////////////////////////////
$formtitle = "ركن طلبات الإشراف";
////////////////////////////////////////////////////////////////////////////////////////////////////
//TITLE OF THREAD/POST/PM/EMAIL (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////
$posttitle = "$formtitle";
////////////////////////////////////////////////////////////////////////////////////////////////////
//PURPOSE OF FORM (do not use quotation marks or you will get a parse error) شرح للفورم
////////////////////////////////////////////////////////////////////////////////////////////////////
$formpurpose = "هذا الملف تم عمله لإستقبال طلبات الإشراف.";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//NORMAL INPUT BOX : QUESTION 1 (do not use quotation marks or you will get a parse error) سؤال عام
////////////////////////////////////////////////////////////////////////////////////////////////////
$normalquestion1 = "القسم المراد الإشراف عليه؟";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//RADIO BOX CHOICES : QUESTION 1 (do not use quotation marks or you will get a parse error) سؤال خياري
////////////////////////////////////////////////////////////////////////////////////////////////////
$radioquestion1 = "الجنس؟";
// The following choices must NOT have quotation marks
$radiochoice1a = "ذكر";
$radiochoice1b = "إنثى";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//RADIO BOX CHOICES : QUESTION 2 (do not use quotation marks or you will get a parse error) سؤال خياري بثلاث خيارات
////////////////////////////////////////////////////////////////////////////////////////////////////
$radioquestion2 = "مدة التسجيل؟";
// The following choices must NOT have quotation marks
$radiochoice2a = "اسبوع";
$radiochoice2b = "شهر";
$radiochoice2c = "سنه";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//RADIO BOX CHOICES : QUESTION 3 (do not use quotation marks or you will get a parse error) سؤال خياري مع الشرح اذا كانت اجابتك بنعم
////////////////////////////////////////////////////////////////////////////////////////////////////
$radioquestion3 = "هل تستحق الإشراف؟";
// The following choices must NOT have quotation marks
$radiochoice3a = "نعم";
$radiochoice3b = "لا";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//QUESTION 1 (do not use quotation marks or you will get a parse error)
$question1 = "الإسم الحقيقي؟";
$explain1 = "هنا اكتب اسمك الحقيقي.";
//QUESTION 2 (do not use quotation marks or you will get a parse error)
$question2 = "البريد الشخصي؟";
$explain2 = "هنا اكتب بريدك الشخصي.";
//QUESTION 3 (do not use quotation marks or you will get a parse error)
$question3 = "تأكيد البريد الشخصي؟";
$explain3 = "اعادة كتابة البريد الاليكتروني.";
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
//LONG TEXT AREA INPUT: QUESTION 1 (do not use quotation marks or you will get a parse error)
////////////////////////////////////////////////////////////////////////////////////////////////////
$longquestion1 = "اتكلم عن نفسك وعن خبراتك في القسم المحدد؟";
$longexplain1 = "هنا اتكلم عن نفسك بما ينفعك للحصول على الإشراف والتغييرات التي تتوقع إحداثها على القسم.";
////////////////////////////////////////////////////////////////////////////////////////////////
////// END OF CUSTOMIZATION ////////////////////////////////////////////////////////////////////
///// DO NOT CHANGE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING!!! ////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////
// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################
$bbuserinfo = $vbulletin->userinfo;
// start navbar
$navbits = array();
$navbits['newthread.php?' . $vbulletin->session->vars['sessionurl'] . "do=$formname"] = $formtitle;
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
if ($vbulletin->GPC['action']=="submit")
{
if ($answerall == "1")
{
if ($normalanswer1 == '' OR $radioanswer1 == '' OR $radioanswer2 == '' OR $radioanswer3 == '' OR $answer1 == '' OR $answer2 == '' OR $answer3 == '' OR $longanswer1 == '')
{
$errormessage = "$bbuserinfo[username], you need to answer every question!";
eval('print_output("' . fetch_template('STANDARD_ERROR') . '");');
exit();
}
}
eval('$formsend = "' . fetch_template("$answertemplate") . '";');
if ($formforum == "1")
{
$foruminfo = verify_id('forum', $formforumid, 0, 1);
$forumperms = fetch_permissions($foruminfo[forumid]);
$newpost['message'] =& $formsend;
$newpost['title'] =& $posttitle;
$newpost['parseurl'] = '1';
$newpost['emailupdate'] = '9999';
if ($vbulletin->userinfo['signature'] != '')
{
$newpost['signature'] = '1';
}
else
{
$newpost['signature'] = '0';
}
build_new_post('thread', $foruminfo, array(), array(), $newpost, $errors);
if ($formpoll == "1")
{
$threadinfo = verify_id('thread', $newpost[threadid], 0, 1);
$polloptions = count($polloption);
$question = $posttitle;
$vbulletin->GPC['options'] = $polloption;
$counter = 0;
$optioncount = 0;
$badoption = '';
while ($counter++ < $polloptions)
{ // 0..Pollnum-1 we want, as arrays start with 0
if ($vbulletin->options['maxpolllength'] AND vbstrlen($vbulletin->GPC['options']["$counter"]) > $vbulletin->options['maxpolllength'])
{
$badoption .= iif($badoption, ', ') . $counter;
}
if (!empty($vbulletin->GPC['options']["$counter"]))
{
$optioncount++;
}
}
// Add the poll
$poll =& datamanager_init('Poll', $vbulletin, ERRTYPE_STANDARD);
$counter = 0;
while ($counter++ < $polloptions)
{
if ($vbulletin->GPC['options']["$counter"] != '')
{
$poll->set_option($vbulletin->GPC['options']["$counter"]);
}
}
$poll->set('question', $question);
$poll->set('dateline', TIMENOW);
$poll->set('active', '1');
$pollid = $poll->save();
//end create new poll
// update thread
$threadman =& datamanager_init('Thread', $vbulletin, ERRTYPE_STANDARD, 'threadpost');
$threadman->set_existing($threadinfo);
$threadman->set('pollid', $pollid);
$threadman->save();
}
}
if ($formreply == "1")
{
$threadinfo = verify_id('thread', $formreplythreadid, 0, 1);
$forumperms = fetch_permissions($threadinfo[forumid]);
$newpost['message'] =& $formsend;
$newpost['title'] =& $posttitle;
$newpost['parseurl'] = "1";
$newpost['emailupdate'] = '9999';
if ($vbulletin->userinfo['signature'] != '')
{
$newpost['signature'] = '1';
}
else
{
$newpost['signature'] = '0';
}
build_new_post('reply', $foruminfo, $threadinfo, $postinfo, $newpost, $errors);
}
if ($formpm == "1")
{
$vbulletin->GPC['message'] =& $formsend;
$vbulletin->GPC['title'] =& $posttitle;
$vbulletin->GPC['recipients'] =& $formpmname;
$pm['message'] =& $vbulletin->GPC['message'];
$pm['title'] =& $vbulletin->GPC['title'];
$pm['recipients'] =& $vbulletin->GPC['recipients'];
// create the DM to do error checking and insert the new PM
$pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_ARRAY);
$pmdm->set('fromuserid', $vbulletin->userinfo['userid']);
$pmdm->set('fromusername', $vbulletin->userinfo['username']);
$pmdm->setr('title', $pm['title']);
$pmdm->setr('message', $pm['message']);
$pmdm->set_recipients($pm['recipients'], $permissions);
$pmdm->set('dateline', TIMENOW);
// everything's good!
$pmdm->save();
}
if ($formemail == "1")
{
vbmail($formemailaddress, $posttitle, $formsend);
}
if ($redirectoption == "1")
{
$vbulletin->url = 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . "p=$newpost[postid]";
eval(print_standard_redirect('redirect_postthanks'));
exit();
}
if ($redirectoption == "2")
{
$vbulletin->url = 'showthread.php?' . $vbulletin->session->vars['sessionurl'] . "t=$newpost[threadid]";
eval(print_standard_redirect('redirect_postthanks'));
exit();
}
if ($redirectoption == "3")
{
$vbulletin->url = 'forumdisplay.php?' . $vbulletin->session->vars['sessionurl'] . "f=$foruminfo[forumid]";
eval(print_standard_redirect('redirect_postthanks'));
exit();
}
if ($redirectoption == "4")
{
$vbulletin->url = 'editpost.php?do=editpost&' . $vbulletin->session->vars['sessionurl'] . "p=$newpost[postid]";
eval(print_standard_redirect('redirect_postthanks'));
exit();
}
eval('print_output("' . fetch_template('STANDARD_ERROR') . '");');
exit();
}
eval('print_output("' . fetch_template("$maintemplate") . '");');
}