Преглед на файлове

Updated to sitemap protocol 0.9

pecesama преди 15 години
родител
ревизия
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>