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>
|
<h1>Задачи <button type="button" class="btn btn-secondary" data-bs-toggle="modal" data-bs-target="#exampleModal">+</button></h1>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<h2>Мои задачи</h2>
|
<h2>Мои задачи</h2>
|
||||||
|
|
||||||
|
|
||||||
{section name=customer loop=$mytask}
|
{section name=customer loop=$mytask}
|
||||||
<div class="card mb-2">
|
<div class="card mb-2">
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
От: {$mytask[customer].avtor.fio}<br>
|
От: {$mytask[customer].avtor.fio}<br>
|
||||||
{$mytask[customer].d}<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==1}<span style="color: #e74c3c;">Новая</span>{/if}
|
||||||
{if $mytask[customer].status==2}<span style="color: #27ae60;">Выполняется</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>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
||||||
<p class="card-text">{$mytask[customer].txt|br}</p>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
{/section}
|
{/section}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<h2>Поставленные мной</h2>
|
<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>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
//Получаем список пользователей
|
//Получаем список пользователей
|
||||||
$users=DB::getAll("SELECT * FROM `users` WHERE `status`=?", 1);
|
$users=DB::getAll("SELECT * FROM `users` WHERE `status`=?", 1);
|
||||||
$smarty -> assign( 'users', $users);
|
$smarty -> assign( 'users', $users);
|
||||||
|
|
||||||
//Ставим задачу
|
//Ставим задачу
|
||||||
if ($_POST){
|
if ($_POST){
|
||||||
if ($_FILES){
|
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']]);
|
DB::add("INSERT INTO `content` (`txt`, `json`, `content_type`, `t`, `user`) VALUES (?,?,?,?,?)", [$_POST['txt'], $j, 2, time(), $_SESSION['user_id']]);
|
||||||
header( 'Location: /task/' );
|
header( 'Location: /task/' );
|
||||||
}
|
}
|
||||||
|
|
||||||
//Показываем мои задачи
|
//Показываем мои задачи
|
||||||
$mytask=DB::getAll("SELECT * FROM `content` WHERE `content_type`=? AND `status`<>? AND `json` LIKE '%\"target_user\":\"" . $_SESSION['user_id'] . "\"%'", [2, 0]);
|
$mytask=DB::getAll("SELECT * FROM `content` WHERE `content_type`=? AND `status`<>? AND `json` LIKE '%\"target_user\":\"" . $_SESSION['user_id'] . "\"%'", [2, 0]);
|
||||||
$c=count($mytask);
|
$c=count($mytask);
|
||||||
|
@ -29,4 +27,14 @@ for ($i=0; $i<$c; $i++){
|
||||||
$mytask[$i]['d']=date("d.m.Y", $mytask[$i]['t']);
|
$mytask[$i]['d']=date("d.m.Y", $mytask[$i]['t']);
|
||||||
}
|
}
|
||||||
$smarty -> assign( 'mytask', $mytask);
|
$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() {
|
$( function() {
|
||||||
$( "#srok" ).datepicker({dateFormat: "dd.mm.yy"});
|
$( "#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('header', 'skin/header.html');
|
||||||
$smarty->assign('footer', 'skin/footer.html');
|
$smarty->assign('footer', 'skin/footer.html');
|
||||||
$smarty->assign('mod', $global_mod);
|
$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']);
|
$smarty->display('api/modules/' . $global_mod . '/index.html', @$_GET['id']);
|
||||||
?>
|
?>
|
|
@ -1,45 +1,46 @@
|
||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<html lang="ru">
|
<html lang="ru">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta name="author" content="YurecSofware">
|
<meta name="author" content="YurecSofware">
|
||||||
<title>Руш</title>
|
<title>Руш</title>
|
||||||
<link rel="stylesheet" href="https://static.yurecnt.ru/bootstrap/5.3.3/bootstrap.min.css">
|
<link rel="stylesheet" href="https://static.yurecnt.ru/bootstrap/5.3.3/bootstrap.min.css">
|
||||||
<link rel="stylesheet" href="/skin/css/css.css">
|
<link rel="stylesheet" href="/skin/css/css.css">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="container-fluid">
|
<body class="container-fluid">
|
||||||
<header class="container">
|
<header class="container">
|
||||||
<a href="/"><img src="/skin/img/logo.jpg"></a>
|
<a href="/"><img src="/skin/img/logo.jpg"></a>
|
||||||
</header>
|
</header>
|
||||||
<nav class="navbar navbar-expand-lg bg-body-tertiary container">
|
<nav class="navbar navbar-expand-lg bg-body-tertiary container">
|
||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active" aria-current="page" href="/">Главная</a>
|
<a class="nav-link active" aria-current="page" href="/">Главная</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
<li class="nav-item">
|
<a class="nav-link active" aria-current="page" href="/task/">Задачи {if ($global_taskCount)}<span
|
||||||
<a class="nav-link active" aria-current="page" href="/task/">Задачи</a>
|
style="color: #e74c3c;">({$global_taskCount})</span>{/if}</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active" aria-current="page" href="/">Справочники</a>
|
<a class="nav-link active" aria-current="page" href="/">Справочники</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active" aria-current="page" href="/">Документы</a>
|
<a class="nav-link active" aria-current="page" href="/">Документы</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link active" aria-current="page" href="/">Инструкции</a>
|
<a class="nav-link active" aria-current="page" href="/">Инструкции</a>
|
||||||
</li>
|
</li>
|
||||||
|
</ul>
|
||||||
</ul>
|
<form class="d-flex" role="search">
|
||||||
<form class="d-flex" role="search">
|
<input class="form-control me-2" type="search" placeholder="Поиск" aria-label="Поиск">
|
||||||
<input class="form-control me-2" type="search" placeholder="Поиск" aria-label="Поиск">
|
<button class="btn btn-outline-success" type="submit">Поиск</button>
|
||||||
<button class="btn btn-outline-success" type="submit">Поиск</button>
|
</form>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</nav>
|
||||||
</nav>
|
<section class="container">
|
||||||
<section class="container">
|
|
Loading…
Reference in New Issue