Отзывы к товару

This commit is contained in:
root 2023-02-28 19:22:24 +03:00
parent 4bef5817c4
commit 7955a16aac
18 changed files with 322 additions and 72 deletions

View File

@ -216,6 +216,10 @@
<li>
<a href="/a_tovar_cat/">Товары</a>
</li>
<li>
<a href="/a_modder_comments/">Модерировать отзывы</a>
</li>
<li>
<a href="form_advanced.html">Заказы</a>
</li>

View File

@ -0,0 +1,23 @@
<?php
//проверяем кто мы
$access = 0;
if ( $_SESSION['dostup'] =='a' ) $access=1;
if ( $_SESSION['dostup'] =='u' ) $access=1;
if ( $access==0 ) die( "Нет прав" );
switch( @$_POST['act'] ) {
/* ----------------------------------------------------------------------
28.02.2023
Модерируем отзыв
---------------------------------------------------------------------- */
case 'modeComment':
\DB::set("UPDATE `tovar_otzyv` SET `status`=? WHERE `id`=? LIMIT 1", array($_POST['tip'], $_POST['id']));
break;
default:
}
?>

View File

@ -0,0 +1,73 @@
{include file=$header_admin h1="Модерация отзывов" title="Модерация отзывов"}
<input type="hidden" id="parent_id" value="{$smarty.get.id}"> {* вышестоящая категория, если она есть *}
<input type="hidden" id="del_id" value="">{* Ид удаляемого контента *}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="/admin/">Главная</a></li>
<li class="breadcrumb-item active" aria-current="page">Модерация отзывов</li>
</ol>
</nav>
<h1>Модерация отзывов</h1>
<div class="ibox">
<div class="ibox-head">
<div class="ibox-title">
Отзывы
</div>
<ul class="nav nav-tabs tabs-line pull-right">
<li class="nav-item">
<a class="nav-link active" href="#tab-8-1" data-toggle="tab"><i class="fa-sharp fa-solid fa-list"></i> Список</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#tab-8-2" data-toggle="tab"><i class="fa-sharp fa-solid fa-list"></i> Одобренные</a>
</li>
</ul>
</div>
<div class="ibox-body">
<div class="tab-content">
<div class="tab-pane fade show active" id="tab-8-1">
<div class="row">
{section name=customer loop=$newotz}
{if $newotz[customer].id}
<div class="col-sm-3 div-{$newotz[customer].id}">
<a href="/user/{$newotz[customer].user_id}">{$newotz[customer].fio}</a>
<br>
<a href="/tovar_show/{$newotz[customer].tovar_id}">tovar</a>
</div>
<div class="col-sm-7 div-{$newotz[customer].id}">{$newotz[customer].txt}</div>
<div class="col-sm-2 div-{$newotz[customer].id}">
<button type="button" class="btn btn-success btn-otz" data-id="{$newotz[customer].id}" data-tip="1">Одобрить</button>
<button type="button" class="btn btn-danger btn-otz" data-id="{$newotz[customer].id}" data-tip="2">Отклонить</button>
</div>
{/if} {/section}
</div>
</div>
<div class="tab-pane" id="tab-8-2">
</div>
</div>
</div>
</div>
<!-- Модалка удаления -->
{include file=$footer_admin}

View File

@ -0,0 +1,16 @@
<?php
ini_set('display_errors', 0 );
//@mkdir(MYDIR . '/img/tovar', 0700);
//проверяем авторизацию
if ( $_SESSION['dostup'] !=='a' && $_SESSION['dostup'] !== 'e' ) header( 'Location: /403/' );
/* ----------------------------------------------------------------------
27.02.2023
Получаем не одобренные отзывы
---------------------------------------------------------------------- */
$newotz=\DB::getAll("SELECT * FROM `tovar_otzyv` LIMIT 100");
for ($i=0; $i<count($newotz); $i++)$newotz[$i]['fio']=\DB::getValue("SELECT `fio` FROM `users` WHERE `id`=?", $newotz[$i]['user_id']);
$smarty -> assign( 'newotz', $newotz );
?>

