sitemap.class.php
4.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php if(!defined('DEDEINC')) exit("Request Error!");
/**
* 网站地图(sitemap类)
*
* @version $Id: sitemap.class.php 1 15:21 2010年7月5日Z tianya $
* @package DedeCMS.Libraries
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
require_once(DEDEINC."/channelunit.func.php");
/**
* 网站地图(sitemap类)
*
* @package TypeLink
* @subpackage DedeCMS.Libraries
* @link http://www.dedecms.com
*/
class SiteMap
{
var $dsql;
var $artDir;
var $baseDir;
//php5构造函数
function __construct()
{
$this->idCounter = 0;
$this->artDir = $GLOBALS['cfg_arcdir'];
$this->baseDir = $GLOBALS['cfg_cmspath'].$GLOBALS['cfg_basedir'];
$this->idArrary = "";
$this->dsql = $GLOBALS['dsql'];
}
function SiteMap()
{
$this->__construct();
}
//清理类
function Close()
{
}
/**
* 获取网站地图
*
* @access public
* @param string $maptype 地图类型 site:站点 rss:rss
* @return string
*/
function GetSiteMap($maptype="site")
{
$mapString = "";
if($maptype=="rss")
{
$this->dsql->SetQuery("SELECT id,typedir,isdefault,defaultname,typename,ispart,namerule2,moresite,siteurl,sitepath FROM #@__arctype WHERE ishidden<>1 AND reid=0 AND ispart<>2 ORDER BY sortrank");
}
else
{
$this->dsql->SetQuery("SELECT id,typedir,isdefault,defaultname,typename,ispart,namerule2,siteurl,sitepath,moresite,siteurl,sitepath FROM #@__arctype WHERE reid=0 AND ishidden<>1 ORDER BY sortrank");
}
$this->dsql->Execute(0);
while($row=$this->dsql->GetObject(0))
{
if($maptype=="site")
{
$typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
}
else
{
$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";
}
$mapString .= "<div class=\"linkbox\">\r\n<h3><a href='$typelink'>".$row->typename."</a></h3>";
$mapString .= "\t<ul class=\"f6\">\t\t\r".$this->LogicListAllSunType($row->id,$maptype)."\t\n</ul></div>\r\n";
/*
$mapString .= "<tr><td width='17%' align='center' bgcolor='#FAFEF1'>";
$mapString .= "<a href='$typelink'><b>".$row->typename."</b></a>";
$mapString .= "</td><td width='83%' bgcolor='#FFFFFF'>";
$mapString .= $this->LogicListAllSunType($row->id,$maptype);
$mapString .= "</td></tr>";
*/
}
return $mapString;
}
/**
* 获得子类目的递归调用
*
* @access public
* @param int $id 栏目ID
* @param string $maptype 地图类型
* @return string
*/
function LogicListAllSunType($id, $maptype)
{
$fid = $id;
$mapString = "";
if($maptype=="rss")
{
$this->dsql->SetQuery("SELECT id,typedir,isdefault,defaultname,typename,ispart,namerule2,moresite,siteurl,sitepath FROM #@__arctype WHERE reid='".$id."' AND ishidden<>1 AND ispart<>2 ORDER BY sortrank");
}
else
{
$this->dsql->SetQuery("SELECT id,typedir,isdefault,defaultname,typename,ispart,namerule2,moresite,siteurl,sitepath FROM #@__arctype WHERE reid='".$id."' AND ishidden<>1 ORDER BY sortrank");
}
$this->dsql->Execute($fid);
while($row=$this->dsql->GetObject($fid))
{
if($maptype=="site")
{
$typelink = GetTypeUrl($row->id,MfTypedir($row->typedir),$row->isdefault,$row->defaultname,$row->ispart,$row->namerule2,$row->moresite,$row->siteurl,$row->sitepath);
}
else
{
$typelink = $GLOBALS['cfg_cmsurl']."/data/rss/".$row->id.".xml";
}
$mapString .= "<li><a href='$typelink'>".$row->typename."</a></li>\n\t\t";
$mapString .= $this->LogicListAllSunType($row->id,$maptype);
}
return $mapString;
}
}