public function actionCreate()
 {
     $name = '';
     $email = '';
     $password = '';
     if (isset($_POST['submit'])) {
         $name = FunctionLibrary::clearStr($_POST['name']);
         $email = FunctionLibrary::clearStr($_POST['email']);
         $password = FunctionLibrary::clearStr($_POST['password']);
         $errors = array();
         if (!User::checkName($name)) {
             $errors[] = 'Имя должно быть больше 1 символа.';
         }
         if (!User::checkEmail($email)) {
             $errors[] = 'Невалидный email.';
         }
         if (User::checkEmailExists($email)) {
             $errors[] = 'Такой email уже существует.';
         }
         if (!User::checkPassword($password)) {
             $errors[] = 'Пароль должен быть больше 5 символов.';
         }
         if (empty($errors)) {
             $result = User::registerAdmin($name, $email, $password);
             if (!$result) {
                 $message = 'Произошла ошибка при регистрации админа!';
             } else {
                 FunctionLibrary::redirectTo('/admin/user');
             }
         }
     }
     require_once ROOT . '/views/admin-user/create.php';
     return true;
 }
示例#2
0
 public function actionContact()
 {
     $categories = Category::getCategoryList();
     if (!$categories) {
         $categories = array();
     }
     $email = '';
     $subject = '';
     $message = '';
     $result = '';
     if (isset($_POST['submit'])) {
         $email = FunctionLibrary::clearStr($_POST['email']);
         $subject = FunctionLibrary::clearStr($_POST['subject']);
         $message = FunctionLibrary::clearStr($_POST['message']);
         $errors = array();
         if (!User::checkEmail($email)) {
             $errors[] = 'Невалидный Email.';
         }
         if (!User::checkName($subject)) {
             $errors[] = 'Тема должна быть больше 1 символа.';
         }
         if (!User::checkName($message)) {
             $errors[] = 'Сообщение должно быть больше 1 символа.';
         }
         if (empty($errors)) {
             $adminEmail = '*****@*****.**';
             $sub = "Тема письма: {$subject}. От: {$email}";
             $mess = "Текст письма: {$message}";
             $result = mail($adminEmail, $sub, $mess);
         }
     }
     require_once ROOT . '/views/site/contact.php';
     return true;
 }
示例#3
0
 public function actionLogin()
 {
     $email = '';
     $password = '';
     $remember = '';
     if (isset($_POST['submit'])) {
         $email = FunctionLibrary::clearStr($_POST['email']);
         $password = FunctionLibrary::clearStr($_POST['password']);
         if (isset($_POST['remember'])) {
             $remember = FunctionLibrary::clearStr($_POST['remember']);
         }
         $errors = array();
         if (!User::checkEmail($email)) {
             $errors[] = 'Невалидный email.';
         }
         $user = User::login($email, $password, $remember);
         if ($user) {
             User::auth($user);
             FunctionLibrary::redirectTo('/cabinet');
         } else {
             $errors[] = 'Неправильные данные для входа на сайт.';
         }
     }
     require_once ROOT . '/views/user/login.php';
     return true;
 }
 public function actionUpdate($id)
 {
     $category = Category::getCategoryById($id);
     if (!$category) {
         $category = array();
     }
     $totalCategory = Category::getTotalCategory();
     if (!$totalCategory) {
         $totalCategory = 0;
     }
     $name = '';
     $sortOrder = '';
     $status = '';
     $errors = array();
     if (isset($_POST['submit'])) {
         $name = FunctionLibrary::clearStr($_POST['name']);
         $sortOrder = FunctionLibrary::clearStr($_POST['sortOrder']);
         $status = FunctionLibrary::clearStr($_POST['status']);
         if (!User::checkName($name)) {
             $errors[] = 'Название категории должно быть больше 1 символа.';
         }
         if (empty($errors)) {
             $result = Category::editCategory($id, $name, $sortOrder, $status);
             if (!$result) {
                 $message = 'Произошла ошибка при редактировании категории.';
             } else {
                 FunctionLibrary::redirectTo('/admin/category');
             }
         }
     }
     require_once ROOT . '/views/admin-category/update.php';
     return true;
 }
示例#5
0
 public function actionEdit()
 {
     $categories = Category::getCategoryList();
     if (!$categories) {
         $categories = array();
     }
     $email = User::isLogged();
     $user = User::getUserByEmail($email);
     $name = $user['name'];
     $password = '';
     $result = '';
     if (isset($_POST['submit'])) {
         $name = FunctionLibrary::clearStr($_POST['name']);
         $password = FunctionLibrary::clearStr($_POST['password']);
         $errors = array();
         if (!User::checkName($name)) {
             $errors[] = 'Имя должно быть больше 1 символа.';
         }
         if (!User::checkPassword($password)) {
             $errors[] = 'Пароль должен быть больше 5 символов.';
         }
         if (empty($errors)) {
             $result = User::edit($user['id'], $name, $password);
         }
     }
     require_once ROOT . '/views/cabinet/edit.php';
     return true;
 }
