public function actionEdit()
{
//Получаем идентификатор пользователя из сессиив
$userId = User::checkLogged();
//Получаем инфомацию о пользователе из БД
$user = User::getUserById($userId);
$name = $user['name'];
$password = $user['password'];
$result = false;
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$password = $_POST['password'];
$errors[] = false;
if (!User::checkName($name)) {
$errors[] = 'Имя должно состоять минимум из 2 символов';
}
if (!User::checkPassword($password)) {
$errors[] = 'Пароль должен состоять минимум из 6 символов';
}
if ($errors == false) {
$result = User::edit($userId, $name, $password);
}
}
require_once ROOT . '/views/cabinet/edit.php';
return true;
}
/**
* Action для стартовой страницы "Панель администратора"
*/
public function actionIndex()
{
$userId = User::checkLogged();
$user = User::getUserById($userId);
require_once ROOT . '/views/admin/index.php';
return true;
}
public function actionIndex()
{
$title = '';
$short_content = '';
$content = '';
$errors = false;
if (User::checkLogged()) {
$id = $_SESSION['user'];
$author_name = Add::getAuthorname($id);
echo $author_name;
print_r($_SESSION);
if (isset($_REQUEST['submit'])) {
$title = $_REQUEST['title'];
$content = $_REQUEST['content'];
$short_content = Add::shortPost($content);
$errors = false;
if (!Add::checkTitle($title)) {
$errors[] = 'Заголовок отсутствует или меньше 2-х символов';
}
if (!Add::checkContent($content)) {
$errors[] = 'Текст слишком короткий';
}
if ($errors == false) {
$lastId = Add::sendPost($title, $short_content, $content, $author_name);
header("Location:/news/{$lastId}");
}
}
}
require_once ROOT . '/views/addpost/index.php';
return true;
//redirect
}
public function actionEdit()
{
//primim identificatorul utilizatorului din sesiune
$userId = User::checkLogged();
//primim informatii despre utilizator din baza de date
$user = User::getUserById($userId);
$name = $user['name'];
$password = $user['password'];
$result = false;
$errors = false;
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$password = $_POST['password'];
if (!User::checkName($name)) {
$errors[] = 'Numele nu trebue sa fie mai scurt de doua simboluri';
}
if (!User::checkPassword($password)) {
$errors[] = 'parola nu trebue sa fie mai scurta de 6 simboluri';
}
if ($errors == false) {
$result = User::edit($userId, $name, $password);
}
}
require_once ROOT . '/views/cabinet/edit.php';
return true;
}
/**
* Action для страницы "Добавить новость"
*/
public function actionCreate()
{
$userId = User::checkLogged();
if (isset($_POST['submit'])) {
$title = $_POST['title'];
$short_content = $_POST['short_content'];
$content = $_POST['content'];
$errors = false;
if (!isset($title) || empty($title) || !isset($short_content) || empty($short_content) || !isset($content) || empty($content)) {
$errors[] = 'Заполните поля';
}
if (strlen($short_content) > 255) {
$errors[] = 'Поле короткое описание не может содержать > 255 символов';
}
if ($errors == false) {
// Если ошибок нет
// Добавляем новую категорию
News::createNews($userId, $title, $short_content, $content);
// Перенаправляем пользователя на страницу управлениями новостями
header("Location: /admin/news");
}
}
require_once ROOT . '/views/admin_news/create.php';
return true;
}
/**
* Action для страницы "Редактирование данных пользователя"
*/
public function actionEdit()
{
// Получаем идентификатор пользователя из сессии
$userId = User::checkLogged();
// Получаем ифнормацию о пользователе из БД
$user = User::getUserById($userId);
// Заполняем переменные для полей формы
$name = $user['name'];
$password = $user['password'];
// Флаг результата
$result = false;
// Обработка формы
if (isset($_POST['submit'])) {
// Если форма отправлена
// Получаем данные из формы редактирования
$name = $_POST['name'];
$password = $_POST['password'];
// Флаг ошибок
$errors = false;
// Валидируем значения
if (!User::checkName($name)) {
$errors[] = 'Имя д.б. не короче 2-х символов';
}
if (!User::checkPassword($password)) {
$errors[] = 'Пароль короче 6 символов';
}
if ($errors === false) {
// Если ошибок нет, сохраняем изменения профиля
$result = User::edit($userId, $name, $password);
}
}
// Подключаем вид
require_once ROOT . '/views/cabinet/edit.php';
return true;
}
/**
* 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 = 'vlade1985@gmail.com';
$message = '<a href="localhost/admin/orders">Список заказов</a>';
$subject = 'Новый заказ!';
mail($adminEmail, $subject, $message);
// Очищаем корзину
Cart::clear();
}
}
}
// Подключаем вид
require_once ROOT . '/views/cart/checkout.php';
return true;
}
public function actionIndex()
{
$uri = trim($_SERVER['REQUEST_URI'], '/');
if (User::checkIfAuth()) {
$userId = User::checkLogged()['id'];
$userInfo = User::getUserById($userId);
}
require_once ROOT . '/views/index.php';
}
public static function checkAdmin()
{
$userId = User::checkLogged();
$user = User::getUserById($userId);
if ($user['role'] == 'admin') {
return true;
}
return false;
}
/**
* Method for check admin
* @return boolean
*/
function __construct()
{
$userId = User::checkLogged();
$user = User::getUserById($userId);
if ($user['role'] == 'admin') {
return true;
}
die('Access denied');
}
/**
* Метод, который проверяет пользователя на то, является ли он администратором
* @return boolean
*/
public static function checkAdmin()
{
// Проверяем авторизирован ли пользователь. Если нет, он будет переадресован
$userId = User::checkLogged();
if ($userId['role'] == 'admin') {
return $userId;
}
// Иначе завершаем работу с сообщением об закрытом доступе
die('Access denied, свяжитесь с <b>bugaydima@yandex.ru</b> администратором для доступа в админку');
}
public static function checkAdmin()
{
$users = new User();
//Проверка на авторизацию
$userId = $users->checkLogged();
//Получаем информацию о текущем пользователе
$user = $users->getUserById($userId);
if ($user['role'] == 'admin') {
return true;
}
die('Access denied');
}
/**
* Метод, который проверяет пользователя на то, является ли он администратором
* @return boolean
*/
public static function checkAdmin()
{
// Проверяем авторизирован ли пользователь. Если нет, он будет переадресован
$userId = User::checkLogged();
// Получаем информацию о текущем пользователе
$user = User::getUserById($userId);
// Если роль текущего пользователя "admin", пускаем его в админпанель
if ($user['role'] == 'admin') {
return true;
}
// Иначе завершаем работу с сообщением об закрытом доступе
die('Access denied');
}
public function actionIndex()
{
if (isset($_POST['submit'])) {
if (User::checkLogged()) {
header("Location:/add");
} else {
header("Location:/user/login");
}
return true;
}
require_once ROOT . '/views/main/index.php';
return true;
}
public static function checkAdmin()
{
// Проверка авторизации
$userId = User::checkLogged();
//Получаем информацию о текущем пользователе
$user = User::UserById($userId);
// Если статус текущего пользователя "admin"-
// будут доступны методы для управления базой данных
if ($user['status'] == 'admin') {
return true;
}
// Иначе завершаем работу с сообщением об закрытом доступе
die('Нет доступа');
}
public function actionEdit()
{
$userId = User::checkLogged();
$result = false;
if (isset($_POST['submit'])) {
$user = new User($_POST['name'], '', $_POST['password']);
$errors = false;
if (!$user->checkName()) {
$errors[] = 'Имя не должно быть короче 2-х символов';
}
if (!$user->checkPassword()) {
$errors[] = 'Пароль не должен быть короче 6-ти символов';
}
if ($errors == false) {
$result = $user->edit($userId);
}
}
require_once ROOT . '/views/cabinet/edit.php';
return true;
}
/**
* Action для страницы "Редактирование данных пользователя"
*/
public function actionEdit()
{
$userId = User::checkLogged();
$user = User::getUserById($userId);
$name = $user['name'];
$password = $user['password'];
$result = false;
if (isset($_POST['submit'])) {
$name = $_POST['name'];
$password = $_POST['password'];
$errors = false;
if (!User::checkName($name)) {
$errors[] = 'Имя не должно быть короче 2-х символов';
}
if (!User::checkPassword($password)) {
$errors[] = 'Пароль не должен быть короче 6-ти символов';
}
if ($errors == false) {
$result = User::edit($userId, $name, $password);
}
}
require_once ROOT . '/views/cabinet/edit.php';
return true;
}
public function actionIndex()
{
$userId = User::checkLogged();
require_once ROOT . '/views/cabinet/index.php';
}
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 = 'polytov11@mail.ru';
$message = 'Cписок заказов';
$subject = 'Новый заказ!';
mail($adminEmail, $subject, $message);
// Очищаем корзину
Cart::clear();
}
}
}
// Подключаем вид
require_once ROOT . '/views/cart/checkout.php';
return true;
}
<ul class="nav navbar-nav navbar-right">
<?php
if (User::checkIfAuth()) {
?>
<li class="hidden-xs" style="width: 70px;height: 50px;">
<!-- <div class="col-xs-2 pull-right" style="height:50px;padding: 0;"> -->
<img src="<?php
echo User::getAvatar($_SESSION['user']['id']);
?>
" width="100%"
height="100%" alt="Avatar">
<!-- </div>-->
</li>
<li><a href="/my/show">
<?php
echo User::checkLogged()['first_name'] . ' ' . substr(User::checkLogged()['last_name'], 0, 2) . '.';
?>
</a>
</li>
<li><a href="/auth/logout">Выйти</a>
</li>
<?php
} else {
?>
<li <?php
if ($uri == 'auth/login') {
?>
class="active"<?php
}
?>
><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 = 'jlumarlin@gmail.com';
// $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;
}
public static function getAdmin()
{
$userId = User::checkLogged();
$user = User::getUserById($userId);
// Если роль текущего пользователя "admin", пускаем его в админпанель
if ($user['role'] == 'admin') {
return true;
}
return false;
}
public function actionCropAvatar()
{
$uri = trim($_SERVER['REQUEST_URI'], '/');
$userId = User::checkLogged()['id'];
$filePath = $_SERVER['DOCUMENT_ROOT'] . '/public/images/users/avatars/' . $userId . '.jpg';
if (!file_exists($filePath)) {
$errors[] = 'Вы еще не загружали аватар';
}
$result = false;
if (isset($_POST["crop_image"])) {
$errors = false;
if (empty($_POST["x1"]) || empty($_POST["y1"]) || empty($_POST["w"]) || empty($_POST["h"])) {
$errors[] = 'Вы не выбрали зону обрезки';
}
if (!file_exists($filePath)) {
$errors[] = 'Вы еще не загружали аватар';
}
if ($errors == false) {
$source = imagecreatefromjpeg($filePath);
$x1 = $_POST["x1"];
$y1 = $_POST["y1"];
$w = $_POST["w"];
$h = $_POST["h"];
$cropped = imagecrop($source, array('x' => $x1, 'y' => $y1, 'width' => $w, 'height' => $h));
imagejpeg($cropped, $filePath);
$result = true;
}
}
require_once ROOT . '/views/user/crop_avatar.php';
}