[ Index ]

PHP Cross Reference of Textpattern 4.0.8

title

Body

[close]

/rpc/ -> index.php (source)

   1  <?php
   2  /*
   3  XML-RPC Server for Textpattern 4.0.x
   4  http://txp.kusor.com/rpc-api
   5  (C)2005-2006 The Textpattern Development Team - http://textpattern.com
   6  @author Pedro Palazón - http://kusor.com
   7  $HeadURL: https://textpattern.googlecode.com/svn/releases/4.0.8/source/rpc/index.php $
   8  $LastChangedRevision: 2998 $
   9  */
  10  
  11  #TODO: change error reporting to E_ALL, including E_NOTICE to detect subtle bugs?
  12  error_reporting(E_ALL & ~E_NOTICE);
  13  #TODO: if display_errors is set to 0... who will ever see errors?
  14  ini_set("display_errors","0");
  15  
  16  if (@ini_get('register_globals'))
  17      foreach ( $_REQUEST as $name => $value )
  18          unset($$name);
  19  
  20  define('txpath', dirname(dirname(__FILE__)).'/textpattern');
  21  define('txpinterface','xmlrpc');
  22  
  23  require_once txpath.'/config.php';
  24  require_once txpath.'/lib/txplib_db.php';
  25  require_once txpath.'/lib/txplib_misc.php';
  26  require_once txpath.'/lib/admin_config.php';
  27  require_once txpath.'/lib/IXRClass.php';
  28  
  29  if ($connected && safe_query("describe `".PFX."textpattern`"))
  30  {
  31  #TODO: where is dbversion used?
  32      $dbversion = safe_field('val','txp_prefs',"name = 'version'");
  33  
  34      // Hold it globally, instead of do several calls to the function
  35      $prefs = get_prefs();
  36      extract($prefs);
  37  
  38      if (!defined('LANG')) define("LANG", $language);
  39      if (!defined('hu')) define("hu", 'http://'.$siteurl.'/');
  40      if (!defined('txrpcpath')) define('txrpcpath', hu.'rpc/');
  41  
  42      if (!empty($locale)) setlocale(LC_ALL, $locale);
  43      $textarray = load_lang(LANG);
  44  
  45  #TODO: include txplib_html instead of duplicating?
  46      // from txplib_html.php
  47      if (!defined('t'))  define("t", "\t");
  48      if (!defined('n'))  define("n", "\n");
  49      if (!defined('br')) define("br", "<br />");
  50      if (!defined('sp')) define("sp", "&#160;");
  51      if (!defined('a'))  define("a", "&#38;");
  52  }
  53  
  54  require_once txpath.'/lib/txplib_wrapper.php';
  55  require_once  'TXP_RPCServer.php';
  56  
  57  // run the XML-RPC Server
  58  $server = new TXP_RPCServer();
  59  $server->serve();
  60  
  61  #TODO: remove before official release?
  62  // save some debug logs:
  63  function write_log()
  64  {
  65      global $HTTP_RAW_POST_DATA;
  66  
  67      if (!defined('txpdmpfile')) define('txpdmpfile', 'txpxmlrpc.txt');
  68  
  69      $fp = @fopen(dirname(__FILE__).DIRECTORY_SEPARATOR.'xmlrpclog','a');
  70  
  71      if ($fp)
  72      {
  73          $lnsep = "\n================================\n";
  74          fwrite($fp, "\n$lnsep".strftime("%Y-%m-%d %H:%M:%S"));
  75          fwrite($fp, '[USER_AGENT] '.$_SERVER['HTTP_USER_AGENT']);
  76          fwrite($fp, $lnsep);
  77          fwrite($fp, '[ACCEPT_ENCODING] '.$_SERVER['HTTP_ACCEPT_ENCODING']);
  78  
  79          if (strpos(strtolower($_SERVER['SERVER_SOFTWARE']),'apache')!==false && is_callable('getallheaders'))
  80          {
  81              fwrite($fp, $lnsep);
  82              fwrite($fp, "Apache Request Headers:\n");
  83              fwrite($fp, $lnsep);
  84              $headers = getallheaders();
  85  
  86              foreach ($headers as $header => $value)
  87              {
  88                  fwrite($fp, "$header: $value \n");
  89              }
  90          }
  91  
  92          fwrite($fp, $lnsep);
  93          fwrite($fp,"Incoming data, usually utf-8 encoded:\n");
  94          fwrite($fp, $lnsep);
  95          fwrite($fp, $HTTP_RAW_POST_DATA);
  96          fclose($fp);
  97      }
  98  }
  99  
 100  ?>


Generated: Thu May 21 23:03:01 2009 Cross-referenced by PHPXref 0.7