示例#6
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 actionUpdate($id)
 {
     $categories = Category::getCategoryList(false);
     if (!$categories) {
         $categories = array();
     }
     $product = Product::getProductById($id, false);
     if (!$product) {
         $product = array();
     }
     if (isset($_POST['submit'])) {
         $options['name'] = FunctionLibrary::clearStr($_POST['name']);
         $options['code'] = FunctionLibrary::clearStr($_POST['code']);
         $options['price'] = FunctionLibrary::clearStr($_POST['price']);
         $options['brand'] = FunctionLibrary::clearStr($_POST['brand']);
         $options['category_id'] = FunctionLibrary::clearStr($_POST['category_id']);
         $options['availability'] = FunctionLibrary::clearStr($_POST['availability']);
         $options['is_new'] = FunctionLibrary::clearStr($_POST['is_new']);
         $options['is_recommended'] = FunctionLibrary::clearStr($_POST['is_recommended']);
         $options['status'] = FunctionLibrary::clearStr($_POST['status']);
         $options['description'] = FunctionLibrary::clearStr($_POST['description']);
         $errors = array();
         if (!User::checkName($options['name'])) {
             $errors[] = 'Название товара должно быть больше 1 символа.';
         }
         if (empty($errors)) {
             if ($id) {
                 $result = Product::updateProductById($id, $options);
                 if (!$result) {
                     $message = 'Произошла ошибка при редактировании.';
                 } else {
                     if (!empty($_FILES['image']['tmp_name'])) {
                         $tmpName = $_FILES['image']['tmp_name'];
                         if (is_uploaded_file($tmpName)) {
                             /*
                                Следующие две строки для того
                                чтобы иметь возможность поменять
                                картинку no-image в базе
                                (а не то меняется только картинка в папке)
                             */
                             $imagePath = "/images/home/product{$id}.jpg";
                             $result = Product::putImageToDataBase($id, $imagePath);
                             if ($result) {
                                 $destination = $_SERVER['DOCUMENT_ROOT'] . "/template" . $imagePath;
                                 move_uploaded_file($tmpName, $destination);
                             }
                         }
                     }
                     FunctionLibrary::redirectTo('admin/product');
                 }
             }
         }
     }
     require_once ROOT . '/views/admin_product/update.php';
     return true;
 }
 public function actionUpdate($id)
 {
     $categories = Category::getCategoriesList();
     if (!$categories) {
         $categories = array();
     }
     $product = Product::getProductById($id);
     if (!$product) {
         $product = array();
     }
     if (isset($_POST['submit'])) {
         $options['name'] = FunctionLibrary::clearStr($_POST['name']);
         $options['code'] = FunctionLibrary::clearInt($_POST['code']);
         $options['price'] = FunctionLibrary::clearFloat($_POST['price']);
         $options['brand'] = FunctionLibrary::clearStr($_POST['brand']);
         $options['category_id'] = FunctionLibrary::clearInt($_POST['category_id']);
         $options['availability'] = FunctionLibrary::clearInt($_POST['availability']);
         $options['is_new'] = FunctionLibrary::clearInt($_POST['is_new']);
         $options['is_recommended'] = FunctionLibrary::clearInt($_POST['is_recommended']);
         $options['status'] = FunctionLibrary::clearInt($_POST['status']);
         $options['description'] = FunctionLibrary::clearStr($_POST['description']);
         $errors = array();
         if (!User::checkName($options['name'])) {
             $errors[] = 'Название не может быть пустым.';
         }
         if ($id && empty($errors)) {
             $result = Product::updateProductById($id, $options);
             if (!$result) {
                 $message = 'Произошла ошибка при редактировании!';
             } else {
                 if (!empty($_FILES['image']['tmp_name'])) {
                     $fileName = $_FILES['image']['tmp_name'];
                     if (is_uploaded_file($fileName)) {
                         /*
                          * Следующие две строки для того чтобы
                          * иметь возможность поменять запись no-image
                          * в базе данных (а иначе поменяется только
                          * картинка в папке на сервере)
                          */
                         $imagePath = "/images/home/product{$id}.jpg";
                         $result = Product::putImageToDataBase($id, $imagePath);
                         if ($result) {
                             $destination = ROOT . "/template" . $imagePath;
                             move_uploaded_file($fileName, $destination);
                         }
                     }
                 }
                 FunctionLibrary::redirectTo('/admin/product');
             }
         }
     }
     require_once ROOT . '/views/admin-product/update.php';
     return true;
 }
 public static function actionUpdate($id)
 {
     $blog = Blog::getBlogById($id);
     if (!$blog) {
         $blog = array();
     }
     $errors = array();
     $title = '';
     $description = '';
     $content = '';
     if (isset($_POST['submit'])) {
         $title = FunctionLibrary::clearStr($_POST['title']);
         $description = nl2br(FunctionLibrary::clearStr($_POST['description']));
         $content = nl2br(FunctionLibrary::clearStr($_POST['content']));
         if (!User::checkName($title)) {
             $errors[] = 'Заглавие не может быть пустым.';
         }
         if (!User::checkName($description)) {
             $errors[] = 'Описание не может быть пустым.';
         }
         if (!User::checkName($content)) {
             $errors[] = 'Содержание не может быть пустым.';
         }
         if (empty($errors)) {
             $result = Blog::updateBlogById($id, $title, $description, $content);
             if (!$result) {
                 $_SESSION['message'] = 'Произошла ошибка при редактировании.';
             } else {
                 if (!empty($_FILES['image']['tmp_name'])) {
                     $tmpName = $_FILES['image']['tmp_name'];
                     if (is_uploaded_file($tmpName)) {
                         $imagePath = "/images/blog/blog{$id}.jpg";
                         $result = Blog::putImageToDataBase($id, $imagePath);
                         if ($result) {
                             $destination = ROOT . '/template' . $imagePath;
                             $moveResult = move_uploaded_file($tmpName, $destination);
                             if (!$moveResult) {
                                 $_SESSION['message'] = "Произошла ошибка при добавлении картинки.";
                             }
                         }
                     }
                 }
             }
             FunctionLibrary::redirectTo('/admin/blog');
         }
     }
     require_once ROOT . '/views/admin-blog/update.php';
     return true;
 }
示例#10
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;
 }