public function applyAction()
 {
     if (null == ($id = $this->_request->getParam('id', null))) {
         $this->_helper->flashMessenger->addMessage('%%ERROR_URL%%');
         $this->_helper->redirector('show-classes');
     }
     $form = new Application_Form_Classes();
     $this->view->form = $form;
     /* Proccess data post*/
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         if ($form->isValid($formData)) {
             $tutorModel = new Application_Model_Tutors();
             $data = $_POST;
             /* check tutor is exist */
             if ($tutorModel->checkTutorIsExist($data['TutorId'])) {
                 $tutors = $this->_model->getTutorsOfClass($data['ClassId']);
                 /* check tutor id exist in class */
                 if (!in_array($data['TutorId'], explode(',', $tutors['ClassTutors']))) {
                     if (!empty($tutors['ClassTutors'])) {
                         $data['ClassTutors'] = $tutors['ClassTutors'] . ',' . $data['TutorId'];
                     } else {
                         $data['ClassTutors'] = $data['TutorId'];
                     }
                     if ($this->_model->edit($data)) {
                         $tutor = $tutorModel->getTutorInfo($data['TutorId']);
                         $email = $tutor["Email"];
                         $mailUserName = null;
                         $mailFrom = null;
                         $configMails = null;
                         try {
                             $modelConfig = new Application_Model_Configs();
                             $configMails = $modelConfig->getConfigValueByCategoryCode("GROUP_CONFIG_MAIL");
                             foreach ($configMails as $key => $configMail) {
                                 switch ($configMail["ConfigCode"]) {
                                     case "mail-user-name":
                                         $mailUserName = $configMail["ConfigValue"];
                                         break;
                                     case "mail-user-name-from":
                                         $mailFrom = $configMail["ConfigValue"];
                                         break;
                                 }
                             }
                             $tutorConfig = $modelConfig->getConfigDetail("ung-tuyen-gia-su");
                         } catch (Zend_Exception $e) {
                         }
                         $rsInitMail = $this->_initMail($configMails);
                         if ($rsInitMail[0]) {
                             $subject = $tutorConfig['ConfigName'];
                             // initialize template
                             $html = new Zend_View();
                             $html->setScriptPath(APPLICATION_PATH . '/views/scripts/email_templates/');
                             $html->assign('name', $tutor["UserName"]);
                             $html->assign('tutorId', $data['TutorId']);
                             $html->assign('classId', $data['ClassId']);
                             $message = $html->render('apply-class.phtml');
                             $sendResult = $this->sendMail($email, $subject, $message, $mailUserName, $mailFrom);
                             if ($sendResult[0]) {
                                 $this->_redirect('/news/detail/id/' . $tutorConfig['ConfigValue']);
                             } else {
                                 $this->view->messageStatus = 'danger/Bạn đã ứng tuyển nhưng gửi email cho bạn thất bại.';
                             }
                         } else {
                             $this->view->messageStatus = 'danger/Hiện tại hệ thống không đáp ứng kịp.';
                         }
                     } else {
                         $messageStatus = 'danger/Hiện tại hệ thống không đáp ứng chức năng này. Mong bạn thông cảm và thử lại.';
                         $this->view->messageStatus = $messageStatus;
                     }
                 } else {
                     $messageStatus = 'danger/Mã số của bạn đã được úng tuyển lớp học này';
                     $this->view->messageStatus = $messageStatus;
                 }
             } else {
                 $messageStatus = 'danger/Mã số của bạn không tồn tại';
                 $this->view->messageStatus = $messageStatus;
             }
         } else {
             $msgVN = array("is required and can't be empty" => 'Không được để trống', "does not appear to be an integer" => 'Phải là chữ số');
             $messageStatus = 'danger/Có lỗi xảy ra. Chú ý thông tin những ô sau đây:';
             $messages = array();
             foreach ($form->getMessages() as $fieldName => $message) {
                 $message = end($message);
                 $key = substr(strstr($message, " "), 1);
                 if (in_array($key, array_keys($msgVN))) {
                     $message = $msgVN[$key];
                 }
                 $messages[$fieldName] = $message;
             }
             $this->view->messages = $messages;
             $this->view->messageStatus = $messageStatus;
         }
     }
     $class = $this->_model->getClassDetail($id);
     $form->populate($class->toArray());
     $this->view->class = $class;
     $this->view->id = $id;
 }
