浏览代码

修复tag为空无法删除的问题

tags/6.2.11
tianya 1年前
父节点
当前提交
1d2b537fb0
共有 1 个文件被更改,包括 22 次插入4 次删除
  1. +22
    -4
      src/system/helpers/archive.helper.php

+ 22
- 4
src/system/helpers/archive.helper.php 查看文件

@@ -101,13 +101,26 @@ if (!function_exists('GetChannelTable')) {
*/ */
if (!function_exists('GetTags')) { if (!function_exists('GetTags')) {
function GetTags($aid) function GetTags($aid)
{
$tarr = GetTagsArray($aid);
return count($tarr) > 0? implode(",", $tarr) : '';
}
}
/**
* 获得某文档的所有tag数组
*
* @param int $aid 文档id
* @return array
*/
if (!function_exists('GetTagsArray')) {
function GetTagsArray($aid)
{ {
global $dsql; global $dsql;
$tags = '';
$tags = array();
$query = "SELECT tag FROM `#@__taglist` WHERE aid='$aid' "; $query = "SELECT tag FROM `#@__taglist` WHERE aid='$aid' ";
$dsql->Execute('tag', $query); $dsql->Execute('tag', $query);
while ($row = $dsql->GetArray('tag')) { while ($row = $dsql->GetArray('tag')) {
$tags .= ($tags == '' ? $row['tag'] : ','.$row['tag']);
$tags[] = $row['tag'];
} }
return $tags; return $tags;
} }
@@ -164,8 +177,7 @@ if (!function_exists('UpIndexKey')) {
$dsql->ExecuteNoneQuery($query); $dsql->ExecuteNoneQuery($query);
//处理修改后的tag //处理修改后的tag
if ($tags != '') { if ($tags != '') {
$oldtag = GetTags($id);
$oldtags = explode(',', $oldtag);
$oldtags = GetTagsArray($id);
$tagss = explode(',', $tags); $tagss = explode(',', $tags);
foreach ($tagss as $tag) { foreach ($tagss as $tag) {
$tag = trim($tag); $tag = trim($tag);
@@ -184,6 +196,12 @@ if (!function_exists('UpIndexKey')) {
$dsql->ExecuteNoneQuery("UPDATE `#@__taglist` SET `arcrank` = '$arcrank', `typeid` = '$typeid' WHERE tag LIKE '$tag' "); $dsql->ExecuteNoneQuery("UPDATE `#@__taglist` SET `arcrank` = '$arcrank', `typeid` = '$typeid' WHERE tag LIKE '$tag' ");
} }
} }
} else {
$oldtags = GetTagsArray($id);
foreach ($oldtags as $tag) {
$dsql->ExecuteNoneQuery("DELETE FROM `#@__taglist` WHERE aid='$id' AND tag LIKE '$tag' ");
$dsql->ExecuteNoneQuery("UPDATE `#@__tagindex` SET total=total-1 WHERE tag LIKE '$tag' ");
}
} }
} }
} }


正在加载...
取消
保存