亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? server.php

?? This is the script which used on 10minutemail.com for temporary email.
?? PHP
?? 第 1 頁 / 共 2 頁
字號(hào):
<?php
/**
 * OO AJAX Implementation for PHP
 *
 * @category   HTML
 * @package    AJAX
 * @author     Joshua Eichorn <josh@bluga.net>
 * @copyright  2005 Joshua Eichorn
 * @license    http://www.opensource.org/licenses/lgpl-license.php  LGPL
 * @version    Release: @package_version@
 */

/**
 * Require the main AJAX library
 */
require_once 'HTML/AJAX.php';

/**
 * Class for creating an external AJAX server
 *
 * Can be used in 2 different modes, registerClass mode where you create an instance of the server and add the classes that will be registered
 * and then run handle request
 *
 * Or you can extend it and add init{className} methods for each class you want to export
 *
 * Client js generation is exposed through 2 _GET params client and stub
 *  Setting the _GET param client to `all` will give you all the js classes needed
 *  Setting the _GET param stub to `all` will give you stubs of all registered classes, you can also set it too just 1 class
 *
 * @category   HTML
 * @package    AJAX
 * @author     Joshua Eichorn <josh@bluga.net>
 * @copyright  2005 Joshua Eichorn
 * @license    http://www.opensource.org/licenses/lgpl-license.php  LGPL
 * @version    Release: @package_version@
 * @link       http://pear.php.net/package/PackageName
 */
class HTML_AJAX_Server 
{

    /**
     * Client options array if set to true the code looks at _GET
     * @var bool|array
     */
    var $options = true;

    /**
     * HTML_AJAX instance
     * @var HTML_AJAX
     */
    var $ajax;

    /**
     * Set to true if your extending the server to add init{className methods}
     * @var boolean
     * @access  public
     */
    var $initMethods = false;

    /**
     * Location on filesystem of client javascript library
     * @var false|string if false the default pear data dir location is used
     */
    var $clientJsLocation = false;

    /** 
     * An array of options that tell the server howto Cache output
     *
     * The rules are functions that make etag hash used to see if the client needs to download updated content
     * If you extend this class you can make your own rule function the naming convention is _cacheRule{RuleName}
     *
     * <code>
     * array(
     *  'httpCacheClient' => true,   // send 304 headers for responses to ?client=* requests
     *  'ClientCacheRule' => 'File', // create a hash from file names and modified times, options: file|content
     *  'ClientCacheExpects'=> 'files', // what type of content to send to the hash function, options: files|classes|content
     *  'httpCacheStub'   => true,   // send 304 headers for responses to ?stub=* requests
     *  'StubCacheRule'   => 'Api',  // create a hash from the exposed api, options: api|content
     *  'StubCacheExpects'=> 'classes', // what type of content to send to the hash function, options: files|classes|content
     * )
     * </code>
     *
     * @var array
     * @access  public
     */
    var $cacheOptions = array(
        'httpCacheClient'       => true, 
        'ClientCacheRule'       => 'file',
        'ClientCacheExpects'    => 'files',
        'httpCacheStub'         => true, 
        'StubCacheRule'         => 'api', 
        'StubCacheExpects'      => 'classes', 
        );

    /**
     * Javascript library names and there path 
     *
     * the return of $this->clientJsLocation(), is prepended before running readfile on them
     *
     * @access  public
     * @var array
     */
    var $javascriptLibraries = array(
        'all'           =>  'HTML_AJAX.js',
        'html_ajax'     =>  'HTML_AJAX.js',
        'html_ajax_lite'=>  'HTML_AJAX_lite.js',
        'json'          =>  'serializer/JSON.js',
        'request'       =>  'Request.js',
        'main'          =>  array('Compat.js','Main.js','clientPool.js'),
        'httpclient'    =>  'HttpClient.js',
        'dispatcher'    =>  'Dispatcher.js',
        'util'          =>  'util.js',
        'loading'       =>  'Loading.js',
        'phpserializer' =>  'serializer/phpSerializer.js',
        'urlserializer' =>  'serializer/UrlSerializer.js',
        'haserializer'  =>  'serializer/haSerializer.js',
        'clientpool'    =>  'clientPool.js',
        'iframe'        =>  'IframeXHR.js',
        'alias'         =>  'Alias.js',
        'queues'        =>  'Queue.js',
        'behavior'      =>  array('behavior/behavior.js','behavior/cssQuery-p.js'),

        // rules to help you use a minimal library set
        'standard'      =>  array('Compat.js','clientPool.js','util.js','Main.js','HttpClient.js','Request.js','serializer/JSON.js',
                                    'Loading.js','serializer/UrlSerializer.js','Alias.js','behavior/behavior.js','behavior/cssQuery-p.js'),
        'jsonrpc'       =>  array('Compat.js','util.js','Main.js','clientPool.js','HttpClient.js','Request.js','serializer/JSON.js'),
        'proxyobjects'  =>  array('Compat.js','util.js','Main.js','clientPool.js','Request.js','serializer/JSON.js','Dispatcher.js'),

        // BC rules
        'priorityqueue' =>  'Queue.js',
        'orderedqueue'  =>  'Queue.js',
    );