Ejemplo n.º 2
0
 private function _sendEmailToUser($name, $email, $urlRedirect)
 {
     $mailUserName = null;
     $mailFrom = null;
     $configMails = null;
     try {
         $modelConfig = new Application_Model_Configs();
         $configMails = $modelConfig->getConfigValueByCategoryCode("GROUP_CONFIG_MAIL");
         foreach ($configMails as $key => $configMail) {
             switch ($configMail["ConfigCode"]) {
                 case "mail-user-name":
                     $mailUserName = $configMail["ConfigValue"];
                     break;
                 case "mail-user-name-from":
                     $mailFrom = $configMail["ConfigValue"];
                     break;
             }
         }
         $tutorConfig = $modelConfig->getConfigDetail("dang-ky-tim-gia-su");
     } catch (Zend_Exception $e) {
     }
     $rsInitMail = $this->_initMail($configMails);
     if ($rsInitMail[0]) {
         $subject = $tutorConfig['ConfigName'];
         // initialize template
         $html = new Zend_View();
         $html->setScriptPath(APPLICATION_PATH . '/views/scripts/email_templates/');
         $html->assign('name', $name);
         $message = $html->render('register-user.phtml');
         $sendResult = $this->sendMail($email, $subject, $message, $mailUserName, $mailFrom);
         if ($sendResult[0]) {
             $this->view->msg = 'success';
         } else {
             $this->view->messageStatus = 'danger/Bạn đã đăng ký xong nhưng gửi email cho bạn thất bại.';
         }
     } else {
         $this->view->messageStatus = 'danger/Hiện tại hệ thống không đáp ứng kịp.';
     }
 }
Ejemplo n.º 3
0
 /**
  * get config values by category code
  * @author tri.van
  * @param string $categoryCode
  * @return Zend_Db_Table_Rowset_Abstract The row results per the Zend_Db_Adapter fetch mode.
  */
 public function getConfigByCategoryCode($categoryCode)
 {
     $modelConfig = new Application_Model_Configs();
     return $modelConfig->getConfigValueByCategoryCode($categoryCode);
 }
