⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlrpcparser.php

📁 在综合英文版XOOPS 2.09, 2.091, 2.092 的基础上正式发布XOOPS 2.09中文版 XOOPS 2.09x 版主要是PHP5升级、bug修正和安全补正: 1 全面兼容PHP 5.
💻 PHP
📖 第 1 页 / 共 2 页
字号:
<?php// $Id: xmlrpcparser.php,v 1.5 2003/02/12 11:34:53 okazu Exp $//  ------------------------------------------------------------------------ ////                XOOPS - PHP Content Management System                      ////                    Copyright (c) 2000 XOOPS.org                           ////                       <http://www.xoops.org/>                             ////  ------------------------------------------------------------------------ ////  This program 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.                                      ////                                                                           ////  You may not change or alter any portion of this comment or credits       ////  of supporting developers from this source code or any supporting         ////  source code which is considered copyrighted (c) material of the          ////  original comment or credit authors.                                      ////                                                                           ////  This program 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.                             ////                                                                           ////  You should have received a copy of the GNU General Public License        ////  along with this program; if not, write to the Free Software              ////  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA ////  ------------------------------------------------------------------------ //// Author: Kazumi Ono (AKA onokazu)                                          //// URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ //// Project: The XOOPS Project                                                //// ------------------------------------------------------------------------- //require_once XOOPS_ROOT_PATH.'/class/xml/saxparser.php';require_once XOOPS_ROOT_PATH.'/class/xml/xmltaghandler.php';/*** Class RSS Parser** This class offers methods to parse RSS Files** @link      http://www.xoops.org/ Latest release of this class* @package   XOOPS* @copyright Copyright (c) 2001 xoops.org. All rights reserved.* @author    Kazumi Ono <onokazu@xoops.org>* @version   1.6 ($Date: 2003/02/12 11:34:53 $) $Revision: 1.5 $* @access    public*/class XoopsXmlRpcParser extends SaxParser{    /**    *    *    *    *    * @access private    * @var    array    */    var $_param;    /**    *    *    *    *    * @access private    * @var    string    */    var $_methodName;    /**    *    *    *    *    * @access private    * @var    array    */    var $_tempName;    /**    *    *    *    *    * @access private    * @var    array    */    var $_tempValue;    /**    *    *    *    *    * @access private    * @var    array    */    var $_tempMember;    /**    *    *    *    *    * @access private    * @var    array    */    var $_tempStruct;    /**    *    *    *    *    * @access private    * @var    array    */    var $_tempArray;    /**    *    *    *    *    * @access private    * @var    array    */    var $_workingLevel = array();    /**    * Constructor of the class    *    *    *    *    * @access    * @author    * @see    */    function XoopsXmlRpcParser(&$input)    {        $this->SaxParser($input);        $this->addTagHandler(new RpcMethodNameHandler());        $this->addTagHandler(new RpcIntHandler());        $this->addTagHandler(new RpcDoubleHandler());        $this->addTagHandler(new RpcBooleanHandler());        $this->addTagHandler(new RpcStringHandler());        $this->addTagHandler(new RpcDateTimeHandler());        $this->addTagHandler(new RpcBase64Handler());        $this->addTagHandler(new RpcNameHandler());        $this->addTagHandler(new RpcValueHandler());        $this->addTagHandler(new RpcMemberHandler());        $this->addTagHandler(new RpcStructHandler());        $this->addTagHandler(new RpcArrayHandler());    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function setTempName($name)    {        $this->_tempName[$this->getWorkingLevel()] = $name;    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function getTempName()    {        return $this->_tempName[$this->getWorkingLevel()];    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function setTempValue($value)    {        if (is_array($value)) {            settype($this->_tempValue, 'array');            foreach ($value as $k => $v) {                $this->_tempValue[$k] = $v;            }        } elseif (is_string($value)) {            if (isset($this->_tempValue)) {                if (is_string($this->_tempValue)) {                    $this->_tempValue .= $value;                }            } else {                $this->_tempValue = $value;            }        } else {            $this->_tempValue = $value;        }    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function getTempValue()    {        return $this->_tempValue;    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function resetTempValue()    {        unset($this->_tempValue);    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function setTempMember($name, $value)    {        $this->_tempMember[$this->getWorkingLevel()][$name] = $value;    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function getTempMember()    {        return $this->_tempMember[$this->getWorkingLevel()];    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function resetTempMember()    {        $this->_tempMember[$this->getCurrentLevel()] = array();    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function setWorkingLevel()    {        array_push($this->_workingLevel, $this->getCurrentLevel());    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function getWorkingLevel()    {        return $this->_workingLevel[count($this->_workingLevel) - 1];    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function releaseWorkingLevel()    {        array_pop($this->_workingLevel);    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function setTempStruct($member)    {        $key = key($member);        $this->_tempStruct[$this->getWorkingLevel()][$key] = $member[$key];    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function getTempStruct()    {        return $this->_tempStruct[$this->getWorkingLevel()];    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function resetTempStruct()    {        $this->_tempStruct[$this->getCurrentLevel()] = array();    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function setTempArray($value)    {        $this->_tempArray[$this->getWorkingLevel()][] = $value;    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function getTempArray()    {        return $this->_tempArray[$this->getWorkingLevel()];    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function resetTempArray()    {        $this->_tempArray[$this->getCurrentLevel()] = array();    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function setMethodName($methodName)    {        $this->_methodName = $methodName;    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function getMethodName()    {        return $this->_methodName;    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function setParam($value)    {        $this->_param[] = $value;    }    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function &getParam()    {        return $this->_param;    }}class RpcMethodNameHandler extends XmlTagHandler{    /**    * This Method starts the parsing of the specified RDF File. The File can be a local or a remote File.    *    * @access    * @author    * @param    * @return    * @see    */    function getName()    {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -