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; }
/** * 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; }
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; }
<?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">×</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'] . "";
/** * 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; }