[ Index ]
 

Code source de XOOPS 2.0.17.1

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/htdocs/class/xml/rpc/ -> xmlrpcapi.php (source)

   1  <?php
   2  // $Id: xmlrpcapi.php 2 2005-11-02 18:23:29Z skalpa $

   3  //  ------------------------------------------------------------------------ //

   4  //                XOOPS - PHP Content Management System                      //

   5  //                    Copyright (c) 2000 XOOPS.org                           //

   6  //                       <http://www.xoops.org/>                             //

   7  //  ------------------------------------------------------------------------ //

   8  //  This program is free software; you can redistribute it and/or modify     //

   9  //  it under the terms of the GNU General Public License as published by     //

  10  //  the Free Software Foundation; either version 2 of the License, or        //

  11  //  (at your option) any later version.                                      //

  12  //                                                                           //

  13  //  You may not change or alter any portion of this comment or credits       //

  14  //  of supporting developers from this source code or any supporting         //

  15  //  source code which is considered copyrighted (c) material of the          //

  16  //  original comment or credit authors.                                      //

  17  //                                                                           //

  18  //  This program is distributed in the hope that it will be useful,          //

  19  //  but WITHOUT ANY WARRANTY; without even the implied warranty of           //

  20  //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //

  21  //  GNU General Public License for more details.                             //

  22  //                                                                           //

  23  //  You should have received a copy of the GNU General Public License        //

  24  //  along with this program; if not, write to the Free Software              //

  25  //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //

  26  //  ------------------------------------------------------------------------ //

  27  // Author: Kazumi Ono (AKA onokazu)                                          //

  28  // URL: http://www.myweb.ne.jp/, http://www.xoops.org/, http://jp.xoops.org/ //

  29  // Project: The XOOPS Project                                                //

  30  // ------------------------------------------------------------------------- //

  31  
  32  
  33  class XoopsXmlRpcApi
  34  {
  35  
  36      // reference to method parameters 

  37      var $params;
  38  
  39      // reference to xmlrpc document class object

  40      var $response;
  41  
  42      // reference to module class object

  43      var $module;
  44  
  45      // map between xoops tags and blogger specific tags

  46      var $xoopsTagMap = array();
  47  
  48      // user class object

  49      var $user;
  50      
  51      var $isadmin = false;
  52  
  53  
  54  
  55      function XoopsXmlRpcApi(&$params, &$response, &$module)
  56      {
  57          $this->params =& $params;
  58          $this->response =& $response;
  59          $this->module =& $module;
  60      }
  61  
  62      function _setUser(&$user, $isadmin = false) 
  63      {
  64          if (is_object($user)) {
  65              $this->user =& $user;
  66              $this->isadmin = $isadmin;
  67          }
  68      }
  69  
  70      function _checkUser($username, $password)
  71      {
  72          if (isset($this->user)) {
  73              return true;
  74          }
  75          $member_handler =& xoops_gethandler('member');
  76          $this->user =& $member_handler->loginUser(addslashes($username), addslashes($password));
  77          if (!is_object($this->user)) {
  78              unset($this->user);
  79              return false;
  80          }
  81          $moduleperm_handler =& xoops_gethandler('groupperm');
  82          if (!$moduleperm_handler->checkRight('module_read', $this->module->getVar('mid'), $this->user->getGroups())) {
  83              unset($this->user);
  84              return false;
  85          }
  86          return true;
  87      }
  88  
  89      function _checkAdmin()
  90      {
  91          if ($this->isadmin) {
  92              return true;
  93          }
  94          if (!isset($this->user)) {
  95              return false;
  96          }
  97          if (!$this->user->isAdmin($this->module->getVar('mid'))) {
  98              return false;
  99          }
 100          $this->isadmin = true;
 101          return true;
 102      }
 103  
 104      function &_getPostFields($post_id = null, $blog_id = null)
 105      {
 106          $ret = array();
 107          $ret['title'] = array('required' => true, 'form_type' => 'textbox', 'value_type' => 'text');
 108          $ret['hometext'] = array('required' => false, 'form_type' => 'textarea', 'data_type' => 'textarea');
 109          $ret['moretext'] = array('required' => false, 'form_type' => 'textarea', 'data_type' => 'textarea');
 110          $ret['categories'] = array('required' => false, 'form_type' => 'select_multi', 'data_type' => 'array');
 111          /*

 112          if (!isset($blog_id)) {

 113              if (!isset($post_id)) {

 114                  return false;

 115              }

 116              $itemman =& $this->mf->get(MANAGER_ITEM);

 117              $item =& $itemman->get($post_id);

 118              $blog_id = $item->getVar('sect_id');

 119          }

 120          $sectman =& $this->mf->get(MANAGER_SECTION);

 121          $this->section =& $sectman->get($blog_id);

 122          $ret =& $this->section->getVar('sect_fields');

 123          */
 124          return $ret;
 125      }
 126  
 127      function _setXoopsTagMap($xoopstag, $blogtag)
 128      {
 129          if (trim($blogtag) != '') {
 130              $this->xoopsTagMap[$xoopstag] = $blogtag;
 131          }
 132      }
 133  
 134      function _getXoopsTagMap($xoopstag)
 135      {
 136          if (isset($this->xoopsTagMap[$xoopstag])) {
 137              return $this->xoopsTagMap[$xoopstag];
 138          }
 139          return $xoopstag;
 140      }
 141  
 142      function _getTagCdata(&$text, $tag, $remove = true)
 143      {
 144          $ret = '';
 145          $match = array();
 146          if (preg_match("/\<".$tag."\>(.*)\<\/".$tag."\>/is", $text, $match)) {
 147              if ($remove) {
 148                  $text = str_replace($match[0], '', $text);
 149              }
 150              $ret = $match[1];
 151          }
 152          return $ret;
 153      }
 154  
 155      // kind of dirty method to load XOOPS API and create a new object thereof

 156      // returns itself if the calling object is XOOPS API 

 157      function &_getXoopsApi(&$params)
 158      {
 159          if (strtolower(get_class($this)) != 'xoopsapi') {
 160              require_once(XOOPS_ROOT_PATH.'/class/xml/rpc/xoopsapi.php');
 161              return new XoopsApi($params, $this->response, $this->module);
 162          } else {
 163              return $this;
 164          }
 165      }
 166  }
 167  ?>


Généré le : Sun Nov 25 11:44:32 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics