core/api/modules/ajax/ajax.php

186 lines
8.4 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
ini_set( 'display_errors', 0 );
//print_r($_POST);
switch(@$_POST['act']) {
/* ----------------------------------------------------------------------
09.04.2023
Получаем суб-меню
---------------------------------------------------------------------- */
case 'getSubMenu':
$submenu=\DB::getAll("SELECT `id`, `title` FROM `tovar_category` WHERE `category`=? AND `status`=1", $_POST['id']);
echo \json::to_j($submenu);
break;
/* ----------------------------------------------------------------------
05.03.2023
Удаляем из корзины
---------------------------------------------------------------------- */
case 'delFromCart':
\DB::set("DELETE FROM `cart` WHERE `id`=? AND `user_id`=?", array($_POST['id'], \core::checkMe()));
echo \core::getCart()['summ'];
break;
/* ----------------------------------------------------------------------
27.02.2023
Добавляем в корзину
Берем три параметра ID товара, ИД пользователя, Количество
---------------------------------------------------------------------- */
case 'addToCart':
echo \DB::add("INSERT INTO `cart` (`kolvo`, `t`, `tovar_id`, `user_id`)VALUES(?, ?, ?, ?)", array($_POST['kolvo'], time(), $_POST['tovar_id'], \core::checkMe()));
break;
//сохраняет настройки модуля
/* case 'save_settings_mod':
unset($a);
$a['mod']=$_POST['mod'];
$id_set=$db->get_val('settings', $a, 'id');
unset($_POST['act']);
unset( $_POST['mod'] );
$a['json']=serialize($_POST);
$db->update('settings', $id_set, $a);
echo 0;
//сделать проверку наличия в БД (это уже есть в модуле, но кто ж не ошибается)
break;
*/
// Сохранение настроек модуля
case 'save_settings_mod':
$res['mod']=$_POST['mod'];
unset ($_POST['mod']);
unset($_POST['act']);
$res['json']=json_encode($_POST, JSON_UNESCAPED_UNICODE);
$db->free_sql2 ( "UPDATE `settings` SET `json`='" . $res['json'] . "' WHERE `mod`='" . $res['mod'] . "'" );
break;
/* ----------------------------------------------------------------------
12.02.2023
Повышаем рейтинг
---------------------------------------------------------------------- */
case 'up_reyt';
$user_id=\core::checkMe();
//узнаем, лайкали ли уже это
$like_id=\DB::getValue("SELECT `id` FROM `likes` WHERE `user_id`=? AND `content_id`=? AND `content_type`=?", array($user_id, $_POST['id'], $_POST['tip']));
$reyt=\DB::getValue("SELECT `reyt` FROM `" . $_POST['tip'] . "` WHERE `id`=? LIMIT 1", $_POST['id']);
if ($like_id){//уже лайкали - разлайкиваем
$reyt--;
\DB::set("DELETE FROM `likes` WHERE `user_id`=? AND `content_id`=? AND `content_type`=? LIMIT 1", array($user_id, $_POST['id'], $_POST['tip']));
}else{
$reyt++;
\DB::add("INSERT INTO `likes` (`user_id`, `content_id`, `content_type`) VALUES (?, ?, ?)", array($user_id, $_POST['id'], $_POST['tip']));
}
\DB::set("UPDATE `" . $_POST['tip'] . "` SET `reyt`=? WHERE `id`=? LIMIT 1", array($reyt, $_POST['id']));
echo $reyt;
break;
case 'up_reyt1';
$tip = $_POST['tip'];
$user_id = ( $_SESSION['user_id'] ) ? $_SESSION['user_id'] : session_id();
if ( $tip=='user_reyt' ){//обновляем рейтинг пользователя
//проверяем что еще не лайкали
$id = \DB::getValue( "SELECT `id` FROM `likes` WHERE `user_id`=? AND `tip`=? AND `content_id`=? LIMIT 1", array( $user_id, $tip, $_POST['id'] ) );
if ( $id ){//Убавляем
//Получаем текущий рейтинг из БД
$reyt = \DB::getValue( "SELECT `reyt` FROM `users` WHERE `id`=? LIMIT 1", $_POST['id'] );
$reyt--;
//обновляем рейтинг
\DB::set( "UPDATE `users` SET `reyt`=? WHERE `id`=?", array($reyt, $_POST['id'] ) );
\DB::add("DELETE FROM `likes` WHERE `id`=?", $id);
echo $reyt;
}else{//прибавляем
//Получаем текущий рейтинг из БД
$reyt = \DB::getValue( "SELECT `reyt` FROM `users` WHERE `id`=? LIMIT 1", $_POST['id'] );
$reyt++;
//обновляем рейтинг
\DB::set( "UPDATE `users` SET `reyt`=? WHERE `id`=?", array($reyt, $_POST['id'] ) );
//пишем в базу что уже это лайкнули
\DB::add("INSERT INTO `likes` (`user_id`, `tip`, `content_id`) VALUES(?, ?, ?)", array($user_id, $tip, $_POST['id']));
echo $reyt;
}
}
if ( $tip=='user_spasibo' ){//обновляем рейтинг пользователя
//проверяем что еще не лайкали
$id = \DB::getValue( "SELECT `id` FROM `likes` WHERE `user_id`=? AND `tip`=? AND `content_id`=? LIMIT 1", array( $user_id, $tip, $_POST['id'] ) );
if ( $id ){//Убавляем
//Получаем текущий рейтинг из БД
$reyt = \DB::getValue( "SELECT `spasibo` FROM `users` WHERE `id`=? LIMIT 1", $_POST['id'] );
$reyt--;
//обновляем рейтинг
\DB::set( "UPDATE `users` SET `spasibo`=? WHERE `id`=?", array($reyt, $_POST['id'] ) );
\DB::add("DELETE FROM `likes` WHERE `id`=?", $id);
echo $reyt;
}else{//прибавляем
//Получаем текущий рейтинг из БД
$reyt = \DB::getValue( "SELECT `spasibo` FROM `users` WHERE `id`=? LIMIT 1", $_POST['id'] );
$reyt++;
//обновляем рейтинг
\DB::set( "UPDATE `users` SET `spasibo`=? WHERE `id`=?", array($reyt, $_POST['id'] ) );
//пишем в базу что уже это лайкнули
\DB::add("INSERT INTO `likes` (`user_id`, `tip`, `content_id`) VALUES(?, ?, ?)", array($user_id, $tip, $_POST['id']));
echo $reyt;
}
}
if ( $tip=='page_reyt' ){//обновляем рейтинг пользователя
//проверяем что еще не лайкали
$id = \DB::getValue( "SELECT `id` FROM `likes` WHERE `user_id`=? AND `tip`=? AND `content_id`=? LIMIT 1", array( $user_id, $tip, $_POST['id'] ) );
if ( $id ){//Убавляем
//Получаем текущий рейтинг из БД
$reyt = \DB::getValue( "SELECT `reyt` FROM `pages` WHERE `id`=? LIMIT 1", $_POST['id'] );
$reyt--;
//обновляем рейтинг
\DB::set( "UPDATE `pages` SET `reyt`=? WHERE `id`=?", array($reyt, $_POST['id'] ) );
\DB::add("DELETE FROM `likes` WHERE `id`=?", $id);
echo $reyt;
}else{//прибавляем
//Получаем текущий рейтинг из БД
$reyt = \DB::getValue( "SELECT `reyt` FROM `pages` WHERE `id`=? LIMIT 1", $_POST['id'] );
$reyt++;
//обновляем рейтинг
\DB::set( "UPDATE `pages` SET `reyt`=? WHERE `id`=?", array($reyt, $_POST['id'] ) );
//пишем в базу что уже это лайкнули
\DB::add("INSERT INTO `likes` (`user_id`, `tip`, `content_id`) VALUES(?, ?, ?)", array($user_id, $tip, $_POST['id']));
echo $reyt;
}
}
if ( $tip=='comment_reyt' ){//обновляем рейтинг пользователя
//проверяем что еще не лайкали
$id = \DB::getValue( "SELECT `id` FROM `likes` WHERE `user_id`=? AND `tip`=? AND `content_id`=? LIMIT 1", array( $user_id, $tip, $_POST['id'] ) );
if ( $id ){//Убавляем
//Получаем текущий рейтинг из БД
$reyt = \DB::getValue( "SELECT `reyt` FROM `pages_comments` WHERE `id`=? LIMIT 1", $_POST['id'] );
$reyt--;
//обновляем рейтинг
\DB::set( "UPDATE `pages_comments` SET `reyt`=? WHERE `id`=?", array($reyt, $_POST['id'] ) );
\DB::add("DELETE FROM `likes` WHERE `id`=?", $id);
echo $reyt;
}else{//прибавляем
//Получаем текущий рейтинг из БД
$reyt = \DB::getValue( "SELECT `reyt` FROM `pages_comments` WHERE `id`=? LIMIT 1", $_POST['id'] );
$reyt++;
//обновляем рейтинг
\DB::set( "UPDATE `pages_comments` SET `reyt`=? WHERE `id`=?", array($reyt, $_POST['id'] ) );
//пишем в базу что уже это лайкнули
\DB::add("INSERT INTO `likes` (`user_id`, `tip`, `content_id`) VALUES(?, ?, ?)", array($user_id, $tip, $_POST['id']));
echo $reyt;
}
}
break;
default:
}
?>