function buildWebsiteForm($affiliate) { // Initialise Ad Networks $oAdNetworks = new OA_Central_AdNetworks(); $form = new OA_Admin_UI_Component_Form("affiliateform", "POST", $_SERVER['PHP_SELF']); $form->forceClientValidation(true); $form->addElement('hidden', 'affiliateid', $affiliate['affiliateid']); $form->addElement('header', 'basic_info', $GLOBALS['strBasicInformation']); $form->addElement('text', 'website', $GLOBALS['strWebsiteURL']); $form->addElement('text', 'name', $GLOBALS['strName']); if (defined('OA_AD_DIRECT_ENABLED') && OA_AD_DIRECT_ENABLED === true) { $form->addElement('checkbox', 'advsignup', $GLOBALS['strAdvertiserSignup'], $GLOBALS['strAdvertiserSignupDesc'], array('disabled' => !$GLOBALS['_MAX']['CONF']['sync']['checkForUpdates'])); $form->addElement('custom', 'advertiser-signup-dialog', null, array('formId' => $form->getId()), false); } $form->addElement('text', 'contact', $GLOBALS['strContact']); $form->addElement('text', 'email', $GLOBALS['strEMail']); $form->addElement('select', 'category', $GLOBALS['strCategory'], $oAdNetworks->getCategoriesSelect(), array('style' => 'width: 16em;')); $catLangGroup['country'] = $form->createElement('select', 'country', null, $oAdNetworks->getCountriesSelect()); $catLangGroup['country']->setAttribute('style', 'width: 16em;'); $catLangGroup['lang'] = $form->createElement('select', 'language', null, $oAdNetworks->getLanguagesSelect()); $catLangGroup['lang']->setAttribute('style', 'width: 16em;'); $form->addGroup($catLangGroup, 'catlang_group', $GLOBALS['strCountry'] . ' / ' . $GLOBALS['strLanguage'], array(" "), false); $form->addElement('controls', 'form-controls'); $form->addElement('submit', 'save', 'Save changes'); //Form validation rules $translation = new OX_Translation(); $urlRequiredMsg = $translation->translate($GLOBALS['strXRequiredField'], array($GLOBALS['strWebsiteURL'])); $form->addRule('website', $urlRequiredMsg, 'required'); $form->addRule('website', $GLOBALS['strInvalidWebsiteURL'], 'regex', '#^http(s?)\\://.+$#'); $contactRequiredMsg = $translation->translate($GLOBALS['strXRequiredField'], array($GLOBALS['strContact'])); $form->addRule('contact', $contactRequiredMsg, 'required'); $nameRequiredMsg = $translation->translate($GLOBALS['strXRequiredField'], array($GLOBALS['strName'])); $form->addRule('name', $nameRequiredMsg, 'required'); $emailRequiredMsg = $translation->translate($GLOBALS['strXRequiredField'], array($GLOBALS['strEMail'])); $form->addRule('email', $emailRequiredMsg, 'required'); $form->addRule('email', $GLOBALS['strEmailField'], 'email'); //set form values $form->setDefaults($affiliate); $form->setDefaults(array("category" => $affiliate['oac_category_id'], "country" => $affiliate['oac_country_code'], "language" => $affiliate['oac_language_id'], 'advsignup' => !empty($affiliate['as_website_id']))); return $form; }