/** * @author giorgio 29/mag/2013 * * added extra parameter to constructor to allow editing of student confirmed registration * */ public function __construct($languages = array(), $allowEditProfile = false, $allowEditConfirm = false, $action = null) { parent::__construct(); $this->addHidden('id_utente')->withData(0); /* * @author:Sara 20/05/2014 * Workaround to remove the Google-Chrome autocomplete functionality. */ $j = 'return remove_false_element()'; $this->setOnSubmit($j); $false_username = FormControl::create(FormControl::INPUT_TEXT, 'false_username', ''); $false_password = FormControl::create(FormControl::INPUT_PASSWORD, 'false_password', ''); $false_elements_fieldset = FormControl::create(FormControl::FIELDSET, 'false_elements_fieldset', ''); $false_elements_fieldset->setHidden(); $false_elements_fieldset->withData(array($false_username, $false_password)); $this->addControl($false_elements_fieldset); $this->addPasswordInput('password', translateFN('Password')); //->setValidator(FormValidator::PASSWORD_VALIDATOR); $this->addPasswordInput('passwordcheck', translateFN('Conferma la password')); /** * If the swithcer does not use this form to edit her own * profile, the avatar upload must be disabled */ if ($_SESSION['sess_userObj']->getType() != AMA_TYPE_SWITCHER || !$allowEditConfirm) { $this->addFileInput('avatarfile', translateFN('Seleziona un file immagine per il tuo avatar')); $this->addTextInput('avatar', NULL); } if ($action != null) { $this->setAction($action); } /// $this->addTextInput('telefono', translateFN('Telefono')); $telefono = FormControl::create(FormControl::INPUT_TEXT, 'telefono', translateFN('Telefono')); $cap = FormControl::create(FormControl::INPUT_TEXT, 'cap', translateFN('cap')); $citta = FormControl::create(FormControl::INPUT_TEXT, 'citta', translateFN('Città')); $indirizzo = FormControl::create(FormControl::INPUT_TEXT, 'indirizzo', translateFN('Indirizzo')); $provincia = FormControl::create(FormControl::INPUT_TEXT, 'provincia', translateFN('Provincia')); $countries = countriesList::getCountriesList($_SESSION['sess_user_language']); $nazione = FormControl::create(FormControl::SELECT, 'nazione', translateFN('Nazione')); $nazione->withData($countries); $this->addFieldset(translateFN('Dati residenza'), 'residenza')->withData(array($indirizzo, $cap, $citta, $provincia, $nazione, $telefono)); // $this->addTextInput('indirizzo', translateFN('Indirizzo')); // $this->addTextInput('citta', translateFN('Città')); // $this->addTextInput('provincia', translateFN('Provincia')); /* $countries = countriesList::getCountriesList($_SESSION['sess_user_language']); $this->addSelect( 'nazione', translateFN('Nazione'), $countries, 'IT'); * */ $this->addTextInput('codice_fiscale', translateFN('Cod. Fiscale')); /** * @author giorgio 29/mag/2013 * * added select field to allow editing of user confirmed registration status */ if ($allowEditConfirm) { $this->addSelect('stato', translateFN('Confermato'), array(ADA_STATUS_PRESUBSCRIBED => translateFN('No'), ADA_STATUS_REGISTERED => translateFN('Si')), 0); } //->setValidator(FormValidator::PASSWORD_VALIDATOR); if ($allowEditProfile) { $this->addTextarea('profilo', translateFN('Il tuo profilo utente')); } $layoutsAr = array('' => translateFN('seleziona un layout')); $layoutObj = new UILayout(); $avalaibleLayoutAr = $layoutObj->getAvailableLayouts(); $layouts = array_merge($layoutsAr, $avalaibleLayoutAr); $this->addSelect('layout', translateFN('Layout'), $layouts, 0); if (is_array($languages) && count($languages) > 0) { $languagesAr[0] = translateFN('seleziona una lingua'); $languages = array_replace($languagesAr, $languages); // $languages = array_merge($languagesAr,$languages); $this->addSelect('lingua', translateFN('Lingua'), $languages, 0); } }
private static function getFormForUser($form_action, $testersAr = array(), $user_dataAr = array(), $errorsAr = array()) { $form = CDOMElement::create('form', 'id:user_form, name:user_form, class:fec, method:post'); $form->setAttribute('action', $form_action); if (is_array($errorsAr) && isset($errorsAr['registration_error'])) { switch ($errorsAr['registration_error']) { case ADA_ADD_USER_ERROR: case ADA_ADD_USER_ERROR_TESTER: $error_message = translateFN("Si è verificato un errore nell'aggiunta dell'utente"); break; case ADA_ADD_USER_ERROR_USER_EXISTS: case ADA_ADD_USER_ERROR_USER_EXISTS_TESTER: $error_message = translateFN("Esiste già un utente con la stessa email dell'utente che si sta cercando di aggiungere"); break; case ADA_ADD_USER_ERROR_TESTER_ASSOCIATION: $error_message = translateFN("Si è verificato un errore durante l'associazione dell'utente al tester selezionato"); break; } $error_div = CDOMElement::create('div', 'class:error'); $error_div->addChild(new CText($error_message)); $form->addChild($error_div); } if (is_array($user_dataAr) && isset($user_dataAr['user_id'])) { $user_id = CDOMElement::create('hidden', 'id:user_id, name:user_id'); $user_id->setAttribute('value', $user_dataAr['user_id']); $form->addChild($user_id); } $testers_dataAr = array(); $testers_dataAr['none'] = translateFN("--Scegli un tester da associare--"); foreach ($testersAr as $key => $value) { $testers_dataAr[$key] = $value; } if (is_array($testersAr) && count($testersAr) > 0) { $user_testers = FormElementCreator::addSelect('user_tester', "Tester a cui associare l'utente", $testers_dataAr, $user_dataAr, $errorsAr); $form->addChild($user_testers); } $user_typeAr = array('none' => translateFN("--Seleziona il tipo di utente--"), AMA_TYPE_STUDENT => translateFN('Utente'), AMA_TYPE_TUTOR => translateFN('Tutor'), AMA_TYPE_SUPERTUTOR => translateFN('Super Tutor'), AMA_TYPE_SWITCHER => translateFN('Switcher'), AMA_TYPE_AUTHOR => translateFN('Autore'), AMA_TYPE_ADMIN => translateFN('Amministratore')); $user_type = FormElementCreator::addSelect('user_type', 'Tipo di utente', $user_typeAr, $user_dataAr, $errorsAr); $form->addChild($user_type); $user_firstname = FormElementCreator::addTextInput('user_firstname', 'Nome', $user_dataAr, $errorsAr); $form->addChild($user_firstname); $user_lastname = FormElementCreator::addTextInput('user_lastname', 'Cognome', $user_dataAr, $errorsAr); $form->addChild($user_lastname); $user_email = FormElementCreator::addTextInput('user_email', 'E-mail', $user_dataAr, $errorsAr); $form->addChild($user_email); $user_username = FormElementCreator::addTextInput('user_username', 'Username (min. 8 caratteri)', $user_dataAr, $errorsAr); $form->addChild($user_username); $user_password = FormElementCreator::addPasswordInput('user_password', 'Password (min. 8 caratteri)', $errorsAr); $form->addChild($user_password); $user_passwordcheck = FormElementCreator::addPasswordInput('user_passwordcheck', 'Ripeti password', $errorsAr); $form->addChild($user_passwordcheck); /* $layoutsAr = array( 'none' => translateFN('seleziona un layout'), 'default' => 'default', 'masterstudio' => 'masterstudio' ); * */ $layoutsAr = array('none' => translateFN('seleziona un layout')); $layoutObj = new UILayout(); $availableLayout = $layoutObj->getAvailableLayouts(); foreach ($availableLayout as $familyLayoutIdentifier => $familyLayoutValue) { $layoutsAr[$familyLayoutIdentifier] = $familyLayoutValue; } $user_layout = FormElementCreator::addSelect('user_layout', 'Layout', $layoutsAr, $user_dataAr); $form->addChild($user_layout); $user_address = FormElementCreator::addTextInput('user_address', 'Indirizzo', $user_dataAr, $errorsAr); $form->addChild($user_address); $user_city = FormElementCreator::addTextInput('user_city', 'Città', $user_dataAr, $errorsAr); $form->addChild($user_city); $user_province = FormElementCreator::addTextInput('user_province', 'Provincia', $user_dataAr, $errorsAr); $form->addChild($user_province); $user_country = FormElementCreator::addTextInput('user_country', 'Nazione', $user_dataAr, $errorsAr); $form->addChild($user_country); $user_fiscal_code = FormElementCreator::addTextInput('user_fiscal_code', 'Codice Fiscale', $user_dataAr, $errorsAr); $form->addChild($user_fiscal_code); $user_birthdate = FormElementCreator::addDateInput('user_birthdate', 'Data di Nascita', $user_dataAr, $errorsAr); $form->addChild($user_birthdate); $user_birthcity = FormElementCreator::addTextInput('user_birthcity', 'Comune o stato estero di nascita', $user_dataAr, $errorsAr); $form->addChild($user_birthcity); $user_birthprovince = FormElementCreator::addTextInput('user_birthprovince', 'Provincia di nascita', $user_dataAr, $errorsAr); $form->addChild($user_birthprovince); $sexAr = array('M' => 'M', 'F' => 'F'); $user_sex = FormElementCreator::addSelect('user_sex', 'Sesso', $sexAr, $user_dataAr); $form->addChild($user_sex); $user_phone = FormElementCreator::addTextInput('user_phone', 'Telefono', $user_dataAr, $errorsAr); $form->addChild($user_phone); $buttons = FormElementCreator::addSubmitAndResetButtons(); $form->addChild($buttons); return $form; }