task
This commit is contained in:
parent
28c041a365
commit
4cc24b8f0f
|
@ -0,0 +1,61 @@
|
|||
<?php
|
||||
|
||||
|
||||
//ini_set('display_errors', 1);
|
||||
//print_r($_POST);
|
||||
//echo 1;
|
||||
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']=serialize($_POST);
|
||||
$db->free_sql2 ( 'UPDATE `settings` SET `json`="' . $res['json'] . '" WHERE `mod`="' . $res['mod'] . '"' );
|
||||
break;
|
||||
|
||||
|
||||
/* Отправляем письмо тавру */
|
||||
case 'os_tavr':
|
||||
//echo 'test';
|
||||
\core::sendemail('1@yurecnt.ru', 'tema from site', 'text');
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,110 @@
|
|||
<?php
|
||||
class main{
|
||||
var $db; // Здесь объект для работы с MySQL
|
||||
var $id;
|
||||
private $settings;
|
||||
public $user_info;/* Array: Информация о пользователе*/
|
||||
public $keywords;
|
||||
public $comments;
|
||||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||||
function __construct($smarty, $settings){
|
||||
@mkdir (MYDIR . '/img/avatars', 0700);
|
||||
$db=$this->db;
|
||||
/* Создаем каталог под файлы раздела и определяемся с кэшем */
|
||||
if( $settings['cachePage'] > 0 ){
|
||||
if( !@$_SESSION['user_id'] ) { /* если не авторизован - кешируем на часок */
|
||||
$smarty -> caching = true;
|
||||
$smarty -> cache_lifetime = $settings['cachePage'];
|
||||
}
|
||||
}
|
||||
$this -> settings = $settings;
|
||||
}
|
||||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||||
private function user_info($id) { /* Получаем инормацию об авторе */
|
||||
$db=$this->db;
|
||||
$db -> or_by_desc = 0;
|
||||
$a['id']=$id;
|
||||
$this -> user_info = $db->get_massiv('users', $a, '', 1);
|
||||
return $this -> user_info;
|
||||
}
|
||||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||||
private function gen_keywords($txt){ /* Генератор ключевых слов */
|
||||
include_once MYDIR . '/api/php/kwg.php';
|
||||
$keywords=seokeywords($txt, 5, 10);
|
||||
$this->keywords = explode(",", $keywords);
|
||||
|
||||
}
|
||||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||||
private function redirect($page){ /* Редиректы куда надо */
|
||||
if ( @$page[0]['alias'] && ID != @$page[0]['alias'] && $page[0]['id'] != $this->settings['main_page'] ){
|
||||
header( 'HTTP/1.1 301 Moved Permanently' );
|
||||
header( 'Location: /' . $page[0]['alias'] . '.html' );
|
||||
}
|
||||
if (@$page[0]['rdir']){//редирект на новую страницу
|
||||
header( 'HTTP/1.1 301 Moved Permanently' );
|
||||
header( 'Location: ' . $page[0]['rdir'] );
|
||||
}
|
||||
}
|
||||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||||
private function set_viewers($id, $reyt){/* меняем количество просмотров */
|
||||
if (!@$_SESSION['user_id']){
|
||||
$db=$this->db;
|
||||
$p['reyt']=$reyt+1;
|
||||
$db->update('pages', $id, $p);
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||||
private function get_comments($id){
|
||||
$db=$this->db;
|
||||
$db -> or_by_desc = 1;
|
||||
$tmp['page_id']=$id;
|
||||
$tmp['public']=1;
|
||||
$postrow = $db -> get_massiv ( 'pages_comments', $tmp, 'id' );
|
||||
|
||||
$num = count($postrow);
|
||||
for($i = 0; $i < $num; $i++){
|
||||
$user=$this->user_info($postrow[$i]['user_id']);
|
||||
$postrow[$i]['fio'] = $user[0]['fio'];
|
||||
$postrow[$i]['ava'] = $user[0]['ava'];
|
||||
unset($user);
|
||||
}
|
||||
$this -> comments = $postrow;
|
||||
}
|
||||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||||
function get_page($id){ // получение страницы
|
||||
$db=$this->db;
|
||||
$id != '' ? $tmp['alias'] = ID : $tmp['id'] = $settings['main_page'];
|
||||
$postrow = $db -> get_massiv ( 'pages', $tmp, '', '1' );//Пробуем найти по алиасу
|
||||
if ( !@$postrow[0]['id'] ){//Если не получилось - по ID
|
||||
unset($tmp);
|
||||
$tmp['id'] = $id;
|
||||
$postrow = $db -> get_massiv ( 'pages', $tmp, '', '1' );
|
||||
}
|
||||
$this -> redirect ($postrow);
|
||||
$this -> get_comments ($postrow[0]['id']);
|
||||
$this -> user_info ($postrow[0]['user_id']);
|
||||
$this -> gen_keywords ($postrow[0]['txt']);
|
||||
$this -> set_viewers($postrow[0]['id'], $postrow[0]['reyt']);//отправляем на апргрейд ид страницы и текущий рейтинг
|
||||
return $postrow;
|
||||
}
|
||||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||||
function get_breadcrumb($id){
|
||||
$db=$this->db;
|
||||
$tmp['id']=$id;
|
||||
$postrow = $db -> get_massiv ( 'pages_cat', $tmp, '', 1 );
|
||||
$x=0;
|
||||
$parent=$postrow[0]['parent'];
|
||||
while ($parent != 0){
|
||||
$x++;
|
||||
unset($tmp);
|
||||
$tmp['id']=$parent;
|
||||
$postrow[$x] = $db -> get_massiv ( 'pages_cat', $tmp, '', 1 );
|
||||
$parent=$postrow[$x]['parent'];
|
||||
}
|
||||
return $postrow;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------------------------------------------------------------- */
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,4 @@
|
|||
<?php
|
||||
ini_set('display_errors', 1 );
|
||||
if (file_exists('api/modules/' . $_GET['id'] . '/ajax.php')) require_once 'api/modules/' . $_GET['id'] . '/ajax.php';
|
||||
?>
|
|
@ -0,0 +1,476 @@
|
|||
<?php
|
||||
ini_set('display_errors', 0);
|
||||
|
||||
function translit($value)
|
||||
{
|
||||
$converter = array(
|
||||
'а' => 'a',
|
||||
'б' => 'b',
|
||||
'в' => 'v',
|
||||
'г' => 'g',
|
||||
'д' => 'd',
|
||||
'е' => 'e',
|
||||
'ё' => 'e',
|
||||
'ж' => 'zh',
|
||||
'з' => 'z',
|
||||
'и' => 'i',
|
||||
'й' => 'y',
|
||||
'к' => 'k',
|
||||
'л' => 'l',
|
||||
'м' => 'm',
|
||||
'н' => 'n',
|
||||
'о' => 'o',
|
||||
'п' => 'p',
|
||||
'р' => 'r',
|
||||
'с' => 's',
|
||||
'т' => 't',
|
||||
'у' => 'u',
|
||||
'ф' => 'f',
|
||||
'х' => 'h',
|
||||
'ц' => 'c',
|
||||
'ч' => 'ch',
|
||||
'ш' => 'sh',
|
||||
'щ' => 'sch',
|
||||
'ь' => '',
|
||||
'ы' => 'y',
|
||||
'ъ' => '',
|
||||
'э' => 'e',
|
||||
'ю' => 'yu',
|
||||
'я' => 'ya',
|
||||
|
||||
'А' => 'A',
|
||||
'Б' => 'B',
|
||||
'В' => 'V',
|
||||
'Г' => 'G',
|
||||
'Д' => 'D',
|
||||
'Е' => 'E',
|
||||
'Ё' => 'E',
|
||||
'Ж' => 'Zh',
|
||||
'З' => 'Z',
|
||||
'И' => 'I',
|
||||
'Й' => 'Y',
|
||||
'К' => 'K',
|
||||
'Л' => 'L',
|
||||
'М' => 'M',
|
||||
'Н' => 'N',
|
||||
'О' => 'O',
|
||||
'П' => 'P',
|
||||
'Р' => 'R',
|
||||
'С' => 'S',
|
||||
'Т' => 'T',
|
||||
'У' => 'U',
|
||||
'Ф' => 'F',
|
||||
'Х' => 'H',
|
||||
'Ц' => 'C',
|
||||
'Ч' => 'Ch',
|
||||
'Ш' => 'Sh',
|
||||
'Щ' => 'Sch',
|
||||
'Ь' => '',
|
||||
'Ы' => 'Y',
|
||||
'Ъ' => '',
|
||||
'Э' => 'E',
|
||||
'Ю' => 'Yu',
|
||||
'Я' => 'Ya',
|
||||
' ' => '_'
|
||||
);
|
||||
|
||||
$value = strtr($value, $converter);
|
||||
return $value;
|
||||
}
|
||||
|
||||
switch (@$_POST['act']) {
|
||||
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
11.06.2024
|
||||
Дозагрузка контента
|
||||
---------------------------------------------------------------------- */
|
||||
|
||||
case 'contentDown':
|
||||
|
||||
|
||||
|
||||
$limit = $_POST['limit'];
|
||||
$page = intval(@$_POST['page']);
|
||||
$page = (empty($page)) ? 1 : $page;
|
||||
$start = ($page != 1) ? $page * $limit - $limit : 0;
|
||||
if (class_exists('DBmysql')) {
|
||||
$list = \DBmysql::getAll("SELECT `id`, `title`, `cena`, `artikul`, `code` FROM `" . $_POST['content_type'] . "` WHERE `category`=? AND `site`=? AND `status`=1 LIMIT $start, $limit", [$_POST['category'], $_SERVER['SERVER_NAME']]);
|
||||
} else {
|
||||
$list = \DB::getAll("SELECT `id`, `title`, `cena`, `artikul`, `code` FROM `" . $_POST['content_type'] . "` WHERE `category`=? AND `site`=? AND `status`=1 LIMIT $start, $limit", [$_POST['category'], $_SERVER['SERVER_NAME']]);
|
||||
}
|
||||
$count = count($list);
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
if (class_exists('DBmysql')) {
|
||||
$filename = \DBmysql::getValue("SELECT `filename` FROM `img` WHERE `content_id`=? AND `site`=? AND `content_type`=? LIMIT 1", array(
|
||||
$list[$i]['id'],
|
||||
$_SERVER['SERVER_NAME'],
|
||||
$_POST['content_type']
|
||||
));
|
||||
} else {
|
||||
$filename = \DB::getValue("SELECT `filename` FROM `img` WHERE `content_id`=? AND `site`=? AND `content_type`=? LIMIT 1", array(
|
||||
$list[$i]['id'],
|
||||
$_SERVER['SERVER_NAME'],
|
||||
$_POST['content_type']
|
||||
));
|
||||
}
|
||||
|
||||
if (!$filename) {
|
||||
$img = 'https://static.yurecnt.ru/img/nofoto/no_skin.png';
|
||||
} else {
|
||||
$f = 'cache/img/' . $filename . '-' . IMG_PRV_W . '-' . IMG_PRV_H . '.webp';
|
||||
if (file_exists($f))
|
||||
$img = '/' . $f;
|
||||
else
|
||||
$img = '/img/' . $filename . '-' . IMG_PRV_W . '-' . IMG_PRV_H;
|
||||
}
|
||||
|
||||
$a = ($list[$i]['artikul']) ? $list[$i]['artikul'] : $list[$i]['code'];
|
||||
$res .= '
|
||||
<div style="width:300px; padding-bottom: 10px;">
|
||||
<div class="card" style="width: 280px;">
|
||||
<div style="height: 280px;">
|
||||
<a href="/tovar_show/' . $list[$i]['id'] . '"><img
|
||||
src="' . $img . '" class="card-img-top" alt="..." style="width: 280px"></a>
|
||||
</div>
|
||||
<div class="card-body" style="text-align: center;">
|
||||
<div style="height: 100px; margin-bottom: 10px;">
|
||||
<h5 class="card-title" style="font-size: 12pt; font-weight: 100;"><a href="/tovar_show/' . $list[$i]['id'] . '">' . mb_substr($list[$i]['title'], 0, 50) . '</a>
|
||||
</h5>
|
||||
</div>
|
||||
<small
|
||||
style="background-color: lightblue; padding: 5px; width: 100%; margin-bottom: 10px; margin-top: 10px;">Актикул: ' .
|
||||
$a . '</small>
|
||||
<!--p class="card-text">Небольшой пример текста, который должен основываться на названии карточки и составлять основную часть содержимого карты.</p-->
|
||||
|
||||
<a href="/tovar_show/' . $list[$i]['id'] . '" class="btn btn-primary" style="width: 100%;"><i
|
||||
class="fa-solid fa-cart-shopping"></i>' . $list[$i]['cena'] . ' р.</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
}
|
||||
|
||||
echo $res;
|
||||
break;
|
||||
|
||||
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
02.02.2024
|
||||
Добавляем товар и сообщаем ИД
|
||||
---------------------------------------------------------------------- */
|
||||
case 'api_addtovar_v1':
|
||||
//print_r($_POST);
|
||||
$key = $_POST['key'];
|
||||
$massiv = \core::j($_POST['j']);
|
||||
//проверяем статус ключа api:
|
||||
$status = \DB::getValue("SELECT `status` FROM `api` WHERE `api`=? AND `site`=? LIMIT 1", array($key, $massiv['site']));
|
||||
if ($status == 1) {
|
||||
//Проверяем существование товара:
|
||||
$id = \DB::getValue("SELECT `id` FROM `tovar` WHERE `title`=? AND `site`=? LIMIT 1", array($massiv['title'], $massiv['site']));
|
||||
|
||||
|
||||
if (!$id)
|
||||
$id = \DB::add("INSERT INTO `tovar` (`title`, `artikul`, `status`, `site`, `category`, `alias`) VALUES (?, ?, ?, ?, ?, ?)", array(
|
||||
$massiv['title'],
|
||||
$massiv['artikul'],
|
||||
1,
|
||||
$massiv['site'],
|
||||
0,
|
||||
translit($massiv['title'])
|
||||
));
|
||||
|
||||
echo $id;
|
||||
}
|
||||
break;
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
02.02.2024
|
||||
Обновляем цены на товары
|
||||
---------------------------------------------------------------------- */
|
||||
case 'api_upd_price_v1':
|
||||
print_r($_POST);
|
||||
$key = $_POST['key'];
|
||||
$massiv = \core::j($_POST['j']);
|
||||
//проверяем статус ключа api:
|
||||
$status = \DB::getValue("SELECT `status` FROM `api` WHERE `api`=? AND `site`=? LIMIT 1", array($key, $massiv['site']));
|
||||
if ($status == 1) {
|
||||
$massiv['cena'] = str_replace(" ", "", $massiv['cena']);
|
||||
if ($massiv['har']) {
|
||||
//смотрим, есть ли уже цена, если есть - обновляем, иначе добавляем
|
||||
$id = \DB::getValue(
|
||||
"SELECT `id` FROM `price_hars` WHERE `tovar_id`=? AND `har`=? AND `site`=? LIMIT 1",
|
||||
array(
|
||||
$massiv['tovar_id'],
|
||||
$massiv['har'],
|
||||
$massiv['site']
|
||||
)
|
||||
);
|
||||
if ($id) { //Обновляем
|
||||
\DB::set("UPDATE `price_hars` SET `cena`=? WHERE `id`=?", array($massiv['cena'], $id));
|
||||
} else { //Добавляем
|
||||
$id = \DB::add(
|
||||
"INSERT INTO `price_hars` (`tovar_id`, `har`, `cena`, `site`) VALUES (?,?,?,?)",
|
||||
array(
|
||||
$massiv['tovar_id'],
|
||||
$massiv['har'],
|
||||
$massiv['cena'],
|
||||
$massiv['site']
|
||||
)
|
||||
);
|
||||
}
|
||||
} else {
|
||||
\DB::set("UPDATE `tovar` SET `cena`=? WHERE `id`=?", array($massiv['cena'], $massiv['tovar_id']));
|
||||
}
|
||||
} else {
|
||||
die("bad api key");
|
||||
}
|
||||
break;
|
||||
/* ----------------------------------------------------------------------
|
||||
28.01.2024
|
||||
Скрывем инфу о куках
|
||||
---------------------------------------------------------------------- */
|
||||
case 'hide-info-cookie':
|
||||
setcookie('hideinfocookie', 1, $tri_mes, '/', $_SERVER['SERVER_NAME']);
|
||||
break;
|
||||
/* ----------------------------------------------------------------------
|
||||
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 'addToCart2_0': //Инсталл
|
||||
|
||||
$me = \core::checkMe();
|
||||
//Проверяем, есть ли товар в корзине, если есть - плюсуем, если нет - добавляем запись
|
||||
|
||||
$kolvo = \DB::getValue("SELECT `kolvo` FROM `cart` WHERE `tovar_id`=? AND `user_id`=? AND `order` IS NULL LIMIT 1", array($_POST['tovar_id'], $me));
|
||||
if ($kolvo)
|
||||
\DB::set("UPDATE `cart` SET `kolvo`=? WHERE `tovar_id`=? AND `user_id`=? AND `order` IS NULL LIMIT 1", array($kolvo + 1, $_POST['tovar_id'], $me));
|
||||
else
|
||||
\DB::add("INSERT INTO `cart` (`kolvo`, `t`, `tovar_id`, `user_id`, `har`)VALUES(?, ?, ?, ?, ?)", array(1, time(), $_POST['tovar_id'], $me, $_POST['har']));
|
||||
|
||||
|
||||
|
||||
|
||||
break;
|
||||
|
||||
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;
|
||||
|
||||
|
||||
/* Отправляем письмо тавру */
|
||||
case 'os_tavr':
|
||||
//echo 'test';
|
||||
$tema = 'Заявка на обратный звонок с сайта ' . $_SERVER['SERVER_NAME'];
|
||||
$txt = '<table>
|
||||
<tr>
|
||||
<td>Организация</td><td>' . $_POST['org'] . '</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ФИО</td><td>' . $_POST['fio'] . '</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
<td>Телефон</td><td>' . $_POST['tel'] . '</td>
|
||||
</tr></table>
|
||||
|
||||
';
|
||||
\core::sendemail('E_ADMIN_EMAIL', $tema, $txt);
|
||||
\core::sendemail('1@yurecnt.ru', $tema, $txt);
|
||||
if ($_SERVER['SERVER_NAME'] == 'tavrnt.ru')
|
||||
\core::sendemail('tavr96@yandex.ru', $tema, $txt);
|
||||
|
||||
break;
|
||||
|
||||
|
||||
/* Отправляем просто номер */
|
||||
case 'sendNumber':
|
||||
//echo 'test';
|
||||
$tema = 'Заявка на обратный звонок с сайта ' . $_SERVER['SERVER_NAME'];
|
||||
$txt = '<table>
|
||||
<td>Телефон</td><td>' . $_POST['numberVal'] . '</td>
|
||||
</tr></table>';
|
||||
|
||||
\core::sendemail(E_ADMIN_EMAIL, $tema, $txt);
|
||||
\core::sendemail('1@yurecnt.ru', $tema, $txt);
|
||||
//\core::sendemail('tavr96@yandex.ru', $tema, $txt);
|
||||
|
||||
break;
|
||||
default:
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
//include MYDIR . '/api/modules/' . ID . '/class.php';
|
||||
//echo 1;
|
||||
|
||||
ini_set('display_errors', 0);
|
||||
if (file_exists('api/modules/' . $_GET['id'] . '/ajax.php'))
|
||||
include 'api/modules/' . $_GET['id'] . '/ajax.php';
|
||||
|
||||
//echo 2;
|
||||
?>
|
|
@ -0,0 +1,10 @@
|
|||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
echo "123";
|
||||
switch (@$_POST['act']) {
|
||||
case 'start_task':
|
||||
echo 1;
|
||||
break;
|
||||
default:
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,5 @@
|
|||
Статусы задач:
|
||||
0 - завершена
|
||||
1 - новая
|
||||
2 - выполняется
|
||||
3 - приостановлено выполнение
|
|
@ -3,29 +3,57 @@
|
|||
<h1>Задачи <button type="button" class="btn btn-secondary" data-bs-toggle="modal" data-bs-target="#exampleModal">+</button></h1>
|
||||
<div class="col-md-6">
|
||||
<h2>Мои задачи</h2>
|
||||
|
||||
|
||||
{section name=customer loop=$mytask}
|
||||
<div class="card mb-2">
|
||||
<div class="card-header">
|
||||
От: {$mytask[customer].avtor.fio}<br>
|
||||
{$mytask[customer].d}<br>
|
||||
Срок: {$mytask[customer].array.srok}<br>
|
||||
{if $mytask[customer].status==1}<span style="color: #e74c3c;">Новая</span>{/if}
|
||||
{if $mytask[customer].status==2}<span style="color: #27ae60;">Выполняется</span>{/if}
|
||||
{if $mytask[customer].status==3}<span style="color: #95a5a6;">Завершена</span>{/if}
|
||||
{if $mytask[customer].status==3}<span style="color: #0e4927;">Приостановлена</span>{/if}
|
||||
{if $mytask[customer].status==0}<span style="color: #95a5a6;">Завершена</span>{/if}
|
||||
|
||||
| Приоритет: {if $mytask[customer].array.prioritet==0}<span style="color: #95a5a6;">Низкий</span>{/if}
|
||||
{if $mytask[customer].array.prioritet==1}<span style="color: #27ae60;">Средний</span>{/if}
|
||||
{if $mytask[customer].array.prioritet==2}<span style="color: #e74c3c;">Срочный</span>{/if}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
|
||||
<p class="card-text">{$mytask[customer].txt|br}</p>
|
||||
<a href="#" class="btn btn-primary">Перейти куда-нибудь</a>
|
||||
<p class="card-text"><a href="/files/task/{$mytask[customer].array.doc}">{$mytask[customer].array.doc}</a></p>
|
||||
<button type="button" class="btn btn-primary start_task" data-id="{$mytask[customer].id}">Начать выполнение</button>
|
||||
<a href="#" class="btn btn-primary">Перенести срок</a>
|
||||
<a href="#" class="btn btn-primary">Делегировать</a>
|
||||
</div>
|
||||
</div>
|
||||
{/section}
|
||||
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<h2>Поставленные мной</h2>
|
||||
|
||||
{section name=customer loop=$mytasksend}
|
||||
<div class="card mb-2">
|
||||
<div class="card-header">
|
||||
От: {$mytasksend[customer].avtor.fio}<br>
|
||||
{$mytasksend[customer].d}<br>
|
||||
Срок: {$mytasksend[customer].array.srok}<br>
|
||||
{if $mytasksend[customer].status==1}<span style="color: #e74c3c;">Новая</span>{/if}
|
||||
{if $mytasksend[customer].status==2}<span style="color: #27ae60;">Выполняется</span>{/if}
|
||||
{if $mytasksend[customer].status==3}<span style="color: #0e4927;">Приостановлена</span>{/if}
|
||||
{if $mytasksend[customer].status==0}<span style="color: #95a5a6;">Завершена</span>{/if}
|
||||
|
||||
| Приоритет: {if $mytasksend[customer].array.prioritet==0}<span style="color: #95a5a6;">Низкий</span>{/if}
|
||||
{if $mytasksend[customer].array.prioritet==1}<span style="color: #27ae60;">Средний</span>{/if}
|
||||
{if $mytasksend[customer].array.prioritet==2}<span style="color: #e74c3c;">Срочный</span>{/if}
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">{$mytasksend[customer].txt|br}</p>
|
||||
<p class="card-text"><a href="/files/task/{$mytasksend[customer].array.doc}">{$mytasksend[customer].array.doc}</a></p>
|
||||
<button type="button" class="btn btn-primary start_task" data-id="{$mytasksend[customer].id}">Начать выполнение</button>
|
||||
<a href="#" class="btn btn-primary">Перенести срок</a>
|
||||
<a href="#" class="btn btn-primary">Делегировать</a>
|
||||
</div>
|
||||
</div>
|
||||
{/section}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
//Получаем список пользователей
|
||||
$users=DB::getAll("SELECT * FROM `users` WHERE `status`=?", 1);
|
||||
$smarty -> assign( 'users', $users);
|
||||
|
||||
//Ставим задачу
|
||||
if ($_POST){
|
||||
if ($_FILES){
|
||||
|
@ -19,7 +18,6 @@ if ($_POST){
|
|||
DB::add("INSERT INTO `content` (`txt`, `json`, `content_type`, `t`, `user`) VALUES (?,?,?,?,?)", [$_POST['txt'], $j, 2, time(), $_SESSION['user_id']]);
|
||||
header( 'Location: /task/' );
|
||||
}
|
||||
|
||||
//Показываем мои задачи
|
||||
$mytask=DB::getAll("SELECT * FROM `content` WHERE `content_type`=? AND `status`<>? AND `json` LIKE '%\"target_user\":\"" . $_SESSION['user_id'] . "\"%'", [2, 0]);
|
||||
$c=count($mytask);
|
||||
|
@ -29,4 +27,14 @@ for ($i=0; $i<$c; $i++){
|
|||
$mytask[$i]['d']=date("d.m.Y", $mytask[$i]['t']);
|
||||
}
|
||||
$smarty -> assign( 'mytask', $mytask);
|
||||
unset($mytask);
|
||||
//Показываем задачи поставленные людям
|
||||
$mytask=DB::getAll("SELECT * FROM `content` WHERE `content_type`=? AND `status`<>? AND `user`=?", [2, 0, $_SESSION['user_id']]);
|
||||
$c=count($mytask);
|
||||
for ($i=0; $i<$c; $i++){
|
||||
$mytask[$i]['array']=core::j($mytask[$i]['json']);
|
||||
$mytask[$i]['avtor']=DB::getRow("SELECT * FROM `users` WHERE `id`=?", $mytask[$i]['user']);
|
||||
$mytask[$i]['d']=date("d.m.Y", $mytask[$i]['t']);
|
||||
}
|
||||
$smarty -> assign( 'mytasksend', $mytask);
|
||||
?>
|
|
@ -1,4 +1,18 @@
|
|||
|
||||
$( function() {
|
||||
$( "#srok" ).datepicker({dateFormat: "dd.mm.yy"});
|
||||
|
||||
|
||||
//Кнопка Начать выполнение
|
||||
$( ".start_task" ).click(function(event) {
|
||||
var id=$(this).data("id");
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/act/task",
|
||||
data: "act=start_task&id=" + id,
|
||||
success:function(data){ alert(data) }
|
||||
})
|
||||
})
|
||||
|
||||
|
||||
})
|
|
@ -18,5 +18,8 @@ require_once 'api/modules/' . $global_mod . '/index.php';
|
|||
$smarty->assign('header', 'skin/header.html');
|
||||
$smarty->assign('footer', 'skin/footer.html');
|
||||
$smarty->assign('mod', $global_mod);
|
||||
//Получаем количество новых задач
|
||||
$global_taskCount=DB::getAll("SELECT COUNT(*) FROM `content` WHERE `content_type`=? AND `status`<>? AND `json` LIKE '%\"target_user\":\"" . $_SESSION['user_id'] . "\"%'", [2, 0])[0]['COUNT(*)'];
|
||||
$smarty->assign('global_taskCount', $global_taskCount);
|
||||
$smarty->display('api/modules/' . $global_mod . '/index.html', @$_GET['id']);
|
||||
?>
|
|
@ -1,45 +1,46 @@
|
|||
<!DOCTYPE HTML>
|
||||
<html lang="ru">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="author" content="YurecSofware">
|
||||
<title>Руш</title>
|
||||
<link rel="stylesheet" href="https://static.yurecnt.ru/bootstrap/5.3.3/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/skin/css/css.css">
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="author" content="YurecSofware">
|
||||
<title>Руш</title>
|
||||
<link rel="stylesheet" href="https://static.yurecnt.ru/bootstrap/5.3.3/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="/skin/css/css.css">
|
||||
</head>
|
||||
|
||||
<body class="container-fluid">
|
||||
<header class="container">
|
||||
<a href="/"><img src="/skin/img/logo.jpg"></a>
|
||||
</header>
|
||||
<nav class="navbar navbar-expand-lg bg-body-tertiary container">
|
||||
<div class="container-fluid">
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/">Главная</a>
|
||||
</li>
|
||||
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/task/">Задачи</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/">Справочники</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/">Документы</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/">Инструкции</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<form class="d-flex" role="search">
|
||||
<input class="form-control me-2" type="search" placeholder="Поиск" aria-label="Поиск">
|
||||
<button class="btn btn-outline-success" type="submit">Поиск</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<section class="container">
|
||||
<header class="container">
|
||||
<a href="/"><img src="/skin/img/logo.jpg"></a>
|
||||
</header>
|
||||
<nav class="navbar navbar-expand-lg bg-body-tertiary container">
|
||||
<div class="container-fluid">
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/">Главная</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/task/">Задачи {if ($global_taskCount)}<span
|
||||
style="color: #e74c3c;">({$global_taskCount})</span>{/if}</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/">Справочники</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/">Документы</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" aria-current="page" href="/">Инструкции</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form class="d-flex" role="search">
|
||||
<input class="form-control me-2" type="search" placeholder="Поиск" aria-label="Поиск">
|
||||
<button class="btn btn-outline-success" type="submit">Поиск</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<section class="container">
|
Loading…
Reference in New Issue