/** * * Method to generate the html for the form template * * @access public * @return string $string The html string to be sent to the template */ public function showMain() { if ($this->check) { $userArray = $this->objDBusers->getUser($this->userId); } else { $userArray = $this->objUserAdmin->getUserDetails($this->userId); } $titleValue = $userArray['title']; $firstNameValue = $userArray['firstname']; $lastNameValue = $userArray['surname']; $genderValue = $userArray['sex']; $countryValue = $userArray['country']; $emailAddressValue = $userArray['emailaddress']; $contactNumberValue = $userArray['cellnumber']; $userId = $userArray['userid']; $passwordValue = NULL; $confirmPasswordValue = NULL; if ($this->check) { $middleNameValue = $userArray['middle_name']; $dayValue = !empty($userArray['date_of_birth']) ? date('j', strtotime($userArray['date_of_birth'])) : NULL; $monthValue = !empty($userArray['date_of_birth']) ? date('n', strtotime($userArray['date_of_birth'])) : NULL; $yearValue = !empty($userArray['date_of_birth']) ? date('Y', strtotime($userArray['date_of_birth'])) : NULL; if (!empty($userArray['address'])) { $address = explode('|', $userArray['address']); $addressOneValue = $address[0]; $addressTwoValue = $address[1]; } else { $addressOneValue = NULL; $addressTwoValue = NULL; } $cityValue = $userArray['city']; $stateValue = $userArray['state']; $postalCodeValue = $userArray['postal_code']; $schoolIdValue = $userArray['school_id']; $schoolArray = $this->objDBschools->getSchool($schoolIdValue); $schoolValue = $schoolArray['name']; $descriptionValue = $userArray['description']; } else { $staffNumberValue = $userArray['staffnumber']; } $errors = $this->getSession('errors'); $titleValue = !empty($errors) ? $errors['data']['title'] : $titleValue; $firstNameValue = !empty($errors) ? $errors['data']['first_name'] : $firstNameValue; $lastNameValue = !empty($errors) ? $errors['data']['last_name'] : $lastNameValue; $genderValue = !empty($errors) ? $errors['data']['gender'] : $genderValue; $countryValue = !empty($errors) ? $errors['data']['country'] : $countryValue; $emailAddressValue = !empty($errors) ? $errors['data']['email_address'] : $emailAddressValue; $contactNumberValue = !empty($errors) ? $errors['data']['contact_number'] : $contactNumberValue; $passwordValue = !empty($errors) ? $errors['data']['password'] : $passwordValue; $confirmPasswordValue = !empty($errors) ? $errors['data']['confirm_password'] : $confirmPasswordValue; $titleError = !empty($errors) && array_key_exists('title', $errors['errors']) ? $errors['errors']['title'] : NULL; $firstNameError = !empty($errors) && array_key_exists('first_name', $errors['errors']) ? $errors['errors']['first_name'] : NULL; $lastNameError = !empty($errors) && array_key_exists('last_name', $errors['errors']) ? $errors['errors']['last_name'] : NULL; $genderError = !empty($errors) && array_key_exists('gender', $errors['errors']) ? $errors['errors']['gender'] : NULL; $emailAddressError = !empty($errors) && array_key_exists('email_address', $errors['errors']) ? $errors['errors']['email_address'] : NULL; $passwordError = !empty($errors) && array_key_exists('password', $errors['errors']) ? $errors['errors']['password'] : NULL; if ($this->check) { $middleNameValue = !empty($errors) ? $errors['data']['middle_name'] : $middleNameValue; $dayValue = !empty($errors) ? $errors['data']['date_of_birth'][0] : $dayValue; $monthValue = !empty($errors) ? $errors['data']['date_of_birth'][1] : $monthValue; $yearValue = !empty($errors) ? $errors['data']['date_of_birth'][2] : $yearValue; $addressOneValue = !empty($errors) ? $errors['data']['address'][0] : $addressOneValue; $addressTwoValue = !empty($errors) ? $errors['data']['address'][1] : $addressTwoValue; $cityValue = !empty($errors) ? $errors['data']['city'] : $cityValue; $stateValue = !empty($errors) ? $errors['data']['state'] : $stateValue; $postalCodeValue = !empty($errors) ? $errors['data']['postal_code'] : $postalCodeValue; $schoolIdValue = !empty($errors) ? $errors['data']['school_id'] : $schoolIdValue; if (!is_null($schoolIdValue)) { $schoolArray = $this->objDBschools->getSchool($schoolIdValue); $schoolValue = $schoolArray['name']; } $descriptionValue = !empty($errors) ? $errors['data']['description'] : $descriptionValue; $schoolError = !empty($errors) && array_key_exists('school_id', $errors['errors']) ? $errors['errors']['school_id'] : NULL; $dateOfBirthError = !empty($errors) && array_key_exists('date_of_birth', $errors['errors']) ? $errors['errors']['date_of_birth'] : NULL; $addressError = !empty($errors) && array_key_exists('address', $errors['errors']) ? $errors['errors']['address'] : NULL; $cityError = !empty($errors) && array_key_exists('city', $errors['errors']) ? $errors['errors']['city'] : NULL; $stateError = !empty($errors) && array_key_exists('state', $errors['errors']) ? $errors['errors']['state'] : NULL; $postalCodeError = !empty($errors) && array_key_exists('postal_code', $errors['errors']) ? $errors['errors']['postal_code'] : NULL; $descriptionError = !empty($errors) && array_key_exists('description', $errors['errors']) ? $errors['errors']['description'] : NULL; } $titleLabel = $this->objLanguage->languageText('word_title', 'system', 'ERROR: word_title'); $mr = $this->objLanguage->languageText('title_mr', 'system', 'TITLE: title_mr'); $miss = $this->objLanguage->languageText('title_miss', 'system', 'TITLE: title_miss'); $mrs = $this->objLanguage->languageText('title_mrs', 'system', 'TITLE: title_mrs'); $ms = $this->objLanguage->languageText('title_ms', 'system', 'TITLE: title_ms'); $dr = $this->objLanguage->languageText('title_dr', 'system', 'TITLE: title_dr'); $rev = $this->objLanguage->languageText('title_rev', 'system', 'TITLE: title_rev'); $prof = $this->objLanguage->languageText('title_prof', 'system', 'TITLE: title_prof'); $assocprof = $this->objLanguage->languageText('title_assocprof', 'system', 'TITLE: title_assocprof'); $sir = $this->objLanguage->languageText('title_sir', 'system', 'TITLE: title_sir'); $dame = $this->objLanguage->languageText('title_dame', 'system', 'TITLE: title_dame'); $firstNameLabel = $this->objLanguage->languageText('phrase_firstname', 'system', 'ERROR: phrase_firstname'); $lastNameLabel = $this->objLanguage->languageText('phrase_lastname', 'system', 'ERROR: phrase_lastname'); $genderLabel = $this->objLanguage->languageText('word_gender', 'system', 'ERROR: word_gender'); $maleLabel = $this->objLanguage->languageText('word_male', 'system', 'ERROR: word_male'); $femaleLabel = $this->objLanguage->languageText('word_female', 'system', 'ERROR: word_female'); $dateOfBirthLabel = $this->objLanguage->languageText('phrase_dateofbirth', 'system', 'ERROR: phrase_dateofbirth'); $addressLabel = $this->objLanguage->languageText('word_address', 'system', 'ERROR: word_address'); $cityLabel = $this->objLanguage->languageText('word_city', 'system', 'ERROR: word_city'); $stateLabel = $this->objLanguage->languageText('word_state', 'system', 'ERROR: word_state'); $countryLabel = $this->objLanguage->languageText('word_country', 'system', 'ERROR: word_country'); $postalCodeLabel = $this->objLanguage->languageText('phrase_postalcode', 'system', 'ERROR: phrase_postalcode'); $emailAddressLabel = $this->objLanguage->languageText('phrase_emailaddress', 'system', 'ERROR: phrase_emailaddress'); $contactNumberLabel = $this->objLanguage->languageText('phrase_contactnumber', 'system', 'ERROR: phrase_contactnumber'); $usernameLabel = $this->objLanguage->languageText('word_username', 'system', 'ERROR: word_username'); $passwordLabel = $this->objLanguage->languageText('word_password', 'system', 'ERROR: word_password'); $confirmPasswordLabel = $this->objLanguage->languageText('phrase_confirmpassword', 'system', 'ERROR: phrase_confirmpassword'); $passwordNotAlike = $this->objLanguage->languageText('mod_userdetails_passwordsnotalike', 'userdetails', 'ERROR: mod_userdetails_passwordsnotalike'); $updateLabel = $this->objLanguage->languageText('mod_userdetails_updatedetails', 'userdetails', 'ERROR: mod_userdetails_updatedetails'); $successTitleLabel = $this->objLanguage->languageText('word_success', 'system', 'ERROR: word_success'); $successImageLabel = $this->objLanguage->languageText('mod_userdetails_userimagereset', 'userdetails', 'ERROR: mod_userdetails_userimagereset'); $resetLabel = $this->objLanguage->languageText('phrase_resetform', 'system', 'ERROR: phrase_resetform'); $successDetailsLabel = $this->objLanguage->languageText('mod_userdetails_detailssuccessfullyupdate', 'userdetails', 'ERROR: mod_userdetails_detailssuccessfullyupdate'); $successPasswordLabel = $this->objLanguage->languageText('mod_userdetails_passwordupdated', 'userdetails', 'ERROR: mod_userdetails_passwordupdated'); $errorLabel = $this->objLanguage->languageText('word_error', 'system', 'ERROR: word_error'); $noChangeLabel = $this->objLanguage->languageText('mod_userdetails_nochange', 'userdetails', 'ERROR: mod_userdetails_nochange'); if ($this->check) { $middleNameLabel = $this->objLanguage->languageText('mod_schoolusers_middlename', 'schoolusers', 'ERROR: mod_schoolusers_middlename'); $schoolLabel = $this->objLanguage->code2Txt('mod_schools_school', 'schools', NULL, 'ERROR: mod_schools_school'); $descriptionLabel = $this->objLanguage->languageText('mod_schoolusers_aboutyourself', 'schoolusers', 'ERROR: mod_schoolusers_aboutyourself'); } else { $staffNumberLabel = $this->objLanguage->languageText('phrase_staffstudnumber', 'system', 'ERROR: phrase_staffstudnumber'); } $arrayVars = array(); $arrayVars['password_not_alike'] = $passwordNotAlike; // pass password error to javascript. $this->objSvars->varsToJs($arrayVars); $bizcard = $this->showBizCard(); $objLayer = new layer(); $objLayer->id = 'bizcard'; $objLayer->str = $bizcard; $bizcardLayer = $objLayer->show(); $string = $bizcardLayer; // Show the userid so the user has a place to find it $uidExplain = $this->objLanguage->languageText('mod_userdetails_uidexplain', 'userdetails', 'Your user ID'); $objLayer = new layer(); $objLayer->id = 'userid_exp'; $objLayer->str = $uidExplain . ": <span class='uid'>" . $userId . "</span>"; $expLayer = $objLayer->show(); $string = $string . $expLayer; // set up html elements $objDrop = new dropdown('title'); $objDrop->addOption($mr, $mr); $objDrop->addOption($miss, $miss); $objDrop->addOption($mrs, $mrs); $objDrop->addOption($ms, $ms); $objDrop->addOption($dr, $dr); $objDrop->addOption($rev, $rev); $objDrop->addOption($prof, $prof); $objDrop->addOption($assocprof, $assocprof); $objDrop->addOption($sir, $sir); $objDrop->addOption($dame, $dame); $objDrop->setSelected($titleValue); $titleDrop = $objDrop->show(); $objInput = new textinput('first_name', $firstNameValue, '', '50'); $firstNameInput = $objInput->show(); $objInput = new textinput('last_name', $lastNameValue, '', '50'); $lastNameInput = $objInput->show(); $objRadio = new radio('gender'); $objRadio->addOption('M', $maleLabel); $objRadio->addOption('F', $femaleLabel); $objRadio->setSelected($genderValue); $genderRadio = $objRadio->show(); $countryDrop = $this->objCountries->countryAlpha($countryValue); $objInput = new textinput('email_address', $emailAddressValue, '', '50'); $emailAddressInput = $objInput->show(); $objInput = new textinput('contact_number', $contactNumberValue, '', '50'); $contactNumberInput = $objInput->show(); $objInput = new textinput('password', $passwordValue, 'password', '50'); $passwordInput = $objInput->show(); $objInput = new textinput('confirm_password', $confirmPasswordValue, 'password', '50'); $confirmPasswordInput = $objInput->show(); $objButton = new button('update', $updateLabel); $objButton->setToSubmit(); $updateButton = $objButton->show(); $objButton = new button('reset', $resetLabel); $objButton->setToSubmit(); $resetButton = $objButton->show(); if ($this->check) { $objInput = new textinput('school', $schoolValue, '', '50'); $schoolInput = $objInput->show(); $objInput = new textinput('school_id', $schoolIdValue, 'hidden', ''); $schoolIdInput = $objInput->show(); $objInput = new textinput('middle_name', $middleNameValue, '', '50'); $middleNameInput = $objInput->show(); $day = range(1, 31); array_unshift($day, '-'); $days = array_combine($day, $day); $months = array('-' => '-', 1 => 'Jan', 2 => 'Feb', 3 => 'Mar', 4 => 'Apr', 5 => 'May', 6 => 'Jun', 7 => 'Jul', 8 => 'Aug', 9 => 'Sep', 10 => 'Oct', 11 => 'Nov', 12 => 'Dec'); $year = range(date('Y'), date('Y') - 85); array_unshift($year, '-'); $years = array_combine($year, $year); $objDrop = new dropdown('date_of_birth[]'); $objDrop->extra = 'style="width: auto;"'; $objDrop->addFromArray($days); $objDrop->setSelected($dayValue); $dayDrop = $objDrop->show(); $objDrop = new dropdown('date_of_birth[]'); $objDrop->extra = 'style="width: auto;"'; $objDrop->addFromArray($months); $objDrop->setSelected($monthValue); $monthDrop = $objDrop->show(); $objDrop = new dropdown('date_of_birth[]'); $objDrop->extra = 'style="width: auto;"'; $objDrop->addFromArray($years); $objDrop->setSelected($yearValue); $yearDrop = $objDrop->show(); $objInput = new textinput('address[]', $addressOneValue, '', '50'); $addressOneInput = $objInput->show(); $objInput = new textinput('address[]', $addressTwoValue, '', '50'); $addressTwoInput = $objInput->show(); $objInput = new textinput('city', $cityValue, '', '50'); $cityInput = $objInput->show(); $objInput = new textinput('state', $stateValue, '', '50'); $stateInput = $objInput->show(); $objInput = new textinput('postal_code', $postalCodeValue, '', '50'); $postalCodeInput = $objInput->show(); $objText = new textarea('description', $descriptionValue); $descriptionText = $objText->show(); } else { $objInput = new textinput('staffnumber', $staffNumberValue, '', '50'); $staffNumberInput = $objInput->show(); } $objTable = new htmltable(); $objTable->cellpadding = '4'; if ($this->check) { $objTable->startRow(); $objTable->addCell('<b>' . ucfirst(strtolower($schoolLabel)) . ': </b>', '', '', '', '', '', ''); $objTable->addCell($schoolError . $schoolIdInput . $schoolInput, '', '', '', '', '', ''); $objTable->endRow(); } $objTable->startRow(); $objTable->addCell('<b>' . $titleLabel . ': </b>', '200px', '', '', '', '', ''); $objTable->addCell($titleError . $titleDrop, '', '', '', '', '', ''); $objTable->endRow(); $objTable->startRow(); $objTable->addCell('<b>' . $firstNameLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($firstNameError . $firstNameInput, '', '', '', '', '', ''); $objTable->endRow(); if ($this->check) { $objTable->startRow(); $objTable->addCell('<b>' . $middleNameLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($middleNameInput, '', '', '', '', '', ''); $objTable->endRow(); } $objTable->startRow(); $objTable->addCell('<b>' . $lastNameLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($lastNameError . $lastNameInput, '', '', '', '', '', ''); $objTable->endRow(); if (!$this->check) { $objTable->startRow(); $objTable->addCell('<b>' . $staffNumberLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($staffNumberInput, '', '', '', '', '', ''); $objTable->endRow(); } $objTable->startRow(); $objTable->addCell('<b>' . $genderLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($genderError . $genderRadio, '', '', '', '', '', ''); $objTable->endRow(); if ($this->check) { $objTable->startRow(); $objTable->addCell('<b>' . $dateOfBirthLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($dateOfBirthError . $dayDrop . ' / ' . $monthDrop . ' / ' . $yearDrop, '', '', '', '', '', ''); $objTable->endRow(); $objTable->startRow(); $objTable->addCell('<b>' . $addressLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($addressError . $addressOneInput, '', '', '', '', '', ''); $objTable->endRow(); $objTable->startRow(); $objTable->addCell('', '', '', '', '', '', ''); $objTable->addCell($addressTwoInput, '', '', '', '', '', ''); $objTable->endRow(); $objTable->startRow(); $objTable->addCell('<b>' . $cityLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($cityError . $cityInput, '', '', '', '', '', ''); $objTable->endRow(); $objTable->startRow(); $objTable->addCell('<b>' . $stateLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($stateError . $stateInput, '', '', '', '', '', ''); $objTable->endRow(); } $objTable->startRow(); $objTable->addCell('<b>' . $countryLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($countryDrop, '', '', '', '', '', ''); $objTable->endRow(); if ($this->check) { $objTable->startRow(); $objTable->addCell('<b>' . $postalCodeLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($postalCodeError . $postalCodeInput, '', '', '', '', '', ''); $objTable->endRow(); } $objTable->startRow(); $objTable->addCell('<b>' . $emailAddressLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($emailAddressError . $emailAddressInput, '', '', '', '', '', ''); $objTable->endRow(); $objTable->startRow(); $objTable->addCell('<b>' . $contactNumberLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($contactNumberInput, '', '', '', '', '', ''); $objTable->endRow(); if ($this->check) { $objTable->startRow(); $objTable->addCell('<b>' . $descriptionLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($descriptionError . $descriptionText, '', '', '', '', '', ''); $objTable->endRow(); } $objTable->startRow(); $objTable->addCell('<b>' . $usernameLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell('<strong>' . $userArray['username'] . '</strong>', '', '', '', '', '', ''); $objTable->endRow(); $objTable->startRow(); $objTable->addCell('<b>' . $passwordLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($passwordError . $passwordInput, '', '', '', '', '', ''); $objTable->endRow(); $objTable->startRow(); $objTable->addCell('<b>' . $confirmPasswordLabel . ': </b>', '', '', '', '', '', ''); $objTable->addCell($confirmPasswordInput, '', '', '', '', '', ''); $objTable->endRow(); $objTable->startRow(); $objTable->addCell($updateButton . ' ' . $resetButton, '', '', '', '', 'colspan="2"', ''); $objTable->endRow(); $userTable = $objTable->show(); $objForm = new form('user', $this->uri(array('action' => 'validate'), 'userdetails')); $objForm->extra = ' enctype="multipart/form-data"'; $objForm->addToForm($userTable); $addForm = $objForm->show(); $string .= '<br />' . $addForm; $this->objDialog = $this->newObject('dialog', 'jquerycore'); $this->objDialog->setCssId('dialog_imagereset'); $this->objDialog->setTitle(ucwords($successTitleLabel)); $this->objDialog->setCloseOnEscape(FALSE); $this->objDialog->setContent('<span class="success">' . $successImageLabel . '</span>'); $this->objDialog->setAutoOpen(FALSE); $this->objDialog->setOpen("jQuery('.ui-dialog-titlebar-close').hide();"); $dialog = $this->objDialog->show(); $success = $this->getSession('success', NULL); if (!empty($success)) { if (in_array('no change', $success)) { $this->objDialog = $this->newObject('dialog', 'jquerycore'); $this->objDialog->setCssId('dialog_nochange'); $this->objDialog->setTitle(ucwords($errorLabel)); $this->objDialog->setCloseOnEscape(FALSE); $this->objDialog->setContent('<span class="error">' . $noChangeLabel . '</span>'); $this->objDialog->setAutoOpen(TRUE); $this->objDialog->setOpen("jQuery('.ui-dialog-titlebar-close').hide();"); $this->objDialog->setBeforeClose('resetSession(this)'); $dialog .= $this->objDialog->show(); } else { $content = ''; if (in_array('details', $success)) { $content .= '<span class="success">' . $successDetailsLabel . '</span><br />'; } if (in_array('password', $success)) { $content .= '<span class="success">' . $successPasswordLabel . '</span>'; } $this->objDialog = $this->newObject('dialog', 'jquerycore'); $this->objDialog->setCssId('dialog_updatesuccess'); $this->objDialog->setTitle(ucwords($successTitleLabel)); $this->objDialog->setCloseOnEscape(FALSE); $this->objDialog->setContent($content); $this->objDialog->setAutoOpen(TRUE); $this->objDialog->setOpen("jQuery('.ui-dialog-titlebar-close').hide();"); $this->objDialog->setBeforeClose('resetSession(this)'); $dialog .= $this->objDialog->show(); } } $string .= $dialog; return $string; }