Example #1
0
 public function actionOrder()
 {
     $categories = Category::getCategoriesList();
     if (!$categories) {
         $categories = array();
     }
     $name = '';
     $phone = '';
     $comment = '';
     $userName = '';
     $sessionProducts = Cart::getSessionProducts();
     if ($sessionProducts) {
         $productsIdsArray = array_keys($sessionProducts);
         $products = Product::getProductsByIds($productsIdsArray);
         $totalPrice = Cart::getTotalPrice($products);
         $totalProductCount = Cart::countProductsInCart();
     }
     if (isset($_POST['submit'])) {
         $name = FunctionLibrary::clearStr($_POST['name']);
         $phone = FunctionLibrary::clearStr($_POST['phone']);
         $comment = nl2br(FunctionLibrary::clearStr($_POST['comment']));
         $errors = array();
         if (!User::checkName($name)) {
             $errors[] = 'Имя не может быть пустым.';
         }
         if (!User::checkPhone($phone)) {
             $errors[] = 'Невалидный номер телефона.';
         }
         if (!User::checkName($comment)) {
             $errors[] = 'Комментарий не может быть пустым.';
         }
         if (empty($errors)) {
             if (User::isUser()) {
                 $email = User::isLogged();
                 $user = User::getUserByEmail($email);
                 $userId = htmlentities($user['id']);
             } else {
                 $userId = false;
             }
             $result = Order::save($name, $phone, $comment, $userId, $sessionProducts);
             if ($result) {
                 $_SESSION['message'] = 'Заказ оформлен!';
                 Cart::annul();
                 FunctionLibrary::redirectTo('/cart');
             }
         }
     } else {
         if (!$sessionProducts) {
             FunctionLibrary::redirectTo('/');
         }
         if (User::isUser()) {
             $email = User::isLogged();
             $user = User::getUserByEmail($email);
             $userName = htmlentities($user['name']);
         }
     }
     require_once ROOT . '/views/cart/order.php';
     return true;
 }
 public function actionProfile()
 {
     $name = '';
     $sname = '';
     $phone = '';
     $country = '';
     $region = '';
     $city = '';
     $address = '';
     $index = '';
     $userId = '';
     $user = new User();
     $result = false;
     if (isset($_POST['add_profile'])) {
         $name = $_POST['u_name'];
         $sname = $_POST['u_sname'];
         $phone = $_POST['u_phone'];
         $country = $_POST['u_country'];
         $region = $_POST['u_region'];
         $city = $_POST['u_city'];
         $address = $_POST['u_address'];
         $index = $_POST['u_index'];
         $userId = $user->getUserById($user->isUser());
         $errors = false;
         if (!User::checkName($name)) {
             $errors[] = 'Имя должно быть более 2-х символов';
         }
         if (!User::checkSname($sname)) {
             $errors[] = 'Фамилия должна быть более 2-х символов';
         }
         if (!User::checkPhone($phone)) {
             $errors[] = 'Телефон должен быть более 7-ми символов';
         }
         if (!User::checkCountry($country)) {
             $errors[] = 'Страна должна быть более 2-х символов';
         }
         if (!User::checkRegion($region)) {
             $errors[] = 'Область должна быть более 2-х символов';
         }
         if (!User::checkCity($city)) {
             $errors[] = 'Город должен быть более 2-х символов';
         }
         if (!User::checkAddress($address)) {
             $errors[] = 'Адрес должен быть более 5-ти символов';
         }
         if (!User::checkIndex($index)) {
             $errors[] = 'Индекс должен быть более 4-х символов';
         }
         if ($errors == false) {
             $result = $user->addProfile($name, $sname, $phone, $country, $region, $city, $address, $index, $userId['id']);
             header("Location: /");
         }
     }
     require_once ROOT . '/views/user/profile.php';
     return true;
 }
