コード例 #1
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;
 }