Example #1
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;
 }