Example #3
0
 /**
  * Action для страницы "Регистрация"
  */
 public function actionRegister()
 {
     // Переменные для формы
     $name = false;
     $email = false;
     $phone = false;
     $password = false;
     $result = false;
     // Обработка формы
     if (isset($_POST['submit'])) {
         // Если форма отправлена
         // Получаем данные из формы
         $name = $_POST['name'];
         $email = $_POST['email'];
         $phone = $_POST['phone'];
         $password = $_POST['password'];
         // Флаг ошибок
         $errors = false;
         // Валидация полей
         if (!User::checkName($name)) {
             $errors[] = 'Имя не должно быть короче 2-х символов';
         }
         if (!User::checkEmail($email)) {
             $errors[] = 'Неправильный email';
         }
         if (!User::checkPhone($phone)) {
             $errors[] = 'Телефон не должен быть короче 10-ти символов';
         }
         if (!User::checkPassword($password)) {
             $errors[] = 'Пароль не должен быть короче 6-ти символов';
         }
         if (User::checkEmailExists($email)) {
             $errors[] = 'Такой email уже используется';
         }
         if (User::checkPhoneExists($phone)) {
             $errors[] = 'Такой телефон уже используется';
         }
         if ($errors == false) {
             // Если ошибок нет
             // Регистрируем пользователя
             $result = User::register($name, $email, $phone, $password);
             header("Location: /");
         }
     }
     // Подключаем вид
     require_once ROOT . '/views/user/register.php';
     return true;
 }
 public function actionEdit()
 {
     $user = new User();
     //Получаем информацию о пользователе из сессии
     $userId = $user->checkLogged();
     //получаем инф-ию о пользователе из БД
     $userProfile = $user->getUserById($userId);
     $profileData = $user->getProfileByUserId($userId);
     $email = $userProfile['email'];
     $password = $userProfile['password'];
     $name = $profileData['name'];
     $sname = $profileData['sname'];
     $phone = $profileData['phone'];
     $country = $profileData['country'];
     $region = $profileData['region'];
     $city = $profileData['city'];
     $address = $profileData['address'];
     $city_index = $profileData['city_index'];
     $result = false;
     if (isset($_POST['save_edit'])) {
         $email = $_POST['email'];
         $name = $_POST['uname'];
         $sname = $_POST['usname'];
         $phone = $_POST['uphone'];
         $country = $_POST['ucountry'];
         $region = $_POST['uregion'];
         $city = $_POST['ucity'];
         $address = $_POST['uaddress'];
         $city_index = $_POST['uindex'];
         $n_password = $_POST['n_password'];
         $o_password = $_POST['o_password'];
         $errors = false;
         if ($_POST['o_password'] or $_POST['n_password']) {
             if (empty($o_password)) {
                 $errors[] = 'Не указан старый пароль';
             }
             if (empty($n_password)) {
                 $errors[] = 'Не указан новый пароль';
             }
             if (!$user->checkedPassword($password, $o_password)) {
                 $errors[] = 'Старый пароль указан неверно';
             }
             if ($errors == false) {
                 $npassword = $_POST['n_password'];
             }
         }
         if (!User::checkEmail($email)) {
             $errors[] = 'Неправильный Email';
         }
         if (!User::checkName($name)) {
             $errors[] = 'Имя должно быть более 2-х символов';
         }
         if (!User::checkSname($sname)) {
             $errors[] = 'Фамилия должна быть более 2-х символов';
         }
         if (!User::checkPhone($phone)) {
             $errors[] = 'Телефон должен быть более 7-ми символов';
         }
         if (!User::checkCountry($country)) {
             $errors[] = 'Страна должна быть более 2-х символов';
         }
         if (!User::checkRegion($region)) {
             $errors[] = 'Область должна быть более 2-х символов';
         }
         if (!User::checkCity($city)) {
             $errors[] = 'Город должен быть более 2-х символов';
         }
         if (!User::checkAddress($address)) {
             $errors[] = 'Адрес должен быть более 5-ти символов';
         }
         if (!User::checkIndex($city_index)) {
             $errors[] = 'Индекс должен быть более 4-х символов';
         }
         if ($errors == false) {
             $result = $user->edit($userId, $email, $password, $npassword, $name, $sname, $phone, $country, $region, $city, $address, $city_index);
         }
     }
     require_once ROOT . '/views/cabinet/edit.php';
     return true;
 }
 /**
  * Action для страницы "Оформление покупки"
  */
 public function actionCheckout()
 {
     // Получаем данные из корзины
     $productsInCart = Cart::getProductsInCart();
     // Если товаров нет, отправляем пользователи искать товары на главную
     if ($productsInCart == false) {
         header("Location: /");
     }
     // Список категорий для левого меню
     $categories = Category::getCategoriesList();
     // Находим общую стоимость
     $productsIds = array_keys($productsInCart);
     $products = Product::getProductsByIds($productsIds);
     $totalPrice = Cart::getTotalPrice($products);
     // Количество товаров
     $totalQuantity = Cart::cartItems();
     // Поля для формы
     $userName = false;
     $userPhone = false;
     $userComment = false;
     // Статус успешного оформления заказа
     $result = false;
     // Проверяем является ли пользователь гостем
     if (!User::isGuest()) {
         // Если пользователь не гость
         // Получаем информацию о пользователе из БД
         $userId = User::checkLogged();
         $user = User::getUserById($userId);
         $userName = $user['name'];
     } else {
         // Если гость, поля формы останутся пустыми
         $userId = false;
     }
     // Обработка формы
     if (isset($_POST['submit'])) {
         // Если форма отправлена
         // Получаем данные из формы
         $userName = $_POST['userName'];
         $userPhone = $_POST['userPhone'];
         $userComment = $_POST['userComment'];
         // Флаг ошибок
         $errors = false;
         // Валидация полей
         if (!User::checkName($userName)) {
             $errors[] = 'Неправильное имя';
         }
         if (!User::checkPhone($userPhone)) {
             $errors[] = 'Неправильный телефон';
         }
         if ($errors == false) {
             // Если ошибок нет
             // Сохраняем заказ в базе данных
             $result = Order::save($userName, $userPhone, $userComment, $userId, $productsInCart);
             if ($result) {
                 // Если заказ успешно сохранен
                 // Оповещаем администратора о новом заказе по почте
                 $adminEmail = '*****@*****.**';
                 $message = 'Cписок заказов';
                 $subject = 'Новый заказ!';
                 mail($adminEmail, $subject, $message);
                 // Очищаем корзину
                 Cart::clear();
             }
         }
     }
     // Подключаем вид
     require_once ROOT . '/views/cart/checkout.php';
     return true;
 }