    /**
     * Custom paths to use for javascript libraries, if not set {@link clientJsLocation} is used to find the system path
     *
     * @access public
     * @var array
     * @see registerJsLibrary
     */
    var $javascriptLibraryPaths = array();

    /**
     * Array of className => init methods to call, generated from constructor from initClassName methods
     *
     * @access protected
     */
    var $_initLookup = array();
    

    /**
     * Constructor creates the HTML_AJAX instance
     *
     * @param string $serverUrl (Optional) the url the client should be making a request too
     */
    function HTML_AJAX_Server($serverUrl = false) 
    {
        $this->ajax = new HTML_AJAX();

        // parameters for HTML::AJAX
        $parameters = array('stub', 'client');

        // keep in the query string all the parameters that don't belong to AJAX
        // we remove all string like "parameter=something&". Final '&' can also
        // be '&amp;' (to be sure) and is optional. '=something' is optional too.
        $querystring = '';
        if (isset($_SERVER['QUERY_STRING'])) {
            $querystring = preg_replace('/(' . join('|', $parameters) . ')(?:=[^&]*(?:&(?:amp;)?|$))?/', '', $this->ajax->_getServer('QUERY_STRING'));
        }

        // call the server with this query string
        if ($serverUrl === false) {
            $serverUrl = htmlentities($this->ajax->_getServer('PHP_SELF'));
        }

        if (substr($serverUrl,-1) != '?') {
            $serverUrl .= '?';
        }
        $this->ajax->serverUrl =  $serverUrl . htmlentities($querystring);
        
        $methods = get_class_methods($this);
        foreach($methods as $method) {
            if (preg_match('/^init([a-zA-Z0-9_]+)$/',$method,$match)) {
                $this->_initLookup[strtolower($match[1])] = $method;
            }
        }
    }

    /**
     * Handle a client request, either generating a client or having HTML_AJAX handle the request
     *
     * @return boolean true if request was handled, false otherwise
     */
    function handleRequest() 
    {
        if ($this->options == true) {
            $this->_loadOptions();
        }
        //basically a hook for iframe but allows processing of data earlier
        $this->ajax->populatePayload();
        if (!isset($_GET['c']) && (count($this->options['client']) > 0 || count($this->options['stub']) > 0) ) {
            $this->generateClient();
            return true;
        } else {
            if (!empty($_GET['c'])) {
                $this->_init($this->_cleanIdentifier($this->ajax->_getVar('c')));
            }
            return $this->ajax->handleRequest();
        }
    }

    /**
     * Register method passthrough to HTML_AJAX
     *
     * @see HTML_AJAX::registerClass for docs
     */
    function registerClass(&$instance, $exportedName = false, $exportedMethods = false) 
    {
        $this->ajax->registerClass($instance,$exportedName,$exportedMethods);
    }

    /**
     * Change default serialization - important for exporting classes
     *
     * I wanted this for the xml serializer :)
     */
    function setSerializer($type) 
    {
        $this->ajax->serializer = $type;
        $this->ajax->unserializer = $type;
    }

    /**
     * Register a new js client library
     *
     * @param string          $libraryName name you'll reference the library as
     * @param string|array    $fileName   actual filename with no path, for example customLib.js
     * @param string|false    $path   Optional, if not set the result from jsClientLocation is used
     */
    function registerJSLibrary($libraryName,$fileName,$path = false) {
        $libraryName = strtolower($libraryName);
        $this->javascriptLibraries[$libraryName] = $fileName;

        if ($path !== false) {
            $this->javascriptLibraryPaths[$libraryName] = $path;
        }
    }

    /**
     * Register init methods from an external class
     *
     * @param object    $instance an external class with initClassName methods
     */
    function registerInitObject(&$instance) {
        $instance->server =& $this;
        $methods = get_class_methods($instance);
        foreach($methods as $method) {
            if (preg_match('/^init([a-zA-Z0-9_]+)$/',$method,$match)) {
                $this->_initLookup[strtolower($match[1])] = array(&$instance,$method);
            }
        }
    }

