вопрос
Здравствуйте. Подскажите как решить проблему с пере направлением. Та как модуль отказывается добавлять теги когда в категории, в то время как когда новость на главной добавляет.
Где указать в коде учитывать категорию?
Вот модуль
https://flesha.ru/dle/dlemod/7347-taggadds-polzovatelskie-tegi-v11.html
Где указать в коде учитывать категорию?
Вот модуль
https://flesha.ru/dle/dlemod/7347-taggadds-polzovatelskie-tegi-v11.html
<?php
if (! defined ( 'DATALIFEENGINE' )) {
die ( "Hacking attempt!" );
}
require_once (ENGINE_DIR.'/api/api.class.php');
extract($_POST);
$subject = <<<HTML
Пользовательские теги к {$title}
HTML;
$subjecto = <<<HTML
Ваши теги к {$title}
HTML;
$mess = <<<HTML
{$username} предложил к новости <a href="{$link}" target="_blank" >{$title}</a> новые теги: <span class="label label-danger">{$tags}</span>.
HTML;
$messo = <<<HTML
Вами предложенные теги к <a href="{$link}" target="_blank" >{$title}</a>: <span class="label label-danger">{$tags}</span>.
HTML;
$date = time();
$tags = $utags;
if (!empty($_POST['utags']) == 0) {
$link = "/";
} else {
$link = $link;
$db->super_query("INSERT INTO " . PREFIX . "_post_tags (news_id, username, tags) VALUES ('{$news}','{$username}','{$tags}')");
$db->query( "INSERT INTO " . USERPREFIX . "_pm (subj, text, user, user_from, date, pm_read, folder, sendid) values ('{$subject}','{$mess}','1','{$username}','{$date}','0','inbox','0'),('{$subjecto}','{$messo}','{$userid}','Maxim','{$date}','0','inbox','0');");
$db->query( "UPDATE " . USERPREFIX . "_users SET pm_all=pm_all+1, pm_unread=pm_unread+1 WHERE user_id='1'" );
$db->query( "UPDATE " . USERPREFIX . "_users SET pm_all=pm_all+1, pm_unread=pm_unread+1 WHERE user_id='{$userid}'" );
}
print "<script language='Javascript'><!--
function reload() {location = \"$link\"}; setTimeout('reload()', 0);
//--></script>";
?>
===================================================
Предсловие
===================================================
Поправил один баг, который отправлял пустые запросы в БД.
Забыл указать, что версия БД и движка должна быть в UTF-8
===================================================
Обновление 1.1
===================================================
Замените файл /engine/modules/tags.php из архива.
===================================================
Установка
===================================================
Выполняем запросы
INSERT INTO `dle_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES ('tags', 'Добавление тегов', 'Пользовательские предложения тегов', 'tags.png', '1');
CREATE TABLE IF NOT EXISTS `dle_post_tags` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`news_id` text NOT NULL,
`username` text NOT NULL,
`tags` text NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `news_id` (`news_id`),
FULLTEXT KEY `username` (`username`),
FULLTEXT KEY `tags` (`tags`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=73 ;
dle - меняем на свой префикс
===================================================
Открываем .htaccess
После
RewriteEngine On
Ставим
#Пользовательские теги
RewriteRule ^tags.php index.php?do=tag [L,QSA]
===================================================
Открываем engine/engine.php
после
switch ( $do ) {
ставим
case "tag" :
include ENGINE_DIR . '/modules/tags.php';
break;
===================================================
Открываем engine/modules/main.php
Ищем
$tpl->set ( '{speedbar}', $tpl->result['speedbar'] );
ниже
if($is_logged ) {
$tpl->set( '{tagsbutton}', "<a href=\"#\" role=\"button\" id=\"TagsAdd\">Добавить</a><div style=\"display: none;\"><div class=\"box-modal\" id=\"AddTags\"><div class=\"box-modal_close arcticmodal-close\">закрыть</div><form action=\"tags.php\" method=\"post\"><input class=\"form-control\" type=\"text\" placeholder=\"теги\" name=\"utags\" id=\"utags\"><input type=\"hidden\" name=\"news\" value=\"".$id."\"><input type=\"hidden\" name=\"username\" value=\"".$user."\"><input type=\"hidden\" name=\"userid\" value=\"".$userid."\"><input type=\"hidden\" name=\"link\" value=\"".$link."\"><input type=\"hidden\" name=\"title\" value=\"".$name."\"><br><br><button class=\"btn btn-block btn-success\" onclick=\"submit();\" id=\"add_tags\">Отправить</button></form></div></div>" );
} else {
$tpl->set( '{tagsbutton}', "");
}
===================================================
Открываем engine/modules/show.full.php
после
else {
$tpl->set( '{favorites}', "" );
$tpl->set( '{watched}', "" );
$tpl->set_block( "'\\[complaint\\](.*?)\\[/complaint\\]'si", "" );
$tpl->set_block( "'\\[add-favorites\\](.*?)\\[/add-favorites\\]'si", "" );
$tpl->set_block( "'\\[del-favorites\\](.*?)\\[/del-favorites\\]'si", "" );
}
добавляем
/*Добавление тегов*/
$tagsadd = explode( ',', $_POST['utags'] );
if($is_logged ) {
if( ! in_array( $row['id'], $tagsadd) ) {
$id = $row['id'];
$name = $row['title'];
$link = $full_link;
$user = $member_id['name'];
$userid = $member_id['user_id'];
$tags = $_POST['utags'];
$tpl->set( '{tagsadd}', "<a href=\"#\" role=\"button\" id=\"TagsAdd\">Добавить</a><div style=\"display: none;\"><div class=\"box-modal\" id=\"AddTags\"><div class=\"box-modal_close arcticmodal-close\">закрыть</div><form action=\"tags.php\" method=\"post\"><input class=\"form-control\" type=\"text\" placeholder=\"теги\" name=\"utags\" id=\"utags\"><input type=\"hidden\" name=\"news\" value=\"".$id."\"><input type=\"hidden\" name=\"username\" value=\"".$user."\"><input type=\"hidden\" name=\"userid\" value=\"".$userid."\"><input type=\"hidden\" name=\"link\" value=\"".$link."\"><input type=\"hidden\" name=\"title\" value=\"".$name."\"><br><br><button class=\"btn btn-block btn-success\" onclick=\"submit();\" id=\"add_tags\">Отправить</button></form></div></div>" );
$tpl->set( '{tagsbutton}', "<a href=\"#\" role=\"button\" id=\"TagsAdd\">Добавить</a>");
$tpl->set( '{tagsbody}', "<div style=\"display: none;\"><div class=\"box-modal\" id=\"AddTags\"><div class=\"box-modal_close arcticmodal-close\">закрыть</div><form action=\"tags.php\" method=\"post\"><input class=\"form-control\" type=\"text\" placeholder=\"теги\" name=\"utags\" id=\"utags\"><input type=\"hidden\" name=\"news\" value=\"".$id."\"><input type=\"hidden\" name=\"username\" value=\"".$user."\"><input type=\"hidden\" name=\"userid\" value=\"".$userid."\"><input type=\"hidden\" name=\"link\" value=\"".$link."\"><input type=\"hidden\" name=\"title\" value=\"".$name."\"><br><br><button class=\"btn btn-block btn-success\" onclick=\"submit();\" id=\"add_tags\">Отправить</button></form></div></div>");
} else {
$tpl->set( '{tagsadd}', "");
$tpl->set( '{tagsbutton}', "");
$tpl->set( '{tagsbody}', "");
}
}
/*Добавление тегов*/
===================================================
Открываем templates/THEME/fullstory.tpl
В самое начало
<script src="{THEME}/tagsadd/jquery.arcticmodal-0.3.min.js"></script>
<script src="{THEME}/tagsadd/bootstrap-tokenfield.js"></script>
<link rel="stylesheet" href="{THEME}/tagsadd/css/jquery.arcticmodal-0.3.css">
<link rel="stylesheet" href="{THEME}/tagsadd/css/bootstrap-tokenfield.css">
<link rel="stylesheet" href="{THEME}/tagsadd/css/themes/dark.css">
<script type="text/javascript">
$(document).ready(function() {
$(document).on('click', '#TagsAdd', function(){
$('#AddTags').arcticmodal({
beforeClose: function(data, el) {
alert('Ваши предложенные теги были отпавлены на рассмотрение! Администрация проверит и добавит.');
}
});
});
$(document).on('click', '#add_tags', function(){
$('#AddTags').arcticmodal('close');
});
$('#utags').tokenfield();
});
</script>
dark.css - меняем на свой или альтернативный из папки
===================================================
В файле engine/modules/tags.php
Находим Maxim и меняем на своё
===================================================
Инструкция по применению
Если вы хотите подключить тег не в fullstory.tpl, а в main.tpl, то в нужное место (main.tpl) ставим тег {tagsbutton},
а в fullstory.tpl тогда тег {tagsbody}.
Если вы решили всётаки подключить в шаблон полной новости, то в любое место добавляем тег {tagsadd}.
Для полной новости действуют следующие теги:
{tagsadd} - полное подключение модуля
{tagsbutton} - добавляет только кнопку "Добавить"
{tagsbody} - добавляет в шаблон только модальное окно