protected function addLastStepQuestions($controller) { $displayPhoto = false; $displayPhotoUpload = OW::getConfig()->getValue('base', 'join_display_photo_upload'); $avatarValidator = OW::getClassInstance("BASE_CLASS_AvatarFieldValidator", false); switch ($displayPhotoUpload) { case BOL_UserService::CONFIG_JOIN_DISPLAY_AND_SET_REQUIRED_PHOTO_UPLOAD: $avatarValidator = OW::getClassInstance("BASE_CLASS_AvatarFieldValidator", true); case BOL_UserService::CONFIG_JOIN_DISPLAY_PHOTO_UPLOAD: $userPhoto = OW::getClassInstance("BASE_CLASS_JoinUploadPhotoField", 'userPhoto'); $userPhoto->setLabel(OW::getLanguage()->text('base', 'questions_question_user_photo_label')); $userPhoto->addValidator($avatarValidator); $this->addElement($userPhoto); $displayPhoto = true; } $displayTermsOfUse = false; if (OW::getConfig()->getValue('base', 'join_display_terms_of_use')) { $termOfUse = new CheckboxField('termOfUse'); $termOfUse->setLabel(OW::getLanguage()->text('base', 'questions_question_user_terms_of_use_label')); $termOfUse->setRequired(); $this->addElement($termOfUse); $displayTermsOfUse = true; } $this->setEnctype('multipart/form-data'); $event = new OW_Event('join.get_captcha_field'); OW::getEventManager()->trigger($event); $captchaField = $event->getData(); $displayCaptcha = false; $enableCaptcha = OW::getConfig()->getValue('base', 'enable_captcha'); if ($enableCaptcha && !empty($captchaField) && $captchaField instanceof FormElement) { $captchaField->setName('captchaField'); $this->addElement($captchaField); $displayCaptcha = true; } $controller->assign('display_captcha', $displayCaptcha); $controller->assign('display_photo', $displayPhoto); $controller->assign('display_terms_of_use', $displayTermsOfUse); if (OW::getRequest()->isPost()) { if (!empty($captchaField) && $captchaField instanceof FormElement) { $captchaField->setValue(null); } if (isset($userPhoto) && isset($_FILES[$userPhoto->getName()]['name'])) { $_POST[$userPhoto->getName()] = $_FILES[$userPhoto->getName()]['name']; } } }