public function checkinForm() { $form = new PHPWS_Form('checkin'); $form->turnOffAutoComplete(); $form->setProtected(false); $form->addHidden('module', 'checkin'); $form->addHidden('uop', 'post_checkin'); $form->addText('first_name', isset($_POST['first_name']) ? trim($_POST['first_name']) : null); $form->setLabel('first_name', dgettext('checkin', 'First name')); $form->setRequired('first_name'); $form->addText('last_name', isset($_POST['last_name']) ? trim($_POST['last_name']) : null); $form->setLabel('last_name', dgettext('checkin', 'Last name')); $form->setRequired('last_name'); if (PHPWS_Settings::get('checkin', 'email')) { $form->addText('email', isset($_POST['email']) ? trim($_POST['email']) : null); $form->setLabel('email', dgettext('checkin', 'Email address')); $form->setRequired('email'); } // If gender is requested if (PHPWS_Settings::get('checkin', 'gender')) { $sex = array('male' => 'Male', 'female' => 'Female'); $form->addRadioAssoc('gender', $sex); $form->addTplTag('GENDER_LABEL', dgettext('checkin', 'Gender')); } // If birthdate is requested if (PHPWS_Settings::get('checkin', 'birthdate')) { /* * Minimum representable date is 12-13-1901, and instead of doing * lots of math to ensure that all selected dates in 1901 are after * 12-13-1901, just make the minimum year always be 1902 */ $yearsPrior = date('Y', time()) - 1902; // current year - minimum full year (1902) $form->dateSelect('birthdate', 0, '%B', $yearsPrior, 0); $form->addTplTag('BIRTHDATE_LABEL', dgettext('checkin', 'Date of birth')); } $reasons = $this->getReasons(); if (!empty($reasons)) { $reasons = array_reverse($reasons, true); $reasons[0] = dgettext('checkin', '-- Please choose a reason from the list below --'); $reasons = array_reverse($reasons, true); $form->addSelect('reason_id', $reasons); $form->setLabel('reason_id', dgettext('checkin', 'Reason for visit')); } $form->addSubmit(dgettext('checkin', 'Check in')); $tpl = $form->getTemplate(); $this->title = dgettext('checkin', 'Please check in using the form below'); $this->content = PHPWS_Template::process($tpl, 'checkin', 'signin.tpl'); if (!Current_User::isLogged() && PHPWS_Settings::get('checkin', 'collapse_signin')) { Layout::collapse(); } }