1<?php 2/* 3 * FCKeditor - The text editor for Internet - http://www.fckeditor.net 4 * Copyright (C) 2003-2007 Frederico Caldeira Knabben 5 * 6 * == BEGIN LICENSE == 7 * 8 * Licensed under the terms of any of the following licenses at your 9 * choice: 10 * 11 * - GNU General Public License Version 2 or later (the "GPL") 12 * http://www.gnu.org/licenses/gpl.html 13 * 14 * - GNU Lesser General Public License Version 2.1 or later (the "LGPL") 15 * http://www.gnu.org/licenses/lgpl.html 16 * 17 * - Mozilla Public License Version 1.1 or later (the "MPL") 18 * http://www.mozilla.org/MPL/MPL-1.1.html 19 * 20 * == END LICENSE == 21 * 22 * These functions define the base of the XML response sent by the PHP 23 * connector. 24 */ 25 26function SetXmlHeaders() 27{ 28 ob_end_clean() ; 29 30 // Prevent the browser from caching the result. 31 // Date in the past 32 header('Expires: Mon, 26 Jul 1997 05:00:00 GMT') ; 33 // always modified 34 header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT') ; 35 // HTTP/1.1 36 header('Cache-Control: no-store, no-cache, must-revalidate') ; 37 header('Cache-Control: post-check=0, pre-check=0', false) ; 38 // HTTP/1.0 39 header('Pragma: no-cache') ; 40 41 // Set the response format. 42 header( 'Content-Type: text/xml; charset=utf-8' ) ; 43} 44 45function CreateXmlHeader( $command, $resourceType, $currentFolder ) 46{ 47 SetXmlHeaders() ; 48 49 // Create the XML document header. 50 echo '<?xml version="1.0" encoding="utf-8" ?>' ; 51 52 // Create the main "Connector" node. 53 echo '<Connector command="' . $command . '" resourceType="' . $resourceType . '">' ; 54 55 // Add the current folder node. 56 echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( GetUrlFromPath( $resourceType, $currentFolder, $command ) ) . '" />' ; 57 58 $GLOBALS['HeaderSent'] = true ; 59} 60 61function CreateXmlFooter() 62{ 63 echo '</Connector>' ; 64} 65 66function SendError( $number, $text ) 67{ 68 if ( isset( $GLOBALS['HeaderSent'] ) && $GLOBALS['HeaderSent'] ) 69 { 70 SendErrorNode( $number, $text ) ; 71 CreateXmlFooter() ; 72 } 73 else 74 { 75 SetXmlHeaders() ; 76 77 // Create the XML document header 78 echo '<?xml version="1.0" encoding="utf-8" ?>' ; 79 80 echo '<Connector>' ; 81 82 SendErrorNode( $number, $text ) ; 83 84 echo '</Connector>' ; 85 } 86 exit ; 87} 88 89function SendErrorNode( $number, $text ) 90{ 91 echo '<Error number="' . $number . '" text="' . htmlspecialchars( $text ) . '" />' ; 92} 93?>