Пример #1
0
 function checkFormAction()
 {
     if (isset($_POST['email'])) {
         $email = $_POST['email'];
         if ("" == $email) {
             $data['errors'][] = "Email не может быть пустым";
         } else {
             if (!preg_match("/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}\$/", $email)) {
                 $data['errors'][] = "Email введен неверно <br/>";
             } else {
                 $imgAccount = ImgAccountUtil::getImgAccountByEmail($email);
                 if ($imgAccount) {
                     $data['errors'][] = "Такой Email уже зарегистрирован";
                 }
             }
         }
     }
     if (isset($_POST['password1'])) {
         $password1 = $_POST['password1'];
         if ("" == $password1) {
             $data['errors'][] = "Пароль не может быть пустым <br/>";
         } else {
             if (9 > strlen($password1)) {
                 $data['errors'][] = "Длина пароля должна быть от 9 символов";
             }
         }
     }
     if (0 != strcmp($_POST['password1'], $_POST['password2'])) {
         $data['errors'][] = "Пароль и его подтверждение не совпадают";
     }
     if (isset($_POST['name'])) {
         $name = $_POST['name'];
         if ("" == $name) {
             $data['errors'][] = "Введите название торгового стенда, позднее вы сможете его изменить";
         }
     }
     echo json_encode($data);
 }
Пример #2
0
 function registrationAction()
 {
     $v_params['logined'] = LoginChecker::isLogined();
     $v_params['sys_name'] = SysPropertiesUtil::getPropertyValue("sys_name");
     $v_params['sys_slog'] = SysPropertiesUtil::getPropertyValue("sys_slog");
     $v_params['reg']['main'] = TRUE;
     if (0 < count($_POST)) {
         // Передача формы
         $containErrors = FALSE;
         if (isset($_POST['email'])) {
             $email = $_POST['email'];
             if (0 == strcmp("", $email)) {
                 $v_params['errors'][] = "Email не может быть пустым";
                 $containErrors = TRUE;
             } else {
                 if (!preg_match("/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}\$/", $email)) {
                     $v_params['errors'][] = "Скорее всего вы ввели email не правильно";
                     $containErrors = TRUE;
                 } else {
                     $imgAccount = ImgAccountUtil::getImgAccountByEmail($email);
                     if ($imgAccount) {
                         $v_params['errors'][] = "Такой Email уже зарегистрирован";
                         $containErrors = TRUE;
                     }
                 }
             }
         }
         if (isset($_POST['password1'])) {
             $password1 = $_POST['password1'];
             if ("" == $password1) {
                 $v_params['errors'][] = "Пароль не может быть пустым <br/>";
                 $containErrors = TRUE;
             } else {
                 if (9 > strlen($password1)) {
                     $v_params['errors'][] = "Длина пароля должна быть от 9 символов";
                     $containErrors = TRUE;
                 }
             }
         }
         if (0 != strcmp($_POST['password1'], $_POST['password2'])) {
             $v_params['errors'][] = "Пароль и его подтверждение не совпадают";
             $containErrors = TRUE;
         }
         if (isset($_POST['name'])) {
             $name = $_POST['name'];
             if ("" == $name) {
                 $v_params['errors'][] = "Введите название торгового стенда (позднее вы сможете его изменить)";
                 $containErrors = TRUE;
             }
         }
         $resp = recaptcha_check_answer(RECAPCHA_PRIVATE_KEY, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
         if (!$resp->is_valid) {
             $v_params['errors'][] = "Защита от роботов введена не верно";
             $containErrors = TRUE;
         }
         // Обработка
         if ($containErrors) {
             // Есть ошибки
             $v_params['addr_regions'] = AddrRegionUtil::getRegions();
             Application::fastView('main/sys_registration', $v_params);
         } else {
             // Нет ошибок, создаем аккаунт
             $imgAccount['email'] = $_POST['email'];
             $imgAccount['hashpass'] = Hasher::getHash($_POST['password1']);
             $imgAccount['show_email'] = 0;
             $imgAccount['active'] = 0;
             $imgAccount['img_name'] = $_POST['name'];
             $imgAccount['img_slog'] = $_POST['slog'];
             if (isset($_POST['region']) && "" != $_POST['region']) {
                 $addrRegion = AddrRegionUtil::getRegionByCode($_POST['region']);
                 $imgAddress['region_id'] = $addrRegion['id'];
             }
             $imgAddressId = ImgAddressUtil::insertImgAddress($imgAddress);
             $imgAccount['img_address_id'] = $imgAddressId;
             $imgAccount['show_address'] = 1;
             $activation_code = UUIDGenerator::generate();
             $imgAccount['check_code'] = $activation_code;
             $imgAccountId = ImgAccountUtil::createImgAccount($imgAccount);
             $mail_values['__root_url__'] = "http://" . $_SERVER["HTTP_HOST"];
             $mail_values['__act_url__'] = "http://" . $_SERVER["HTTP_HOST"] . "/activation?imgID=" . $imgAccountId . "&acode=" . $activation_code;
             MailWork::sendMailByTemplate($imgAccount['email'], "Завершение регистрации на сайте " . $_SERVER["HTTP_HOST"], "end_reg.html", $mail_values);
             $v_params['message'] = "На указаный email выслано письмо с подтверждением регистрации";
             $v_params['message_descr'] = "Проверьте свой почтовый ящик, там будет письмо с сылкой для активации созданного аккаунта, после чего вы сможете работать со своим торговым стендом";
             Application::fastView('main/sys_message', $v_params);
         }
     } else {
         $v_params['addr_regions'] = AddrRegionUtil::getRegions();
         Application::fastView('main/sys_registration', $v_params);
     }
 }