CLICK HERE TO BUY IT TODAY! OR GET IT FREE VIA TRIALPAY  

PHP Demo Application - Source Code

/Framework/Model/Vendor/CkEditor/_source/core/ajax.js



/*
Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
For licensing, see LICENSE.html or http://ckeditor.com/license
*/
/**
 * @fileOverview Defines the {@link CKEDITOR.ajax} object, which holds ajax methods for
 *        data loading.
 */
/**
 * Ajax methods for data loading.
 * @namespace
 * @example
 */
CKEDITOR.ajax = (function()
{
	    var createXMLHttpRequest = function()
	    {
		        // In IE, using the native XMLHttpRequest for local files may throw
		        // "Access is Denied" errors.
		        if ( !CKEDITOR.env.ie || location.protocol != 'file:' )
		            try { return new XMLHttpRequest();
			} catch(e{}
		        try { return new ActiveXObject'Msxml2.XMLHTTP' );
			} catch (e{}
		        try { return new ActiveXObject'Microsoft.XMLHTTP' );
			} catch (e{}
		        return null;
		    };
	    var checkStatus = function( xhr )
	    {
		        // HTTP Status Codes:
		        //     2xx : Success
		        //     304 : Not Modified
		        //       0 : Returned when running locally (file://)
		        //    1223 : IE may change 204 to 1223 (see http://dev.jquery.com/ticket/1450)
		        return ( xhr.readyState == &&
		                (    ( xhr.status >= 200 && xhr.status 300 ) ||
		                    xhr.status == 304 ||
		                    xhr.status === ||
		                    xhr.status == 1223 ) );
		    };
	    var getResponseText = function( xhr )
	    {
		        if ( checkStatusxhr ) )
		            return xhr.responseText;
		        return null;
		    };
	    var getResponseXml = function( xhr )
	    {
		        if ( checkStatusxhr ) )
		        {
			            var xml xhr.responseXML;
			            return new CKEDITOR.xmlxml && xml.firstChild xml xhr.responseText );
			        }
		        return null;
		    };
	    var load = function( urlcallbackgetResponseFn )
	    {
		        var async = !!callback;
		        var xhr createXMLHttpRequest();
		        if ( !xhr )
		            return null;
		        xhr.open'GET'urlasync );
		        if ( async )
		        {
			            // TODO: perform leak checks on this closure.
			            /** @ignore */
			            xhr.onreadystatechange = function()
			            {
				                if ( xhr.readyState == )
				                {
					                    callbackgetResponseFnxhr ) );
					                    xhr null;
					                }
				            };
			        }
		        xhr.send(null);
		        return async '' getResponseFnxhr );
		    };
	    return     /** @lends CKEDITOR.ajax */ {
		        /**
		         * Loads data from an URL as plain text.
		         * @param {String} url The URL from which load data.
		         * @param {Function} [callback] A callback function to be called on
		         *        data load. If not provided, the data will be loaded
		         *        asynchronously, passing the data value the function on load.
		         * @returns {String} The loaded data. For asynchronous requests, an
		         *        empty string. For invalid requests, null.
		         * @example
		         * // Load data synchronously.
		         * var data = CKEDITOR.ajax.load( 'somedata.txt' );
		         * alert( data );
		         * @example
		         * // Load data asynchronously.
		         * var data = CKEDITOR.ajax.load( 'somedata.txt', function( data )
		         *     {
			         *         alert( data );
			         *    
			} );
		         */
		        load : function( urlcallback )
		        {
			            return loadurlcallbackgetResponseText );
			        },
		        /**
		         * Loads data from an URL as XML.
		         * @param {String} url The URL from which load data.
		         * @param {Function} [callback] A callback function to be called on
		         *        data load. If not provided, the data will be loaded
		         *        asynchronously, passing the data value the function on load.
		         * @returns {CKEDITOR.xml} An XML object holding the loaded data. For asynchronous requests, an
		         *        empty string. For invalid requests, null.
		         * @example
		         * // Load XML synchronously.
		         * var xml = CKEDITOR.ajax.loadXml( 'somedata.xml' );
		         * alert( xml.getInnerXml( '//' ) );
		         * @example
		         * // Load XML asynchronously.
		         * var data = CKEDITOR.ajax.loadXml( 'somedata.xml', function( xml )
		         *     {
			         *         alert( xml.getInnerXml( '//' ) );
			         *    
			} );
		         */
		        loadXml : function( urlcallback )
		        {
			            return loadurlcallbackgetResponseXml );
			        }
		    };
	})();





PHP Demo Source Code Index