[TASK] Use simple file backend for core php cache
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_ajax.php
index 369299a..a024323 100644 (file)
 <?php
 /***************************************************************
-*  Copyright notice
-*
-*  (c) 2004-2005 Kasper Skaarhoj (kasperYYYY@typo3.com)
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license
-*  from the author is found in LICENSE.txt distributed with these scripts.
-*
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/**
- * Contains the class "t3lib_ajax" containing functions for doing XMLHTTP requests to the TYPO3 backend and as well for generating replys. This technology is also known as ajax.
- * Call ALL methods without making an object!
+ *  Copyright notice
  *
- * @author     Sebastian Kurfuerst <sebastian@garbage-group.de>
- */
+ *  (c) 2004-2011 Kasper Skårhøj (kasperYYYY@typo3.com)
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the textfile GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
 
 /**
+ * Contains the class "t3lib_ajax" containing functions for doing XMLHTTP requests
+ * to the TYPO3 backend and as well for generating replys. This technology is also known as ajax.
+ * Call ALL methods without making an object!
+ *
+ * IMPORTANT NOTICE: The API the class provides is still NOT STABLE and SUBJECT TO CHANGE!
+ * It is planned to integrate an external AJAX library, so the API will most likely change again.
+ *
  * TYPO3 XMLHTTP class (new in TYPO3 4.0.0)
  * This class contains two main parts:
  * (1) generation of JavaScript code which creates an XMLHTTP object in a cross-browser manner
  * (2) generation of XML data as a reply
  *
- * @author     Sebastian Kurfuerst <sebastian@garbage-group.de>
+ * @author Sebastian Kurfürst <sebastian@garbage-group.de>
  * @package TYPO3
  * @subpackage t3lib
+ * @deprecated since 6.0, the class will be removed from core with 6.2
  */
 class t3lib_ajax {
+
+       /**
+        * Default constructor writes deprecation log.
+        */
+       public function __construct() {
+               t3lib_div::deprecationLog(
+                       'Class t3lib_ajax is deprecated and unused since TYPO3 6.0. ' .
+                       'It will be removed with version 6.2.'
+               );
+       }
+
        /**
-        * gets javascript code needed to handle an XMLHTTP request in the frontend.
-        * all JS functions have to call ajax_doRequest(url) to make a request to the server.
+        * Gets the JavaScript code needed to handle an XMLHTTP request in the frontend.
+        * All JS functions have to call ajax_doRequest(url) to make a request to the server.
         * USE:
-        * see examples of using this function in template.php -> getContextMenuCode and alt_clickmenu.php -> printContent
+        * See examples of using this function in template.php -> getContextMenuCode and alt_clickmenu.php -> printContent
         *
-        * @param       string  $handlerFunction        JS function handling the XML data from the server. That function gets the returned XML data as parameter.
-        * @param       string  $fallback               JS fallback function which is called with the URL of the request in case ajax is not available.
-        * @param       boolean $debug  If set to 1, the returned XML data is outputted as text in an alert window - useful for debugging, PHP errors are shown there, ...
-        * @return      string  JavaScript code needed to make and handle an XMLHTTP request
+        * @param string $handler Function JS function handling the XML data from the server. That function gets the returned XML data as parameter.
+        * @param string $fallback JS fallback function which is called with the URL of the request in case ajax is not available.
+        * @param boolean $debug If set to 1, the returned XML data is outputted as text in an alert window - useful for debugging, PHP errors are shown there, ...
+        * @return string JavaScript code needed to make and handle an XMLHTTP request
+        * @deprecated since 6.0, class will be removed with 6.2
         */
-       function getJScode($handlerFunction, $fallback = '', $debug=0)  {
-                       // init xmlhttp request object
+       public function getJScode($handlerFunction, $fallback = '', $debug = 0) {
+               t3lib_div::logDeprecatedFunction();
+
+                       // Init the XMLHTTP request object
                $code = '
-               function ajax_initObject()      {
+               function ajax_initObject() {
                        var A;
                        try     {
                                A=new ActiveXObject("Msxml2.XMLHTTP");
-                       } catch (e)     {
+                       } catch (e) {
                                try     {
                                        A=new ActiveXObject("Microsoft.XMLHTTP");
-                               } catch (oc)    {
+                               } catch (oc) {
                                        A=null;
                                }
                        }
-                       if(!A && typeof XMLHttpRequest != "undefined")  {
+                       if (!A && typeof XMLHttpRequest != "undefined") {
                                A = new XMLHttpRequest();
                        }
                        return A;
                }';
-                       // in case ajax is not available, fallback function
-               if($fallback)   {
+                       // In case AJAX is not available, fallback function
+               if ($fallback) {
                        $fallback .= '(url)';
                } else {
                        $fallback = 'return';
                }
                $code .= '
-               function ajax_doRequest(url)    {
+               function ajax_doRequest(url) {
                        var x;
 
                        x = ajax_initObject();
-                       if(!x)  {
-                               '.$fallback.';
+                       if (!x) {
+                               ' . $fallback . ';
                        }
                        x.open("GET", url, true);
 
-                       x.onreadystatechange = function()       {
-                               if (x.readyState != 4)  {
+                       x.onreadystatechange = function() {
+                               if (x.readyState != 4) {
                                        return;
                                }
-                               '.($debug?'alert(x.responseText)':'').'
+                               ' . ($debug ? 'alert(x.responseText)' : '') . '
                                var xmldoc = x.responseXML;
                                var t3ajax = xmldoc.getElementsByTagName("t3ajax")[0];
-                               '.$handlerFunction.'(t3ajax);
+                               ' . $handlerFunction . '(t3ajax);
                        }
                        x.send("");
 
@@ -108,21 +124,19 @@ class t3lib_ajax {
        /**
         * Function outputting XML data for TYPO3 ajax. The function directly outputs headers and content to the browser.
         *
-        * @param       string  $innerXML       XML data which will be sent to the browser
-        * @return      void
+        * @param string $innerXML XML data which will be sent to the browser
+        * @return void
+        * @deprecated since 6.0, class will be removed with 6.2
         */
-       function outputXMLreply($innerXML)      {
-                       // ajax needs xml data
+       public function outputXMLreply($innerXML) {
+               t3lib_div::logDeprecatedFunction();
+
+                       // AJAX needs some XML data
                header('Content-Type: text/xml');
                $xml = '<?xml version="1.0"?>
-<t3ajax>'.$innerXML.'</t3ajax>';
+<t3ajax>' . $innerXML . '</t3ajax>';
                echo $xml;
        }
-
 }
 
-
-if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_ajax.php'])     {
-       include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_ajax.php']);
-}
-?>
+?>
\ No newline at end of file