public static function del($tags, $field = 'name', $iid = 0) { $tagArray = explode(",", $tags); $iid && ($sql = "AND `iid`='{$iid}'"); foreach ($tagArray as $k => $v) { $tag = iDB::row("SELECT * FROM `#iCMS@__tags` WHERE `{$field}`='{$v}' LIMIT 1;"); $tRS = iDB::all("SELECT `iid` FROM `#iCMS@__tags_map` WHERE `node`='{$tag->id}' AND `appid`='" . TAG_APPID . "' {$sql}"); foreach ((array) $tRS as $TL) { $idA[] = $TL['iid']; } if ($idA) { $ids = iPHP::get_ids($idA, null); if ($ids) { iPHP::app('apps.class', 'static'); $table = APPS::table(TAG_APPID); iDB::query("\n UPDATE `#iCMS@__{$table}`\n SET `tags`= REPLACE(tags, '{$tag->name},',''),\n `tags`= REPLACE(tags, ',{$tag->name}','')\n WHERE id IN({$ids})\n "); } } self::$remove && iDB::query("DELETE FROM `#iCMS@__tags` WHERE `{$field}`='{$v}'"); iDB::query("\n DELETE FROM\n `#iCMS@__tags_map`\n WHERE `node`='{$tag->id}'\n AND `appid`='" . TAG_APPID . "' {$sql}"); $ckey = self::tkey($tag->cid); iCache::delete($ckey); } }