Exemple #1
0
 public function registrationEventUsers()
 {
     if ($_SERVER['REQUEST_METHOD'] != 'POST' || !array_key_exists('submit_reg', $_POST)) {
         return false;
     }
     $events_id = intval(@$_POST['post_id']);
     //-- две проверки, но в первой не затрагивается БД, если параметр меньше 1 или имеент другое значение в отличии цифрового!
     if ($events_id < 1) {
         $this->errors[] = "Какой то не корректный у вас запрос! " . $events_id;
         return false;
     }
     $sql = "SELECT 1 FROM events_name WHERE event_id = ? LIMIT 1";
     $result = count($this->queryExec($sql, array($events_id)));
     if ($result < 1) {
         $this->errors[] = "В базе не найдено указанное мероприятие!";
         return false;
     }
     //$this->fix_print($_POST);
     foreach ($_POST as $key => $value) {
         $userData[$key] = $this->filteringData($value, false, 1, 33);
         if ($key == 'username' || $key == 'useremail' || $key == 'uniqueCode' || $key == 'organization') {
             if ($key == 'uniqueCode' && USE_EST_STANDARD_ID) {
                 $userData[$key] = intval($userData[$key]);
                 if ($userData[$key] < 1) {
                     $this->errors[] = "Ваш личный код не неправильный !";
                     return false;
                 }
             }
             if (!$value) {
                 return false;
             }
         }
     }
     $sql = "SELECT 1 FROM `users_for_events` WHERE `user_event_id`= ? AND `user_event_email`= ? LIMIT 1";
     $result = $this->queryExec($sql, array($events_id, $userData['useremail']))->fetch();
     //var_dump($result);
     if ($result) {
         $this->errors[] = "Возможно, такой пользователь уже зарегестрировался!";
         return false;
     }
     $sql = "INSERT INTO `users_for_events` (`user_event_name`,`user_event_email`,`user_event_id`,`user_isikukood`,`user_organization`,`user_event_group`,`user_event_class`) VALUES (?,?,?,?,?,?,?)";
     if (empty($userData['group'])) {
         $userData['group'] = "";
     }
     if (empty($userData['class'])) {
         $userData['class'] = "";
     }
     $result = $this->queryExec($sql, array($userData['username'], $userData['useremail'], $events_id, $userData['uniqueCode'], $userData['organization'], $userData['group'], $userData['class']));
     // Отправляем пользователю сообщение
     if (!$result) {
         $this->errors['not_registered'] = "Ошибка! Вы не зарегестрированны";
         return false;
     }
     //$this->fix_print($_POST);
     // Отсылаем письмо пользователю, уведомление, того, что он зарегестрировался на вебсайте
     $mail = new MailSend();
     $mail->getTo($userData['useremail']);
     if (@$_SESSION['locale'] == 'et') {
         $title = 'вы зарегестрировались на мероприятие: ' . $userData['post_title'];
         $body = 'Вы зарегестрировались на сайте мероприятий ' . HOST . '. На мероприятии: <a href="' . HOST . '?posts=' . $events_id . '">' . $userData['post_title'] . '</a>';
         $msg_content = file_get_contents(ROOT_PATH . DIRECTORY_SEPARATOR . "templates/mail_templates/email.rus.html");
     } else {
         $title = 'вы зарегестрировались на мероприятие: ' . $userData['post_title'];
         $body = 'Вы зарегестрировались на сайте мероприятий ' . HOST . '. На мероприятии: <a href="' . HOST . '?posts=' . $events_id . '">' . $userData['post_title'] . '</a>';
         $msg_content = file_get_contents(ROOT_PATH . DIRECTORY_SEPARATOR . "templates/mail_templates/email.est.html");
     }
     $mail->getFrom(MAILSENTFROM);
     $mail->getSubject($title);
     $msg_content = str_replace('_MSG_TITLE_', $title, $msg_content);
     $msg_content = str_replace('_MSG_BODY_', $body, $msg_content);
     $msg_content = str_replace('_MSG_WEBSITE_', HOST, $msg_content);
     $mail->getMessage($msg_content);
     // Отправляем письмо пользователю
     if ($mail->sendingMail()) {
         $this->errors[] = "Напоминание о регистрации вам отправленно уведомление на почту!";
     }
     $this->errors['registered'] = "Спасибо за регистрацию!";
     header("refresh:2; url=" . PATH);
     return true;
 }