View File

@ -0,0 +1,42 @@
/* ----------------------------------------------------------------------
23.02.2023
Создаем новую категорию
---------------------------------------------------------------------- */
/*$("#formNewCategory").submit(function(event) {
event.preventDefault();
var formData = new FormData(this);
$.ajax({
type: 'POST', // Тип запроса
url: '/act/a_tovar_cat', // Скрипт обработчика
data: formData, // Данные которые мы передаем
cache: false, // В запросах POST отключено по умолчанию, но перестрахуемся
contentType: false, // Тип кодирования данных мы задали в форме, это отключим
processData: false,
success: function(data) {
location="/a_tovar_cat/" + data;
}
});
$(".close").click();
})
*/
/* ----------------------------------------------------------------------
28.02.2023
Модерируем отзыв
---------------------------------------------------------------------- */
$(".btn-otz").click(function(event){
var id=$(this).data("id");
var tip=$(this).data("tip");
/*if ($(this).is(':checked'))
var status = 1;
else
var status = 0;*/
$.ajax({
type: "POST",
url: '/act/a_modder_comments',
data: "act=modeComment&id=" + id + "&tip=" + tip
});
$(".div-" + id).hide("5000");
})

View File

@ -4,11 +4,21 @@ ini_set( 'display_errors', 0 );
switch(@$_POST['act']) {
/* ----------------------------------------------------------------------
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 'add_comment':
print_r($_POST);
if (!$_SESSION['user_id'] || !$_POST['txt'])die();
$_POST['t']=time();
$_POST['user_id']=$_SESSION['user_id'];
$_POST['user_id']=$_SESSION['user_id'];
unset($_POST['act']);
$db->add ( 'pages_comments', $_POST );
break;

View File

@ -10,6 +10,10 @@ switch( @$_POST['act'] ) {
case 'reg':
$err=0;
// Сверяем капчу
if ( !$_SESSION['capcha'] ){
header( 'HTTP/1.1 403 Capcha' );
die( "Нехрен взламывать капчу" );
}
$err = ( $_POST['capcha'] != $_SESSION['capcha'] ) ? 1 : $err;
// Сверяем пароли
$err = ( $_POST['pwd'] != $_POST['pwd2'] ) ? 2 : $err;

View File

@ -1,6 +1,16 @@
<?php
ini_set('display_errors', 0 );
switch(@$_POST['act']) {
/* ----------------------------------------------------------------------
27.02.2023
Добавляем коментарий
---------------------------------------------------------------------- */
case 'addComment':
if ($_SESSION['user_id'])\DB::add("INSERT INTO `tovar_otzyv` (`user_id`, `txt`, `t`, `tovar_id`) VALUES (?, ?, ?, ?)", array( $_SESSION['user_id'], nl2br( $_POST['txt'] ), time(), $_POST['tovar_id'] ));
break;
/* ----------------------------------------------------------------------
17.12.2022
Создаем докмент переоценки + запись в регистр tovar_price_history

View File

@ -1,41 +1,27 @@
<div class="container">
<h3 class="mt-5 mb-5">Комментарии</h3>
<div class="row p-0">
<form action="/act/page" method="POST" class="m-0 p-2 mb-2 form-add-comment container">
{if (!$smarty.session.user_id)}
<input type="input" name="fio" value="" placeholder="Имя" class="form-control">{/if}
<textarea name="txt" class="form-control mt-2" style="height: 200px;" id="textarea_txt"></textarea>
<input type="hidden" name="page_id" value="{$page[0].id}">
<input type="hidden" name="act" value="add_comment">
<input type="submit" name="ok" value="Добавить коментарий" class="btn btn-primary mt-2" style="width: 200px;;">
</form>
<div class="alert alert-info hidden" role="alert" id="div-commen-add">
Ваш комментарий отправлен на модерацию
</div>
{section name=customer loop=$comments}{if $comments[customer].id}
<div class="card mb-3 col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 col-xxl-12 p-0" id="div-comment-id-{$comments[customer].id}">
<div class="row g-0">
<div class="col-md-2">
{if (!$comments[customer].fio2)}
<a href="/user/{$comments[customer].user_id}">
<img src="/api/modules/page/img/anonim_200.jpg" class="thumbnail lazy card-img-top" alt="{$comments[customer].fio2}" data-original="/img/avatars/{$comments[customer].ava}.jpg" title="{$comments[customer].fio}" style="width: 100%;">
</a>
{else}
<img src="/api/modules/page/img/anonim_200.jpg" class="thumbnail card-img-top" alt="{$comments[customer].fio}" title="{$comments[customer].fio}" style="width: 100%;"> {/if}
</div>
<div class="col-md-10">
<div class="card-body">
<h5 class="card-title"><a href="/user/{$comments[customer].user_id}">{$comments[customer].fio}</a>{$comments[customer].fio2}</h5>
<p class="card-text">{$comments[customer].txt|br}</p>
</div>
</div>
<div class="card-footer text-muted">
{$comments[customer].t|t} <i class="far fa-thumbs-up ml-3 r_comment" data-id="{$comments[customer].id}" data-r="{$comments[customer].r}" data-t="up"></i>
<span id="r_comment_{$comments[customer].id}">{$comments[customer].r}</span>
<i class="far fa-thumbs-down r_comment" data-r="{$comments[customer].r}" data-t="down" data-id="{$comments[customer].id}"></i> {if ($smarty.session.dostup=='a' || $smarty.session.dostup=='m')}<a href="{$comments[customer].id}" class="a_del_comment"> Удалить</a> {/if} {if ($smarty.session.user_id)} Ответить {/if}
</div>
</div>
</div>
{/if}{/section}
</div>
{if $smarty.session.user_id}
<form id="addCommentOnTovar">
<input type="hidden" name="tovar_id" value="{$smarty.get.id}">
<input type="hidden" name="act" value="addComment">
<textarea class="form-control" placeholder="Оставьте отзыв!" style="height: 200px;" name="txt" id="textarea-comment"></textarea>
<button class="btn btn-primary" type="submit" style="padding: 10px;">Добавить</button>
<div class="alert alert-primary hidden" role="alert" id="comment-result">
Коментарий отправлен и будет опубликован после модерации
</div>
</form>
{/if}
<hr>
<table class="table">
{section name=customer loop=$comments} {if $comments[customer].id}
<tr>
<td style="width: 250px;">
<p><a href="/user/{$comments[customer].user_id}" style="color: black;"><b>{$comments[customer].fio}</b></a></p>
<p>{$comments[customer].t|t}</p>
</td>
<td>{$comments[customer].txt}</td>
</tr>
</table>
{/if} {/section}
</div>

View File

@ -4,6 +4,17 @@ ini_set( 'display_errors', 0 );
@mkdir( 'img/' . $_SERVER['SERVER_NAME'] . '/tovar/square', 0700 );
$smarty -> caching = false;
$smarty -> cache_lifetime = 86400;
/* ----------------------------------------------------------------------
28.02.2023
Получаем коментарии
---------------------------------------------------------------------- */
$comments = \DB::getAll( "SELECT * FROM `tovar_otzyv` WHERE `tovar_id`=? AND `status`=1 ORDER BY `t` DESC", $_GET['id'] );
for ( $i=0; $i < count($comments); $i++ ) $comments[$i]['fio'] = \DB::getValue( "SELECT `fio` FROM `users` WHERE `id`=?", $comments[$i]['user_id'] );
$smarty -> assign( 'comments', $comments );
$smarty -> assign( 'inc_comments', 'api/modules/tovar_show/comments.html' );
/* ----------------------------------------------------------------------
17.12.2022
Получаем данные о товаре

View File

@ -1,3 +1,33 @@
/* ----------------------------------------------------------------------
27.02.2023
Добавляем коментарий
---------------------------------------------------------------------- */
$('#addCommentOnTovar').submit(function(event) {
event.preventDefault();
var formData = new FormData(this);
$.ajax({
type: 'POST', // Тип запроса
url: '/act/tovar_show', // Скрипт обработчика
data: formData, // Данные которые мы передаем
cache: false, // В запросах POST отключено по умолчанию, но перестрахуемся
contentType: false, // Тип кодирования данных мы задали в форме, это отключим
processData: false,
success: function(data) {
//alert(data);
/* printMessage('#result', data);*/
},
error: function(data) {
console.log(data);
}
});
$("#textarea-comment").val('');
$("#comment-result").removeClass('hidden');
});
/* ----------------------------------------------------------------------
22.06.2022
Кнопа добавления в корзину

View File

@ -187,15 +187,15 @@ static function getMeta ( $mod, $id=0) {
03.01.2023
Хлебные крошки
---------------------------------------------------------------------- */
static function getBreadcrumb ( $table, $category) {
$p=$category;
$i=0;
while ($p!=0){
$massiv=\DB::getAll("SELECT `id`, `title`, `category` FROM `" . $table . "` WHERE `id`=? LIMIT 1", $p);
$res[$i]['id']=$massiv[0]['id'];
$res[$i]['title']=$massiv[0]['title'];
static function getBreadcrumb ( $table, $category ) {
$p = $category;
$i = 0;
while ( $p!=0 ){
$massiv = \DB::getAll( "SELECT `id`, `title`, `category` FROM `" . $table . "` WHERE `id`=? LIMIT 1", $p );
$res[$i]['id'] = $massiv[0]['id'];
$res[$i]['title'] = $massiv[0]['title'];
$i++;
$p=$massiv[0]['category'];
$p = $massiv[0]['category'];
}
return array_reverse ( $res );
}
@ -204,14 +204,19 @@ static function getBreadcrumb ( $table, $category) {
02.02.2023
Архиватор и разорхиватор
---------------------------------------------------------------------- */
static function zip ( $txt) {
return base64_encode(gzcompress ( $txt, 9));
static function zip ( $txt ) {
return base64_encode(gzcompress ( $txt, 9 ) );
}
static function unzip ( $txt) {
static function unzip ( $txt ) {
return gzuncompress ( base64_decode ( $txt ) );
}
/* ----------------------------------------------------------------------
27.02.2023
Проверяем ид или ид сессии пользователя (для Интернет-магазина)
---------------------------------------------------------------------- */
static function checkMe ( ) {
return ( $_SESSION['user_id'] ) ? $_SESSION['user_id'] : session_id();
}

View File

@ -0,0 +1,7 @@
46.165.16.184;1677466346;Chrome 10+;Linux;https://tk-ligat.ru/tovar_cat/0-1.html;
212.220.202.207;1677501019;Chrome 10+;Windows;https://tk-ligat.ru/;
212.220.202.207;1677501029;Chrome 10+;Windows;https://tk-ligat.ru/;
212.220.202.207;1677501038;Chrome 10+;Windows;https://tk-ligat.ru/login/;
212.220.202.207;1677501042;Chrome 10+;Windows;https://tk-ligat.ru/;
46.165.16.184;1677520619;Chrome 10+;Linux;https://tk-ligat.ru/tovar_cat/0-1.html;
94.25.172.171;1677526107;Chrome 10+;Windows;https://tk-ligat.ru/login/;
1 46.165.16.184 1677466346 Chrome 10+ Linux https://tk-ligat.ru/tovar_cat/0-1.html
2 212.220.202.207 1677501019 Chrome 10+ Windows https://tk-ligat.ru/
3 212.220.202.207 1677501029 Chrome 10+ Windows https://tk-ligat.ru/
4 212.220.202.207 1677501038 Chrome 10+ Windows https://tk-ligat.ru/login/
5 212.220.202.207 1677501042 Chrome 10+ Windows https://tk-ligat.ru/
6 46.165.16.184 1677520619 Chrome 10+ Linux https://tk-ligat.ru/tovar_cat/0-1.html
7 94.25.172.171 1677526107 Chrome 10+ Windows https://tk-ligat.ru/login/

View File

@ -0,0 +1,25 @@
46.165.16.184;1677553482;Chrome 10+;Linux;https://tk-ligat.ru/tovar_cat/0-1.html;
178.46.65.77;1677558094;Chrome 10+;Windows;https://tk-ligat.ru/;
178.46.65.77;1677558097;Chrome 10+;Windows;https://tk-ligat.ru/tovar_cat/0-1.html;
178.46.65.77;1677558104;Chrome 10+;Windows;https://tk-ligat.ru/tovar_cat/51-1.html;
178.46.65.77;1677558108;Chrome 10+;Windows;https://tk-ligat.ru/tovar_cat/51-1.html;
178.46.65.77;1677558114;Chrome 10+;Windows;https://tk-ligat.ru/tovar_cat/61-1.html;
178.46.65.77;1677558131;Chrome 10+;Windows;https://tk-ligat.ru/tovar_cat/72-1.html;
178.46.65.77;1677558172;Chrome 10+;Windows;https://tk-ligat.ru/tovar_cat/68-1.html;
178.46.65.77;1677558187;Chrome 10+;Windows;https://tk-ligat.ru/tovar_cat/0-1.html;
178.46.65.77;1677558194;Chrome 10+;Windows;https://tk-ligat.ru/tovar_cat/67-1.html;
178.46.65.77;1677558202;Chrome 10+;Windows;https://tk-ligat.ru/;
178.46.65.77;1677558212;Chrome 10+;Windows;https://tk-ligat.ru/tovar_cat/52-1.html;
80.80.108.36;1677580310;Safari 10+;iPhone;http://webspros.ru/chat.php?invite=mob&member=tk-ligat.ru&pg=16&check=ok;
80.80.108.36;1677580370;Safari 10+;iPhone;http://webspros.ru/chat.php?invite=mob&member=tk-ligat.ru&pg=16&check=ok;
46.165.16.184;1677594854;Chrome 10+;Linux;https://tk-ligat.ru/tovar_cat/0-1.html;
46.165.16.184;1677594895;Chrome 10+;Linux;https://tk-ligat.ru/tovar_show/33178;
46.165.16.184;1677599867;Firefox 10+;Linux;https://tk-ligat.ru/;
46.165.16.184;1677599873;Firefox 10+;Linux;https://tk-ligat.ru/tovar_show/10023;
46.165.16.184;1677599880;Firefox 10+;Linux;https://tk-ligat.ru/tovar_show/10023?tovar_id=10023&act=addComment&txt=123;
46.165.16.184;1677600052;Firefox 10+;Linux;https://tk-ligat.ru/tovar_show/10023?tovar_id=10023&act=addComment&txt=123;
46.165.16.184;1677600073;Firefox 10+;Linux;https://tk-ligat.ru/;
46.165.16.184;1677600078;Firefox 10+;Linux;https://tk-ligat.ru/tovar_show/32455;
46.165.16.184;1677600162;Firefox 10+;Linux;https://tk-ligat.ru/tovar_show/32455;
46.165.16.184;1677600985;Firefox 10+;Linux;https://tk-ligat.ru/tovar_show/32455;
46.165.16.184;1677601074;Firefox 10+;Linux;https://tk-ligat.ru/tovar_show/32455;
1 46.165.16.184 1677553482 Chrome 10+ Linux https://tk-ligat.ru/tovar_cat/0-1.html
2 178.46.65.77 1677558094 Chrome 10+ Windows https://tk-ligat.ru/
3 178.46.65.77 1677558097 Chrome 10+ Windows https://tk-ligat.ru/tovar_cat/0-1.html
4 178.46.65.77 1677558104 Chrome 10+ Windows https://tk-ligat.ru/tovar_cat/51-1.html
5 178.46.65.77 1677558108 Chrome 10+ Windows https://tk-ligat.ru/tovar_cat/51-1.html
6 178.46.65.77 1677558114 Chrome 10+ Windows https://tk-ligat.ru/tovar_cat/61-1.html
7 178.46.65.77 1677558131 Chrome 10+ Windows https://tk-ligat.ru/tovar_cat/72-1.html
8 178.46.65.77 1677558172 Chrome 10+ Windows https://tk-ligat.ru/tovar_cat/68-1.html
9 178.46.65.77 1677558187 Chrome 10+ Windows https://tk-ligat.ru/tovar_cat/0-1.html
10 178.46.65.77 1677558194 Chrome 10+ Windows https://tk-ligat.ru/tovar_cat/67-1.html
11 178.46.65.77 1677558202 Chrome 10+ Windows https://tk-ligat.ru/
12 178.46.65.77 1677558212 Chrome 10+ Windows https://tk-ligat.ru/tovar_cat/52-1.html
13 80.80.108.36 1677580310 Safari 10+ iPhone http://webspros.ru/chat.php?invite=mob&member=tk-ligat.ru&pg=16&check=ok
14 80.80.108.36 1677580370 Safari 10+ iPhone http://webspros.ru/chat.php?invite=mob&member=tk-ligat.ru&pg=16&check=ok
15 46.165.16.184 1677594854 Chrome 10+ Linux https://tk-ligat.ru/tovar_cat/0-1.html
16 46.165.16.184 1677594895 Chrome 10+ Linux https://tk-ligat.ru/tovar_show/33178
17 46.165.16.184 1677599867 Firefox 10+ Linux https://tk-ligat.ru/
18 46.165.16.184 1677599873 Firefox 10+ Linux https://tk-ligat.ru/tovar_show/10023
19 46.165.16.184 1677599880 Firefox 10+ Linux https://tk-ligat.ru/tovar_show/10023?tovar_id=10023&act=addComment&txt=123
20 46.165.16.184 1677600052 Firefox 10+ Linux https://tk-ligat.ru/tovar_show/10023?tovar_id=10023&act=addComment&txt=123
21 46.165.16.184 1677600073 Firefox 10+ Linux https://tk-ligat.ru/
22 46.165.16.184 1677600078 Firefox 10+ Linux https://tk-ligat.ru/tovar_show/32455
23 46.165.16.184 1677600162 Firefox 10+ Linux https://tk-ligat.ru/tovar_show/32455
24 46.165.16.184 1677600985 Firefox 10+ Linux https://tk-ligat.ru/tovar_show/32455
25 46.165.16.184 1677601074 Firefox 10+ Linux https://tk-ligat.ru/tovar_show/32455

View File

@ -4,6 +4,10 @@
*/
\DB::set("CREATE TABLE IF NOT EXISTS `users` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`login` varchar(50) DEFAULT NULL,
@ -86,6 +90,19 @@
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;");
\DB::set("CREATE TABLE IF NOT EXISTS `tovar_otzyv` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`user_id` int(10) NOT NULL,
`t` varchar(30) NOT NULL,
`txt` longtext NOT NULL,
`tovar_id` int(10) NOT NULL,
`status` int(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
KEY `tovar_id` (`tovar_id`),
CONSTRAINT `tovar_otzyv_ibfk_3` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`),
CONSTRAINT `tovar_otzyv_ibfk_4` FOREIGN KEY (`tovar_id`) REFERENCES `tovar` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;");

View File

@ -189,14 +189,7 @@
<!-- Start Tab - Отзывы покупателей -->
<div class="tab-pane show" id="otz">
<div class="product-dis__content">
{if $smarty.session.user_id}
<form>
<textarea class="form-control" placeholder="Оставьте отзыв!" style="height: 200px;"></textarea>
<button class="btn btn-primary" type="button" style="padding: 10px;">Добавить</button>
</form>
{/if}
{include file=$inc_comments}

View File

@ -186,14 +186,8 @@
</div>
<div id="tab-2" class="tab-pane fade in">
{if $smarty.session.user_id}
<form>
<textarea class="form-control" placeholder="Оставьте отзыв!" style="height: 200px;"></textarea>
<button class="btn btn-primary" type="button" style="padding: 10px;">Добавить</button>
</form>
{/if}
{include file=$inc_comments}

View File

@ -2,5 +2,5 @@
git add .
#git commit -m $(date "+%Y-%m-%d")
git commit -m "Инсталлятор + парсер характеристик виртуала"
git commit -m "Отзывы к товару"
git push -u origin master