Esempio n. 1
0
 /**
  * Проверяет корректность ввода данных в форму обратной связи и регистрацию в системе покупателя.
  *
  * @param array $arrayData  массив в введнными пользователем данными.
  * @return bool|string $error сообщение с ошибкой в случае некорректных данных.
  */
 public function isValidData($arrayData)
 {
     $result = null;
     // Если электронный адрес зарегистрирован в системе.
     $currenUser = USER::getThis();
     if ($currenUser->email != trim($arrayData['email'])) {
         if (USER::getUserInfoByEmail($arrayData['email'])) {
             $error = "<span class='user-exist'>Пользователь с таким email существует. \n          Пожалуйста <a href='" . SITE . "/enter'>войдите в систему</a> используя \n          свой электронный адрес и пароль!</span>";
             // Иначе новый пользователь.
         } else {
             $this->newUser = true;
         }
     }
     // Корректность емайл.
     if (!preg_match('/^[-._a-z0-9]+@(?:[a-z0-9][-a-z0-9]{0,61}+\\.)+[a-z]{2,6}$/', $arrayData['email'])) {
         $error = "<span class='order-error-email'>E-mail введен некорректно!</span>";
     }
     // Наличие телефона.
     if (empty($arrayData['phone'])) {
         $error = "<span class='no-phone'>Введите верный номер телефона!</span>";
     }
     // Если нет ошибок, то заносит информацию в поля класса.
     if (!empty($error)) {
         $result = $error;
     } else {
         $this->fio = trim($arrayData['fio']);
         $this->email = trim($arrayData['email']);
         $this->phone = trim($arrayData['phone']);
         $this->address = trim($arrayData['address']);
         $this->info = trim($arrayData['info']);
         $this->delivery = $arrayData['delivery'];
         $deliv = new Delivery();
         $this->delivery_cost = $deliv->getCostDelivery($arrayData['delivery']);
         $this->payment = $arrayData['payment'];
         $cart = new Models_Cart();
         $this->summ = $cart->getTotalSumm();
         $result = false;
         $this->addNewUser();
     }
     $args = func_get_args();
     return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args);
 }
Esempio n. 2
0
 /**
  * Проверяет корректность ввода данных в форму обратной связи и регистрацию в системе покупателя.
  *
  * @param array $arrayData  массив в введнными пользователем данными.
  * @return bool|string $error сообщение с ошибкой в случае некорректных данных.
  */
 public function isValidData($arrayData, $reqire = array('email', 'phone', 'payment'), $createUser = true, $error = null)
 {
     $result = null;
     $this->newUser = false;
     if ($createUser) {
         // Если электронный адрес зарегистрирован в системе.
         $currenUser = USER::getThis();
         if ($currenUser->email != trim($arrayData['email'])) {
             if (USER::getUserInfoByEmail($arrayData['email'])) {
                 $error = "<span class='user-exist'>Пользователь с таким email существует. \r\n            Пожалуйста, <a href='" . SITE . "/enter'>войдите в систему</a> используя \r\n            свой электронный адрес и пароль!</span>";
                 // Иначе новый пользователь.
             } else {
                 $this->newUser = true;
             }
         }
     }
     if (in_array('email', $reqire) && MG::getSetting('requiredFields') == 'true') {
         // Корректность емайл.
         if (!preg_match('/^[-._a-zA-Z0-9]+@(?:[a-zA-Z0-9][-a-zA-Z0-9]{0,61}+\\.)+[a-zA-Z]{2,6}$/', $arrayData['email'])) {
             $error = "<span class='order-error-email'>E-mail введен некорректно!</span>";
         }
     }
     if (in_array('phone', $reqire) && MG::getSetting('requiredFields') == 'true') {
         // Наличие телефона.
         if (empty($arrayData['phone'])) {
             $error = "<span class='no-phone'>Введите верный номер телефона!</span>";
         }
     }
     if (in_array('payment', $reqire)) {
         // Неуказан способ оплаты
         if (empty($arrayData['payment'])) {
             $error = "<span class='no-phone'>Выберите способ оплаты!</span>";
         }
     }
     if (CAPTCHA_ORDER == '1') {
         // если при оформлении капча
         if (empty($arrayData['capcha']) || strtolower($arrayData['capcha']) != strtolower($_SESSION['capcha'])) {
             $error = "<span class='no-phone'>Неверно введен код с картинки!</span>";
         }
     }
     // Если нет ошибок, то заносит информацию в поля класса.
     if (!empty($error)) {
         $result = $error;
     } else {
         $this->fio = trim($arrayData['fio']);
         $this->email = trim($arrayData['email']);
         $this->phone = trim($arrayData['phone']);
         $this->address = trim($arrayData['address']);
         $this->info = trim($arrayData['info']);
         $this->delivery = $arrayData['delivery'];
         $this->dateDelivery = $arrayData['date_delivery'];
         $deliv = new Delivery();
         $this->delivery_cost = $deliv->getCostDelivery($arrayData['delivery']);
         $this->payment = $arrayData['payment'];
         $cart = new Models_Cart();
         $this->summ = $cart->getTotalSumm();
         $this->ip = $_SERVER['REMOTE_ADDR'];
         $result = false;
         $this->addNewUser();
     }
     $args = func_get_args();
     $args['this'] =& $this;
     return MG::createHook(__CLASS__ . "_" . __FUNCTION__, $result, $args);
 }