/** * 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; }
/** * @return bool * Метод для оформления заказа */ public function actionCheckout() { $productsInCart = Cart::getProducts(); if ($productsInCart == false) { //Если корзина пустая,пользователь перенаправляется на главную header("Location: /"); } $categories = Category::getCategoriesList(); $productsIds = array_keys($productsInCart); $products = Product::getProductsByIds($productsIds); $totalPrice = Cart::getTotalPrice($products); $totalItems = Cart::countItems(); //общее кол-во товаров $userName = ''; $userPhone = ''; $userMessage = ''; $res = false; //флаг успешного оформления заказа $fail = ''; if (!User::isGuest()) { $userId = User::isLogged(); //если пользователь не гость,получаем инфу о нем из БД $user = User::getUserById($userId); $userName = $user['name']; } else { $userId = false; } if (isset($_POST['submit'])) { //Если форма отправлена,получаем данные для полей $userName = $_POST['userName']; $userPhone = $_POST['userPhone']; $userMessage = $_POST['userMessage']; if (!User::isValidNamePhone($userName, $userPhone)) { $fail = 'Номер должен быть больше 9 символов/имя не может быть пустым'; } //Если все ок,записываем заказ в БД if ($fail == false) { $res = Order::save($userName, $userPhone, $userId, $userMessage, $productsInCart); if ($res) { Cart::clearCart(); } } } $args = array('categories' => $categories, 'productsInCart' => $productsInCart, 'productsIds' => $productsIds, 'products' => $products, 'totalPrice' => $totalPrice, 'totalItems' => $totalItems, 'fail' => $fail, 'res' => $res, 'userName' => $userName, 'userPhone' => $userPhone, 'userMessage' => $userMessage); return self::render('checkout', $args); }
<a id ="home-link" href="#"></a> <div id="wrapper"> <div class="panel-top"> <div class="center clearfix"> <div class="social"> <a href="#" class="s-fb"> </a> <a href="#" class="s-dribble"> </a> <a href="#" class="s-tw"> </a> <a href="#" class="s-mail"> </a> <a href="#" class="s-vimeo"> </a> </div> <div class="basket"> <a href="/cart"> <i class="fa fa-shopping-cart"></i> Cart (<span id="cart-count"><?php echo Cart::countItems(); ?> </span>) </a> </div> <div class="login"> <?php if (User::isGuest()) { ?> <a href="/user/login/">Вход</a> <span>|</span> <a href="/user/register/" >Регистрация</a> <?php } else { ?> <span>Добро пожаловать: <?php
/** * 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="http://digital-mafia.net/admin/orders">Список заказов</a>'; $subject = 'Новый заказ!'; mail($adminEmail, $subject, $message); // Очищаем корзину Cart::clear(); } } } // Подключаем вид require_once ROOT . '/views/cart/checkout.php'; return true; }
<?php $count = Cart::countItems(); function Head($p1) { //if($_SESSION['USER_LOGIN_IN']!=1) $Menu = '<div class="login"> <a href="#"id="login_btn">Login</a> <span>|</span> <a href="#" id="reg_btn">Register</a> </div>'; /*else $Menu = '<div class="login"> <span>Добро пожаловать '.$_SESSION['USER_EMAIL'].'</span> <a href="/personal_area"id="login_btn">Личный кабинет</a> <span>|</span> <a href="/account/logout" id="reg_btn">Выход</a> </div>';*/ echo '<!DOCTYPE html> <html> <head> <title>' . $p1 . '</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"/> </head> <body> <a id ="home-link" href="#"></a> <div id="wrapper"> <div class="panel-top"> <div class="center clearfix"> <div class="social"> <a href="#" class="s-fb"> </a>
public function actionCheckout() { // get data from Cart $productInCart = Cart::getProduct(); if ($productInCart == false) { header("Location: /"); } // get categories list for left menu $categories = Category::getCategoriesList(); // get total price $productsId = array_keys($productInCart); $products = Product::getProductByIds($productsId); $totalPrice = Cart::getTotalPrice($products); // get count of products $totalQuantity = Cart::countItems(); // fields for form $userName = false; $userPhone = false; $userComment = false; // the status of a successful checkout $result = false; // check is user guest if (!User::isGuest()) { // if user not guest get his info from database $userId = User::checkLogged(); $user = User::getUserById($userId); $userName = $user['name']; } else { // if user is guest -- the forms field will be empty $userId = false; } if (isset($_POST['submit'])) { // read form data $userName = $_POST['userName']; $userPhone = $_POST['userPhone']; $userComment = $_POST['userComment']; // data validation $errors = false; if (!User::checkName($userName)) { $errors[] = 'Wrong input name'; } if (!User::checkPhoneNumber($userPhone)) { $errors[] = 'Wrong intup Phone number'; } if ($errors == false) { // data input correctly // save order in database $result = Order::save($userName, $userPhone, $userComment, $userId, $productInCart); // send email if ($result) { // $adminEmail = '*****@*****.**'; // $message = 'future link on admin part'; // $subject = 'New order'; // mail($adminEmail, $subject, $message); // clear the cart Cart::clear(); } } } require_once ROOT . '/views/cart/checkout.php'; return true; }