    /**
     * Register a callback to be exported to the client
     *
     * This function uses the PHP callback pseudo-type
     *
     */
    function registerPhpCallback($callback)
    {
        if (!is_callable($callback)) {
            // invalid callback
            return false;
        }
        
        if (is_array($callback) && is_object($callback[0])) {
            // object method
            $this->registerClass($callback[0], strtolower(get_class($callback[0])), array($callback[1]));
            return true;
        }
        
        // static callback
        $this->ajax->registerPhpCallback($callback);
    }

    /**
     * Generate client js
     *
     * @todo    this is going to need tests to cover all the options
     */
    function generateClient() 
    {
        $headers = array();

        ob_start();

        // create a list list of js files were going to need to output
        // index is the full file and so is the value, this keeps duplicates out of $fileList
        $fileList = array();

        if(!is_array($this->options['client'])) {
            $this->options['client'] = array();
        }
        foreach($this->options['client'] as $library) {
            if (isset($this->javascriptLibraries[$library])) {
                $lib = (array)$this->javascriptLibraries[$library];
                foreach($lib as $file) {
                    if (isset($this->javascriptLibraryPaths[$library])) {
                        $fileList[$this->javascriptLibraryPaths[$library].$file] = $this->javascriptLibraryPaths[$library].$file;
                    }
                    else {
                        $fileList[$this->clientJsLocation().$file] = $this->clientJsLocation().$file;
                    }
                }
            }
        }

        // do needed class init if were running an init server
        if(!is_array($this->options['stub'])) {
            $this->options['stub'] = array();
        }
        $classList = $this->options['stub'];
        if ($this->initMethods) {
            if (isset($this->options['stub'][0]) && $this->options['stub'][0] === 'all') {
                    $this->_initAll();
            } else {
                foreach($this->options['stub'] as $stub) {
                    $this->_init($stub);
                }
            }
        }
        if (isset($this->options['stub'][0]) && $this->options['stub'][0] === 'all') {
            $classList = array_keys($this->ajax->_exportedInstances);
        }

        // if were doing stub and client we have to wait for both ETags before we can compare with the client
        $combinedOutput = false;
        if ($classList != false && count($classList) > 0 && count($fileList) > 0) {
            $combinedOutput = true;
        }


        if ($classList != false && count($classList) > 0) {

            // were setup enough to make a stubETag if the input it wants is a class list
            if ($this->cacheOptions['httpCacheStub'] && 
                $this->cacheOptions['StubCacheExpects'] == 'classes') 
            {
                $stubETag = $this->_callCacheRule('Stub',$classList);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品毛片乱码1区2区3区| 亚洲第一激情av| 亚洲精品免费播放| 大尺度一区二区| 久久精品夜夜夜夜久久| 蜜桃av一区二区| 欧美成人精品福利| 青青草97国产精品免费观看无弹窗版| 欧美色涩在线第一页| 中文字幕在线观看一区| aaa亚洲精品一二三区| 久久九九久精品国产免费直播| 亚洲天堂网中文字| 成人av一区二区三区| 日韩一二在线观看| 美腿丝袜亚洲三区| 91精品久久久久久久99蜜桃| 日韩高清电影一区| 91精品国产色综合久久| 亚洲va天堂va国产va久| 在线成人小视频| 日产欧产美韩系列久久99| 6080yy午夜一二三区久久| 美女一区二区三区在线观看| 欧美巨大另类极品videosbest | 日韩和的一区二区| 日韩一区二区三区电影| 成人激情电影免费在线观看| 亚洲一区二区精品久久av| 9191国产精品| www.日本不卡| 蜜桃视频在线观看一区| 中文字幕日本乱码精品影院| 欧美丰满一区二区免费视频| 成人黄页毛片网站| 日本不卡一区二区三区高清视频| 中文字幕第一区第二区| 欧美老女人第四色| 91论坛在线播放| 国产精品伊人色| 亚洲大型综合色站| 中文字幕一区在线观看| 日韩一级欧美一级| 欧美性大战久久久久久久| 成人免费毛片片v| 免费高清不卡av| 一区二区三区四区中文字幕| 日韩成人免费在线| 久久麻豆一区二区| 91亚洲国产成人精品一区二三| 免费日本视频一区| 一区二区三区四区国产精品| 久久亚洲私人国产精品va媚药| 欧美视频在线一区| www.亚洲激情.com| 国内外成人在线视频| 天堂影院一区二区| 一区二区欧美视频| 中文字幕五月欧美| 久久久国产精品麻豆| 欧美大片国产精品| 欧美日韩精品三区| 欧美专区在线观看一区| 99久久久国产精品| proumb性欧美在线观看| 国产不卡免费视频| 国产综合色在线| 久久99久久99精品免视看婷婷| 午夜视黄欧洲亚洲| 香蕉影视欧美成人| 69p69国产精品| 不卡一区二区中文字幕| 国产传媒一区在线| 国产成人午夜精品影院观看视频| 蜜臀av一区二区在线免费观看| 日本特黄久久久高潮| 轻轻草成人在线| 青草国产精品久久久久久| 日韩激情中文字幕| 日韩va欧美va亚洲va久久| 日韩精品亚洲专区| 日韩精品国产精品| 美女久久久精品| 激情成人综合网| 国产精品18久久久久久久网站| 国产精品亚洲一区二区三区妖精| 国产在线视频精品一区| 国产成人精品一区二| 懂色av一区二区夜夜嗨| 99久久精品国产精品久久| 99国产精品久久久久| 日本精品一区二区三区高清 | 欧美日韩在线观看一区二区| 欧美日韩国产精品成人| 欧美性生活影院| 久久免费的精品国产v∧| 欧美精品一区二区三区在线播放| 欧美一级片在线观看| 精品福利av导航| 日本一区二区视频在线| 最新不卡av在线| 亚洲不卡av一区二区三区| 美女在线一区二区| 高潮精品一区videoshd| 在线观看日韩av先锋影音电影院| 欧美日韩激情在线| 精品久久久久久久久久久久久久久| 久久久亚洲国产美女国产盗摄| 国产精品久久久久永久免费观看 | 欧美一区二区性放荡片| 日韩精品自拍偷拍| 国产精品久久午夜夜伦鲁鲁| 亚洲国产精品一区二区尤物区| 久久av资源站| av福利精品导航| 日韩一区二区免费视频| 精品捆绑美女sm三区| 久久久99久久| 国产精品久久久久久福利一牛影视 | 在线看日本不卡| 56国语精品自产拍在线观看| 国产欧美日本一区视频| 午夜精品久久久久久久蜜桃app| 日韩精品乱码免费| 99re8在线精品视频免费播放| 欧美美女一区二区在线观看| 欧美激情一区二区三区不卡 | 激情久久久久久久久久久久久久久久| va亚洲va日韩不卡在线观看| 精品少妇一区二区三区日产乱码| 亚洲日本一区二区三区| 国模一区二区三区白浆| 欧美日韩国产高清一区二区三区 | 日韩精品一区二区三区四区| 一区二区三区在线视频观看| 国产精品自在在线| 69精品人人人人| 一区二区理论电影在线观看| 成人一区二区在线观看| 精品国产三级电影在线观看| 视频一区在线播放| 在线免费观看不卡av| 国产精品久久久久久久久快鸭 | 欧美亚洲自拍偷拍| 亚洲视频免费观看| 成人蜜臀av电影| 久久精品人人爽人人爽| 久久99精品国产麻豆不卡| 欧美日韩免费一区二区三区视频 | 91精品在线一区二区| 亚洲色图视频免费播放| 国产91色综合久久免费分享| 精品福利二区三区| 麻豆精品视频在线观看| 欧美一区二区三区四区高清| 亚洲第一二三四区| 老司机午夜精品99久久| 欧美一区二区在线看| 日韩电影一二三区| 欧美一区二区日韩| 日韩精品成人一区二区三区 | 久久免费视频一区| 麻豆成人av在线| 日韩欧美精品在线视频| 免费高清不卡av| 日韩精品最新网址| 精品无人码麻豆乱码1区2区| 精品国产露脸精彩对白| 国产乱码一区二区三区| 久久久国产一区二区三区四区小说| 国产一区二区三区免费看| 26uuu国产日韩综合| 国产成人免费av在线| 国产欧美中文在线| hitomi一区二区三区精品| 亚洲桃色在线一区| 欧美亚洲综合另类| 日韩电影在线免费| 精品国产乱码久久久久久浪潮| 国内精品伊人久久久久影院对白| 久久久久国产免费免费| 波多野结衣中文一区| 亚洲欧美激情小说另类| 欧美系列亚洲系列| 日韩电影免费一区| 久久综合狠狠综合| 99国产精品国产精品久久| 亚洲小说欧美激情另类| 欧美一区二区视频在线观看2022 | 国产麻豆精品视频| 国产精品视频一二三区 | 免费不卡在线视频| 久久嫩草精品久久久精品一| 99久久久久免费精品国产| 亚洲综合丝袜美腿| 精品剧情在线观看| 99久久综合99久久综合网站| 亚洲成a天堂v人片| 久久综合资源网| 日本韩国欧美一区|