public function getFormElementConfig() { return array('factories' => array('findForm' => function ($sm) { $myForm = new \Admin\Form\Find(); $myForm->setInputFilter(new \Admin\Form\FindFilter()); return $myForm; }, 'userForm' => function ($sm) { $myForm = new \Admin\Form\User(); $myForm->setInputFilter(new \Admin\Form\UserFilter()); return $myForm; }, 'businessForm' => function ($sm) { $myForm = new \Admin\Form\Business(); $myForm->setInputFilter(new \Admin\Form\BusinessFilter()); return $myForm; }, 'newsForm' => function ($sm) { $myForm = new \Admin\Form\News(); $myForm->setInputFilter(new \Admin\Form\NewsFilter()); return $myForm; }, 'fengshuiNewsForm' => function ($sm) { $myForm = new \Admin\Form\FengshuiNews(); $myForm->setInputFilter(new \Admin\Form\FengshuiNewsFilter()); return $myForm; }, 'legalhousingForm' => function ($sm) { $myForm = new \Admin\Form\LegalHousing(); $myForm->setInputFilter(new \Admin\Form\LegalHousingFilter()); return $myForm; }, 'legislationHousingForm' => function ($sm) { $myForm = new \Admin\Form\LegislationHousing(); $myForm->setInputFilter(new \Admin\Form\LegislationHousingFilter()); return $myForm; }, 'contractFormForm' => function ($sm) { $myForm = new \Admin\Form\ContractForm(); $myForm->setInputFilter(new \Admin\Form\ContractFormFilter()); return $myForm; }, 'niceHouseForm' => function ($sm) { $myForm = new \Admin\Form\NiceHouse(); $myForm->setInputFilter(new \Admin\Form\NiceHouseFilter()); return $myForm; }, 'projectForm' => function ($sm) { $myForm = new \Admin\Form\Project(); $myForm->setInputFilter(new \Admin\Form\ProjectFilter()); return $myForm; }, 'tvForm' => function ($sm) { $myForm = new \Admin\Form\Tv(); $myForm->setInputFilter(new \Admin\Form\TvFilter()); return $myForm; }, 'businessTypeAdminForm' => function ($sm) { $myForm = new \Admin\Form\BusinessType(); $myForm->setInputFilter(new \Admin\Form\BusinessTypeFilter()); return $myForm; }, 'userGroupAdminForm' => function ($sm) { $myForm = new \Admin\Form\UserGroup(); $myForm->setInputFilter(new \Admin\Form\UserGroupFilter()); return $myForm; }, 'niceHouseCategoryAdminForm' => function ($sm) { $myForm = new \Admin\Form\NiceHouseCategory(); $myForm->setInputFilter(new \Admin\Form\NiceHouseCategoryFilter()); return $myForm; }, 'fengshuiAppAdminForm' => function ($sm) { $myForm = new \Admin\Form\FengshuiApp(); $myForm->setInputFilter(new \Admin\Form\FengshuiAppFilter()); return $myForm; }, 'websiteAdsAdminForm' => function ($sm) { $myForm = new \Admin\Form\WebsiteAds(); $myForm->setInputFilter(new \Admin\Form\WebsiteAdsFilter()); return $myForm; }, 'logoAdminForm' => function ($sm) { $myForm = new \Admin\Form\Logo(); $myForm->setInputFilter(new \Admin\Form\LogoFilter()); return $myForm; }, 'footerAdminForm' => function ($sm) { $myForm = new \Admin\Form\Footer(); $myForm->setInputFilter(new \Admin\Form\FooterFilter()); return $myForm; }, 'navFooterAdminForm' => function ($sm) { $myForm = new \Admin\Form\NavFooter(); $myForm->setInputFilter(new \Admin\Form\NavFooterFilter()); return $myForm; }, 'bannerAdminForm' => function ($sm) { $myForm = new \Admin\Form\Banner(); $myForm->setInputFilter(new \Admin\Form\BannerFilter()); return $myForm; }, 'notificationtemplateAdminForm' => function ($sm) { $myForm = new \Admin\Form\NotificationTemplate(); $myForm->setInputFilter(new \Admin\Form\NotificationTemplateFilter()); return $myForm; }, 'realEstateAdminForm' => function ($sm) { $myForm = new \Admin\Form\RealEstate(); $myForm->setInputFilter(new \Admin\Form\RealEstateFilter()); return $myForm; }, 'serviceAdminForm' => function ($sm) { $myForm = new \Admin\Form\Service(); $myForm->setInputFilter(new \Admin\Form\ServiceFilter()); return $myForm; }, 'seoAdminForm' => function ($sm) { $myForm = new \Admin\Form\Seo(); $myForm->setInputFilter(new \Admin\Form\SeoFilter()); return $myForm; }, 'configWebsiteAdminForm' => function ($sm) { $myForm = new \Admin\Form\ConfigWebsite(); $myForm->setInputFilter(new \Admin\Form\ConfigWebsiteFilter()); return $myForm; }, 'configCompanyAdminForm' => function ($sm) { $myForm = new \Admin\Form\ConfigCompany(); $myForm->setInputFilter(new \Admin\Form\ConfigCompanyFilter()); return $myForm; }, 'configEmailAdminForm' => function ($sm) { $myForm = new \Admin\Form\ConfigEmail(); $myForm->setInputFilter(new \Admin\Form\ConfigEmailFilter()); return $myForm; }, 'configAdvanceAdminForm' => function ($sm) { $myForm = new \Admin\Form\ConfigAdvance(); $myForm->setInputFilter(new \Admin\Form\ConfigAdvanceFilter()); return $myForm; }, 'configDisplayAdminForm' => function ($sm) { $myForm = new \Admin\Form\ConfigDisplay(); $myForm->setInputFilter(new \Admin\Form\ConfigDisplayFilter()); return $myForm; }, 'configMaintenanceAdminForm' => function ($sm) { $myForm = new \Admin\Form\ConfigMaintenance(); $myForm->setInputFilter(new \Admin\Form\ConfigMaintenanceFilter()); return $myForm; }, 'supportAdminForm' => function ($sm) { $myForm = new \Admin\Form\Support(); $myForm->setInputFilter(new \Admin\Form\SupportFilter()); return $myForm; }, 'emailTemplateAdminForm' => function ($sm) { $myForm = new \Admin\Form\EmailTemplate(); $myForm->setInputFilter(new \Admin\Form\EmailTemplateFilter()); return $myForm; }, 'emailMarketingAdminForm' => function ($sm) { $myForm = new \Admin\Form\EmailMarketing(); $myForm->setInputFilter(new \Admin\Form\EmailMarketingFilter()); return $myForm; }, 'adsAdminForm' => function ($sm) { $myForm = new \Admin\Form\Ads(); $myForm->setInputFilter(new \Admin\Form\AdsFilter()); return $myForm; }, 'fileManagerAdminForm' => function ($sm) { $myForm = new \Admin\Form\FileManager(); $myForm->setInputFilter(new \Admin\Form\FileManagerFilter()); return $myForm; }, 'surveyAdminForm' => function ($sm) { $myForm = new \Admin\Form\Survey(); $myForm->setInputFilter(new \Admin\Form\SurveyFilter()); return $myForm; }, 'slideAdminForm' => function ($sm) { $myForm = new \Admin\Form\Slide(); $myForm->setInputFilter(new \Admin\Form\SlideFilter()); return $myForm; }, 'messageAdminForm' => function ($sm) { $myForm = new \Admin\Form\Message(); $myForm->setInputFilter(new \Admin\Form\MessageFilter()); return $myForm; }, 'sitesAdminForm' => function ($sm) { $myForm = new \Admin\Form\sites(); $myForm->setInputFilter(new \Admin\Form\sitesFilter()); return $myForm; }, 'banAdminForm' => function ($sm) { $myForm = new \Admin\Form\Ban(); $myForm->setInputFilter(new \Admin\Form\BanFilter()); return $myForm; }, 'notifiAdminForm' => function ($sm) { $myForm = new \Admin\Form\Notifi(); $myForm->setInputFilter(new \Admin\Form\NotifiFilter()); return $myForm; })); }
public function initialAction() { $serviceLocator = $this->getServiceLocator(); $entityManager = $serviceLocator->get('entity-manager'); $user = $serviceLocator->get('user-entity'); //check if user already exists $numberUsers = $entityManager->getRepository(get_class($user))->countAdminUsers(); if ($numberUsers) { return $this->redir()->toRoute('admin/default', array('controller' => 'log', 'action' => 'in')); } $form = new \Admin\Form\User($user, $entityManager); $form->get('submit')->setValue('Submit'); //region add language name + select flag $languageForm = new Language($this->getServiceLocator()); $form->add($languageForm->get('isoCode')); $languageName = $languageForm->get('name'); $languageName->setName('language_name'); $form->add($languageName); $form->getInputFilter()->add($languageForm->getInputFilter()->get('isoCode')); $languageNameInputFilter = $languageForm->getInputFilter()->get('name'); $languageNameInputFilter->setName($languageName->getName()); $form->getInputFilter()->add($languageNameInputFilter); //endregion $request = $this->getRequest(); if ($request->isPost()) { $form->setData($request->getPost()); //set the role field to not required $form->getInputFilter()->get('role')->setRequired(false); if ($form->isValid()) { $newPassword = $form->getInputFilter()->get('password_fields')->get('password')->getValue(); if ($newPassword) { $user->setUpass($form->getInputFilter()->get('password_fields')->get('password')->getValue()); } $user->setRegDate(); $user->setRole(User::USER_SUPER_ADMIN); $entityManager->persist($user); $lang = new Lang(); $lang->setIsoCode($form->getInputFilter()->getInputs()['isoCode']->getValue()); $lang->setName($form->getInputFilter()->getInputs()['language_name']->getValue()); $lang->setStatus($lang::STATUS_DEFAULT); $entityManager->persist($lang); $entityManager->flush(); $langCode = $lang->getIsoCode(); $locale = $locale = $langCode != 'en' ? $langCode . '_' . strtoupper($langCode) : 'en_US'; $this->flashMessenger()->addSuccessMessage($this->translator->translate("The user has been added successfully. Please log below.", 'default', $locale)); return $this->redir()->toRoute('admin/default', ['controller' => 'log', 'action' => 'in']); } } return ['form' => $form, 'flagCode' => $this->getRequest()->isPost() ? $this->params()->fromPost('isoCode') : null]; }
public function handleCreateUpdate($data, $id = null) { $entityManager = $this->getServiceLocator()->get('entity-manager'); $user = $this->getServiceLocator()->get('user-entity'); //accessed it from service manager as this way the User::setPasswordAdapter() is initialized if ($id) { $user = $entityManager->find(get_class($user), $id); if (!$user) { return $this->redirMissingUser($id); } } $loggedInUser = $this->getServiceLocator()->get('current-user'); $editOwn = $loggedInUser->getId() == $user->getId(); //security check - is the edited user really having a role equal or less privileged to the editing user if (!$loggedInUser->canEdit($user->getRole())) { return $this->redirToList('You have no right to edit this user', 'error'); } $currentUserName = $user->getUname(); $currentEmail = $user->getEmail(); $form = new \Admin\Form\User($loggedInUser, $this->getServiceLocator()->get('entity-manager')); $form->bind($user); $form->setData($data); $action = $id ? 'edit' : 'add'; if ($form->isValid($action, $currentUserName, $currentEmail, $editOwn)) { //security check - is the new role equal or less privileged to the editing user $newRole = $form->getData()->getRole(); if (!$loggedInUser->canEdit($newRole)) { //this protection is redundant as there will be notFoundInTheHaystack validation error return $this->redirToList('You have no right to assign this user role', 'error'); } if ($editOwn && isset($data['role'])) { return $this->redirToList('You have no right to assign new role to yourself', 'error'); } $newPassword = $form->getInputFilter()->get('password_fields')->get('password')->getValue(); if ($newPassword) { $user->setUpass($form->getInputFilter()->get('password_fields')->get('password')->getValue()); } $user->setRegDate(); $entityManager->persist($user); $entityManager->flush(); if ($this->getRequest()->isPost()) { $this->getResponse()->setStatusCode(201); } return $this->redirToList('The user has been ' . $action . 'ed successfully'); } return $this->renderData($action, $form, $editOwn, $user); }