Ejemplo n.º 4
0
 /**
  * Add record Users
  * @param array $formData
  * @return
  * @author 
  */
 public function registerAction()
 {
     $form = new Application_Form_Tutors();
     $form->changeModeToAdd();
     /* Proccess data post*/
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         if ($form->isValid($formData)) {
             $data = $_POST;
             $career = unserialize(TUTOR_CAREERS);
             $search = array(array_search('Giáo Viên', $career), array_search('Giảng Viên', $career));
             if (in_array($data['Career'], $search) && empty($data['CareerLocation'])) {
                 $messageStatus = 'danger/Có lỗi xảy ra. Chú ý thông tin những ô sau đây:';
                 $messages = array('CareerLocation' => 'Nơi Công Tác không được trống nếu là Giáo/Giảng Viên');
                 $this->view->messages = $messages;
                 $this->view->messageStatus = $messageStatus;
             } else {
                 //copy new image from 'tmp' to 'images' folder then remove it
                 $fileName = Common_FileUploader_qqUploadedFileXhr::copyImage($data['Avatar'], IMAGE_UPLOAD_PATH_TMP, IMAGE_UPLOAD_PATH);
                 //copy exist image from 'images' to 'backup' folder then remove it
                 //$fileNameBackup = Common_FileUploader_qqUploadedFileXhr::copyImage($data['OldImageName'], IMAGE_UPLOAD_PATH, IMAGE_UPLOAD_PATH_BACKUP);
                 if ($id = $this->_model->add($data)) {
                     // check isset in DB
                     //send mail to user
                     $email = $_POST["Email"];
                     $mailUserName = null;
                     $mailFrom = null;
                     $configMails = null;
                     try {
                         $modelConfig = new Application_Model_Configs();
                         $configMails = $modelConfig->getConfigValueByCategoryCode("GROUP_CONFIG_MAIL");
                         foreach ($configMails as $key => $configMail) {
                             switch ($configMail["ConfigCode"]) {
                                 case "mail-user-name":
                                     $mailUserName = $configMail["ConfigValue"];
                                     break;
                                 case "mail-user-name-from":
                                     $mailFrom = $configMail["ConfigValue"];
                                     break;
                             }
                         }
                         $tutorConfig = $modelConfig->getConfigDetail("dang-ky-gia-su");
                     } catch (Zend_Exception $e) {
                     }
                     $rsInitMail = $this->_initMail($configMails);
                     if ($rsInitMail[0]) {
                         $subject = $tutorConfig['ConfigName'];
                         // initialize template
                         $html = new Zend_View();
                         $html->setScriptPath(APPLICATION_PATH . '/views/scripts/email_templates/');
                         $html->assign('name', $data['UserName']);
                         $html->assign('tutorId', $id);
                         $message = $html->render('register-tutor.phtml');
                         $sendResult = $this->sendMail($email, $subject, $message, $mailUserName, $mailFrom);
                         if ($sendResult[0]) {
                             $this->_redirect('/news/detail/id/' . $tutorConfig['ConfigValue']);
                         } else {
                             $this->view->messageStatus = 'danger/Gửi email cho bạn thất bại.';
                         }
                     } else {
                         $this->view->messageStatus = 'danger/Hiện tại hệ thống không đáp ứng kịp.';
                     }
                 }
             }
         } else {
             if (isset($_POST['TeachableInClass']) && !empty($_POST['TeachableInClass']) && isset($_POST['TeachableInClassText'])) {
                 $form->changeModeToClass($_POST['TeachableInClass'], $_POST['TeachableInClassText']);
             }
             if (isset($_POST['TeachableSubjects']) && !empty($_POST['TeachableSubjects']) && isset($_POST['TeachableSubjectsText'])) {
                 $form->changeModeToSubjects($_POST['TeachableSubjects'], $_POST['TeachableSubjectsText']);
             }
             if (isset($_POST['TeachableDistricts']) && !empty($_POST['TeachableDistricts']) && isset($_POST['TeachableDistrictsText'])) {
                 $form->changeModeToDistricts($_POST['TeachableDistricts'], $_POST['TeachableDistrictsText']);
             }
             $this->view->avatar = isset($_POST['Avatar']) && !empty($_POST['Avatar']) ? $_POST['Avatar'] : '';
             $msgVN = array("is required and can't be empty" => 'Không được để trống', "does not appear to be an integer" => 'Phải là chữ số', 'is no valid email address in the basic format local-part@hostname' => 'Email không hợp lệ', "record matching '" . $_POST['Email'] . "' was found" => "'" . $_POST['Email'] . "' đã tồn tại");
             $messageStatus = 'danger/Có lỗi xảy ra. Chú ý thông tin những ô sau đây:';
             $messages = array();
             foreach ($form->getMessages() as $fieldName => $message) {
                 $message = end($message);
                 $key = substr(strstr($message, " "), 1);
                 if (in_array($key, array_keys($msgVN))) {
                     $message = $msgVN[$key];
                 }
                 $messages[$fieldName] = $message;
             }
             $this->view->messages = $messages;
             $this->view->messageStatus = $messageStatus;
         }
     }
     $this->view->form = $form;
     $this->view->showAllUrl = 'show-users';
 }