|
- <?php
- /**
- * 获取TAGS管理
- *
- * @version $Id: tag_test_action.php 1 23:07 2010年7月20日Z tianya $
- * @package DedeCMS.Administrator
- * @copyright Copyright (c) 2007 - 2020, DesDev, Inc.
- * @license http://help.dedecms.com/usersguide/license.html
- * @link http://www.dedecms.com
- */
- require_once(dirname(__FILE__).'/config.php');
- CheckPurview('sys_Keyword');
- require_once(DEDEINC.'/datalistcp.class.php');
- $timestamp = time();
- if(empty($tag)) $tag = '';
-
- if(empty($action))
- {
- $orderby = empty($orderby) ? 'id' : preg_replace("#[^a-z]#i", '', $orderby);
- $orderway = isset($orderway) && $orderway == 'asc' ? 'asc' : 'desc';
- if(!empty($tag)) $where = " where tag like '%$tag%'";
- else $where = '';
-
- $neworderway = ($orderway == 'desc' ? 'asc' : 'desc');
- $query = "SELECT * FROM `#@__tagindex` $where ORDER BY $orderby $orderway";
- $dlist = new DataListCP();
- $tag = stripslashes($tag);
- $dlist->SetParameter("tag", $tag);
- $dlist->SetParameter("orderway", $orderway);
- $dlist->SetParameter("orderby", $orderby);
- $dlist->pageSize = 20;
- $dlist->SetTemplet(DEDEADMIN."/templets/tags_main.htm");
- $dlist->SetSource($query);
- $dlist->Display();
- exit();
- }
- /*
- function update()
- */
- else if($action == 'update')
- {
- $tid = (empty($tid) ? 0 : intval($tid) );
- $count = (empty($count) ? 0 : intval($count) );
- if(empty($tid))
- {
- ShowMsg('没有选择要删除的tag!','-1');
- exit();
- }
- $query = "UPDATE `#@__tagindex` SET `count`='$count' WHERE id='$tid' ";
- $dsql->ExecuteNoneQuery($query);
- ShowMsg("成功保存标签的点击信息!", 'tags_main.php');
- exit();
- }
- /*
- function delete()
- */
- else if($action == 'delete')
- {
- if(@is_array($ids))
- {
- $stringids = implode(',', $ids);
- }
- else if(!empty($ids))
- {
- $stringids = $ids;
- }
- else
- {
- ShowMsg('没有选择要删除的tag','-1');
- exit();
- }
- $query = "DELETE FROM `#@__tagindex` WHERE id IN ($stringids)";
- if($dsql->ExecuteNoneQuery($query))
- {
- $query = "DELETE FROM `#@__taglist` WHERE tid IN ($stringids)";
- $dsql->ExecuteNoneQuery($query);
- ShowMsg("删除tags[ $stringids ]成功", 'tags_main.php');
- }
- else
- {
- ShowMsg("删除tags[ $stringids ]失败", 'tags_main.php');
- }
- exit();
- }
- /*
- function fetch()
- */
- else if($action == 'fetch')
- {
- $wheresql = '';
- $start = isset($start) && is_numeric($start) ? $start : 0;
- $where = array();
- if(isset($startaid) && is_numeric($startaid) && $startaid > 0)
- {
- $where[] = " id>=$startaid ";
- }
- else
- {
- $startaid = 0;
- }
- if(isset($endaid) && is_numeric($endaid) && $endaid > 0)
- {
- $where[] = " id<=$endaid ";
- }
- else
- {
- $endaid = 0;
- }
- if(!empty($where))
- {
- $wheresql = " WHERE arcrank>-1 AND ".implode(' AND ', $where);
- }
- $query = "SELECT id as aid,arcrank,typeid,keywords FROM `#@__archives` $wheresql LIMIT $start, 100";
- $dsql->SetQuery($query);
- $dsql->Execute();
- $complete = true;
- $now = time();
- while($row = $dsql->GetArray())
- {
- $aid = $row['aid'];
- $typeid = $row['typeid'];
- $arcrank = $row['arcrank'];
- $row['keywords'] = trim($row['keywords']);
- if($row['keywords']!='' && !preg_match("#,#", $row['keywords']))
- {
- $keyarr = explode(' ', $row['keywords']);
- }
- else
- {
- $keyarr = explode(',', $row['keywords']);
- }
- foreach($keyarr as $keyword)
- {
- $keyword = trim($keyword);
- if($keyword != '' && strlen($keyword)<13 )
- {
- $keyword = addslashes($keyword);
- $row = $dsql->GetOne("SELECT id,total FROM `#@__tagindex` WHERE tag LIKE '$keyword'");
- if(is_array($row))
- {
- $tid = $row['id'];
- $trow = $dsql->GetOne("SELECT COUNT(*) as dd FROM `#@__taglist` WHERE tag LIKE '$keyword'");
- if (intval($trow['dd']) != $row['total'] ) {
-
- $query = "UPDATE `#@__tagindex` SET `total`=".$trow['dd'].",uptime=$now WHERE id='$tid' ";
- $dsql->ExecuteNoneQuery($query);
- }
- }
- else
- {
- $query = " INSERT INTO `#@__tagindex`(`tag`,`count`,`total`,`weekcc`,`monthcc`,`weekup`,`monthup`,`addtime`,`uptime`) VALUES('$keyword','0','1','0','0','$timestamp','$timestamp','$timestamp','$now');";
- $dsql->ExecuteNoneQuery($query);
- $tid = $dsql->GetLastID();
- }
- $query = "REPLACE INTO `#@__taglist`(`tid`,`aid`,`typeid`,`arcrank`,`tag`) VALUES ('$tid', '$aid', '$typeid','$arcrank','$keyword'); ";
- $dsql->ExecuteNoneQuery($query);
- }
- }
- $complete = FALSE;
- }
- if($complete)
- {
- ShowMsg("tags获取完成", 'tags_main.php');
- exit();
- }
- $start = $start + 100;
- $goto = "tags_main.php?action=fetch&startaid=$startaid&endaid=$endaid&start=$start";
- ShowMsg('继续获取tags ...', $goto, 0, 500);
- exit();
- }
|