<?php
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
	// Класс
	require('../flowap/system.php');
	//
	if(empty($user['id'])):
		$d = ['message' => 'Вы не авторизованы','type' => 'error'];
		echo json_encode($d);exit();
	endif;
	// Фильтр
	/*
	1 - лайк
	0 - дизлайк
	*/
	$likes = functions::htmlred($_POST['likes']);
	$id = functions::ints($_POST['id']);
	if($likes == 'like'):
		/// проверяем есть ли лайки к этому посту от пользователя
		if(DB::$dbs->querySingle('SELECT COUNT(*) FROM `likes` WHERE `idus` = ? and `iblog` = ?',[$user['id'],$id]) == 0){
			//// лайков нет 
			// Ставим просто лайк
			DB::$dbs->query('INSERT INTO `likes` SET `idus` = ?,`iblog` = ?,`time` = ?,`liker` = 1',[$user['id'],$id,time()]);
			DB::$dbs->query('UPDATE `blog` SET `likes` = `likes` + 1 WHERE `id` = ? LIMIT 1', [$id]);
			$dell = 0;
		}else{
			////// Лайки есть
			//// Смотрим какой лайк стоит 
			// Если стоит лайк
			if(DB::$dbs->querySingle('SELECT COUNT(*) FROM `likes` WHERE `idus` = ? and `iblog` = ? and `liker` = 1',[$user['id'],$id]) == 1){
				// Снимаем лайк
				DB::$dbs->query('DELETE FROM `likes` WHERE `idus` = ? and `iblog` = ?',[$user['id'],$id]);
				DB::$dbs->query('UPDATE `blog` SET `likes` = `likes` - 1 WHERE `id` = ? LIMIT 1', [$id]);
				$dell = 1;
			}elseif(DB::$dbs->querySingle('SELECT COUNT(*) FROM `likes` WHERE `idus` = ? and `iblog` = ? and `liker` = 0',[$user['id'],$id]) == 1){
				// Если стоит дизлайк
				DB::$dbs->query('DELETE FROM `likes` WHERE `idus` = ? and `iblog` = ?',[$user['id'],$id]);
				DB::$dbs->query('INSERT INTO `likes` SET `idus` = ?,`iblog` = ?,`time` = ?,`liker` = 1',[$user['id'],$id,time()]);
				DB::$dbs->query('UPDATE `blog` SET `likes` = `likes` + 2 WHERE `id` = ? LIMIT 1', [$id]);
				$dell = 0;
			}
		}
		$blog = DB::$dbs->queryFetch('SELECT `likes` FROM `blog` WHERE `id` = ? LIMIT 1', [$id]);
		$d = ['message' => 'лайк','type' => 'success','colik' => $blog['likes'],'dell' => $dell];
		echo json_encode($d);exit();
	else:
		/// проверяем есть ли лайки к этому посту от пользователя
		if(DB::$dbs->querySingle('SELECT COUNT(*) FROM `likes` WHERE `idus` = ? and `iblog` = ?',[$user['id'],$id]) == 0){
			//// дизлайков нет
			// Ставим просто дизлайк
			DB::$dbs->query('INSERT INTO `likes` SET `idus` = ?,`iblog` = ?,`time` = ?,`liker` = 0',[$user['id'],$id,time()]);
			DB::$dbs->query('UPDATE `blog` SET `likes` = `likes` - 1 WHERE `id` = ? LIMIT 1', [$id]);
			$dell = 0; // надо ли удалять графически
		}else{
			////// Дизлайки есть
			//// Смотрим какой дизлайк стоит 
			// Если стоит дизлайк
			if(DB::$dbs->querySingle('SELECT COUNT(*) FROM `likes` WHERE `idus` = ? and `iblog` = ? and `liker` = 0',[$user['id'],$id]) == 1){
				// Снимаем лайк
				DB::$dbs->query('DELETE FROM `likes` WHERE `idus` = ? and `iblog` = ?',[$user['id'],$id]);
				DB::$dbs->query('UPDATE `blog` SET `likes` = `likes` + 1 WHERE `id` = ? LIMIT 1', [$id]);
				$dell = 1; // надо удалить графически
			}elseif(DB::$dbs->querySingle('SELECT COUNT(*) FROM `likes` WHERE `idus` = ? and `iblog` = ? and `liker` = 1',[$user['id'],$id]) == 1){
				// Если стоит лайк
				DB::$dbs->query('DELETE FROM `likes` WHERE `idus` = ? and `iblog` = ?',[$user['id'],$id]);
				DB::$dbs->query('INSERT INTO `likes` SET `idus` = ?,`iblog` = ?,`time` = ?,`liker` = 0',[$user['id'],$id,time()]);
				DB::$dbs->query('UPDATE `blog` SET `likes` = `likes` - 2 WHERE `id` = ? LIMIT 1', [$id]);
				$dell = 0; // надо ли удалять графически
			}
		}
		$blog = DB::$dbs->queryFetch('SELECT `likes` FROM `blog` WHERE `id` = ? LIMIT 1', [$id]);
		$d = ['message' => 'дизлайк','type' => 'success','colik' => $blog['likes'],'dell' => $dell];
		echo json_encode($d);exit();
	endif;
}else{
	exit('NO2');
}
?>