[ Index ]
 

Code source de eGroupWare 1.2.106-2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/phpgwapi/inc/ -> xmlrpc.interop.php (source)

   1  <?php
   2    /**************************************************************************\
   3    * eGroupWare xmlrpc interop functions                                      *
   4    * http://www.egroupware.org                                                *
   5    * Portions of code from server.php by Edd Dumbill <edd@usefulinc.com>      *
   6    *  part of the xml-rpc for php library                                     *
   7    *  http://sourceforge.net/projects/phpxmlrpc/                              *
   8    * Incorporated for egroupware by Miles Lott <milos@groupwhere.org>         *
   9    * ------------------------------------------------------------------------ *
  10    *  This program is free software; you can redistribute it and/or modify it *
  11    *  under the terms of the GNU General Public License as published by the   *
  12    *  Free Software Foundation; either version 2 of the License, or (at your  *
  13    *  option) any later version.                                              *
  14    \**************************************************************************/
  15  
  16    /* $Id: xmlrpc.interop.php 17421 2004-11-22 02:53:55Z milosch $ */
  17  
  18      // a PHP version
  19      // of the state-number server
  20      // send me an integer and i'll sell you a state
  21  
  22      $stateNames = array(
  23          'Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California',
  24          'Colorado', 'Columbia', 'Connecticut', 'Delaware', 'Florida',
  25          'Georgia', 'Hawaii', 'Idaho', 'Illinois', 'Indiana', 'Iowa', 'Kansas',
  26          'Kentucky', 'Louisiana', 'Maine', 'Maryland', 'Massachusetts', 'Michigan',
  27          'Minnesota', 'Mississippi', 'Missouri', 'Montana', 'Nebraska', 'Nevada',
  28          'New Hampshire', 'New Jersey', 'New Mexico', 'New York', 'North Carolina',
  29          'North Dakota', 'Ohio', 'Oklahoma', 'Oregon', 'Pennsylvania', 'Rhode Island',
  30          'South Carolina', 'South Dakota', 'Tennessee', 'Texas', 'Utah', 'Vermont',
  31          'Virginia', 'Washington', 'West Virginia', 'Wisconsin', 'Wyoming'
  32      );
  33  
  34      $findstate_sig = array(array(xmlrpcString, xmlrpcInt));
  35  
  36      $findstate_doc = 'When passed an integer between 1 and 51 returns the
  37  name of a US state, where the integer is the index of that state name
  38  in an alphabetic order.';
  39  
  40  	function findstate($m)
  41      {
  42          $err='';
  43          // get the first param
  44          $sno=$m->getParam(0);
  45          // if it's there and the correct type
  46  
  47          if (isset($sno) && ($sno->scalartyp()=='int'))
  48          {
  49              // extract the value of the state number
  50              $snv=$sno->scalarval();
  51              // look it up in our array (zero-based)
  52              if (isset($GLOBALS['stateNames'][$snv-1]))
  53              {
  54                  $sname=$GLOBALS['stateNames'][$snv-1];
  55              }
  56              else
  57              {
  58                  // not, there so complain
  59                  $err="I don't have a state for the index '" . $snv . "'";
  60              }
  61          }
  62          else
  63          {
  64              // parameter mismatch, complain
  65              $err='One integer parameter required';
  66          }
  67  
  68          // if we generated an error, create an error return response
  69          if ($err)
  70          {
  71              return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval'), $GLOBALS['xmlrpcerruser'], $err);
  72          }
  73          else
  74          {
  75              // otherwise, we create the right response
  76              // with the state name
  77              return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$sname));
  78          }
  79      }
  80  
  81      $addtwo_sig=array(array(xmlrpcInt, xmlrpcInt, xmlrpcInt));
  82      $addtwo_doc='Add two integers together and return the result';
  83  
  84  	function addtwo($m)
  85      {
  86          $s=$m->getParam(0);
  87          $t=$m->getParam(1);
  88          return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$s->scalarval()+$t->scalarval(),'int'));
  89      }
  90  
  91      $addtwodouble_sig=array(array(xmlrpcDouble, xmlrpcDouble, xmlrpcDouble));
  92      $addtwodouble_doc='Add two doubles together and return the result';
  93  
  94  	function addtwodouble($m)
  95      {
  96          $s=$m->getParam(0);
  97          $t=$m->getParam(1);
  98          return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$s->scalarval()+$t->scalarval(),'double'));
  99      }
 100  
 101      $stringecho_sig=array(array(xmlrpcString, xmlrpcString));
 102      $stringecho_doc='Accepts a string parameter, returns the string.';
 103  
 104  	function stringecho($m)
 105      {
 106          // just sends back a string 
 107          $s=$m->getParam(0);
 108          return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$s->scalarval()));
 109      }
 110  
 111      $echoback_sig=array(array(xmlrpcString, xmlrpcString));
 112      $echoback_doc='Accepts a string parameter, returns the entire incoming payload';
 113  
 114  	function echoback($m)
 115      {
 116          // just sends back a string with what i got
 117          // send to me, just escaped, that's all
 118          //
 119          // $m is an incoming message
 120          $s="I got the following message:\n" . $m->serialize();
 121          return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$s));
 122      }
 123  
 124      $echosixtyfour_sig=array(array(xmlrpcString, xmlrpcBase64));
 125      $echosixtyfour_doc='Accepts a base64 parameter and returns it decoded as a string';
 126  
 127  	function echosixtyfour($m)
 128      {
 129          // accepts an encoded value, but sends it back
 130          // as a normal string. this is to test base64 encoding
 131          // is working as expected
 132          $incoming=$m->getParam(0);
 133          return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$incoming->scalarval(), 'string'));
 134      }
 135  
 136      $bitflipper_sig=array(array(xmlrpcArray, xmlrpcArray));
 137      $bitflipper_doc='Accepts an array of booleans, and returns them inverted';
 138  
 139  	function bitflipper($m)
 140      {
 141          $v  = $m->getParam(0);
 142          $sz = $v->arraysize();
 143          $rv = CreateObject('phpgwapi.xmlrpcval',array(), xmlrpcArray);
 144  
 145          for($j=0; $j<$sz; $j++)
 146          {
 147              $b = $v->arraymem($j);
 148              if ($b->scalarval())
 149              {    
 150                  $rv->addScalar(False, 'boolean');
 151              }
 152              else
 153              {    
 154                  $rv->addScalar(True, 'boolean');
 155              }
 156          }
 157          return CreateObject('phpgwapi.xmlrpcresp',$rv);
 158      }
 159  
 160      // Sorting demo
 161      //
 162      // send me an array of structs thus:
 163      //
 164      // Dave 35
 165      // Edd  45
 166      // Fred 23
 167      // Barney 37
 168      //
 169      // and I'll return it to you in sorted order
 170  
 171  	function agesorter_compare($a, $b)
 172      {
 173          // don't even ask me _why_ these come padded with
 174          // hyphens, I couldn't tell you :p
 175          $a = str_replace('-', '', $a);
 176          $b = str_replace('-', '', $b);
 177  
 178          if ($GLOBALS['agesorter_arr'][$a]==$agesorter[$b])
 179          {
 180              return 0;
 181          }
 182          return ($GLOBALS['agesorter_arr'][$a] > $GLOBALS['agesorter_arr'][$b]) ? -1 : 1;
 183      }
 184  
 185      $agesorter_sig=array(array(xmlrpcArray, xmlrpcArray));
 186      $agesorter_doc='Send this method an array of [string, int] structs, eg:
 187  <PRE>
 188   Dave   35
 189   Edd    45
 190   Fred   23
 191   Barney 37
 192  </PRE>
 193  And the array will be returned with the entries sorted by their numbers.
 194  ';
 195  
 196  	function agesorter($m)
 197      {
 198          global $s;
 199  
 200          xmlrpc_debugmsg("Entering 'agesorter'");
 201          // get the parameter
 202          $sno = $m->getParam(0);
 203          // error string for [if|when] things go wrong
 204          $err = '';
 205          // create the output value
 206          $v = CreateObject('phpgwapi.xmlrpcval');
 207          $agar = array();
 208  
 209          if (isset($sno) && $sno->kindOf()=='array')
 210          {
 211              $max = $sno->arraysize(); 
 212              // TODO: create debug method to print can work once more
 213              // print "<!-- found $max array elements -->\n";
 214              for($i=0; $i<$max; $i++)
 215              {
 216                  $rec = $sno->arraymem($i);
 217                  if ($rec->kindOf()!='struct')
 218                  {
 219                      $err = 'Found non-struct in array at element ' . $i;
 220                      break;
 221                  }
 222                  // extract name and age from struct
 223                  $n = $rec->structmem('name');
 224                  $a = $rec->structmem('age');
 225                  // $n and $a are xmlrpcvals, 
 226                  // so get the scalarval from them
 227                  $agar[$n->scalarval()] = $a->scalarval();
 228              }
 229  
 230              $GLOBALS['agesorter_arr'] = $agar; 
 231              // hack, must make global as uksort() won't
 232              // allow us to pass any other auxilliary information
 233              uksort($GLOBALS['agesorter_arr'], agesorter_compare);
 234              $outAr = array();
 235              while (list($key,$val) = each($GLOBALS['agesorter_arr']))
 236              {
 237                  // recreate each struct element
 238                  $outAr[] = CreateObject('phpgwapi.xmlrpcval',array(
 239                      'name' => CreateObject('phpgwapi.xmlrpcval',$key),
 240                      'age'  => CreateObject('phpgwapi.xmlrpcval',$val, 'int')
 241                      ),
 242                      'struct'
 243                  );
 244              }
 245              // add this array to the output value
 246              $v->addArray($outAr);
 247          }
 248          else
 249          {
 250              $err = 'Must be one parameter, an array of structs';
 251          }
 252  
 253          if ($err)
 254          {
 255              return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval'), $GLOBALS['xmlrpcerruser'], $err);
 256          }
 257          else
 258          {
 259              return CreateObject('phpgwapi.xmlrpcresp',$v);
 260          }
 261      }
 262  
 263      // signature and instructions, place these in the dispatch map
 264  
 265      $mail_send_sig = array(
 266          array(
 267              xmlrpcBoolean, xmlrpcString, xmlrpcString,
 268              xmlrpcString, xmlrpcString, xmlrpcString,
 269              xmlrpcString, xmlrpcString
 270          )
 271      );
 272  
 273      $mail_send_doc = 'mail.send(recipient, subject, text, sender, cc, bcc, mimetype)
 274  <BR>recipient, cc, and bcc are strings, comma-separated lists of email addresses, as described above.
 275  <BR>subject is a string, the subject of the message.
 276  <BR>sender is a string, it\'s the email address of the person sending the message. This string can not be
 277  a comma-separated list, it must contain a single email address only.
 278  text is a string, it contains the body of the message.
 279  <BR>mimetype, a string, is a standard MIME type, for example, text/plain.
 280  ';
 281  
 282      // WARNING; this functionality depends on the sendmail -t option
 283      // it may not work with Windows machines properly; particularly
 284      // the Bcc option.  Sneak on your friends at your own risk!
 285  	function mail_send($m)
 286      {
 287          $err = '';
 288  
 289          $mTo   = $m->getParam(0);
 290          $mSub  = $m->getParam(1);
 291          $mBody = $m->getParam(2);
 292          $mFrom = $m->getParam(3);
 293          $mCc   = $m->getParam(4);
 294          $mBcc  = $m->getParam(5);
 295          $mMime = $m->getParam(6);
 296      
 297          if ($mTo->scalarval() == '')
 298          {
 299              $err = "Error, no 'To' field specified";
 300          }
 301          if ($mFrom->scalarval() == '')
 302          {
 303              $err = "Error, no 'From' field specified";
 304          }
 305          $msghdr  = 'From: ' . $mFrom->scalarval() . "\n";
 306          $msghdr .= 'To: '. $mTo->scalarval() . "\n";
 307  
 308          if ($mCc->scalarval()!='')
 309          {
 310              $msghdr .= 'Cc: ' . $mCc->scalarval(). "\n";
 311          }
 312          if ($mBcc->scalarval()!='')
 313          {
 314              $msghdr .= 'Bcc: ' . $mBcc->scalarval(). "\n";
 315          }
 316          if ($mMime->scalarval()!='')
 317          {
 318              $msghdr .= 'Content-type: ' . $mMime->scalarval() . "\n";
 319          }
 320  
 321          $msghdr .= 'X-Mailer: XML-RPC for PHP mailer 1.0';
 322  
 323          if ($err == '')
 324          {
 325              if (!mail('', $mSub->scalarval(), $mBody->scalarval(), $msghdr))
 326              {
 327                  $err = 'Error, could not send the mail.';
 328              }
 329          }
 330  
 331          if ($err)
 332          {
 333              return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval'), $GLOBALS['xmlrpcerruser'], $err);
 334          }
 335          else
 336          {
 337              return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval','true', xmlrpcBoolean));
 338          }
 339      }
 340  
 341      $v1_arrayOfStructs_sig = array(array(xmlrpcInt, xmlrpcArray));
 342      $v1_arrayOfStructs_doc = 'This handler takes a single parameter, an array of structs, each of which contains at least three elements named moe, larry and curly, all <i4>s. Your handler must add all the struct elements named curly and return the result.';
 343  
 344  	function v1_arrayOfStructs($m)
 345      {
 346          $sno = $m->getParam(0);
 347          $numcurly = 0;
 348          for($i=0; $i<$sno->arraysize(); $i++)
 349          {
 350              $str = $sno->arraymem($i);
 351              $str->structreset();
 352              while(list($key,$val) = $str->structeach())
 353              {
 354                  if ($key == 'curly')
 355                  {
 356                      $numcurly += $val->scalarval();
 357                  }
 358              }
 359          }
 360          return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$numcurly, 'int'));
 361      }
 362  
 363      $v1_easyStruct_sig = array(array(xmlrpcInt, xmlrpcStruct));
 364      $v1_easyStruct_doc = 'This handler takes a single parameter, a struct, containing at least three elements named moe, larry and curly, all &lt;i4&gt;s. Your handler must add the three numbers and return the result.';
 365  
 366  	function v1_easyStruct($m)
 367      {
 368          $sno   = $m->getParam(0);
 369          $moe   = $sno->structmem('moe');
 370          $larry = $sno->structmem('larry');
 371          $curly = $sno->structmem('curly');
 372          $num   = $moe->scalarval() + $larry->scalarval() + $curly->scalarval();
 373          return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$num, 'int'));
 374      }
 375  
 376      $v1_echoStruct_sig=array(array(xmlrpcStruct, xmlrpcStruct));
 377      $v1_echoStruct_doc='This handler takes a single parameter, a struct. Your handler must return the struct.';
 378  
 379  	function v1_echoStruct($m)
 380      {
 381          $sno=$m->getParam(0);
 382          return CreateObject('phpgwapi.xmlrpcresp',$sno);
 383      }
 384  
 385      $v1_manyTypes_sig = array(
 386          array(
 387              xmlrpcArray, xmlrpcInt, xmlrpcBoolean,
 388              xmlrpcString, xmlrpcDouble, xmlrpcDateTime,
 389              xmlrpcBase64
 390          )
 391      );
 392      $v1_manyTypes_doc = 'This handler takes six parameters, and returns an array containing all the parameters.';
 393  
 394  	function v1_manyTypes($m)
 395      {
 396          return CreateObject('phpgwapi.xmlrpcresp',
 397              CreateObject('phpgwapi.xmlrpcval',array(
 398                  $m->getParam(0),
 399                  $m->getParam(1),
 400                  $m->getParam(2),
 401                  $m->getParam(3),
 402                  $m->getParam(4),
 403                  $m->getParam(5)
 404              ),
 405              'array'
 406          ));
 407      }
 408  
 409      $v1_moderateSizeArrayCheck_sig = array(array(xmlrpcString, xmlrpcArray));
 410      $v1_moderateSizeArrayCheck_doc = 'This handler takes a single parameter, which is an array containing between 100 and 200 elements. Each of the items is a string, your handler must return a string containing the concatenated text of the first and last elements.';
 411  
 412  	function v1_moderateSizeArrayCheck($m)
 413      {
 414          $ar    = $m->getParam(0);
 415          $sz    = $ar->arraysize();
 416          $first = $ar->arraymem(0);
 417          $last  = $ar->arraymem($sz-1);
 418          return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',$first->scalarval() . $last->scalarval(), "string"));
 419      }
 420  
 421      $v1_simpleStructReturn_sig = array(array(xmlrpcStruct, xmlrpcInt));
 422      $v1_simpleStructReturn_doc = 'This handler takes one parameter, and returns a struct containing three elements, times10, times100 and times1000, the result of multiplying the number by 10, 100 and 1000.';
 423  
 424  	function v1_simpleStructReturn($m)
 425      {
 426          $sno=$m->getParam(0);
 427          $v=$sno->scalarval();
 428          return CreateObject('phpgwapi.xmlrpcresp',
 429              CreateObject('phpgwapi.xmlrpcval',array(
 430                  'times10'   => CreateObject('phpgwapi.xmlrpcval',$v*10, 'int'),
 431                  'times100'  => CreateObject('phpgwapi.xmlrpcval',$v*100, 'int'),
 432                  'times1000' => CreateObject('phpgwapi.xmlrpcval',$v*1000, 'int')
 433              ),
 434              'struct'
 435          ));
 436      }
 437  
 438      $v1_nestedStruct_sig = array(array(xmlrpcInt, xmlrpcStruct));
 439      $v1_nestedStruct_doc = 'This handler takes a single parameter, a struct, that models a daily calendar. At the top level, there is one struct for each year. Each year is broken down into months, and months into days. Most of the days are empty in the struct you receive, but the entry for April 1, 2000 contains a least three elements named moe, larry and curly, all &lt;i4&gt;s. Your handler must add the three numbers and return the result.';
 440  
 441  	function v1_nestedStruct($m)
 442      {
 443          $sno=$m->getParam(0);
 444          $twoK=$sno->structmem('2000');
 445          $april=$twoK->structmem('04');
 446          $fools=$april->structmem('01');
 447          $curly=$fools->structmem('curly');
 448          $larry=$fools->structmem('larry');
 449          $moe=$fools->structmem('moe');
 450          return CreateObject('phpgwapi.xmlrpcresp',CreateObject('phpgwapi.xmlrpcval',
 451              $curly->scalarval() + $larry->scalarval() + $moe->scalarval(), 'int'
 452          ));
 453      }
 454  
 455      $v1_countTheEntities_sig=array(array(xmlrpcStruct, xmlrpcString));
 456      $v1_countTheEntities_doc='This handler takes a single parameter, a string, that contains any number of predefined entities, namely &lt;, &gt;, &amp; \' and ".<BR>Your handler must return a struct that contains five fields, all numbers:  ctLeftAngleBrackets, ctRightAngleBrackets, ctAmpersands, ctApostrophes, ctQuotes.';
 457  
 458  	function v1_countTheEntities($m)
 459      {
 460          $sno=$m->getParam(0);
 461          $str=$sno->scalarval();
 462          $gt=0; $lt=0; $ap=0; $qu=0; $amp=0;
 463          for($i=0; $i<strlen($str); $i++)
 464          {
 465              $c=substr($str, $i, 1);
 466              switch($c)
 467              {
 468                  case '>':
 469                      $gt++;
 470                      break;
 471                  case '<':
 472                      $lt++;
 473                      break;
 474                  case '"':
 475                      $qu++;
 476                      break;
 477                  case "'":
 478                      $ap++;
 479                      break;
 480                  case '&':
 481                      $amp++;
 482                      break;
 483                  default:
 484                      break;
 485              }
 486          }
 487          return CreateObject('phpgwapi.xmlrpcresp',
 488              CreateObject('phpgwapi.xmlrpcval',array(
 489                  'ctLeftAngleBrackets'  => CreateObject('phpgwapi.xmlrpcval',$lt, 'int'),
 490                  'ctRightAngleBrackets' => CreateObject('phpgwapi.xmlrpcval',$gt, 'int'),
 491                  'ctAmpersands'         => CreateObject('phpgwapi.xmlrpcval',$amp, 'int'),
 492                  'ctApostrophes'        => CreateObject('phpgwapi.xmlrpcval',$ap, 'int'),
 493                  'ctQuotes'             => CreateObject('phpgwapi.xmlrpcval',$qu, 'int')
 494              ),
 495                  'struct'
 496          ));
 497      }
 498  
 499      // trivial interop tests
 500      // http://www.xmlrpc.com/stories/storyReader$1636
 501  
 502      $i_echoString_sig=array(array(xmlrpcString, xmlrpcString));
 503      $i_echoString_doc='Echoes string.';
 504  
 505      $i_echoStringArray_sig=array(array(xmlrpcArray, xmlrpcArray));
 506      $i_echoStringArray_doc='Echoes string array.';
 507  
 508      $i_echoInteger_sig=array(array(xmlrpcInt, xmlrpcInt));
 509      $i_echoInteger_doc='Echoes integer.';
 510  
 511      $i_echoIntegerArray_sig=array(array(xmlrpcArray, xmlrpcArray));
 512      $i_echoIntegerArray_doc='Echoes integer array.';
 513  
 514      $i_echoFloat_sig=array(array(xmlrpcDouble, xmlrpcDouble));
 515      $i_echoFloat_doc='Echoes float.';
 516  
 517      $i_echoFloatArray_sig=array(array(xmlrpcArray, xmlrpcArray));
 518      $i_echoFloatArray_doc='Echoes float array.';
 519  
 520      $i_echoStruct_sig=array(array(xmlrpcStruct, xmlrpcStruct));
 521      $i_echoStruct_doc='Echoes struct.';
 522  
 523      $i_echoStructArray_sig=array(array(xmlrpcArray, xmlrpcArray));
 524      $i_echoStructArray_doc='Echoes struct array.';
 525  
 526      $i_echoValue_doc='Echoes any value back.';
 527  
 528      $i_echoBase64_sig=array(array(xmlrpcBase64, xmlrpcBase64));
 529      $i_echoBase64_doc='Echoes base64.';
 530  
 531      $i_echoDate_sig=array(array(xmlrpcDateTime, xmlrpcDateTime));
 532      $i_echoDate_doc='Echoes dateTime.';
 533  
 534  	function i_echoParam($m)
 535      {
 536          $s = $m->getParam(0);
 537          return CreateObject('phpgwapi.xmlrpcresp',$s);
 538      }
 539  
 540  	function i_echoString($m)
 541      {
 542          return i_echoParam($m);
 543      }
 544  	function i_echoInteger($m)
 545      {
 546          return i_echoParam($m);
 547      }
 548  	function i_echoFloat($m)
 549      {
 550          return i_echoParam($m);
 551      }
 552  	function i_echoStruct($m)
 553      {
 554          return i_echoParam($m);
 555      }
 556  	function i_echoStringArray($m)
 557      {
 558          return i_echoParam($m);
 559      }
 560  	function i_echoIntegerArray($m)
 561      {
 562          return i_echoParam($m);
 563      }
 564  	function i_echoFloatArray($m)
 565      {
 566          return i_echoParam($m);
 567      }
 568  	function i_echoStructArray($m)
 569      {
 570          return i_echoParam($m);
 571      }
 572  	function i_echoValue($m)
 573      {
 574          return i_echoParam($m);
 575      }
 576  	function i_echoBase64($m)
 577      {
 578          return i_echoParam($m);
 579      }
 580  	function i_echoDate($m)
 581      {
 582          return i_echoParam($m);
 583      }
 584  
 585      $i_whichToolkit_doc = 'Returns a struct containing the following strings:  toolkitDocsUrl, toolkitName, toolkitVersion, toolkitOperatingSystem.';
 586  
 587  	function i_whichToolkit($m)
 588      {
 589          $ret = array(
 590              'toolkitDocsUrl' => 'http://xmlrpc.usefulinc.com/php.html',
 591              'toolkitName'    => $GLOBALS['xmlrpcName'],
 592              'toolkitVersion' => $GLOBALS['xmlrpcVersion'],
 593              'toolkitOperatingSystem' => $GLOBALS['SERVER_SOFTWARE']
 594          );
 595          return CreateObject('phpgwapi.xmlrpcresp',phpgw_xmlrpc_encode($ret));
 596      }
 597  
 598      $server->add_to_map('examples.getStateName',            'findstate',$findstate_sig,$findstate_doc);
 599      $server->add_to_map('examples.sortByAge',               'agesorter',$agesorter_sig,$agesorter_doc);
 600      $server->add_to_map('examples.addtwo',                  'addtwo',$addtwo_sig,$addtwo_doc);
 601      $server->add_to_map('examples.addtwodouble',            'addtwodouble',$addtwodouble_sig,$addtwodouble_doc);
 602      $server->add_to_map('examples.stringecho',              'stringecho',$stringecho_sig,$stringecho_doc);
 603      $server->add_to_map('examples.echo',                    'echoback',$echoback_sig,$echoback_doc);
 604      $server->add_to_map('examples.decode64',                'echosixtyfour',$echosixtyfour_sig,$echosixtyfour_doc);
 605      $server->add_to_map('examples.invertBooleans',          'bitflipper',$bitflipper_sig,$bitflipper_doc);
 606      $server->add_to_map('mail.send',                        'mail_send',$mail_send_sig,$mail_send_doc);
 607      $server->add_to_map('validator1.arrayOfStructsTest',    'v1_arrayOfStructs',$v1_arrayOfStructs_sig,$v1_arrayOfStructs_doc);
 608      $server->add_to_map('validator1.easyStructTest',        'v1_easyStruct',$v1_easyStruct_sig,$v1_easyStruct_doc);
 609      $server->add_to_map('validator1.echoStructTest',        'v1_echoStruct',$v1_echoStruct_sig,$v1_echoStruct_doc);
 610      $server->add_to_map('validator1.manyTypesTest',         'v1_manyTypes',$v1_manyTypes_sig,$v1_manyTypes_doc);
 611      $server->add_to_map('validator1.moderateSizeArrayCheck','v1_moderateSizeArrayCheck',$v1_moderateSizeArrayCheck_sig,$v1_moderateSizeArrayCheck_doc);
 612      $server->add_to_map('validator1.simpleStructReturnTest','v1_simpleStructReturn',$v1_simpleStructReturn_sig,$v1_simpleStructReturn_doc);
 613      $server->add_to_map('validator1.nestedStructTest',      'v1_nestedStruct',$v1_nestedStruct_sig,$v1_nestedStruct_doc);
 614      $server->add_to_map('validator1.countTheEntities',      'v1_countTheEntities',$v1_countTheEntities_sig,$v1_countTheEntities_doc);
 615      $server->add_to_map('interopEchoTests.echoString',      'i_echoString',$i_echoString_sig,$i_echoString_doc);
 616      $server->add_to_map('interopEchoTests.echoStringArray', 'i_echoStringArray',$i_echoStringArray_sig,$i_echoStringArray_doc);
 617      $server->add_to_map('interopEchoTests.echoInteger',     'i_echoInteger',$i_echoInteger_sig,$i_echoInteger_doc);
 618      $server->add_to_map('interopEchoTests.echoIntegerArray','i_echoIntegerArray',$i_echoIntegerArray_sig,$i_echoIntegerArray_doc);
 619      $server->add_to_map('interopEchoTests.echoFloat',       'i_echoFloat',$i_echoFloat_sig,$i_echoFloat_doc);
 620      $server->add_to_map('interopEchoTests.echoFloatArray',  'i_echoFloatArray',$i_echoFloatArray_sig,$i_echoFloatArray_doc);
 621      $server->add_to_map('interopEchoTests.echoStruct',      'i_echoStruct',$i_echoStruct_sig,$i_echoStruct_doc);
 622      $server->add_to_map('interopEchoTests.echoStructArray', 'i_echoStructArray',$i_echoStructArray_sig,$i_echoStructArray_doc);
 623      $server->add_to_map('interopEchoTests.echoValue',       'i_echoValue','',$i_echoValue_doc);
 624      $server->add_to_map('interopEchoTests.echoBase64',      'i_echoBase64',$i_echoBase64_sig,$i_echoBase64_doc);
 625      $server->add_to_map('interopEchoTests.echoDate',        'i_echoDate',$i_echoDate_sig,$i_echoDate_doc);
 626      $server->add_to_map('interopEchoTests.whichToolkit',    'i_whichToolkit','',$i_whichToolkit_doc);
 627  
 628      // that should do all we need!
 629  ?>


Généré le : Sun Feb 25 17:20:01 2007 par Balluche grâce à PHPXref 0.7