Example #6
0
 public function actionOrder()
 {
     $categories = Category::getCategoryList();
     if (!$categories) {
         $categories = array();
     }
     $name = '';
     $phone = '';
     $message = '';
     $result = '';
     if (isset($_POST['submit'])) {
         $name = FunctionLibrary::clearStr($_POST['name']);
         $phone = FunctionLibrary::clearStr($_POST['phone']);
         $message = FunctionLibrary::clearStr($_POST['message']);
         $errors = array();
         if (!User::checkName($name)) {
             $errors[] = 'Имя должно быть больше 1 символа.';
         }
         if (!User::checkPhone($phone)) {
             $errors[] = 'Невалидный телефон.';
         }
         if (!User::checkName($message)) {
             $errors[] = 'Сообщение не может быть пустым.';
         }
         $sessionProducts = Cart::returnSessionProducts();
         if ($sessionProducts) {
             $idsArray = array_keys($sessionProducts);
             $products = Product::getProductsInCart($idsArray);
             $totalPrice = Cart::getTotalPrice($products);
             $totalCount = Cart::countProductsInCart();
             if (User::isUser()) {
                 $email = User::isLogged();
                 $user = User::getUserByEmail($email);
                 $userName = $user['name'];
                 $userId = $user['id'];
             } else {
                 $userName = '';
                 $userId = 0;
             }
         }
         if (empty($errors)) {
             $result = Order::save($name, $phone, $message, $userId, $sessionProducts);
             if ($result) {
                 $adminEmail = '*****@*****.**';
                 $sub = "Новый заказ";
                 $mess = "{$message}";
                 mail($adminEmail, $sub, $mess);
                 $_SESSION['message'] = 'Заказ оформлен';
                 Cart::deleteProductsInCart();
                 FunctionLibrary::redirectTo('/cart');
             }
         }
     } else {
         /* Выясняем есть ли товары в корзине */
         $sessionProducts = Cart::returnSessionProducts();
         if (!$sessionProducts) {
             FunctionLibrary::redirectTo('/');
         } else {
             $idsArray = array_keys($sessionProducts);
             $products = Product::getProductsInCart($idsArray);
             $totalPrice = Cart::getTotalPrice($products);
             $totalCount = Cart::countProductsInCart();
         }
         /* Выясняем зарегистрирован ли покупатель */
         if (User::isUser()) {
             $email = User::isLogged();
             $user = User::getUserByEmail($email);
             $userName = $user['name'];
         } else {
             $userName = '';
         }
     }
     require_once ROOT . '/views/cart/order.php';
     return true;
 }
