浏览代码

Updated to sitemap protocol 0.9

pecesama 17 年前
父节点
当前提交
8330c4613b
共有 4 个文件被更改,包括 131 次插入28 次删除
  1. 5 1
      notice.txt
  2. 2 2
      rss.php
  3. 17 25
      sitemap.php
  4. 107 0
      sitemap.xsl

+ 5 - 1
notice.txt 查看文件

11
 = COPYRIGHT NOTICES =
11
 = COPYRIGHT NOTICES =
12
 This product includes code and libraries developed by third parties, which are governed by different licenses.  These components, and their licenses, are listed below.
12
 This product includes code and libraries developed by third parties, which are governed by different licenses.  These components, and their licenses, are listed below.
13
 
13
 
14
+= XSLT template for sitemap =
15
+Copyright (c) Arne Brachhold, http://www.arnebrachhold.de/
16
+XSLT template for sitemap available under GNU General Public License.
17
+
14
 = Services_JSON =
18
 = Services_JSON =
15
-Copyright (c)Michal Migurski, Matt Knapp and Brett Stimmerman, http://mike.teczno.com/JSON/JSON.phps
19
+Copyright (c) Michal Migurski, Matt Knapp and Brett Stimmerman, http://mike.teczno.com/JSON/JSON.phps
16
 Services_JSON is available under BSD license.
20
 Services_JSON is available under BSD license.
17
 
21
 
18
 = Archive based on code from: simple Tumblr API processor =
22
 = Archive based on code from: simple Tumblr API processor =

+ 2 - 2
rss.php 查看文件

77
 					break;
77
 					break;
78
 			}
78
 			}
79
 			$tit = util::trimString($tit);
79
 			$tit = util::trimString($tit);
80
-			$strEnd = ($conf->urlFriendly) ? "/" : "";
81
-			$url = $conf->urlGelato.($conf->urlFriendly ? "/post/" : "/index.php?post=").$register["id_post"].$strEnd;
80
+			$strEnd = ($conf->urlFriendly) ? "/" : "";			
81
+			$url = $tumble->getPermalink($register["id_post"]);
82
 			$formatedDate = gmdate("r", strtotime($register["date"]) + util::transform_offset($conf->offsetTime));
82
 			$formatedDate = gmdate("r", strtotime($register["date"]) + util::transform_offset($conf->offsetTime));
83
 ?>
83
 ?>
84
 			<item>
84
 			<item>

+ 17 - 25
sitemap.php 查看文件

12
   =========================== */
12
   =========================== */
13
 ?>
13
 ?>
14
 <?php
14
 <?php
15
+	require('entry.php');	
16
+	global $conf, $tumble, $db;
17
+	
15
 	// Code modified from the one at http://paste.ubuntu-nl.org/44548/
18
 	// Code modified from the one at http://paste.ubuntu-nl.org/44548/
16
-	header("Content-type: text/xml; charset=utf-8");	
17
-
18
-	require(dirname(__FILE__)."/config.php");
19
-	include("classes/configuration.class.php");
20
-	include("classes/gelato.class.php");
21
-	$tumble = new gelato();
22
-	$conf = new configuration();	
19
+	header("Content-type: text/xml; charset=utf-8");
23
 	$isFeed = true;
20
 	$isFeed = true;
24
 	
21
 	
25
 	echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
22
 	echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
23
+	echo "<?xml-stylesheet type=\"text/xsl\" href=\"".$conf->urlGelato."/sitemap.xsl\"?>\n";
26
 	
24
 	
27
 	$rs = $tumble->getPosts(1);	
25
 	$rs = $tumble->getPosts(1);	
28
 ?>
26
 ?>
29
 <!-- generator="gelato CMS" -->
27
 <!-- generator="gelato CMS" -->
30
-
31
-<urlset 
32
-		xmlns="http://www.google.com/schemas/sitemap/0.84"
33
-        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
34
-        xsi:schemaLocation="http://www.google.com/schemas/sitemap/0.84
35
-        	http://www.google.com/schemas/sitemap/0.84/sitemap.xsd">
36
-	
28
+<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">	
37
 	<url>
29
 	<url>
38
-		<loc><?php echo $conf->urlGelato;?></loc>
39
-        <priority>0.9</priority>		
30
+		<loc><?php echo $conf->urlGelato;?></loc>        		
40
 <?php
31
 <?php
41
-		if ($tumble->contarRegistros()>0) {
32
+		if ($db->contarRegistros()>0) {
42
 			$register = mysql_fetch_array($rs);
33
 			$register = mysql_fetch_array($rs);
43
 			$formatedDate = gmdate("Y-m-d", strtotime($register["date"]));
34
 			$formatedDate = gmdate("Y-m-d", strtotime($register["date"]));
44
-			echo "<lastmod>".$formatedDate."</lastmod>";
35
+			echo "\n\t<lastmod>".$formatedDate."</lastmod>";
45
 		}
36
 		}
46
 ?>
37
 ?>
47
-		<changefreq>hourly</changefreq>        
38
+		<changefreq>hourly</changefreq>
39
+        <priority>0.9</priority>
48
 	</url>
40
 	</url>
49
 
41
 
50
 
42
 
51
 <?php	
43
 <?php	
52
 	$rs = $tumble->getPosts($tumble->getPostsNumber());
