/** * Проверяет корректность ввода данных в форму обратной связи и регистрацию в системе покупателя. * * @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); }
/** * Проверяет корректность ввода данных в форму обратной связи и регистрацию в системе покупателя. * * @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); }