示例#1
0
 public function actionIndex($slug)
 {
     $form = FormService::findBySlug($slug);
     $template = $form->template;
     $formFields = $form->getFieldsMap();
     $model = new GenericForm(['fields' => $formFields]);
     if ($form->captcha) {
         $model->setScenario('captcha');
     }
     if ($model->load(Yii::$app->request->post(), 'GenericForm') && $model->validate()) {
         // Save Model
         if (FormService::processForm($form, $model)) {
             // Trigger User Mail
             if ($form->userMail) {
                 Yii::$app->cmgFormsMailer->sendUserMail($form, $model);
             }
             // Trigger Admin Mail
             if ($form->adminMail) {
                 Yii::$app->cmgFormsMailer->sendAdminMail($form, $model);
             }
             // Trigger Ajax Success
             return AjaxUtil::generateSuccess($form->successMessage);
         }
     }
     // Generate Errors
     $errors = AjaxUtil::generateErrorMessage($model);
     // Trigger Ajax Failure
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), $errors);
 }
示例#2
0
 public function actionProfile()
 {
     // Find Model
     $user = Yii::$app->user->getIdentity();
     // Update/Render if exist
     if (isset($user)) {
         $user->setScenario('profile');
         UserService::checkNewsletterMember($user);
         if ($user->load(Yii::$app->request->post(), 'User') && $user->validate()) {
             // Update User and Site Member
             if (UserService::update($user)) {
                 $data = ['email' => $user->email, 'username' => $user->username, 'firstName' => $user->firstName, 'lastName' => $user->lastName, 'gender' => $user->getGenderStr(), 'phone' => $user->phone];
                 // Trigger Ajax Success
                 return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST), $data);
             }
         } else {
             // Generate Errors
             $errors = AjaxUtil::generateErrorMessage($user);
             // Trigger Ajax Failure
             return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), $errors);
         }
     }
     // Model not found
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), ['session' => true]);
 }
示例#3
0
 public function actionFileHandler($directory, $type)
 {
     $data = Yii::$app->fileManager->handleFileUpload($directory, $type);
     if ($data) {
         // Trigger Ajax Success
         return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST), $data);
     }
     // Trigger Ajax Failure
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST));
 }
 public function actionUpdate()
 {
     $meta = new ModelMeta();
     $meta->setScenario("update");
     if ($meta->load(Yii::$app->request->post(), "ModelMeta")) {
         if (SiteService::updateMeta($meta)) {
             return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST), $meta);
         }
     }
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST));
 }
示例#5
0
 public function actionBindCategories()
 {
     $binder = new Binder();
     if ($binder->load(Yii::$app->request->post(), 'Binder')) {
         if (PostService::bindCategories($binder)) {
             // Trigger Ajax Success
             return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST));
         }
     }
     // Trigger Ajax Failure
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST));
 }
 public function actionDelete($id)
 {
     // Find Model
     $model = CategoryService::findById($id);
     if (isset($_POST) && count($_POST) > 0) {
         if (CategoryService::delete($model)) {
             return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST), $model);
         }
     } else {
         // Generate Errors
         $errors = AjaxUtil::generateErrorMessage($model);
         // Trigger Ajax Failure
         return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), $errors);
     }
 }
 public function actionUpdateItem($id)
 {
     // Find Model
     $item = FileService::findById($id);
     // Update/Render if exist
     if (isset($item)) {
         if ($item->load(Yii::$app->request->post(), "File") && GalleryService::updateItem($item)) {
             // Trigger Ajax Success
             return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST));
         } else {
             // Generate Errors
             $errors = AjaxUtil::generateErrorMessage($item);
             // Trigger Ajax Success
             return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), $errors);
         }
     }
 }
示例#8
0
 public function actionUpdate($id)
 {
     // Find Model
     $slide = SlideService::findById($id);
     // Update/Render if exist
     if (isset($slide)) {
         if ($slide->load(Yii::$app->request->post(), 'Slide') && $slide->validate()) {
             $slideImage = new CmgFile();
             $slideImage->load(Yii::$app->request->post(), 'File');
             // update slide
             if (SlideService::update($slide, $slideImage)) {
                 // Trigger Ajax Success
                 return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST));
             }
         }
     }
     // Generate Errors
     $errors = AjaxUtil::generateErrorMessage($slide);
     // Trigger Ajax Success
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), $errors);
 }
示例#9
0
 public function actionSettings()
 {
     $user = Yii::$app->user->getIdentity();
     // Update/Render if exist
     if (isset($user)) {
         $modelAttributes = Yii::$app->request->post('ModelAttribute');
         $count = count($modelAttributes);
         $attributes = [];
         for ($i = 0; $i < $count; $i++) {
             $attribute = new ModelAttribute(['parentId' => $user->id, 'parentType' => CoreGlobal::TYPE_USER]);
             $attributes[] = $attribute;
         }
         // Load SchoolItem models
         if (ModelAttribute::loadMultiple($attributes, Yii::$app->request->post(), 'ModelAttribute') && ModelAttribute::validateMultiple($attributes)) {
             UserService::updateAttributes($user, $attributes);
             $data = [];
             foreach ($attributes as $attribute) {
                 $data[] = $attribute->getFieldInfo();
             }
             // Trigger Ajax Success
             return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_REQUEST), $data);
         }
         // Trigger Ajax Failure
         return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST));
     }
     // Model not found
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), ['session' => true]);
 }
示例#10
0
 public function actionNewsletter()
 {
     // Create Form Model
     $model = new Newsletter();
     // Load and Validate Form Model
     if ($model->load(Yii::$app->request->post(), 'Newsletter') && $model->validate()) {
         if (NewsletterMemberService::signUp($model)) {
             // Trigger Ajax Success
             return AjaxUtil::generateSuccess(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::MESSAGE_NEWSLETTER_SIGNUP));
         }
     }
     // Generate Errors
     $errors = AjaxUtil::generateErrorMessage($model);
     // Trigger Ajax Failure
     return AjaxUtil::generateFailure(Yii::$app->cmgCoreMessage->getMessage(CoreGlobal::ERROR_REQUEST), $errors);
 }