[TASK] Use simple file backend for core php cache
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_ajax.php
index 3b676ae..a024323 100644 (file)
  *
  *  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.
+ * 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.
  *
- * @author     Sebastian Kurfürst <sebastian@garbage-group.de>
- */
-
-/**
  * 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 Kurfürst <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 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
         *
-        * @param       string          JS function handling the XML data from the server. That function gets the returned XML data as parameter.
-        * @param       string          JS fallback function which is called with the URL of the request in case ajax is not available.
-        * @param       boolean         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) {
+       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
+                       // 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)  {
+                       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)' : '') . '
@@ -111,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) {
+       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>';
                echo $xml;
        }
-
 }
 
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_ajax.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_ajax.php']);
-}
 ?>
\ No newline at end of file