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; }