core/api/modules/ajax/ajax.php

136 lines
5.5 KiB
PHP
Raw Normal View History

2022-12-11 13:55:49 +05:00
<?php
ini_set( 'display_errors', 0 );
//print_r($_POST);
2022-12-11 13:55:49 +05:00
switch(@$_POST['act']) {
case 'add_comment':
print_r($_POST);
if (!$_SESSION['user_id'] || !$_POST['txt'])die();
$_POST['t']=time();
$_POST['user_id']=$_SESSION['user_id'];
unset($_POST['act']);
$db->add ( 'pages_comments', $_POST );
break;
case 'like':
unset($a);
unset($b);
$a['id']=$_POST['id'];
$b['likes']=$db->get_val('pages', $a, 'likes')+1;
setcookie ("page_like", $a['id'], time()+31536000, '/', $_SERVER['SERVER_NAME']);
$db->update('pages', $a['id'], $b);
echo 1;
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';
$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;
}
}
break;
default:
2022-12-11 13:55:49 +05:00
}
?>