44
 	$rs = $tumble->getPosts($tumble->getPostsNumber());
53
-	if ($tumble->contarRegistros()>0) {
54
-		while($register = mysql_fetch_array($rs)) {
55
-			$url = htmlspecialchars($conf->urlGelato."/index.php?post=".$register["id_post"]);
45
+	if ($db->contarRegistros()>0) {
46
+		while($register = mysql_fetch_array($rs)) {			
47
+			$url = $tumble->getPermalink($register["id_post"]);
56
 			$formatedDate = gmdate("Y-m-d", strtotime($register["date"]));
48
 			$formatedDate = gmdate("Y-m-d", strtotime($register["date"]));
57
 ?>
49
 ?>
58
 	<url>
50
 	<url>
59
-		<loc><?php echo $url;?></loc>
60
-        <priority>0.7</priority>
51
+		<loc><?php echo $url;?></loc>        
61
 		<lastmod><?php echo $formatedDate;?></lastmod>
52
 		<lastmod><?php echo $formatedDate;?></lastmod>
62
-        <changefreq>daily</changefreq>        
53
+        <changefreq>daily</changefreq>
54
+        <priority>0.7</priority>
63
 	</url>
55
 	</url>
64
 <?php
56
 <?php
65
 		}
57
 		}

+ 107 - 0
sitemap.xsl 查看文件

1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<xsl:stylesheet version="2.0" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3
+	<xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
4
+	<xsl:template match="/">
5
+		<html xmlns="http://www.w3.org/1999/xhtml">
6
+			<head>
7
+				<title>XML Sitemap</title>
8
+				<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
9
+				<style type="text/css">
10
+					body {
11
+						font-family:"Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana;
12
+						font-size:13px;
13
+					}
14
+					
15
+					#intro {
16
+						background-color:#CFEBF7;
17
+						border:1px #2580B2 solid;
18
+						padding:5px 13px 5px 13px;
19
+						margin:10px;
20
+					}
21
+					
22
+					#intro p {
23
+						line-height:	16.8667px;
24
+					}
25
+					
26
+					td {
27
+						font-size:11px;
28
+					}
29
+					
30
+					th {
31
+						text-align:left;
32
+						padding-right:30px;
33
+						font-size:11px;
34
+					}
35
+					
36
+					tr.high {
37
+						background-color:whitesmoke;
38
+					}
39
+					
40
+					#footer {
41
+						padding:2px;
42
+						margin:10px;
43
+						font-size:8pt;
44
+						color:gray;
45
+					}
46
+					
47
+					#footer a {
48
+						color:gray;
49
+					}
50
+					
51
+					a {
52
+						color:black;
53
+					}
54
+				</style>
55
+			</head>
56
+			<body>
57
+				<h1>XML Sitemap</h1>
58
+				<div id="intro">
59
+					<p>
60
+						This is a XML Sitemap which is supposed to be processed by search engines like <a href="http://www.google.com/">Google</a>, <a href="http://search.msn.com/">MSN Search</a> and <a href="http://www.yahoo.com/">YAHOO</a>.<br/>
61
+						It was generated using the Tumblelogging-Software <a href="http://www.gelatocms.com/">Gelato CMS</a>.<br/>
62
+						You can find more information about XML sitemaps on <a href="http://sitemaps.org/">sitemaps.org</a> and Google's <a href="http://code.google.com/sm_thirdparty.html">list of sitemap programs</a>.
63
+					</p>
64
+				</div>
65
+				<div id="content">
66
+					<table cellpadding="5">
67
+						<tr style="border-bottom: 1px solid black;">
68
+							<th>URL</th>
69
+							<th>Priority</th>
70
+							<th>Change Frequency</th>
71
+							<th>LastChange</th>
72
+						</tr>
73
+						<xsl:variable name="lower" select="'abcdefghijklmnopqrstuvwxyz'"/>
74
+						<xsl:variable name="upper" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'"/>
75
+						<xsl:for-each select="sitemap:urlset/sitemap:url">
76
+							<tr>
77
+								<xsl:if test="position() mod 2 != 1">
78
+									<xsl:attribute name="class">high</xsl:attribute>
79
+								</xsl:if>
80
+								<td>
81
+									<xsl:variable name="itemURL">
82
+										<xsl:value-of select="sitemap:loc"/>
83
+									</xsl:variable>
84
+									<a href="{$itemURL}">
85
+										<xsl:value-of select="sitemap:loc"/>
86
+									</a>
87
+								</td>
88
+								<td>
89
+									<xsl:value-of select="concat(sitemap:priority*100,'%')"/>
90
+								</td>
91
+								<td>
92
+									<xsl:value-of select="concat(translate(substring(sitemap:changefreq, 1, 1),concat($lower, $upper),concat($upper, $lower)),substring(sitemap:changefreq, 2))"/>
93
+								</td>
94
+								<td>
95
+									<xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))"/>
96
+								</td>
97
+							</tr>
98
+						</xsl:for-each>
99
+					</table>
100
+				</div>
101
+				<div id="footer">
102
+					gelato CMS :: PHP/MySQL Tumblelog Content Management System.
103
+				</div>
104
+			</body>
105
+		</html>
106
+	</xsl:template>
107
+</xsl:stylesheet>