@@ -1,6 +1,6 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | -include_once __DIR__ . '/ServerAwareTestCase.php'; |
|
| 3 | +include_once __DIR__.'/ServerAwareTestCase.php'; |
|
| 4 | 4 | |
| 5 | 5 | /** |
| 6 | 6 | * @todo Long-term, this should replace all testing of the legacy API done via the main test-suite... |
@@ -14,7 +14,7 @@ discard block |
||
| 14 | 14 | { |
| 15 | 15 | /// @todo pass on as cli args for the executed script all the args that are already parsed by now, plus $this->testId |
| 16 | 16 | |
| 17 | - exec('php ' . __DIR__ . '/legacy_loader_test.php', $out, $result); |
|
| 17 | + exec('php '.__DIR__.'/legacy_loader_test.php', $out, $result); |
|
| 18 | 18 | |
| 19 | 19 | /// @todo dump output if in debug mode or if test fails |
| 20 | 20 | |
@@ -1,6 +1,6 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | -include_once __DIR__ . '/LoggerAwareTestCase.php'; |
|
| 3 | +include_once __DIR__.'/LoggerAwareTestCase.php'; |
|
| 4 | 4 | |
| 5 | 5 | use PHPUnit\Extensions\SeleniumCommon\RemoteCoverage; |
| 6 | 6 | use PHPUnit\Framework\TestResult; |
@@ -30,7 +30,7 @@ discard block |
||
| 30 | 30 | */ |
| 31 | 31 | public function _run($result = NULL) |
| 32 | 32 | { |
| 33 | - $this->testId = get_class($this) . '__' . $this->getName(); |
|
| 33 | + $this->testId = get_class($this).'__'.$this->getName(); |
|
| 34 | 34 | |
| 35 | 35 | if ($result === NULL) { |
| 36 | 36 | $result = $this->createResult(); |
@@ -62,13 +62,13 @@ discard block |
||
| 62 | 62 | |
| 63 | 63 | // Set up a database connection or other fixture which needs to be available. |
| 64 | 64 | self::$randId = uniqid(); |
| 65 | - file_put_contents(sys_get_temp_dir() . '/phpunit_rand_id.txt', self::$randId); |
|
| 65 | + file_put_contents(sys_get_temp_dir().'/phpunit_rand_id.txt', self::$randId); |
|
| 66 | 66 | } |
| 67 | 67 | |
| 68 | 68 | public static function tear_down_after_class() |
| 69 | 69 | { |
| 70 | - if (is_file(sys_get_temp_dir() . '/phpunit_rand_id.txt')) { |
|
| 71 | - unlink(sys_get_temp_dir() . '/phpunit_rand_id.txt'); |
|
| 70 | + if (is_file(sys_get_temp_dir().'/phpunit_rand_id.txt')) { |
|
| 71 | + unlink(sys_get_temp_dir().'/phpunit_rand_id.txt'); |
|
| 72 | 72 | } |
| 73 | 73 | |
| 74 | 74 | parent::tear_down_after_class(); |
@@ -79,15 +79,15 @@ discard block |
||
| 79 | 79 | parent::set_up(); |
| 80 | 80 | |
| 81 | 81 | // assumes HTTPURI to be in the form /tests/index.php?etc... |
| 82 | - $this->baseUrl = 'http://' . $this->args['HTTPSERVER'] . preg_replace('|\?.+|', '', $this->args['HTTPURI']); |
|
| 83 | - $this->coverageScriptUrl = 'http://' . $this->args['HTTPSERVER'] . preg_replace('|/tests/index\.php(\?.*)?|', '/tests/phpunit_coverage.php', $this->args['HTTPURI']); |
|
| 82 | + $this->baseUrl = 'http://'.$this->args['HTTPSERVER'].preg_replace('|\?.+|', '', $this->args['HTTPURI']); |
|
| 83 | + $this->coverageScriptUrl = 'http://'.$this->args['HTTPSERVER'].preg_replace('|/tests/index\.php(\?.*)?|', '/tests/phpunit_coverage.php', $this->args['HTTPURI']); |
|
| 84 | 84 | } |
| 85 | 85 | |
| 86 | 86 | protected function getClient() |
| 87 | 87 | { |
| 88 | 88 | $server = explode(':', $this->args['HTTPSERVER']); |
| 89 | 89 | /// @todo use the non-legacy API calling convention, except in a dedicated test |
| 90 | - if (count($server) > 1) { |
|
| 90 | + if (count($server)>1) { |
|
| 91 | 91 | $client = new xmlrpc_client($this->args['HTTPURI'], $server[0], $server[1]); |
| 92 | 92 | } else { |
| 93 | 93 | $client = new xmlrpc_client($this->args['HTTPURI'], $this->args['HTTPSERVER']); |
@@ -1,6 +1,6 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | -include_once __DIR__ . '/08ServerTest.php'; |
|
| 3 | +include_once __DIR__.'/08ServerTest.php'; |
|
| 4 | 4 | |
| 5 | 5 | /** |
| 6 | 6 | * Tests which stress http features of the library. |
@@ -34,7 +34,7 @@ discard block |
||
| 34 | 34 | { |
| 35 | 35 | $methods = array(); |
| 36 | 36 | // as long as we are descendants, get_class_methods will list private/protected methods |
| 37 | - foreach(get_class_methods('ServerTest') as $method) |
|
| 37 | + foreach (get_class_methods('ServerTest') as $method) |
|
| 38 | 38 | { |
| 39 | 39 | if (strpos($method, 'test') === 0 && !in_array($method, $this->unsafeMethods)) |
| 40 | 40 | { |
@@ -148,7 +148,7 @@ discard block |
||
| 148 | 148 | // this checks for a non-failed call |
| 149 | 149 | $time = microtime(true); |
| 150 | 150 | $this->send($m); |
| 151 | - $time = microtime(true) - $time; |
|
| 151 | + $time = microtime(true)-$time; |
|
| 152 | 152 | $this->assertGreaterThan(1.0, $time); |
| 153 | 153 | $this->assertLessThan(2.0, $time); |
| 154 | 154 | |
@@ -156,7 +156,7 @@ discard block |
||
| 156 | 156 | $m = new xmlrpcmsg('tests.sleep', array(new xmlrpcval(5, 'int'))); |
| 157 | 157 | $time = microtime(true); |
| 158 | 158 | $r = $this->send($m, array(0, PhpXmlRpc\PhpXmlRpc::$xmlrpcerr['http_error'], PhpXmlRpc\PhpXmlRpc::$xmlrpcerr['curl_fail'])); |
| 159 | - $time = microtime(true) - $time; |
|
| 159 | + $time = microtime(true)-$time; |
|
| 160 | 160 | $this->assertGreaterThan(2.0, $time); |
| 161 | 161 | $this->assertLessThan(4.0, $time); |
| 162 | 162 | |
@@ -176,7 +176,7 @@ discard block |
||
| 176 | 176 | $this->addQueryParams(array('SLOW_LORIS' => 1)); |
| 177 | 177 | $time = microtime(true); |
| 178 | 178 | $this->send($m, array(0, PhpXmlRpc\PhpXmlRpc::$xmlrpcerr['http_error'], PhpXmlRpc\PhpXmlRpc::$xmlrpcerr['curl_fail'])); |
| 179 | - $time = microtime(true) - $time; |
|
| 179 | + $time = microtime(true)-$time; |
|
| 180 | 180 | $this->assertGreaterThan(2.0, $time); |
| 181 | 181 | $this->assertLessThan(4.0, $time); |
| 182 | 182 | } |
@@ -355,7 +355,7 @@ discard block |
||
| 355 | 355 | preg_match('/ubunutu([0-9]+)/', $output[0], $matches); |
| 356 | 356 | $ubuntuVersion = @$matches[1]; |
| 357 | 357 | } |
| 358 | - if ($ubuntuVersion >= 20 && $this->args['SSLVERSION'] != 6) { |
|
| 358 | + if ($ubuntuVersion>=20 && $this->args['SSLVERSION'] != 6) { |
|
| 359 | 359 | $this->markTestSkipped('HTTPS via Socket known to fail on php less than 7.2 on Ubuntu 20 and higher'); |
| 360 | 360 | } |
| 361 | 361 | } |
@@ -380,7 +380,7 @@ discard block |
||
| 380 | 380 | $this->client->setOption(\PhpXmlRpc\Client::OPT_EXTRA_SOCKET_OPTS, |
| 381 | 381 | array('ssl' => array( |
| 382 | 382 | // security level is available as of php 7.2.0 + openssl 1.1.0 according to the docs |
| 383 | - 'security_level' => min(1 + $version[1], 5), |
|
| 383 | + 'security_level' => min(1+$version[1], 5), |
|
| 384 | 384 | // capture_session_meta was deprecated in php 7.0 |
| 385 | 385 | //'capture_session_meta' => true, |
| 386 | 386 | )) |
@@ -528,7 +528,7 @@ discard block |
||
| 528 | 528 | if (version_compare(PHP_VERSION, '8.0', '>=') && $this->args['SSLVERSION'] == 0) |
| 529 | 529 | { |
| 530 | 530 | $version = explode('.', PHP_VERSION); |
| 531 | - $this->client->setSSLVersion(min(4 + $version[1], 7)); |
|
| 531 | + $this->client->setSSLVersion(min(4+$version[1], 7)); |
|
| 532 | 532 | } |
| 533 | 533 | |
| 534 | 534 | $this->$method(); |
@@ -54,7 +54,7 @@ discard block |
||
| 54 | 54 | */ |
| 55 | 55 | public function echoInput() |
| 56 | 56 | { |
| 57 | - $r = new PhpXmlRpc\Response(new PhpXmlRpc\Value("'Aha said I: '" . file_get_contents('php://input'), 'string')); |
|
| 57 | + $r = new PhpXmlRpc\Response(new PhpXmlRpc\Value("'Aha said I: '".file_get_contents('php://input'), 'string')); |
|
| 58 | 58 | print $r->serialize(); |
| 59 | 59 | } |
| 60 | 60 | |
@@ -65,7 +65,7 @@ discard block |
||
| 65 | 65 | */ |
| 66 | 66 | public function &__get($name) |
| 67 | 67 | { |
| 68 | - switch($name) { |
|
| 68 | + switch ($name) { |
|
| 69 | 69 | case 'dmap': |
| 70 | 70 | return $this->dmap; |
| 71 | 71 | default: |
@@ -96,30 +96,30 @@ discard block |
||
| 96 | 96 | Server::xmlrpc_debugmsg($m); |
| 97 | 97 | } |
| 98 | 98 | |
| 99 | -function _xmlrpcs_getCapabilities($server, $m=null) |
|
| 99 | +function _xmlrpcs_getCapabilities($server, $m = null) |
|
| 100 | 100 | { |
| 101 | 101 | return Server::_xmlrpcs_getCapabilities($server, $m); |
| 102 | 102 | } |
| 103 | 103 | |
| 104 | -$_xmlrpcs_listMethods_sig=array(array(\PhpXmlRpc\Value::$xmlrpcArray)); |
|
| 105 | -$_xmlrpcs_listMethods_doc='This method lists all the methods that the XML-RPC server knows how to dispatch'; |
|
| 106 | -$_xmlrpcs_listMethods_sdoc=array(array('list of method names')); |
|
| 107 | -function _xmlrpcs_listMethods($server, $m=null) // if called in plain php values mode, second param is missing |
|
| 104 | +$_xmlrpcs_listMethods_sig = array(array(\PhpXmlRpc\Value::$xmlrpcArray)); |
|
| 105 | +$_xmlrpcs_listMethods_doc = 'This method lists all the methods that the XML-RPC server knows how to dispatch'; |
|
| 106 | +$_xmlrpcs_listMethods_sdoc = array(array('list of method names')); |
|
| 107 | +function _xmlrpcs_listMethods($server, $m = null) // if called in plain php values mode, second param is missing |
|
| 108 | 108 | { |
| 109 | 109 | return Server::_xmlrpcs_listMethods($server, $m); |
| 110 | 110 | } |
| 111 | 111 | |
| 112 | -$_xmlrpcs_methodSignature_sig=array(array(\PhpXmlRpc\Value::$xmlrpcArray, \PhpXmlRpc\Value::$xmlrpcString)); |
|
| 113 | -$_xmlrpcs_methodSignature_doc='Returns an array of known signatures (an array of arrays) for the method name passed. If no signatures are known, returns a none-array (test for type != array to detect missing signature)'; |
|
| 114 | -$_xmlrpcs_methodSignature_sdoc=array(array('list of known signatures, each sig being an array of xmlrpc type names', 'name of method to be described')); |
|
| 112 | +$_xmlrpcs_methodSignature_sig = array(array(\PhpXmlRpc\Value::$xmlrpcArray, \PhpXmlRpc\Value::$xmlrpcString)); |
|
| 113 | +$_xmlrpcs_methodSignature_doc = 'Returns an array of known signatures (an array of arrays) for the method name passed. If no signatures are known, returns a none-array (test for type != array to detect missing signature)'; |
|
| 114 | +$_xmlrpcs_methodSignature_sdoc = array(array('list of known signatures, each sig being an array of xmlrpc type names', 'name of method to be described')); |
|
| 115 | 115 | function _xmlrpcs_methodSignature($server, $m) |
| 116 | 116 | { |
| 117 | 117 | return Server::_xmlrpcs_methodSignature($server, $m); |
| 118 | 118 | } |
| 119 | 119 | |
| 120 | -$_xmlrpcs_methodHelp_sig=array(array(\PhpXmlRpc\Value::$xmlrpcString, \PhpXmlRpc\Value::$xmlrpcString)); |
|
| 121 | -$_xmlrpcs_methodHelp_doc='Returns help text if defined for the method passed, otherwise returns an empty string'; |
|
| 122 | -$_xmlrpcs_methodHelp_sdoc=array(array('method description', 'name of the method to be described')); |
|
| 120 | +$_xmlrpcs_methodHelp_sig = array(array(\PhpXmlRpc\Value::$xmlrpcString, \PhpXmlRpc\Value::$xmlrpcString)); |
|
| 121 | +$_xmlrpcs_methodHelp_doc = 'Returns help text if defined for the method passed, otherwise returns an empty string'; |
|
| 122 | +$_xmlrpcs_methodHelp_sdoc = array(array('method description', 'name of the method to be described')); |
|
| 123 | 123 | function _xmlrpcs_methodHelp($server, $m) |
| 124 | 124 | { |
| 125 | 125 | return Server::_xmlrpcs_methodHelp($server, $m); |
@@ -173,20 +173,20 @@ discard block |
||
| 173 | 173 | $callable = explode('::', $callable); |
| 174 | 174 | } |
| 175 | 175 | if (is_array($callable)) { |
| 176 | - if (count($callable) < 2 || (!is_string($callable[0]) && !is_object($callable[0]))) { |
|
| 177 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': syntax for function to be wrapped is wrong'); |
|
| 176 | + if (count($callable)<2 || (!is_string($callable[0]) && !is_object($callable[0]))) { |
|
| 177 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': syntax for function to be wrapped is wrong'); |
|
| 178 | 178 | return false; |
| 179 | 179 | } |
| 180 | 180 | if (is_string($callable[0])) { |
| 181 | 181 | $plainFuncName = implode('::', $callable); |
| 182 | 182 | } elseif (is_object($callable[0])) { |
| 183 | - $plainFuncName = get_class($callable[0]) . '->' . $callable[1]; |
|
| 183 | + $plainFuncName = get_class($callable[0]).'->'.$callable[1]; |
|
| 184 | 184 | } |
| 185 | 185 | $exists = method_exists($callable[0], $callable[1]); |
| 186 | 186 | } else if ($callable instanceof \Closure) { |
| 187 | 187 | // we do not support creating code which wraps closures, as php does not allow to serialize them |
| 188 | 188 | if (!$buildIt) { |
| 189 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': a closure can not be wrapped in generated source code'); |
|
| 189 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': a closure can not be wrapped in generated source code'); |
|
| 190 | 190 | return false; |
| 191 | 191 | } |
| 192 | 192 | |
@@ -198,7 +198,7 @@ discard block |
||
| 198 | 198 | } |
| 199 | 199 | |
| 200 | 200 | if (!$exists) { |
| 201 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': function to be wrapped is not defined: ' . $plainFuncName); |
|
| 201 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': function to be wrapped is not defined: '.$plainFuncName); |
|
| 202 | 202 | return false; |
| 203 | 203 | } |
| 204 | 204 | |
@@ -242,23 +242,23 @@ discard block |
||
| 242 | 242 | if (is_array($callable)) { |
| 243 | 243 | $func = new \ReflectionMethod($callable[0], $callable[1]); |
| 244 | 244 | if ($func->isPrivate()) { |
| 245 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': method to be wrapped is private: ' . $plainFuncName); |
|
| 245 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': method to be wrapped is private: '.$plainFuncName); |
|
| 246 | 246 | return false; |
| 247 | 247 | } |
| 248 | 248 | if ($func->isProtected()) { |
| 249 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': method to be wrapped is protected: ' . $plainFuncName); |
|
| 249 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': method to be wrapped is protected: '.$plainFuncName); |
|
| 250 | 250 | return false; |
| 251 | 251 | } |
| 252 | 252 | if ($func->isConstructor()) { |
| 253 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': method to be wrapped is the constructor: ' . $plainFuncName); |
|
| 253 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': method to be wrapped is the constructor: '.$plainFuncName); |
|
| 254 | 254 | return false; |
| 255 | 255 | } |
| 256 | 256 | if ($func->isDestructor()) { |
| 257 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': method to be wrapped is the destructor: ' . $plainFuncName); |
|
| 257 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': method to be wrapped is the destructor: '.$plainFuncName); |
|
| 258 | 258 | return false; |
| 259 | 259 | } |
| 260 | 260 | if ($func->isAbstract()) { |
| 261 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': method to be wrapped is abstract: ' . $plainFuncName); |
|
| 261 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': method to be wrapped is abstract: '.$plainFuncName); |
|
| 262 | 262 | return false; |
| 263 | 263 | } |
| 264 | 264 | /// @todo add more checks for static vs. nonstatic? |
@@ -268,7 +268,7 @@ discard block |
||
| 268 | 268 | if ($func->isInternal()) { |
| 269 | 269 | /// @todo from PHP 5.1.0 onward, we should be able to use invokeargs instead of getparameters to fully |
| 270 | 270 | /// reflect internal php functions |
| 271 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': function to be wrapped is internal: ' . $plainFuncName); |
|
| 271 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': function to be wrapped is internal: '.$plainFuncName); |
|
| 272 | 272 | return false; |
| 273 | 273 | } |
| 274 | 274 | |
@@ -328,7 +328,7 @@ discard block |
||
| 328 | 328 | $i = 0; |
| 329 | 329 | foreach ($func->getParameters() as $paramObj) { |
| 330 | 330 | $params[$i] = array(); |
| 331 | - $params[$i]['name'] = '$' . $paramObj->getName(); |
|
| 331 | + $params[$i]['name'] = '$'.$paramObj->getName(); |
|
| 332 | 332 | $params[$i]['isoptional'] = $paramObj->isOptional(); |
| 333 | 333 | if (method_exists($paramObj, 'getType')) { |
| 334 | 334 | $paramType = $paramObj->getType(); |
@@ -399,7 +399,7 @@ discard block |
||
| 399 | 399 | // build a signature |
| 400 | 400 | $sig = array($this->php2XmlrpcType($funcDesc['returns'])); |
| 401 | 401 | $pSig = array($funcDesc['returnsDocs']); |
| 402 | - for ($i = 0; $i < count($pars); $i++) { |
|
| 402 | + for ($i = 0; $i<count($pars); $i++) { |
|
| 403 | 403 | $name = strtolower($funcDesc['params'][$i]['name']); |
| 404 | 404 | if (isset($funcDesc['paramDocs'][$name]['type'])) { |
| 405 | 405 | $sig[] = $this->php2XmlrpcType($funcDesc['paramDocs'][$name]['type']); |
@@ -455,7 +455,7 @@ discard block |
||
| 455 | 455 | } |
| 456 | 456 | } |
| 457 | 457 | $numPars = $req->getNumParams(); |
| 458 | - if ($numPars < $minPars || $numPars > $maxPars) { |
|
| 458 | + if ($numPars<$minPars || $numPars>$maxPars) { |
|
| 459 | 459 | return new $responseClass(0, 3, 'Incorrect parameters passed to method'); |
| 460 | 460 | } |
| 461 | 461 | |
@@ -468,7 +468,7 @@ discard block |
||
| 468 | 468 | |
| 469 | 469 | $result = call_user_func_array($callable, $params); |
| 470 | 470 | |
| 471 | - if (! is_a($result, $responseClass)) { |
|
| 471 | + if (!is_a($result, $responseClass)) { |
|
| 472 | 472 | // q: why not do the same for int, float, bool, string? |
| 473 | 473 | if ($funcDesc['returns'] == Value::$xmlrpcDateTime || $funcDesc['returns'] == Value::$xmlrpcBase64) { |
| 474 | 474 | $result = new $valueClass($result, $funcDesc['returns']); |
@@ -507,9 +507,9 @@ discard block |
||
| 507 | 507 | if ($newFuncName == '') { |
| 508 | 508 | if (is_array($callable)) { |
| 509 | 509 | if (is_string($callable[0])) { |
| 510 | - $xmlrpcFuncName = "{$prefix}_" . implode('_', $callable); |
|
| 510 | + $xmlrpcFuncName = "{$prefix}_".implode('_', $callable); |
|
| 511 | 511 | } else { |
| 512 | - $xmlrpcFuncName = "{$prefix}_" . get_class($callable[0]) . '_' . $callable[1]; |
|
| 512 | + $xmlrpcFuncName = "{$prefix}_".get_class($callable[0]).'_'.$callable[1]; |
|
| 513 | 513 | } |
| 514 | 514 | } else { |
| 515 | 515 | if ($callable instanceof \Closure) { |
@@ -541,9 +541,9 @@ discard block |
||
| 541 | 541 | */ |
| 542 | 542 | protected function buildWrapFunctionSource($callable, $newFuncName, $extraOptions, $plainFuncName, $funcDesc) |
| 543 | 543 | { |
| 544 | - $encodeNulls = isset($extraOptions['encode_nulls']) ? (bool)$extraOptions['encode_nulls'] : false; |
|
| 545 | - $encodePhpObjects = isset($extraOptions['encode_php_objs']) ? (bool)$extraOptions['encode_php_objs'] : false; |
|
| 546 | - $decodePhpObjects = isset($extraOptions['decode_php_objs']) ? (bool)$extraOptions['decode_php_objs'] : false; |
|
| 544 | + $encodeNulls = isset($extraOptions['encode_nulls']) ? (bool) $extraOptions['encode_nulls'] : false; |
|
| 545 | + $encodePhpObjects = isset($extraOptions['encode_php_objs']) ? (bool) $extraOptions['encode_php_objs'] : false; |
|
| 546 | + $decodePhpObjects = isset($extraOptions['decode_php_objs']) ? (bool) $extraOptions['decode_php_objs'] : false; |
|
| 547 | 547 | $catchWarnings = isset($extraOptions['suppress_warnings']) && $extraOptions['suppress_warnings'] ? '@' : ''; |
| 548 | 548 | |
| 549 | 549 | $i = 0; |
@@ -578,9 +578,9 @@ discard block |
||
| 578 | 578 | // build body of new function |
| 579 | 579 | |
| 580 | 580 | $innerCode = " \$paramCount = \$req->getNumParams();\n"; |
| 581 | - $innerCode .= " if (\$paramCount < $minPars || \$paramCount > $maxPars) return new " . static::$namespace . "Response(0, " . PhpXmlRpc::$xmlrpcerr['incorrect_params'] . ", '" . PhpXmlRpc::$xmlrpcstr['incorrect_params'] . "');\n"; |
|
| 581 | + $innerCode .= " if (\$paramCount < $minPars || \$paramCount > $maxPars) return new ".static::$namespace."Response(0, ".PhpXmlRpc::$xmlrpcerr['incorrect_params'].", '".PhpXmlRpc::$xmlrpcstr['incorrect_params']."');\n"; |
|
| 582 | 582 | |
| 583 | - $innerCode .= " \$encoder = new " . static::$namespace . "Encoder();\n"; |
|
| 583 | + $innerCode .= " \$encoder = new ".static::$namespace."Encoder();\n"; |
|
| 584 | 584 | if ($decodePhpObjects) { |
| 585 | 585 | $innerCode .= " \$params = \$encoder->decode(\$req, array('decode_php_objs'));\n"; |
| 586 | 586 | } else { |
@@ -593,23 +593,23 @@ discard block |
||
| 593 | 593 | static::holdObject($newFuncName, $callable[0]); |
| 594 | 594 | $class = get_class($callable[0]); |
| 595 | 595 | if ($class[0] !== '\\') { |
| 596 | - $class = '\\' . $class; |
|
| 596 | + $class = '\\'.$class; |
|
| 597 | 597 | } |
| 598 | 598 | $innerCode .= " /// @var $class \$obj\n"; |
| 599 | 599 | $innerCode .= " \$obj = PhpXmlRpc\\Wrapper::getHeldObject('$newFuncName');\n"; |
| 600 | - $realFuncName = '$obj->' . $callable[1]; |
|
| 600 | + $realFuncName = '$obj->'.$callable[1]; |
|
| 601 | 601 | } else { |
| 602 | 602 | $realFuncName = $plainFuncName; |
| 603 | 603 | } |
| 604 | 604 | foreach ($parsVariations as $i => $pars) { |
| 605 | - $innerCode .= " if (\$paramCount == " . count($pars) . ") \$retVal = {$catchWarnings}$realFuncName(" . implode(',', $pars) . ");\n"; |
|
| 606 | - if ($i < (count($parsVariations) - 1)) |
|
| 605 | + $innerCode .= " if (\$paramCount == ".count($pars).") \$retVal = {$catchWarnings}$realFuncName(".implode(',', $pars).");\n"; |
|
| 606 | + if ($i<(count($parsVariations)-1)) |
|
| 607 | 607 | $innerCode .= " else\n"; |
| 608 | 608 | } |
| 609 | - $innerCode .= " if (is_a(\$retVal, '" . static::$namespace . "Response'))\n return \$retVal;\n else\n"; |
|
| 609 | + $innerCode .= " if (is_a(\$retVal, '".static::$namespace."Response'))\n return \$retVal;\n else\n"; |
|
| 610 | 610 | /// q: why not do the same for int, float, bool, string? |
| 611 | 611 | if ($funcDesc['returns'] == Value::$xmlrpcDateTime || $funcDesc['returns'] == Value::$xmlrpcBase64) { |
| 612 | - $innerCode .= " return new " . static::$namespace . "Response(new " . static::$namespace . "Value(\$retVal, '{$funcDesc['returns']}'));"; |
|
| 612 | + $innerCode .= " return new ".static::$namespace."Response(new ".static::$namespace."Value(\$retVal, '{$funcDesc['returns']}'));"; |
|
| 613 | 613 | } else { |
| 614 | 614 | $encodeOptions = array(); |
| 615 | 615 | if ($encodeNulls) { |
@@ -620,18 +620,18 @@ discard block |
||
| 620 | 620 | } |
| 621 | 621 | |
| 622 | 622 | if ($encodeOptions) { |
| 623 | - $innerCode .= " return new " . static::$namespace . "Response(\$encoder->encode(\$retVal, array('" . |
|
| 624 | - implode("', '", $encodeOptions) . "')));"; |
|
| 623 | + $innerCode .= " return new ".static::$namespace."Response(\$encoder->encode(\$retVal, array('". |
|
| 624 | + implode("', '", $encodeOptions)."')));"; |
|
| 625 | 625 | } else { |
| 626 | - $innerCode .= " return new " . static::$namespace . "Response(\$encoder->encode(\$retVal));"; |
|
| 626 | + $innerCode .= " return new ".static::$namespace."Response(\$encoder->encode(\$retVal));"; |
|
| 627 | 627 | } |
| 628 | 628 | } |
| 629 | 629 | // shall we exclude functions returning by ref? |
| 630 | 630 | // if ($func->returnsReference()) |
| 631 | 631 | // return false; |
| 632 | 632 | |
| 633 | - $code = "/**\n * @param \PhpXmlRpc\Request \$req\n * @return \PhpXmlRpc\Response\n * @throws \\Exception\n */\n" . |
|
| 634 | - "function $newFuncName(\$req)\n{\n" . $innerCode . "\n}"; |
|
| 633 | + $code = "/**\n * @param \PhpXmlRpc\Request \$req\n * @return \PhpXmlRpc\Response\n * @throws \\Exception\n */\n". |
|
| 634 | + "function $newFuncName(\$req)\n{\n".$innerCode."\n}"; |
|
| 635 | 635 | |
| 636 | 636 | return $code; |
| 637 | 637 | } |
@@ -691,7 +691,7 @@ discard block |
||
| 691 | 691 | protected function generateMethodNameForClassMethod($className, $classMethod, $extraOptions = array()) |
| 692 | 692 | { |
| 693 | 693 | if (isset($extraOptions['replace_class_name']) && $extraOptions['replace_class_name']) { |
| 694 | - return (isset($extraOptions['prefix']) ? $extraOptions['prefix'] : '') . $classMethod; |
|
| 694 | + return (isset($extraOptions['prefix']) ? $extraOptions['prefix'] : '').$classMethod; |
|
| 695 | 695 | } |
| 696 | 696 | |
| 697 | 697 | if (is_object($className)) { |
@@ -699,7 +699,7 @@ discard block |
||
| 699 | 699 | } else { |
| 700 | 700 | $realClassName = $className; |
| 701 | 701 | } |
| 702 | - return (isset($extraOptions['prefix']) ? $extraOptions['prefix'] : '') . "$realClassName.$classMethod"; |
|
| 702 | + return (isset($extraOptions['prefix']) ? $extraOptions['prefix'] : '')."$realClassName.$classMethod"; |
|
| 703 | 703 | } |
| 704 | 704 | |
| 705 | 705 | /** |
@@ -795,14 +795,14 @@ discard block |
||
| 795 | 795 | */ |
| 796 | 796 | protected function retrieveMethodSignature($client, $methodName, array $extraOptions = array()) |
| 797 | 797 | { |
| 798 | - $reqClass = static::$namespace . 'Request'; |
|
| 799 | - $valClass = static::$namespace . 'Value'; |
|
| 800 | - $decoderClass = static::$namespace . 'Encoder'; |
|
| 798 | + $reqClass = static::$namespace.'Request'; |
|
| 799 | + $valClass = static::$namespace.'Value'; |
|
| 800 | + $decoderClass = static::$namespace.'Encoder'; |
|
| 801 | 801 | |
| 802 | 802 | $debug = isset($extraOptions['debug']) ? ($extraOptions['debug']) : 0; |
| 803 | - $timeout = isset($extraOptions['timeout']) ? (int)$extraOptions['timeout'] : 0; |
|
| 803 | + $timeout = isset($extraOptions['timeout']) ? (int) $extraOptions['timeout'] : 0; |
|
| 804 | 804 | $protocol = isset($extraOptions['protocol']) ? $extraOptions['protocol'] : ''; |
| 805 | - $sigNum = isset($extraOptions['signum']) ? (int)$extraOptions['signum'] : 0; |
|
| 805 | + $sigNum = isset($extraOptions['signum']) ? (int) $extraOptions['signum'] : 0; |
|
| 806 | 806 | |
| 807 | 807 | $req = new $reqClass('system.methodSignature'); |
| 808 | 808 | $req->addParam(new $valClass($methodName)); |
@@ -812,7 +812,7 @@ discard block |
||
| 812 | 812 | $response = $client->send($req, $timeout, $protocol); |
| 813 | 813 | $client->setDebug($origDebug); |
| 814 | 814 | if ($response->faultCode()) { |
| 815 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': could not retrieve method signature from remote server for method ' . $methodName); |
|
| 815 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': could not retrieve method signature from remote server for method '.$methodName); |
|
| 816 | 816 | return false; |
| 817 | 817 | } |
| 818 | 818 | |
@@ -823,8 +823,8 @@ discard block |
||
| 823 | 823 | $mSig = $decoder->decode($mSig); |
| 824 | 824 | } |
| 825 | 825 | |
| 826 | - if (!is_array($mSig) || count($mSig) <= $sigNum) { |
|
| 827 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': could not retrieve method signature nr.' . $sigNum . ' from remote server for method ' . $methodName); |
|
| 826 | + if (!is_array($mSig) || count($mSig)<=$sigNum) { |
|
| 827 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': could not retrieve method signature nr.'.$sigNum.' from remote server for method '.$methodName); |
|
| 828 | 828 | return false; |
| 829 | 829 | } |
| 830 | 830 | |
@@ -839,11 +839,11 @@ discard block |
||
| 839 | 839 | */ |
| 840 | 840 | protected function retrieveMethodHelp($client, $methodName, array $extraOptions = array()) |
| 841 | 841 | { |
| 842 | - $reqClass = static::$namespace . 'Request'; |
|
| 843 | - $valClass = static::$namespace . 'Value'; |
|
| 842 | + $reqClass = static::$namespace.'Request'; |
|
| 843 | + $valClass = static::$namespace.'Value'; |
|
| 844 | 844 | |
| 845 | 845 | $debug = isset($extraOptions['debug']) ? ($extraOptions['debug']) : 0; |
| 846 | - $timeout = isset($extraOptions['timeout']) ? (int)$extraOptions['timeout'] : 0; |
|
| 846 | + $timeout = isset($extraOptions['timeout']) ? (int) $extraOptions['timeout'] : 0; |
|
| 847 | 847 | $protocol = isset($extraOptions['protocol']) ? $extraOptions['protocol'] : ''; |
| 848 | 848 | |
| 849 | 849 | $mDesc = ''; |
@@ -880,11 +880,11 @@ discard block |
||
| 880 | 880 | $clientClone = clone $client; |
| 881 | 881 | $function = function() use($clientClone, $methodName, $extraOptions, $mSig) |
| 882 | 882 | { |
| 883 | - $timeout = isset($extraOptions['timeout']) ? (int)$extraOptions['timeout'] : 0; |
|
| 883 | + $timeout = isset($extraOptions['timeout']) ? (int) $extraOptions['timeout'] : 0; |
|
| 884 | 884 | $protocol = isset($extraOptions['protocol']) ? $extraOptions['protocol'] : ''; |
| 885 | - $encodePhpObjects = isset($extraOptions['encode_php_objs']) ? (bool)$extraOptions['encode_php_objs'] : false; |
|
| 886 | - $decodePhpObjects = isset($extraOptions['decode_php_objs']) ? (bool)$extraOptions['decode_php_objs'] : false; |
|
| 887 | - $encodeNulls = isset($extraOptions['encode_nulls']) ? (bool)$extraOptions['encode_nulls'] : false; |
|
| 885 | + $encodePhpObjects = isset($extraOptions['encode_php_objs']) ? (bool) $extraOptions['encode_php_objs'] : false; |
|
| 886 | + $decodePhpObjects = isset($extraOptions['decode_php_objs']) ? (bool) $extraOptions['decode_php_objs'] : false; |
|
| 887 | + $encodeNulls = isset($extraOptions['encode_nulls']) ? (bool) $extraOptions['encode_nulls'] : false; |
|
| 888 | 888 | $throwFault = false; |
| 889 | 889 | $decodeFault = false; |
| 890 | 890 | $faultResponse = null; |
@@ -895,9 +895,9 @@ discard block |
||
| 895 | 895 | $faultResponse = $extraOptions['return_on_fault']; |
| 896 | 896 | } |
| 897 | 897 | |
| 898 | - $reqClass = static::$namespace . 'Request'; |
|
| 899 | - $encoderClass = static::$namespace . 'Encoder'; |
|
| 900 | - $valueClass = static::$namespace . 'Value'; |
|
| 898 | + $reqClass = static::$namespace.'Request'; |
|
| 899 | + $encoderClass = static::$namespace.'Encoder'; |
|
| 900 | + $valueClass = static::$namespace.'Value'; |
|
| 901 | 901 | |
| 902 | 902 | $encoder = new $encoderClass(); |
| 903 | 903 | $encodeOptions = array(); |
@@ -979,14 +979,14 @@ discard block |
||
| 979 | 979 | * @param string $mDesc |
| 980 | 980 | * @return string[] keys: source, docstring |
| 981 | 981 | */ |
| 982 | - public function buildWrapMethodSource($client, $methodName, array $extraOptions, $newFuncName, $mSig, $mDesc='') |
|
| 982 | + public function buildWrapMethodSource($client, $methodName, array $extraOptions, $newFuncName, $mSig, $mDesc = '') |
|
| 983 | 983 | { |
| 984 | - $timeout = isset($extraOptions['timeout']) ? (int)$extraOptions['timeout'] : 0; |
|
| 984 | + $timeout = isset($extraOptions['timeout']) ? (int) $extraOptions['timeout'] : 0; |
|
| 985 | 985 | $protocol = isset($extraOptions['protocol']) ? $extraOptions['protocol'] : ''; |
| 986 | - $encodePhpObjects = isset($extraOptions['encode_php_objs']) ? (bool)$extraOptions['encode_php_objs'] : false; |
|
| 987 | - $decodePhpObjects = isset($extraOptions['decode_php_objs']) ? (bool)$extraOptions['decode_php_objs'] : false; |
|
| 988 | - $encodeNulls = isset($extraOptions['encode_nulls']) ? (bool)$extraOptions['encode_nulls'] : false; |
|
| 989 | - $clientCopyMode = isset($extraOptions['simple_client_copy']) ? (int)($extraOptions['simple_client_copy']) : 0; |
|
| 986 | + $encodePhpObjects = isset($extraOptions['encode_php_objs']) ? (bool) $extraOptions['encode_php_objs'] : false; |
|
| 987 | + $decodePhpObjects = isset($extraOptions['decode_php_objs']) ? (bool) $extraOptions['decode_php_objs'] : false; |
|
| 988 | + $encodeNulls = isset($extraOptions['encode_nulls']) ? (bool) $extraOptions['encode_nulls'] : false; |
|
| 989 | + $clientCopyMode = isset($extraOptions['simple_client_copy']) ? (int) ($extraOptions['simple_client_copy']) : 0; |
|
| 990 | 990 | $prefix = isset($extraOptions['prefix']) ? $extraOptions['prefix'] : 'xmlrpc'; |
| 991 | 991 | $throwFault = false; |
| 992 | 992 | $decodeFault = false; |
@@ -999,10 +999,10 @@ discard block |
||
| 999 | 999 | } |
| 1000 | 1000 | |
| 1001 | 1001 | $code = "function $newFuncName("; |
| 1002 | - if ($clientCopyMode < 2) { |
|
| 1002 | + if ($clientCopyMode<2) { |
|
| 1003 | 1003 | // client copy mode 0 or 1 == full / partial client copy in emitted code |
| 1004 | 1004 | $verbatimClientCopy = !$clientCopyMode; |
| 1005 | - $innerCode = ' ' . str_replace("\n", "\n ", $this->buildClientWrapperCode($client, $verbatimClientCopy, $prefix, static::$namespace)); |
|
| 1005 | + $innerCode = ' '.str_replace("\n", "\n ", $this->buildClientWrapperCode($client, $verbatimClientCopy, $prefix, static::$namespace)); |
|
| 1006 | 1006 | $innerCode .= "\$client->setDebug(\$debug);\n"; |
| 1007 | 1007 | $this_ = ''; |
| 1008 | 1008 | } else { |
@@ -1010,28 +1010,28 @@ discard block |
||
| 1010 | 1010 | $innerCode = ''; |
| 1011 | 1011 | $this_ = 'this->'; |
| 1012 | 1012 | } |
| 1013 | - $innerCode .= " \$req = new " . static::$namespace . "Request('$methodName');\n"; |
|
| 1013 | + $innerCode .= " \$req = new ".static::$namespace."Request('$methodName');\n"; |
|
| 1014 | 1014 | |
| 1015 | 1015 | if ($mDesc != '') { |
| 1016 | 1016 | // take care that PHP comment is not terminated unwillingly by method description |
| 1017 | 1017 | /// @todo according to the spec, method desc can have html in it. We should run it through strip_tags... |
| 1018 | - $mDesc = "/**\n * " . str_replace(array("\n", '*/'), array("\n * ", '* /'), $mDesc) . "\n"; |
|
| 1018 | + $mDesc = "/**\n * ".str_replace(array("\n", '*/'), array("\n * ", '* /'), $mDesc)."\n"; |
|
| 1019 | 1019 | } else { |
| 1020 | 1020 | $mDesc = "/**\n * Function $newFuncName.\n"; |
| 1021 | 1021 | } |
| 1022 | 1022 | |
| 1023 | 1023 | // param parsing |
| 1024 | - $innerCode .= " \$encoder = new " . static::$namespace . "Encoder();\n"; |
|
| 1024 | + $innerCode .= " \$encoder = new ".static::$namespace."Encoder();\n"; |
|
| 1025 | 1025 | $plist = array(); |
| 1026 | 1026 | $pCount = count($mSig); |
| 1027 | - for ($i = 1; $i < $pCount; $i++) { |
|
| 1027 | + for ($i = 1; $i<$pCount; $i++) { |
|
| 1028 | 1028 | $plist[] = "\$p$i"; |
| 1029 | 1029 | $pType = $mSig[$i]; |
| 1030 | 1030 | if ($pType == 'i4' || $pType == 'i8' || $pType == 'int' || $pType == 'boolean' || $pType == 'double' || |
| 1031 | 1031 | $pType == 'string' || $pType == 'dateTime.iso8601' || $pType == 'base64' || $pType == 'null' |
| 1032 | 1032 | ) { |
| 1033 | 1033 | // only build directly xml-rpc values when type is known and scalar |
| 1034 | - $innerCode .= " \$p$i = new " . static::$namespace . "Value(\$p$i, '$pType');\n"; |
|
| 1034 | + $innerCode .= " \$p$i = new ".static::$namespace."Value(\$p$i, '$pType');\n"; |
|
| 1035 | 1035 | } else { |
| 1036 | 1036 | if ($encodePhpObjects || $encodeNulls) { |
| 1037 | 1037 | $encOpts = array(); |
@@ -1042,26 +1042,26 @@ discard block |
||
| 1042 | 1042 | $encOpts[] = 'null_extension'; |
| 1043 | 1043 | } |
| 1044 | 1044 | |
| 1045 | - $innerCode .= " \$p$i = \$encoder->encode(\$p$i, array( '" . implode("', '", $encOpts) . "'));\n"; |
|
| 1045 | + $innerCode .= " \$p$i = \$encoder->encode(\$p$i, array( '".implode("', '", $encOpts)."'));\n"; |
|
| 1046 | 1046 | } else { |
| 1047 | 1047 | $innerCode .= " \$p$i = \$encoder->encode(\$p$i);\n"; |
| 1048 | 1048 | } |
| 1049 | 1049 | } |
| 1050 | 1050 | $innerCode .= " \$req->addParam(\$p$i);\n"; |
| 1051 | - $mDesc .= " * @param " . $this->xmlrpc2PhpType($pType) . " \$p$i\n"; |
|
| 1051 | + $mDesc .= " * @param ".$this->xmlrpc2PhpType($pType)." \$p$i\n"; |
|
| 1052 | 1052 | } |
| 1053 | - if ($clientCopyMode < 2) { |
|
| 1053 | + if ($clientCopyMode<2) { |
|
| 1054 | 1054 | $plist[] = '$debug = 0'; |
| 1055 | 1055 | $mDesc .= " * @param int \$debug when 1 (or 2) will enable debugging of the underlying {$prefix} call (defaults to 0)\n"; |
| 1056 | 1056 | } |
| 1057 | 1057 | $plist = implode(', ', $plist); |
| 1058 | - $mDesc .= ' * @return ' . $this->xmlrpc2PhpType($mSig[0]); |
|
| 1058 | + $mDesc .= ' * @return '.$this->xmlrpc2PhpType($mSig[0]); |
|
| 1059 | 1059 | if ($throwFault) { |
| 1060 | - $mDesc .= "\n * @throws " . (is_string($throwFault) ? $throwFault : '\\PhpXmlRpc\\Exception'); |
|
| 1060 | + $mDesc .= "\n * @throws ".(is_string($throwFault) ? $throwFault : '\\PhpXmlRpc\\Exception'); |
|
| 1061 | 1061 | } else if ($decodeFault) { |
| 1062 | - $mDesc .= '|' . gettype($faultResponse) . " (a " . gettype($faultResponse) . " if call fails)"; |
|
| 1062 | + $mDesc .= '|'.gettype($faultResponse)." (a ".gettype($faultResponse)." if call fails)"; |
|
| 1063 | 1063 | } else { |
| 1064 | - $mDesc .= '|' . static::$namespace . "Response (a " . static::$namespace . "Response obj instance if call fails)"; |
|
| 1064 | + $mDesc .= '|'.static::$namespace."Response (a ".static::$namespace."Response obj instance if call fails)"; |
|
| 1065 | 1065 | } |
| 1066 | 1066 | $mDesc .= "\n */\n"; |
| 1067 | 1067 | |
@@ -1074,9 +1074,9 @@ discard block |
||
| 1074 | 1074 | $respCode = "throw new $throwFault(\$res->faultString(), \$res->faultCode())"; |
| 1075 | 1075 | } else if ($decodeFault) { |
| 1076 | 1076 | if (is_string($faultResponse) && ((strpos($faultResponse, '%faultCode%') !== false) || (strpos($faultResponse, '%faultString%') !== false))) { |
| 1077 | - $respCode = "return str_replace(array('%faultCode%', '%faultString%'), array(\$res->faultCode(), \$res->faultString()), '" . str_replace("'", "''", $faultResponse) . "')"; |
|
| 1077 | + $respCode = "return str_replace(array('%faultCode%', '%faultString%'), array(\$res->faultCode(), \$res->faultString()), '".str_replace("'", "''", $faultResponse)."')"; |
|
| 1078 | 1078 | } else { |
| 1079 | - $respCode = 'return ' . var_export($faultResponse, true); |
|
| 1079 | + $respCode = 'return '.var_export($faultResponse, true); |
|
| 1080 | 1080 | } |
| 1081 | 1081 | } else { |
| 1082 | 1082 | $respCode = 'return $res'; |
@@ -1087,7 +1087,7 @@ discard block |
||
| 1087 | 1087 | $innerCode .= " if (\$res->faultCode()) $respCode; else return \$encoder->decode(\$res->value());"; |
| 1088 | 1088 | } |
| 1089 | 1089 | |
| 1090 | - $code = $code . $plist . ")\n{\n" . $innerCode . "\n}\n"; |
|
| 1090 | + $code = $code.$plist.")\n{\n".$innerCode."\n}\n"; |
|
| 1091 | 1091 | |
| 1092 | 1092 | return array('source' => $code, 'docstring' => $mDesc); |
| 1093 | 1093 | } |
@@ -1117,26 +1117,26 @@ discard block |
||
| 1117 | 1117 | public function wrapXmlrpcServer($client, $extraOptions = array()) |
| 1118 | 1118 | { |
| 1119 | 1119 | $methodFilter = isset($extraOptions['method_filter']) ? $extraOptions['method_filter'] : ''; |
| 1120 | - $timeout = isset($extraOptions['timeout']) ? (int)$extraOptions['timeout'] : 0; |
|
| 1120 | + $timeout = isset($extraOptions['timeout']) ? (int) $extraOptions['timeout'] : 0; |
|
| 1121 | 1121 | $protocol = isset($extraOptions['protocol']) ? $extraOptions['protocol'] : ''; |
| 1122 | 1122 | $newClassName = isset($extraOptions['new_class_name']) ? $extraOptions['new_class_name'] : ''; |
| 1123 | - $encodeNulls = isset($extraOptions['encode_nulls']) ? (bool)$extraOptions['encode_nulls'] : false; |
|
| 1124 | - $encodePhpObjects = isset($extraOptions['encode_php_objs']) ? (bool)$extraOptions['encode_php_objs'] : false; |
|
| 1125 | - $decodePhpObjects = isset($extraOptions['decode_php_objs']) ? (bool)$extraOptions['decode_php_objs'] : false; |
|
| 1123 | + $encodeNulls = isset($extraOptions['encode_nulls']) ? (bool) $extraOptions['encode_nulls'] : false; |
|
| 1124 | + $encodePhpObjects = isset($extraOptions['encode_php_objs']) ? (bool) $extraOptions['encode_php_objs'] : false; |
|
| 1125 | + $decodePhpObjects = isset($extraOptions['decode_php_objs']) ? (bool) $extraOptions['decode_php_objs'] : false; |
|
| 1126 | 1126 | $verbatimClientCopy = isset($extraOptions['simple_client_copy']) ? !($extraOptions['simple_client_copy']) : true; |
| 1127 | - $throwOnFault = isset($extraOptions['throw_on_fault']) ? (bool)$extraOptions['throw_on_fault'] : false; |
|
| 1127 | + $throwOnFault = isset($extraOptions['throw_on_fault']) ? (bool) $extraOptions['throw_on_fault'] : false; |
|
| 1128 | 1128 | $buildIt = isset($extraOptions['return_source']) ? !($extraOptions['return_source']) : true; |
| 1129 | 1129 | $prefix = isset($extraOptions['prefix']) ? $extraOptions['prefix'] : 'xmlrpc'; |
| 1130 | 1130 | |
| 1131 | - $reqClass = static::$namespace . 'Request'; |
|
| 1132 | - $decoderClass = static::$namespace . 'Encoder'; |
|
| 1131 | + $reqClass = static::$namespace.'Request'; |
|
| 1132 | + $decoderClass = static::$namespace.'Encoder'; |
|
| 1133 | 1133 | |
| 1134 | 1134 | // retrieve the list of methods |
| 1135 | 1135 | $req = new $reqClass('system.listMethods'); |
| 1136 | 1136 | /// @todo move setting of timeout, protocol to outside the send() call |
| 1137 | 1137 | $response = $client->send($req, $timeout, $protocol); |
| 1138 | 1138 | if ($response->faultCode()) { |
| 1139 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': could not retrieve method list from remote server'); |
|
| 1139 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': could not retrieve method list from remote server'); |
|
| 1140 | 1140 | |
| 1141 | 1141 | return false; |
| 1142 | 1142 | } |
@@ -1147,7 +1147,7 @@ discard block |
||
| 1147 | 1147 | $mList = $decoder->decode($mList); |
| 1148 | 1148 | } |
| 1149 | 1149 | if (!is_array($mList) || !count($mList)) { |
| 1150 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': could not retrieve meaningful method list from remote server'); |
|
| 1150 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': could not retrieve meaningful method list from remote server'); |
|
| 1151 | 1151 | |
| 1152 | 1152 | return false; |
| 1153 | 1153 | } |
@@ -1157,8 +1157,8 @@ discard block |
||
| 1157 | 1157 | $xmlrpcClassName = $newClassName; |
| 1158 | 1158 | } else { |
| 1159 | 1159 | /// @todo direct access to $client->server is now deprecated |
| 1160 | - $xmlrpcClassName = $prefix . '_' . preg_replace(array('/\./', '/[^a-zA-Z0-9_\x7f-\xff]/'), array('_', ''), |
|
| 1161 | - $client->server) . '_client'; |
|
| 1160 | + $xmlrpcClassName = $prefix.'_'.preg_replace(array('/\./', '/[^a-zA-Z0-9_\x7f-\xff]/'), array('_', ''), |
|
| 1161 | + $client->server).'_client'; |
|
| 1162 | 1162 | } |
| 1163 | 1163 | while ($buildIt && class_exists($xmlrpcClassName)) { |
| 1164 | 1164 | $xmlrpcClassName .= 'x'; |
@@ -1166,7 +1166,7 @@ discard block |
||
| 1166 | 1166 | |
| 1167 | 1167 | $source = "class $xmlrpcClassName\n{\n public \$client;\n\n"; |
| 1168 | 1168 | $source .= " function __construct()\n {\n"; |
| 1169 | - $source .= ' ' . str_replace("\n", "\n ", $this->buildClientWrapperCode($client, $verbatimClientCopy, $prefix, static::$namespace)); |
|
| 1169 | + $source .= ' '.str_replace("\n", "\n ", $this->buildClientWrapperCode($client, $verbatimClientCopy, $prefix, static::$namespace)); |
|
| 1170 | 1170 | $source .= "\$this->client = \$client;\n }\n\n"; |
| 1171 | 1171 | $opts = array( |
| 1172 | 1172 | 'return_source' => true, |
@@ -1189,28 +1189,28 @@ discard block |
||
| 1189 | 1189 | $methodWrap = $this->wrapXmlrpcMethod($client, $mName, $opts); |
| 1190 | 1190 | if ($methodWrap) { |
| 1191 | 1191 | if ($buildIt) { |
| 1192 | - $source .= $methodWrap['source'] . "\n"; |
|
| 1192 | + $source .= $methodWrap['source']."\n"; |
|
| 1193 | 1193 | |
| 1194 | 1194 | } else { |
| 1195 | - $source .= ' ' . str_replace("\n", "\n ", $methodWrap['docstring']); |
|
| 1196 | - $source .= str_replace("\n", "\n ", $methodWrap['source']). "\n"; |
|
| 1195 | + $source .= ' '.str_replace("\n", "\n ", $methodWrap['docstring']); |
|
| 1196 | + $source .= str_replace("\n", "\n ", $methodWrap['source'])."\n"; |
|
| 1197 | 1197 | } |
| 1198 | 1198 | |
| 1199 | 1199 | } else { |
| 1200 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': will not create class method to wrap remote method ' . $mName); |
|
| 1200 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': will not create class method to wrap remote method '.$mName); |
|
| 1201 | 1201 | } |
| 1202 | 1202 | } |
| 1203 | 1203 | } |
| 1204 | 1204 | $source .= "}\n"; |
| 1205 | 1205 | if ($buildIt) { |
| 1206 | 1206 | $allOK = 0; |
| 1207 | - eval($source . '$allOK=1;'); |
|
| 1207 | + eval($source.'$allOK=1;'); |
|
| 1208 | 1208 | if ($allOK) { |
| 1209 | 1209 | return $xmlrpcClassName; |
| 1210 | 1210 | } else { |
| 1211 | 1211 | /// @todo direct access to $client->server is now deprecated |
| 1212 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': could not create class ' . $xmlrpcClassName . |
|
| 1213 | - ' to wrap remote server ' . $client->server); |
|
| 1212 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': could not create class '.$xmlrpcClassName. |
|
| 1213 | + ' to wrap remote server '.$client->server); |
|
| 1214 | 1214 | return false; |
| 1215 | 1215 | } |
| 1216 | 1216 | } else { |
@@ -1229,7 +1229,7 @@ discard block |
||
| 1229 | 1229 | */ |
| 1230 | 1230 | protected function buildClientWrapperCode($client, $verbatimClientCopy, $prefix = 'xmlrpc', $namespace = '\\PhpXmlRpc\\') |
| 1231 | 1231 | { |
| 1232 | - $code = "\$client = new {$namespace}Client('" . str_replace(array("\\", "'"), array("\\\\", "\'"), $client->getUrl()) . |
|
| 1232 | + $code = "\$client = new {$namespace}Client('".str_replace(array("\\", "'"), array("\\\\", "\'"), $client->getUrl()). |
|
| 1233 | 1233 | "');\n"; |
| 1234 | 1234 | |
| 1235 | 1235 | // copy all client fields to the client that will be generated runtime |
@@ -1,5 +1,5 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | -require_once __DIR__ . "/_prepend.php"; |
|
| 2 | +require_once __DIR__."/_prepend.php"; |
|
| 3 | 3 | |
| 4 | 4 | /** |
| 5 | 5 | * Demoing the code-generation capabilities of the library: create a client class which exposes a bunch of methods |
@@ -26,12 +26,12 @@ discard block |
||
| 26 | 26 | ); |
| 27 | 27 | |
| 28 | 28 | // the generated code does not have an autoloader included - we need to add in one |
| 29 | -$autoloader = __DIR__ . "/_prepend.php"; |
|
| 29 | +$autoloader = __DIR__."/_prepend.php"; |
|
| 30 | 30 | |
| 31 | -$targetFile = sys_get_temp_dir() . '/MyClient.php'; |
|
| 31 | +$targetFile = sys_get_temp_dir().'/MyClient.php'; |
|
| 32 | 32 | $generated = file_put_contents($targetFile, |
| 33 | - "<?php\n\n" . |
|
| 34 | - "require_once '$autoloader';\n\n" . |
|
| 33 | + "<?php\n\n". |
|
| 34 | + "require_once '$autoloader';\n\n". |
|
| 35 | 35 | $code['code'] |
| 36 | 36 | ); |
| 37 | 37 | |
@@ -51,8 +51,8 @@ discard block |
||
| 51 | 51 | $client = new MyClient(); |
| 52 | 52 | $sorted = $client->examples_sortByAge(array( |
| 53 | 53 | array('name' => 'Dave', 'age' => 24), |
| 54 | - array('name' => 'Edd', 'age' => 45), |
|
| 55 | - array('name' => 'Joe', 'age' => 37), |
|
| 54 | + array('name' => 'Edd', 'age' => 45), |
|
| 55 | + array('name' => 'Joe', 'age' => 37), |
|
| 56 | 56 | array('name' => 'Fred', 'age' => 27), |
| 57 | 57 | )); |
| 58 | 58 | |
@@ -1,5 +1,5 @@ discard block |
||
| 1 | 1 | <?php |
| 2 | -require_once __DIR__ . "/_prepend.php"; |
|
| 2 | +require_once __DIR__."/_prepend.php"; |
|
| 3 | 3 | |
| 4 | 4 | /** |
| 5 | 5 | * Demoing the code-generation capabilities of the library: create all that is required to expose as xml-rpc methods |
@@ -13,7 +13,7 @@ discard block |
||
| 13 | 13 | use PhpXmlRpc\Wrapper; |
| 14 | 14 | |
| 15 | 15 | // CommentManager is the "xml-rpc-unaware" class, whose methods we want to make accessible via xml-rpc calls |
| 16 | -$cm = new CommentManager(sys_get_temp_dir() . "/comments.db"); |
|
| 16 | +$cm = new CommentManager(sys_get_temp_dir()."/comments.db"); |
|
| 17 | 17 | |
| 18 | 18 | // analyze the CommentManager instance and generate both code defining stub-methods and a dispatch map for the xml-rpc Server |
| 19 | 19 | $w = new Wrapper(); |
@@ -31,40 +31,40 @@ discard block |
||
| 31 | 31 | // and a controller, to be accessed from the internet. This split allows to a) hand-edit the controller code if needed, |
| 32 | 32 | // and b) later regenerate the stub-methods-holder and dispatch map without touching the controller. |
| 33 | 33 | // NB: good security practices dictate that none of those files should be writeable by the webserver user account |
| 34 | -$targetClassFile = sys_get_temp_dir() . '/MyServerClass.php'; |
|
| 35 | -$targetDispatchMapFile = sys_get_temp_dir() . '/myServerDispatchMap.php'; |
|
| 36 | -$targetControllerFile = sys_get_temp_dir() . '/myServerController.php'; |
|
| 34 | +$targetClassFile = sys_get_temp_dir().'/MyServerClass.php'; |
|
| 35 | +$targetDispatchMapFile = sys_get_temp_dir().'/myServerDispatchMap.php'; |
|
| 36 | +$targetControllerFile = sys_get_temp_dir().'/myServerController.php'; |
|
| 37 | 37 | |
| 38 | 38 | // generate a file with a class definition |
| 39 | 39 | |
| 40 | 40 | // the generated code does not have an autoloader included - we need to add in one |
| 41 | -$autoloader = __DIR__ . "/_prepend.php"; |
|
| 41 | +$autoloader = __DIR__."/_prepend.php"; |
|
| 42 | 42 | |
| 43 | 43 | file_put_contents($targetClassFile, |
| 44 | - "<?php\n\n" . |
|
| 45 | - "require_once '$autoloader';\n\n" . |
|
| 44 | + "<?php\n\n". |
|
| 45 | + "require_once '$autoloader';\n\n". |
|
| 46 | 46 | "class MyServerClass\n{\n\n" |
| 47 | 47 | ) || die('uh oh'); |
| 48 | 48 | |
| 49 | 49 | // we mangle a bit the code we get from wrapPhpClass to turn it into a php class definition instead of a bunch of functions |
| 50 | 50 | |
| 51 | -foreach($code as $methodName => $methodDef) { |
|
| 52 | - file_put_contents($targetClassFile, ' ' . str_replace(array('function ', "\n"), array('public static function ', "\n "), $methodDef['source']) . "\n\n", FILE_APPEND) || die('uh oh'); |
|
| 53 | - $code[$methodName]['function'] = 'MyServerClass::' . $methodDef['function']; |
|
| 51 | +foreach ($code as $methodName => $methodDef) { |
|
| 52 | + file_put_contents($targetClassFile, ' '.str_replace(array('function ', "\n"), array('public static function ', "\n "), $methodDef['source'])."\n\n", FILE_APPEND) || die('uh oh'); |
|
| 53 | + $code[$methodName]['function'] = 'MyServerClass::'.$methodDef['function']; |
|
| 54 | 54 | unset($code[$methodName]['source']); |
| 55 | 55 | } |
| 56 | 56 | file_put_contents($targetClassFile, "}\n", FILE_APPEND) || die('uh oh'); |
| 57 | 57 | |
| 58 | 58 | // generate separate files with the xml-rpc server instantiation and its dispatch map |
| 59 | 59 | |
| 60 | -file_put_contents($targetDispatchMapFile, "<?php\n\nreturn " . var_export($code, true) . ";\n"); |
|
| 60 | +file_put_contents($targetDispatchMapFile, "<?php\n\nreturn ".var_export($code, true).";\n"); |
|
| 61 | 61 | |
| 62 | 62 | file_put_contents($targetControllerFile, |
| 63 | - "<?php\n\n" . |
|
| 63 | + "<?php\n\n". |
|
| 64 | 64 | |
| 65 | - "require_once '$autoloader';\n\n" . |
|
| 65 | + "require_once '$autoloader';\n\n". |
|
| 66 | 66 | |
| 67 | - "require_once '$targetClassFile';\n\n" . |
|
| 67 | + "require_once '$targetClassFile';\n\n". |
|
| 68 | 68 | |
| 69 | 69 | // NB: since we are running the generated code within the same script, the existing CommentManager instance will be |
| 70 | 70 | // available for usage by the methods of MyServerClass, as we keep a reference to them within the variable Wrapper::$objHolder |
@@ -74,12 +74,12 @@ discard block |
||
| 74 | 74 | // Wrapper::holdObject('xmlrpc_CommentManager_addComment', $cm); |
| 75 | 75 | // Wrapper::holdObject('xmlrpc_CommentManager_getComments', $cm); |
| 76 | 76 | |
| 77 | - "\$dm = require_once '$targetDispatchMapFile';\n" . |
|
| 78 | - '$s = new \PhpXmlRpc\Server($dm, false);' . "\n\n" . |
|
| 79 | - '// NB: do not leave these 2 debug lines enabled on publicly accessible servers!' . "\n" . |
|
| 80 | - '$s->setOption(\PhpXmlRpc\Server::OPT_DEBUG, 2);' . "\n" . |
|
| 81 | - '$s->setOption(\PhpXmlRpc\Server::OPT_EXCEPTION_HANDLING, 1);' . "\n\n" . |
|
| 82 | - '$s->service();' . "\n" |
|
| 77 | + "\$dm = require_once '$targetDispatchMapFile';\n". |
|
| 78 | + '$s = new \PhpXmlRpc\Server($dm, false);'."\n\n". |
|
| 79 | + '// NB: do not leave these 2 debug lines enabled on publicly accessible servers!'."\n". |
|
| 80 | + '$s->setOption(\PhpXmlRpc\Server::OPT_DEBUG, 2);'."\n". |
|
| 81 | + '$s->setOption(\PhpXmlRpc\Server::OPT_EXCEPTION_HANDLING, 1);'."\n\n". |
|
| 82 | + '$s->service();'."\n" |
|
| 83 | 83 | ) || die('uh oh'); |
| 84 | 84 | |
| 85 | 85 | // test that everything worked by running it in realtime (note that this script will return an xml-rpc error message if |
@@ -8,23 +8,23 @@ |
||
| 8 | 8 | * `$functions_parameters_type` and `$exception_handling` |
| 9 | 9 | */ |
| 10 | 10 | |
| 11 | -require_once __DIR__ . "/_prepend.php"; |
|
| 11 | +require_once __DIR__."/_prepend.php"; |
|
| 12 | 12 | |
| 13 | 13 | require_once __DIR__.'/methodProviders/CommentManager.php'; |
| 14 | 14 | |
| 15 | 15 | use PhpXmlRpc\Server; |
| 16 | 16 | use PhpXmlRpc\Value; |
| 17 | 17 | |
| 18 | -$manager = new CommentManager(sys_get_temp_dir() . "/comments.db"); |
|
| 18 | +$manager = new CommentManager(sys_get_temp_dir()."/comments.db"); |
|
| 19 | 19 | |
| 20 | 20 | $addComment_sig = array(array(Value::$xmlrpcInt, Value::$xmlrpcString, Value::$xmlrpcString, Value::$xmlrpcString)); |
| 21 | 21 | |
| 22 | -$addComment_doc = 'Adds a comment to an item. The first parameter is the item ID, the second the name of the commenter, ' . |
|
| 22 | +$addComment_doc = 'Adds a comment to an item. The first parameter is the item ID, the second the name of the commenter, '. |
|
| 23 | 23 | 'and the third is the comment itself. Returns the number of comments against that ID.'; |
| 24 | 24 | |
| 25 | 25 | $getComments_sig = array(array(Value::$xmlrpcArray, Value::$xmlrpcString)); |
| 26 | 26 | |
| 27 | -$getComments_doc = 'Returns an array of comments for a given ID, which is the sole argument. Each array item is a struct ' . |
|
| 27 | +$getComments_doc = 'Returns an array of comments for a given ID, which is the sole argument. Each array item is a struct '. |
|
| 28 | 28 | 'containing name and comment text.'; |
| 29 | 29 | |
| 30 | 30 | $srv = new Server(); |
@@ -251,7 +251,7 @@ discard block |
||
| 251 | 251 | public function getOptions() |
| 252 | 252 | { |
| 253 | 253 | $values = array(); |
| 254 | - foreach(static::$options as $opt) { |
|
| 254 | + foreach (static::$options as $opt) { |
|
| 255 | 255 | $values[$opt] = $this->getOption($opt); |
| 256 | 256 | } |
| 257 | 257 | return $values; |
@@ -264,7 +264,7 @@ discard block |
||
| 264 | 264 | */ |
| 265 | 265 | public function setOptions($options) |
| 266 | 266 | { |
| 267 | - foreach($options as $name => $value) { |
|
| 267 | + foreach ($options as $name => $value) { |
|
| 268 | 268 | $this->setOption($name, $value); |
| 269 | 269 | } |
| 270 | 270 | |
@@ -302,7 +302,7 @@ discard block |
||
| 302 | 302 | */ |
| 303 | 303 | public static function xmlrpc_debugmsg($msg) |
| 304 | 304 | { |
| 305 | - static::$_xmlrpc_debuginfo .= $msg . "\n"; |
|
| 305 | + static::$_xmlrpc_debuginfo .= $msg."\n"; |
|
| 306 | 306 | } |
| 307 | 307 | |
| 308 | 308 | /** |
@@ -314,7 +314,7 @@ discard block |
||
| 314 | 314 | */ |
| 315 | 315 | public static function error_occurred($msg) |
| 316 | 316 | { |
| 317 | - static::$_xmlrpcs_occurred_errors .= $msg . "\n"; |
|
| 317 | + static::$_xmlrpcs_occurred_errors .= $msg."\n"; |
|
| 318 | 318 | } |
| 319 | 319 | |
| 320 | 320 | /** |
@@ -335,10 +335,10 @@ discard block |
||
| 335 | 335 | // user debug info should be encoded by the end user using the INTERNAL_ENCODING |
| 336 | 336 | $out = ''; |
| 337 | 337 | if ($this->debug_info != '') { |
| 338 | - $out .= "<!-- SERVER DEBUG INFO (BASE64 ENCODED):\n" . base64_encode($this->debug_info) . "\n-->\n"; |
|
| 338 | + $out .= "<!-- SERVER DEBUG INFO (BASE64 ENCODED):\n".base64_encode($this->debug_info)."\n-->\n"; |
|
| 339 | 339 | } |
| 340 | 340 | if (static::$_xmlrpc_debuginfo != '') { |
| 341 | - $out .= "<!-- DEBUG INFO:\n" . $this->getCharsetEncoder()->encodeEntities(str_replace('--', '_-', static::$_xmlrpc_debuginfo), PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding) . "\n-->\n"; |
|
| 341 | + $out .= "<!-- DEBUG INFO:\n".$this->getCharsetEncoder()->encodeEntities(str_replace('--', '_-', static::$_xmlrpc_debuginfo), PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding)."\n-->\n"; |
|
| 342 | 342 | // NB: a better solution MIGHT be to use CDATA, but we need to insert it |
| 343 | 343 | // into return payload AFTER the beginning tag |
| 344 | 344 | //$out .= "<![CDATA[ DEBUG INFO:\n\n" . str_replace(']]>', ']_]_>', static::$_xmlrpc_debuginfo) . "\n]]>\n"; |
@@ -367,8 +367,8 @@ discard block |
||
| 367 | 367 | $this->debug_info = ''; |
| 368 | 368 | |
| 369 | 369 | // Save what we received, before parsing it |
| 370 | - if ($this->debug > 1) { |
|
| 371 | - $this->debugMsg("+++GOT+++\n" . $data . "\n+++END+++"); |
|
| 370 | + if ($this->debug>1) { |
|
| 371 | + $this->debugMsg("+++GOT+++\n".$data."\n+++END+++"); |
|
| 372 | 372 | } |
| 373 | 373 | |
| 374 | 374 | $resp = $this->parseRequestHeaders($data, $reqCharset, $respCharset, $respEncoding); |
@@ -385,13 +385,13 @@ discard block |
||
| 385 | 385 | $resp->raw_data = $rawData; |
| 386 | 386 | } |
| 387 | 387 | |
| 388 | - if ($this->debug > 2 && static::$_xmlrpcs_occurred_errors != '') { |
|
| 389 | - $this->debugMsg("+++PROCESSING ERRORS AND WARNINGS+++\n" . |
|
| 390 | - static::$_xmlrpcs_occurred_errors . "+++END+++"); |
|
| 388 | + if ($this->debug>2 && static::$_xmlrpcs_occurred_errors != '') { |
|
| 389 | + $this->debugMsg("+++PROCESSING ERRORS AND WARNINGS+++\n". |
|
| 390 | + static::$_xmlrpcs_occurred_errors."+++END+++"); |
|
| 391 | 391 | } |
| 392 | 392 | |
| 393 | 393 | $header = $resp->xml_header($respCharset); |
| 394 | - if ($this->debug > 0) { |
|
| 394 | + if ($this->debug>0) { |
|
| 395 | 395 | $header .= $this->serializeDebug($respCharset); |
| 396 | 396 | } |
| 397 | 397 | |
@@ -402,7 +402,7 @@ discard block |
||
| 402 | 402 | if (empty($payload)) { |
| 403 | 403 | $payload = $resp->serialize($respCharset); |
| 404 | 404 | } |
| 405 | - $payload = $header . $payload; |
|
| 405 | + $payload = $header.$payload; |
|
| 406 | 406 | |
| 407 | 407 | if ($returnPayload) { |
| 408 | 408 | return $payload; |
@@ -411,7 +411,7 @@ discard block |
||
| 411 | 411 | // if we get a warning/error that has output some text before here, then we cannot |
| 412 | 412 | // add a new header. We cannot say we are sending xml, either... |
| 413 | 413 | if (!headers_sent()) { |
| 414 | - header('Content-Type: ' . $resp->getContentType()); |
|
| 414 | + header('Content-Type: '.$resp->getContentType()); |
|
| 415 | 415 | // we do not know if client actually told us an accepted charset, but if it did we have to tell it what we did |
| 416 | 416 | header("Vary: Accept-Charset"); |
| 417 | 417 | |
@@ -434,12 +434,12 @@ discard block |
||
| 434 | 434 | // Note that Apache/mod_php will add (and even alter!) the Content-Length header on its own, but only for |
| 435 | 435 | // responses up to 8000 bytes |
| 436 | 436 | if ($phpNoSelfCompress) { |
| 437 | - header('Content-Length: ' . (int)strlen($payload)); |
|
| 437 | + header('Content-Length: '.(int) strlen($payload)); |
|
| 438 | 438 | } |
| 439 | 439 | } else { |
| 440 | 440 | /// @todo allow the user to easily subclass this in a way which allows the resp. headers to be already sent |
| 441 | 441 | /// by now without flagging it as an error. Possibly check for presence of Content-Type header |
| 442 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': http headers already sent before response is fully generated. Check for php warning or error messages'); |
|
| 442 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': http headers already sent before response is fully generated. Check for php warning or error messages'); |
|
| 443 | 443 | } |
| 444 | 444 | |
| 445 | 445 | print $payload; |
@@ -528,9 +528,9 @@ discard block |
||
| 528 | 528 | $numParams = count($in); |
| 529 | 529 | } |
| 530 | 530 | foreach ($sigs as $curSig) { |
| 531 | - if (count($curSig) == $numParams + 1) { |
|
| 531 | + if (count($curSig) == $numParams+1) { |
|
| 532 | 532 | $itsOK = 1; |
| 533 | - for ($n = 0; $n < $numParams; $n++) { |
|
| 533 | + for ($n = 0; $n<$numParams; $n++) { |
|
| 534 | 534 | if (is_object($in)) { |
| 535 | 535 | $p = $in->getParam($n); |
| 536 | 536 | if ($p->kindOf() == 'scalar') { |
@@ -543,10 +543,10 @@ discard block |
||
| 543 | 543 | } |
| 544 | 544 | |
| 545 | 545 | // param index is $n+1, as first member of sig is return type |
| 546 | - if ($pt != $curSig[$n + 1] && $curSig[$n + 1] != Value::$xmlrpcValue) { |
|
| 546 | + if ($pt != $curSig[$n+1] && $curSig[$n+1] != Value::$xmlrpcValue) { |
|
| 547 | 547 | $itsOK = 0; |
| 548 | - $pno = $n + 1; |
|
| 549 | - $wanted = $curSig[$n + 1]; |
|
| 548 | + $pno = $n+1; |
|
| 549 | + $wanted = $curSig[$n+1]; |
|
| 550 | 550 | $got = $pt; |
| 551 | 551 | break; |
| 552 | 552 | } |
@@ -573,10 +573,10 @@ discard block |
||
| 573 | 573 | // check if $_SERVER is populated: it might have been disabled via ini file |
| 574 | 574 | // (this is true even when in CLI mode) |
| 575 | 575 | if (count($_SERVER) == 0) { |
| 576 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': cannot parse request headers as $_SERVER is not populated'); |
|
| 576 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': cannot parse request headers as $_SERVER is not populated'); |
|
| 577 | 577 | } |
| 578 | 578 | |
| 579 | - if ($this->debug > 1) { |
|
| 579 | + if ($this->debug>1) { |
|
| 580 | 580 | if (function_exists('getallheaders')) { |
| 581 | 581 | $this->debugMsg(''); // empty line |
| 582 | 582 | foreach (getallheaders() as $name => $val) { |
@@ -601,13 +601,13 @@ discard block |
||
| 601 | 601 | if (function_exists('gzinflate') && in_array($contentEncoding, $this->accepted_compression)) { |
| 602 | 602 | if ($contentEncoding == 'deflate' && $degzdata = @gzuncompress($data)) { |
| 603 | 603 | $data = $degzdata; |
| 604 | - if ($this->debug > 1) { |
|
| 605 | - $this->debugMsg("\n+++INFLATED REQUEST+++[" . strlen($data) . " chars]+++\n" . $data . "\n+++END+++"); |
|
| 604 | + if ($this->debug>1) { |
|
| 605 | + $this->debugMsg("\n+++INFLATED REQUEST+++[".strlen($data)." chars]+++\n".$data."\n+++END+++"); |
|
| 606 | 606 | } |
| 607 | 607 | } elseif ($contentEncoding == 'gzip' && $degzdata = @gzinflate(substr($data, 10))) { |
| 608 | 608 | $data = $degzdata; |
| 609 | - if ($this->debug > 1) { |
|
| 610 | - $this->debugMsg("+++INFLATED REQUEST+++[" . strlen($data) . " chars]+++\n" . $data . "\n+++END+++"); |
|
| 609 | + if ($this->debug>1) { |
|
| 610 | + $this->debugMsg("+++INFLATED REQUEST+++[".strlen($data)." chars]+++\n".$data."\n+++END+++"); |
|
| 611 | 611 | } |
| 612 | 612 | } else { |
| 613 | 613 | $r = new static::$responseClass(0, PhpXmlRpc::$xmlrpcerr['server_decompress_fail'], |
@@ -695,7 +695,7 @@ discard block |
||
| 695 | 695 | if ($reqEncoding == 'ISO-8859-1') { |
| 696 | 696 | $data = utf8_encode($data); |
| 697 | 697 | } else { |
| 698 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': unsupported charset encoding of received request: ' . $reqEncoding); |
|
| 698 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': unsupported charset encoding of received request: '.$reqEncoding); |
|
| 699 | 699 | } |
| 700 | 700 | } |
| 701 | 701 | } |
@@ -729,7 +729,7 @@ discard block |
||
| 729 | 729 | preg_match('/^XML error ([0-9]+)/', $_xh['isf_reason'], $matches); |
| 730 | 730 | return new static::$responseClass( |
| 731 | 731 | 0, |
| 732 | - PhpXmlRpc::$xmlrpcerrxml + (int)$matches[1], |
|
| 732 | + PhpXmlRpc::$xmlrpcerrxml+(int) $matches[1], |
|
| 733 | 733 | $_xh['isf_reason']); |
| 734 | 734 | } elseif ($_xh['isf']) { |
| 735 | 735 | /// @todo separate better the various cases, as we have done in Request::parseResponse: invalid xml-rpc vs. |
@@ -737,7 +737,7 @@ discard block |
||
| 737 | 737 | return new static::$responseClass( |
| 738 | 738 | 0, |
| 739 | 739 | PhpXmlRpc::$xmlrpcerr['invalid_request'], |
| 740 | - PhpXmlRpc::$xmlrpcstr['invalid_request'] . ' ' . $_xh['isf_reason']); |
|
| 740 | + PhpXmlRpc::$xmlrpcstr['invalid_request'].' '.$_xh['isf_reason']); |
|
| 741 | 741 | } else { |
| 742 | 742 | // small layering violation in favor of speed and memory usage: we should allow the 'execute' method handle |
| 743 | 743 | // this, but in the most common scenario (xml-rpc values type server with some methods registered as phpvals) |
@@ -747,8 +747,8 @@ discard block |
||
| 747 | 747 | ($this->dmap[$_xh['method']]['parameters_type'] != 'xmlrpcvals') |
| 748 | 748 | ) |
| 749 | 749 | ) { |
| 750 | - if ($this->debug > 1) { |
|
| 751 | - $this->debugMsg("\n+++PARSED+++\n" . var_export($_xh['params'], true) . "\n+++END+++"); |
|
| 750 | + if ($this->debug>1) { |
|
| 751 | + $this->debugMsg("\n+++PARSED+++\n".var_export($_xh['params'], true)."\n+++END+++"); |
|
| 752 | 752 | } |
| 753 | 753 | |
| 754 | 754 | return $this->execute($_xh['method'], $_xh['params'], $_xh['pt']); |
@@ -756,12 +756,12 @@ discard block |
||
| 756 | 756 | // build a Request object with data parsed from xml and add parameters in |
| 757 | 757 | $req = new Request($_xh['method']); |
| 758 | 758 | /// @todo for more speed, we could just pass in the array to the constructor (and loose the type validation)... |
| 759 | - for ($i = 0; $i < count($_xh['params']); $i++) { |
|
| 759 | + for ($i = 0; $i<count($_xh['params']); $i++) { |
|
| 760 | 760 | $req->addParam($_xh['params'][$i]); |
| 761 | 761 | } |
| 762 | 762 | |
| 763 | - if ($this->debug > 1) { |
|
| 764 | - $this->debugMsg("\n+++PARSED+++\n" . var_export($req, true) . "\n+++END+++"); |
|
| 763 | + if ($this->debug>1) { |
|
| 764 | + $this->debugMsg("\n+++PARSED+++\n".var_export($req, true)."\n+++END+++"); |
|
| 765 | 765 | } |
| 766 | 766 | |
| 767 | 767 | return $this->execute($req); |
@@ -811,7 +811,7 @@ discard block |
||
| 811 | 811 | return new static::$responseClass( |
| 812 | 812 | 0, |
| 813 | 813 | PhpXmlRpc::$xmlrpcerr['incorrect_params'], |
| 814 | - PhpXmlRpc::$xmlrpcstr['incorrect_params'] . ": {$errStr}" |
|
| 814 | + PhpXmlRpc::$xmlrpcstr['incorrect_params'].": {$errStr}" |
|
| 815 | 815 | ); |
| 816 | 816 | } |
| 817 | 817 | } |
@@ -826,7 +826,7 @@ discard block |
||
| 826 | 826 | // build string representation of function 'name' |
| 827 | 827 | if (is_array($func)) { |
| 828 | 828 | if (is_object($func[0])) { |
| 829 | - $funcName = get_class($func[0]) . '->' . $func[1]; |
|
| 829 | + $funcName = get_class($func[0]).'->'.$func[1]; |
|
| 830 | 830 | } else { |
| 831 | 831 | $funcName = implode('::', $func); |
| 832 | 832 | } |
@@ -838,16 +838,16 @@ discard block |
||
| 838 | 838 | |
| 839 | 839 | // verify that function to be invoked is in fact callable |
| 840 | 840 | if (!is_callable($func)) { |
| 841 | - $this->getLogger()->error("XML-RPC: " . __METHOD__ . ": function '$funcName' registered as method handler is not callable"); |
|
| 841 | + $this->getLogger()->error("XML-RPC: ".__METHOD__.": function '$funcName' registered as method handler is not callable"); |
|
| 842 | 842 | return new static::$responseClass( |
| 843 | 843 | 0, |
| 844 | 844 | PhpXmlRpc::$xmlrpcerr['server_error'], |
| 845 | - PhpXmlRpc::$xmlrpcstr['server_error'] . ": no function matches method" |
|
| 845 | + PhpXmlRpc::$xmlrpcstr['server_error'].": no function matches method" |
|
| 846 | 846 | ); |
| 847 | 847 | } |
| 848 | 848 | |
| 849 | 849 | if (isset($dmap[$methodName]['exception_handling'])) { |
| 850 | - $exception_handling = (int)$dmap[$methodName]['exception_handling']; |
|
| 850 | + $exception_handling = (int) $dmap[$methodName]['exception_handling']; |
|
| 851 | 851 | } else { |
| 852 | 852 | $exception_handling = $this->exception_handling; |
| 853 | 853 | } |
@@ -868,14 +868,14 @@ discard block |
||
| 868 | 868 | $r = call_user_func($func, $req); |
| 869 | 869 | } |
| 870 | 870 | if (!is_a($r, 'PhpXmlRpc\Response')) { |
| 871 | - $this->getLogger()->error("XML-RPC: " . __METHOD__ . ": function '$funcName' registered as method handler does not return an xmlrpc response object but a " . gettype($r)); |
|
| 871 | + $this->getLogger()->error("XML-RPC: ".__METHOD__.": function '$funcName' registered as method handler does not return an xmlrpc response object but a ".gettype($r)); |
|
| 872 | 872 | if (is_a($r, 'PhpXmlRpc\Value')) { |
| 873 | 873 | $r = new static::$responseClass($r); |
| 874 | 874 | } else { |
| 875 | 875 | $r = new static::$responseClass( |
| 876 | 876 | 0, |
| 877 | 877 | PhpXmlRpc::$xmlrpcerr['server_error'], |
| 878 | - PhpXmlRpc::$xmlrpcstr['server_error'] . ": function does not return xmlrpc response object" |
|
| 878 | + PhpXmlRpc::$xmlrpcstr['server_error'].": function does not return xmlrpc response object" |
|
| 879 | 879 | ); |
| 880 | 880 | } |
| 881 | 881 | } |
@@ -890,7 +890,7 @@ discard block |
||
| 890 | 890 | $r = call_user_func_array($func, array($methodName, $params, $this->user_data)); |
| 891 | 891 | // mimic EPI behaviour: if we get an array that looks like an error, make it an error response |
| 892 | 892 | if (is_array($r) && array_key_exists('faultCode', $r) && array_key_exists('faultString', $r)) { |
| 893 | - $r = new static::$responseClass(0, (int)$r['faultCode'], (string)$r['faultString']); |
|
| 893 | + $r = new static::$responseClass(0, (int) $r['faultCode'], (string) $r['faultString']); |
|
| 894 | 894 | } else { |
| 895 | 895 | // functions using EPI api should NOT return resp objects, so make sure we encode the |
| 896 | 896 | // return type correctly |
@@ -1021,7 +1021,7 @@ discard block |
||
| 1021 | 1021 | */ |
| 1022 | 1022 | protected function debugMsg($string) |
| 1023 | 1023 | { |
| 1024 | - $this->debug_info .= $string . "\n"; |
|
| 1024 | + $this->debug_info .= $string."\n"; |
|
| 1025 | 1025 | } |
| 1026 | 1026 | |
| 1027 | 1027 | /** |
@@ -1313,7 +1313,7 @@ discard block |
||
| 1313 | 1313 | $i++; // for error message, we count params from 1 |
| 1314 | 1314 | return static::_xmlrpcs_multicall_error(new static::$responseClass(0, |
| 1315 | 1315 | PhpXmlRpc::$xmlrpcerr['incorrect_params'], |
| 1316 | - PhpXmlRpc::$xmlrpcstr['incorrect_params'] . ": probable xml error in param " . $i)); |
|
| 1316 | + PhpXmlRpc::$xmlrpcstr['incorrect_params'].": probable xml error in param ".$i)); |
|
| 1317 | 1317 | } |
| 1318 | 1318 | } |
| 1319 | 1319 | |
@@ -1394,7 +1394,7 @@ discard block |
||
| 1394 | 1394 | } |
| 1395 | 1395 | } else { |
| 1396 | 1396 | $numCalls = count($req); |
| 1397 | - for ($i = 0; $i < $numCalls; $i++) { |
|
| 1397 | + for ($i = 0; $i<$numCalls; $i++) { |
|
| 1398 | 1398 | $result[$i] = static::_xmlrpcs_multicall_do_call_phpvals($server, $req[$i]); |
| 1399 | 1399 | } |
| 1400 | 1400 | } |
@@ -1422,7 +1422,7 @@ discard block |
||
| 1422 | 1422 | // From PHP 8.4 the E_STRICT constant has been deprecated and will emit deprecation notices. |
| 1423 | 1423 | // PHP core and core extensions since PHP 8.0 and later do not emit E_STRICT notices at all. |
| 1424 | 1424 | // On PHP 7 series before PHP 7.4, some functions conditionally emit E_STRICT notices. |
| 1425 | - if (PHP_VERSION_ID >= 70400) { |
|
| 1425 | + if (PHP_VERSION_ID>=70400) { |
|
| 1426 | 1426 | static::error_occurred($errString); |
| 1427 | 1427 | } elseif ($errCode != E_STRICT) { |
| 1428 | 1428 | static::error_occurred($errString); |
@@ -1463,12 +1463,12 @@ discard block |
||
| 1463 | 1463 | */ |
| 1464 | 1464 | protected function xml_header($charsetEncoding = '') |
| 1465 | 1465 | { |
| 1466 | - $this->logDeprecation('Method ' . __METHOD__ . ' is deprecated'); |
|
| 1466 | + $this->logDeprecation('Method '.__METHOD__.' is deprecated'); |
|
| 1467 | 1467 | |
| 1468 | 1468 | if ($charsetEncoding != '') { |
| 1469 | - return "<?xml version=\"1.0\" encoding=\"$charsetEncoding\"?" . ">\n"; |
|
| 1469 | + return "<?xml version=\"1.0\" encoding=\"$charsetEncoding\"?".">\n"; |
|
| 1470 | 1470 | } else { |
| 1471 | - return "<?xml version=\"1.0\"?" . ">\n"; |
|
| 1471 | + return "<?xml version=\"1.0\"?".">\n"; |
|
| 1472 | 1472 | } |
| 1473 | 1473 | } |
| 1474 | 1474 | |
@@ -1484,7 +1484,7 @@ discard block |
||
| 1484 | 1484 | case self::OPT_FUNCTIONS_PARAMETERS_TYPE: |
| 1485 | 1485 | case self::OPT_PHPVALS_ENCODING_OPTIONS: |
| 1486 | 1486 | case self::OPT_RESPONSE_CHARSET_ENCODING: |
| 1487 | - $this->logDeprecation('Getting property Request::' . $name . ' is deprecated'); |
|
| 1487 | + $this->logDeprecation('Getting property Request::'.$name.' is deprecated'); |
|
| 1488 | 1488 | return $this->$name; |
| 1489 | 1489 | case 'accepted_charset_encodings': |
| 1490 | 1490 | // manually implement the 'protected property' behaviour |
@@ -1496,16 +1496,16 @@ discard block |
||
| 1496 | 1496 | } |
| 1497 | 1497 | } |
| 1498 | 1498 | if ($canAccess) { |
| 1499 | - $this->logDeprecation('Getting property Request::' . $name . ' is deprecated'); |
|
| 1499 | + $this->logDeprecation('Getting property Request::'.$name.' is deprecated'); |
|
| 1500 | 1500 | return $this->accepted_compression; |
| 1501 | 1501 | } else { |
| 1502 | - trigger_error("Cannot access protected property Server::accepted_charset_encodings in " . __FILE__, E_USER_ERROR); |
|
| 1502 | + trigger_error("Cannot access protected property Server::accepted_charset_encodings in ".__FILE__, E_USER_ERROR); |
|
| 1503 | 1503 | } |
| 1504 | 1504 | break; |
| 1505 | 1505 | default: |
| 1506 | 1506 | /// @todo throw instead? There are very few other places where the lib trigger errors which can potentially reach stdout... |
| 1507 | 1507 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); |
| 1508 | - trigger_error('Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
| 1508 | + trigger_error('Undefined property via __get(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
| 1509 | 1509 | $result = null; |
| 1510 | 1510 | return $result; |
| 1511 | 1511 | } |
@@ -1522,7 +1522,7 @@ discard block |
||
| 1522 | 1522 | case self::OPT_FUNCTIONS_PARAMETERS_TYPE: |
| 1523 | 1523 | case self::OPT_PHPVALS_ENCODING_OPTIONS: |
| 1524 | 1524 | case self::OPT_RESPONSE_CHARSET_ENCODING: |
| 1525 | - $this->logDeprecation('Setting property Request::' . $name . ' is deprecated'); |
|
| 1525 | + $this->logDeprecation('Setting property Request::'.$name.' is deprecated'); |
|
| 1526 | 1526 | $this->$name = $value; |
| 1527 | 1527 | break; |
| 1528 | 1528 | case 'accepted_charset_encodings': |
@@ -1535,16 +1535,16 @@ discard block |
||
| 1535 | 1535 | } |
| 1536 | 1536 | } |
| 1537 | 1537 | if ($canAccess) { |
| 1538 | - $this->logDeprecation('Setting property Request::' . $name . ' is deprecated'); |
|
| 1538 | + $this->logDeprecation('Setting property Request::'.$name.' is deprecated'); |
|
| 1539 | 1539 | $this->accepted_compression = $value; |
| 1540 | 1540 | } else { |
| 1541 | - trigger_error("Cannot access protected property Server::accepted_charset_encodings in " . __FILE__, E_USER_ERROR); |
|
| 1541 | + trigger_error("Cannot access protected property Server::accepted_charset_encodings in ".__FILE__, E_USER_ERROR); |
|
| 1542 | 1542 | } |
| 1543 | 1543 | break; |
| 1544 | 1544 | default: |
| 1545 | 1545 | /// @todo throw instead? There are very few other places where the lib trigger errors which can potentially reach stdout... |
| 1546 | 1546 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); |
| 1547 | - trigger_error('Undefined property via __set(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
| 1547 | + trigger_error('Undefined property via __set(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
| 1548 | 1548 | } |
| 1549 | 1549 | } |
| 1550 | 1550 | |
@@ -1559,7 +1559,7 @@ discard block |
||
| 1559 | 1559 | case self::OPT_FUNCTIONS_PARAMETERS_TYPE: |
| 1560 | 1560 | case self::OPT_PHPVALS_ENCODING_OPTIONS: |
| 1561 | 1561 | case self::OPT_RESPONSE_CHARSET_ENCODING: |
| 1562 | - $this->logDeprecation('Checking property Request::' . $name . ' is deprecated'); |
|
| 1562 | + $this->logDeprecation('Checking property Request::'.$name.' is deprecated'); |
|
| 1563 | 1563 | return isset($this->$name); |
| 1564 | 1564 | case 'accepted_charset_encodings': |
| 1565 | 1565 | // manually implement the 'protected property' behaviour |
@@ -1571,7 +1571,7 @@ discard block |
||
| 1571 | 1571 | } |
| 1572 | 1572 | } |
| 1573 | 1573 | if ($canAccess) { |
| 1574 | - $this->logDeprecation('Checking property Request::' . $name . ' is deprecated'); |
|
| 1574 | + $this->logDeprecation('Checking property Request::'.$name.' is deprecated'); |
|
| 1575 | 1575 | return isset($this->accepted_compression); |
| 1576 | 1576 | } |
| 1577 | 1577 | // break through voluntarily |
@@ -1591,7 +1591,7 @@ discard block |
||
| 1591 | 1591 | case self::OPT_FUNCTIONS_PARAMETERS_TYPE: |
| 1592 | 1592 | case self::OPT_PHPVALS_ENCODING_OPTIONS: |
| 1593 | 1593 | case self::OPT_RESPONSE_CHARSET_ENCODING: |
| 1594 | - $this->logDeprecation('Unsetting property Request::' . $name . ' is deprecated'); |
|
| 1594 | + $this->logDeprecation('Unsetting property Request::'.$name.' is deprecated'); |
|
| 1595 | 1595 | unset($this->$name); |
| 1596 | 1596 | break; |
| 1597 | 1597 | case 'accepted_charset_encodings': |
@@ -1604,16 +1604,16 @@ discard block |
||
| 1604 | 1604 | } |
| 1605 | 1605 | } |
| 1606 | 1606 | if ($canAccess) { |
| 1607 | - $this->logDeprecation('Unsetting property Request::' . $name . ' is deprecated'); |
|
| 1607 | + $this->logDeprecation('Unsetting property Request::'.$name.' is deprecated'); |
|
| 1608 | 1608 | unset($this->accepted_compression); |
| 1609 | 1609 | } else { |
| 1610 | - trigger_error("Cannot access protected property Server::accepted_charset_encodings in " . __FILE__, E_USER_ERROR); |
|
| 1610 | + trigger_error("Cannot access protected property Server::accepted_charset_encodings in ".__FILE__, E_USER_ERROR); |
|
| 1611 | 1611 | } |
| 1612 | 1612 | break; |
| 1613 | 1613 | default: |
| 1614 | 1614 | /// @todo throw instead? There are very few other places where the lib trigger errors which can potentially reach stdout... |
| 1615 | 1615 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); |
| 1616 | - trigger_error('Undefined property via __unset(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
| 1616 | + trigger_error('Undefined property via __unset(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
| 1617 | 1617 | } |
| 1618 | 1618 | } |
| 1619 | 1619 | } |