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
|
<?php /* * FCKeditor - The text editor for Internet - http://www.fckeditor.net * Copyright (C) 2003-2009 Frederico Caldeira Knabben * * == BEGIN LICENSE == * * Licensed under the terms of any of the following licenses at your * choice: * * - GNU General Public License Version 2 or later (the "GPL") * http://www.gnu.org/licenses/gpl.html * * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") * http://www.gnu.org/licenses/lgpl.html * * - Mozilla Public License Version 1.1 or later (the "MPL") * http://www.mozilla.org/MPL/MPL-1.1.html * * == END LICENSE == * * These functions define the base of the XML response sent by the PHP * connector. */
function SetXmlHeaders() { ob_end_clean() ;
// Prevent the browser from caching the result. // Date in the past header('Expires: Mon, 26 Jul 1997 05:00:00 GMT') ; // always modified header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT') ; // HTTP/1.1 header('Cache-Control: no-store, no-cache, must-revalidate') ; header('Cache-Control: post-check=0, pre-check=0', false) ; // HTTP/1.0 header('Pragma: no-cache') ;
// Set the response format. header( 'Content-Type: text/xml; charset=utf-8' ) ; }
function CreateXmlHeader( $command, $resourceType, $currentFolder ) { SetXmlHeaders() ;
// Create the XML document header. echo '<?xml version="1.0" encoding="utf-8" ?>' ;
// Create the main "Connector" node. echo '<Connector command="' . $command . '" resourceType="' . $resourceType . '">' ;
// Add the current folder node. echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( GetUrlFromPath( $resourceType, $currentFolder, $command ) ) . '" />' ;
$GLOBALS['HeaderSent'] = true ; }
function CreateXmlFooter() { echo '</Connector>' ; }
function SendError( $number, $text ) { if ( isset( $GLOBALS['HeaderSent'] ) && $GLOBALS['HeaderSent'] ) { SendErrorNode( $number, $text ) ; CreateXmlFooter() ; } else { SetXmlHeaders() ;
// Create the XML document header echo '<?xml version="1.0" encoding="utf-8" ?>' ;
echo '<Connector>' ;
SendErrorNode( $number, $text ) ;
echo '</Connector>' ; } exit ; }
function SendErrorNode( $number, $text ) { echo '<Error number="' . $number . '" text="' . htmlspecialchars( $text ) . '" />' ; } ?>
|