Example #7
0
<?php

include_once "DBConnect.php";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    if (isset($_POST['username'])) {
        $person = new User($_POST['username'], $_POST['email'], $_POST['telephone'], $_POST['password']);
        $validation[] = $person->checkPass($person->_password, $_POST['password_confirm']);
        $validation[] = $person->checkPhone($person->_telephone);
        $validation[] = $person->checkEmail($person->_email);
        $validation[] = $person->checkName($person->_name);
        if (!in_array(0, $validation)) {
            //Check if some function returned 0
            $registerResult = $person->registerUser($person->_name, $person->_email, $person->_telephone, $person->_password);
            if ($registerResult == true) {
                if (!isset($_FILES['image'])) {
                    echo '
                    <div class="alert alert-success alert-dismissible" role="alert">
                        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                        Cadastro de <b>' . $person->_name . '</b> efetuado. (sem imagem)
                    </div>';
                } else {
                    $person->uploadFile($_FILES['image'], $_POST['MAX_FILE_SIZE']);
                }
                echo '<div class="alert alert-info" role="alert"><span class="glyphicon glyphicon-refresh glyphicon-refresh-animate"></span> Redirecionando...</div>';
                echo "<meta http-equiv=\"refresh\" content=\"3;url=login.php\">";
            }
        }
    }
    if (isset($_POST['compname'])) {
        if ($_POST['lat'] != "" && $_POST['lng'] != "" && $_POST['address'] != "") {
            $location = "" . $_POST['lat'] . " " . $_POST['lng'] . "";
Example #8
0
 /**
  * Action для страницы "Оформление покупки"
  */
 public function actionCheckout()
 {
     $productsInCart = Cart::getProducts();
     if ($productsInCart == false) {
         header("Location: /");
     }
     $categories = Category::getCategoriesList();
     // Находим общую стоимость
     $productsIds = array_keys($productsInCart);
     $products = Product::getProdustsByIds($productsIds);
     $totalPrice = Cart::getTotalPrice($products);
     // Количество товаров
     $totalQuantity = Cart::countItems();
     $userName = false;
     $userPhone = false;
     $userComment = false;
     $result = false;
     if (!User::isGuest()) {
         // Если пользователь не гость
         // Получаем информацию о пользователе из БД
         $userId = User::checkLogged();
         $user = User::getUserById($userId);
         $userName = $user['name'];
     } else {
         // Если гость, поля формы останутся пустыми
         $userId = false;
     }
     if (isset($_POST['submit'])) {
         $userName = $_POST['userName'];
         $userPhone = $_POST['userPhone'];
         $userComment = $_POST['userComment'];
         // Флаг ошибок
         $errors = false;
         if (!User::checkName($userName)) {
             $errors[] = 'Неправильное имя';
         }
         if (!User::checkPhone($userPhone)) {
             $errors[] = 'Неправильный телефон';
         }
         if ($errors == false) {
             // Если ошибок нет
             // Сохраняем заказ в базе данных
             $result = Order::save($userName, $userPhone, $userComment, $userId, $productsInCart);
             if ($result) {
                 // Если заказ успешно сохранен
                 // Оповещаем администратора о новом заказе по почте
                 $adminEmail = '*****@*****.**';
                 $message = '<a href="localhost/admin/orders">Список заказов</a>';
                 $subject = 'Новый заказ!';
                 mail($adminEmail, $subject, $message);
                 // Очищаем корзину
                 Cart::clear();
             }
         }
     }
     // Подключаем вид
     require_once ROOT . '/views/cart/checkout.php';
     return true;
 }