@@ -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(); |
@@ -304,8 +304,7 @@ discard block |
||
304 | 304 | if (!function_exists('curl_init')) |
305 | 305 | { |
306 | 306 | $this->markTestSkipped('CURL missing: cannot test https functionality'); |
307 | - } |
|
308 | - else if ($this->args['HTTPSSERVER'] == '') |
|
307 | + } else if ($this->args['HTTPSSERVER'] == '') |
|
309 | 308 | { |
310 | 309 | $this->markTestSkipped('HTTPS SERVER definition missing: cannot test https'); |
311 | 310 | } |
@@ -480,8 +479,7 @@ discard block |
||
480 | 479 | if (!function_exists('curl_init')) |
481 | 480 | { |
482 | 481 | $this->markTestSkipped('CURL missing: cannot test http 1.1 w. proxy'); |
483 | - } |
|
484 | - else if ($this->args['PROXYSERVER'] == '') |
|
482 | + } else if ($this->args['PROXYSERVER'] == '') |
|
485 | 483 | { |
486 | 484 | $this->markTestSkipped('PROXYSERVER definition missing: cannot test proxy w. http 1.1'); |
487 | 485 | } |
@@ -505,12 +503,10 @@ discard block |
||
505 | 503 | if (!function_exists('curl_init')) |
506 | 504 | { |
507 | 505 | $this->markTestSkipped('CURL missing: cannot test https w. proxy'); |
508 | - } |
|
509 | - else if ($this->args['PROXYSERVER'] == '') |
|
506 | + } else if ($this->args['PROXYSERVER'] == '') |
|
510 | 507 | { |
511 | 508 | $this->markTestSkipped('PROXYSERVER definition missing: cannot test proxy w. https'); |
512 | - } |
|
513 | - else if ($this->args['HTTPSSERVER'] == '') |
|
509 | + } else if ($this->args['HTTPSSERVER'] == '') |
|
514 | 510 | { |
515 | 511 | $this->markTestSkipped('HTTPS SERVER definition missing: cannot test https w. proxy'); |
516 | 512 | } |
@@ -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); |
@@ -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(); |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | $this->me['struct'] = $val; |
99 | 99 | break; |
100 | 100 | default: |
101 | - $this->getLogger()->error("XML-RPC: " . __METHOD__ . ": not a known type ($type)"); |
|
101 | + $this->getLogger()->error("XML-RPC: ".__METHOD__.": not a known type ($type)"); |
|
102 | 102 | } |
103 | 103 | } |
104 | 104 | } |
@@ -128,7 +128,7 @@ discard block |
||
128 | 128 | } |
129 | 129 | |
130 | 130 | if ($typeOf !== 1) { |
131 | - $this->getLogger()->error("XML-RPC: " . __METHOD__ . ": not a scalar type ($type)"); |
|
131 | + $this->getLogger()->error("XML-RPC: ".__METHOD__.": not a scalar type ($type)"); |
|
132 | 132 | return 0; |
133 | 133 | } |
134 | 134 | |
@@ -145,10 +145,10 @@ discard block |
||
145 | 145 | |
146 | 146 | switch ($this->mytype) { |
147 | 147 | case 1: |
148 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': scalar xmlrpc value can have only one value'); |
|
148 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': scalar xmlrpc value can have only one value'); |
|
149 | 149 | return 0; |
150 | 150 | case 3: |
151 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': cannot add anonymous scalar to struct xmlrpc value'); |
|
151 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': cannot add anonymous scalar to struct xmlrpc value'); |
|
152 | 152 | return 0; |
153 | 153 | case 2: |
154 | 154 | // we're adding a scalar value to an array here |
@@ -192,7 +192,7 @@ discard block |
||
192 | 192 | |
193 | 193 | return 1; |
194 | 194 | } else { |
195 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': already initialized as a [' . $this->kindOf() . ']'); |
|
195 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': already initialized as a ['.$this->kindOf().']'); |
|
196 | 196 | return 0; |
197 | 197 | } |
198 | 198 | } |
@@ -223,7 +223,7 @@ discard block |
||
223 | 223 | |
224 | 224 | return 1; |
225 | 225 | } else { |
226 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': already initialized as a [' . $this->kindOf() . ']'); |
|
226 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': already initialized as a ['.$this->kindOf().']'); |
|
227 | 227 | return 0; |
228 | 228 | } |
229 | 229 | } |
@@ -288,7 +288,7 @@ discard block |
||
288 | 288 | $val = reset($this->me); |
289 | 289 | $typ = key($this->me); |
290 | 290 | |
291 | - return '<value>' . $this->serializeData($typ, $val, $charsetEncoding) . "</value>\n"; |
|
291 | + return '<value>'.$this->serializeData($typ, $val, $charsetEncoding)."</value>\n"; |
|
292 | 292 | } |
293 | 293 | |
294 | 294 | /** |
@@ -303,7 +303,7 @@ discard block |
||
303 | 303 | { |
304 | 304 | $this->logDeprecationUnlessCalledBy('serialize'); |
305 | 305 | |
306 | - if (!isset(static::$xmlrpcTypes[(string)$typ])) { |
|
306 | + if (!isset(static::$xmlrpcTypes[(string) $typ])) { |
|
307 | 307 | return ''; |
308 | 308 | } |
309 | 309 | |
@@ -311,19 +311,19 @@ discard block |
||
311 | 311 | case 1: |
312 | 312 | switch ($typ) { |
313 | 313 | case static::$xmlrpcBase64: |
314 | - $rs = "<{$typ}>" . base64_encode($val) . "</{$typ}>"; |
|
314 | + $rs = "<{$typ}>".base64_encode($val)."</{$typ}>"; |
|
315 | 315 | break; |
316 | 316 | case static::$xmlrpcBoolean: |
317 | - $rs = "<{$typ}>" . ($val ? '1' : '0') . "</{$typ}>"; |
|
317 | + $rs = "<{$typ}>".($val ? '1' : '0')."</{$typ}>"; |
|
318 | 318 | break; |
319 | 319 | case static::$xmlrpcString: |
320 | 320 | // Do NOT use htmlentities, since it will produce named html entities, which are invalid xml |
321 | - $rs = "<{$typ}>" . $this->getCharsetEncoder()->encodeEntities($val, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding) . "</{$typ}>"; |
|
321 | + $rs = "<{$typ}>".$this->getCharsetEncoder()->encodeEntities($val, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding)."</{$typ}>"; |
|
322 | 322 | break; |
323 | 323 | case static::$xmlrpcInt: |
324 | 324 | case static::$xmlrpcI4: |
325 | 325 | case static::$xmlrpcI8: |
326 | - $rs = "<{$typ}>" . (int)$val . "</{$typ}>"; |
|
326 | + $rs = "<{$typ}>".(int) $val."</{$typ}>"; |
|
327 | 327 | break; |
328 | 328 | case static::$xmlrpcDouble: |
329 | 329 | // avoid using standard conversion of float to string because it is locale-dependent, |
@@ -331,16 +331,16 @@ discard block |
||
331 | 331 | // sprintf('%F') could be most likely ok, but it fails e.g. on 2e-14. |
332 | 332 | // The code below tries its best at keeping max precision while avoiding exp notation, |
333 | 333 | // but there is of course no limit in the number of decimal places to be used... |
334 | - $rs = "<{$typ}>" . preg_replace('/\\.?0+$/', '', number_format((float)$val, PhpXmlRpc::$xmlpc_double_precision, '.', '')) . "</{$typ}>"; |
|
334 | + $rs = "<{$typ}>".preg_replace('/\\.?0+$/', '', number_format((float) $val, PhpXmlRpc::$xmlpc_double_precision, '.', ''))."</{$typ}>"; |
|
335 | 335 | break; |
336 | 336 | case static::$xmlrpcDateTime: |
337 | 337 | if (is_string($val)) { |
338 | 338 | $rs = "<{$typ}>{$val}</{$typ}>"; |
339 | 339 | // DateTimeInterface is not present in php 5.4... |
340 | 340 | } elseif (is_a($val, 'DateTimeInterface') || is_a($val, 'DateTime')) { |
341 | - $rs = "<{$typ}>" . $val->format('Ymd\TH:i:s') . "</{$typ}>"; |
|
341 | + $rs = "<{$typ}>".$val->format('Ymd\TH:i:s')."</{$typ}>"; |
|
342 | 342 | } elseif (is_int($val)) { |
343 | - $rs = "<{$typ}>" . date('Ymd\TH:i:s', $val) . "</{$typ}>"; |
|
343 | + $rs = "<{$typ}>".date('Ymd\TH:i:s', $val)."</{$typ}>"; |
|
344 | 344 | } else { |
345 | 345 | // not really a good idea here: but what should we output anyway? left for backward compat... |
346 | 346 | $rs = "<{$typ}>{$val}</{$typ}>"; |
@@ -362,14 +362,14 @@ discard block |
||
362 | 362 | case 3: |
363 | 363 | // struct |
364 | 364 | if ($this->_php_class) { |
365 | - $rs = '<struct php_class="' . $this->_php_class . "\">\n"; |
|
365 | + $rs = '<struct php_class="'.$this->_php_class."\">\n"; |
|
366 | 366 | } else { |
367 | 367 | $rs = "<struct>\n"; |
368 | 368 | } |
369 | 369 | $charsetEncoder = $this->getCharsetEncoder(); |
370 | 370 | /** @var Value $val2 */ |
371 | 371 | foreach ($val as $key2 => $val2) { |
372 | - $rs .= '<member><name>' . $charsetEncoder->encodeEntities($key2, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding) . "</name>\n"; |
|
372 | + $rs .= '<member><name>'.$charsetEncoder->encodeEntities($key2, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding)."</name>\n"; |
|
373 | 373 | $rs .= $val2->serialize($charsetEncoding); |
374 | 374 | $rs .= "</member>\n"; |
375 | 375 | } |
@@ -581,7 +581,7 @@ discard block |
||
581 | 581 | */ |
582 | 582 | public function structMemExists($key) |
583 | 583 | { |
584 | - $this->logDeprecation('Method ' . __METHOD__ . ' is deprecated'); |
|
584 | + $this->logDeprecation('Method '.__METHOD__.' is deprecated'); |
|
585 | 585 | |
586 | 586 | return array_key_exists($key, $this->me['struct']); |
587 | 587 | } |
@@ -597,7 +597,7 @@ discard block |
||
597 | 597 | */ |
598 | 598 | public function structMem($key) |
599 | 599 | { |
600 | - $this->logDeprecation('Method ' . __METHOD__ . ' is deprecated'); |
|
600 | + $this->logDeprecation('Method '.__METHOD__.' is deprecated'); |
|
601 | 601 | |
602 | 602 | return $this->me['struct'][$key]; |
603 | 603 | } |
@@ -610,7 +610,7 @@ discard block |
||
610 | 610 | */ |
611 | 611 | public function structReset() |
612 | 612 | { |
613 | - $this->logDeprecation('Method ' . __METHOD__ . ' is deprecated'); |
|
613 | + $this->logDeprecation('Method '.__METHOD__.' is deprecated'); |
|
614 | 614 | |
615 | 615 | reset($this->me['struct']); |
616 | 616 | } |
@@ -624,7 +624,7 @@ discard block |
||
624 | 624 | */ |
625 | 625 | public function structEach() |
626 | 626 | { |
627 | - $this->logDeprecation('Method ' . __METHOD__ . ' is deprecated'); |
|
627 | + $this->logDeprecation('Method '.__METHOD__.' is deprecated'); |
|
628 | 628 | |
629 | 629 | $key = key($this->me['struct']); |
630 | 630 | $value = current($this->me['struct']); |
@@ -643,7 +643,7 @@ discard block |
||
643 | 643 | */ |
644 | 644 | public function arrayMem($key) |
645 | 645 | { |
646 | - $this->logDeprecation('Method ' . __METHOD__ . ' is deprecated'); |
|
646 | + $this->logDeprecation('Method '.__METHOD__.' is deprecated'); |
|
647 | 647 | |
648 | 648 | return $this->me['array'][$key]; |
649 | 649 | } |
@@ -657,7 +657,7 @@ discard block |
||
657 | 657 | */ |
658 | 658 | public function arraySize() |
659 | 659 | { |
660 | - $this->logDeprecation('Method ' . __METHOD__ . ' is deprecated'); |
|
660 | + $this->logDeprecation('Method '.__METHOD__.' is deprecated'); |
|
661 | 661 | |
662 | 662 | return count($this->me['array']); |
663 | 663 | } |
@@ -671,7 +671,7 @@ discard block |
||
671 | 671 | */ |
672 | 672 | public function structSize() |
673 | 673 | { |
674 | - $this->logDeprecation('Method ' . __METHOD__ . ' is deprecated'); |
|
674 | + $this->logDeprecation('Method '.__METHOD__.' is deprecated'); |
|
675 | 675 | |
676 | 676 | return count($this->me['struct']); |
677 | 677 | } |
@@ -683,12 +683,12 @@ discard block |
||
683 | 683 | case 'me': |
684 | 684 | case 'mytype': |
685 | 685 | case '_php_class': |
686 | - $this->logDeprecation('Getting property Value::' . $name . ' is deprecated'); |
|
686 | + $this->logDeprecation('Getting property Value::'.$name.' is deprecated'); |
|
687 | 687 | return $this->$name; |
688 | 688 | default: |
689 | 689 | /// @todo throw instead? There are very few other places where the lib trigger errors which can potentially reach stdout... |
690 | 690 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); |
691 | - trigger_error('Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
691 | + trigger_error('Undefined property via __get(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
692 | 692 | $result = null; |
693 | 693 | return $result; |
694 | 694 | } |
@@ -700,13 +700,13 @@ discard block |
||
700 | 700 | case 'me': |
701 | 701 | case 'mytype': |
702 | 702 | case '_php_class': |
703 | - $this->logDeprecation('Setting property Value::' . $name . ' is deprecated'); |
|
703 | + $this->logDeprecation('Setting property Value::'.$name.' is deprecated'); |
|
704 | 704 | $this->$name = $value; |
705 | 705 | break; |
706 | 706 | default: |
707 | 707 | /// @todo throw instead? There are very few other places where the lib trigger errors which can potentially reach stdout... |
708 | 708 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); |
709 | - trigger_error('Undefined property via __set(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
709 | + trigger_error('Undefined property via __set(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
710 | 710 | } |
711 | 711 | } |
712 | 712 | |
@@ -716,7 +716,7 @@ discard block |
||
716 | 716 | case 'me': |
717 | 717 | case 'mytype': |
718 | 718 | case '_php_class': |
719 | - $this->logDeprecation('Checking property Value::' . $name . ' is deprecated'); |
|
719 | + $this->logDeprecation('Checking property Value::'.$name.' is deprecated'); |
|
720 | 720 | return isset($this->$name); |
721 | 721 | default: |
722 | 722 | return false; |
@@ -729,13 +729,13 @@ discard block |
||
729 | 729 | case 'me': |
730 | 730 | case 'mytype': |
731 | 731 | case '_php_class': |
732 | - $this->logDeprecation('Unsetting property Value::' . $name . ' is deprecated'); |
|
732 | + $this->logDeprecation('Unsetting property Value::'.$name.' is deprecated'); |
|
733 | 733 | unset($this->$name); |
734 | 734 | break; |
735 | 735 | default: |
736 | 736 | /// @todo throw instead? There are very few other places where the lib trigger errors which can potentially reach stdout... |
737 | 737 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); |
738 | - trigger_error('Undefined property via __unset(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
738 | + trigger_error('Undefined property via __unset(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
739 | 739 | } |
740 | 740 | } |
741 | 741 | } |
@@ -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 | output('<html lang="en"> |
5 | 5 | <head><title>phpxmlrpc - Getstatename demo</title></head> |
@@ -17,13 +17,13 @@ discard block |
||
17 | 17 | $stateNo = ""; |
18 | 18 | |
19 | 19 | if (isset($_POST['stateno']) && $_POST['stateno'] != "") { |
20 | - $stateNo = (int)$_POST['stateno']; |
|
20 | + $stateNo = (int) $_POST['stateno']; |
|
21 | 21 | $method = 'examples.getStateName'; |
22 | 22 | $arguments = array( |
23 | 23 | new Value($stateNo, Value::$xmlrpcInt), |
24 | 24 | ); |
25 | 25 | $req = new Request($method, $arguments); |
26 | - output("Sending the following request:<pre>\n\n" . htmlentities($req->serialize()) . |
|
26 | + output("Sending the following request:<pre>\n\n".htmlentities($req->serialize()). |
|
27 | 27 | "\n\n</pre>Debug info of server data follows...\n\n"); |
28 | 28 | $client = new Client(XMLRPCSERVER); |
29 | 29 | $client->setOption(Client::OPT_DEBUG, 1); |
@@ -32,12 +32,12 @@ discard block |
||
32 | 32 | $val = $resp->value(); |
33 | 33 | // NB: we are _assuming_ that the server did return a scalar xml-rpc value here. |
34 | 34 | // If the server is not trusted, we might check that via `$val->kindOf() == 'scalar'` |
35 | - output('<br/>State number <b>' . $stateNo . '</b> is <b>' |
|
36 | - . htmlspecialchars($val->scalarVal()) . '</b><br/><br/>'); |
|
35 | + output('<br/>State number <b>'.$stateNo.'</b> is <b>' |
|
36 | + . htmlspecialchars($val->scalarVal()).'</b><br/><br/>'); |
|
37 | 37 | } else { |
38 | 38 | output('An error occurred: '); |
39 | - output('<pre>Code: ' . htmlspecialchars($resp->faultCode()) |
|
40 | - . " Reason: '" . htmlspecialchars($resp->faultString()) . "'</pre>"); |
|
39 | + output('<pre>Code: '.htmlspecialchars($resp->faultCode()) |
|
40 | + . " Reason: '".htmlspecialchars($resp->faultString())."'</pre>"); |
|
41 | 41 | } |
42 | 42 | } |
43 | 43 |
@@ -16,7 +16,7 @@ discard block |
||
16 | 16 | * @license code licensed under the BSD License: see file license.txt |
17 | 17 | */ |
18 | 18 | |
19 | -require_once __DIR__ . "/_prepend.php"; |
|
19 | +require_once __DIR__."/_prepend.php"; |
|
20 | 20 | |
21 | 21 | // *** NB: WE BLOCK THIS FROM RUNNING BY DEFAULT IN CASE ACCESS IS GRANTED TO IT IN PRODUCTION BY MISTAKE *** |
22 | 22 | // Comment out the following safeguard if you want to use it as is, but remember: this is an open relay !!! |
@@ -47,7 +47,7 @@ discard block |
||
47 | 47 | // fe. any url using the 'file://' protocol might be considered a hacking attempt |
48 | 48 | $client = new Client($url); |
49 | 49 | |
50 | - if ($req->getNumParams() > 3) { |
|
50 | + if ($req->getNumParams()>3) { |
|
51 | 51 | // We have to set some options onto the client. |
52 | 52 | // Note that if we do not untaint the received values, warnings might be generated... |
53 | 53 | $options = $encoder->decode($req->getParam(3)); |
@@ -87,7 +87,7 @@ discard block |
||
87 | 87 | $client->setOption(Client::OPT_VERIFY_PEER, $val); |
88 | 88 | break; |
89 | 89 | case 'Timeout': |
90 | - $timeout = (int)$val; |
|
90 | + $timeout = (int) $val; |
|
91 | 91 | break; |
92 | 92 | } // switch |
93 | 93 | } |
@@ -100,7 +100,7 @@ discard block |
||
100 | 100 | /// X-forwarded-for anyway, unless they consider this server as trusted...) |
101 | 101 | $reqMethod = $req->getParam(1)->scalarVal(); |
102 | 102 | $req = new Request($reqMethod); |
103 | - if ($req->getNumParams() > 1) { |
|
103 | + if ($req->getNumParams()>1) { |
|
104 | 104 | $pars = $req->getParam(2); |
105 | 105 | foreach ($pars as $par) { |
106 | 106 | $req->addParam($par); |
@@ -108,7 +108,7 @@ discard block |
||
108 | 108 | } |
109 | 109 | |
110 | 110 | // add debug info into response we give back to caller |
111 | - Server::xmlrpc_debugmsg("Sending to server $url the payload: " . $req->serialize()); |
|
111 | + Server::xmlrpc_debugmsg("Sending to server $url the payload: ".$req->serialize()); |
|
112 | 112 | |
113 | 113 | return $client->send($req, $timeout); |
114 | 114 | } |
@@ -187,12 +187,12 @@ discard block |
||
187 | 187 | // q: can php be built without ctype? should we use a regexp? |
188 | 188 | if (is_string($key) && !ctype_digit($key)) { |
189 | 189 | /// @todo on invalid options, throw/error-out instead of logging an error message? |
190 | - switch($key) { |
|
190 | + switch ($key) { |
|
191 | 191 | case 'target_charset': |
192 | 192 | if (function_exists('mb_convert_encoding')) { |
193 | 193 | $this->current_parsing_options['target_charset'] = $val; |
194 | 194 | } else { |
195 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ": 'target_charset' option is unsupported without mbstring"); |
|
195 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.": 'target_charset' option is unsupported without mbstring"); |
|
196 | 196 | } |
197 | 197 | break; |
198 | 198 | |
@@ -200,7 +200,7 @@ discard block |
||
200 | 200 | if (is_callable($val)) { |
201 | 201 | $this->current_parsing_options['methodname_callback'] = $val; |
202 | 202 | } else { |
203 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ": Callback passed as 'methodname_callback' is not callable"); |
|
203 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.": Callback passed as 'methodname_callback' is not callable"); |
|
204 | 204 | } |
205 | 205 | break; |
206 | 206 | |
@@ -211,7 +211,7 @@ discard block |
||
211 | 211 | break; |
212 | 212 | |
213 | 213 | default: |
214 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ": unsupported option: $key"); |
|
214 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.": unsupported option: $key"); |
|
215 | 215 | } |
216 | 216 | unset($mergedOptions[$key]); |
217 | 217 | } |
@@ -255,10 +255,10 @@ discard block |
||
255 | 255 | |
256 | 256 | try { |
257 | 257 | // @see ticket #70 - we have to parse big xml docs in chunks to avoid errors |
258 | - for ($offset = 0; $offset < $len; $offset += $this->maxChunkLength) { |
|
258 | + for ($offset = 0; $offset<$len; $offset += $this->maxChunkLength) { |
|
259 | 259 | $chunk = substr($data, $offset, $this->maxChunkLength); |
260 | 260 | // error handling: xml not well formed |
261 | - if (!@xml_parse($parser, $chunk, $offset + $this->maxChunkLength >= $len)) { |
|
261 | + if (!@xml_parse($parser, $chunk, $offset+$this->maxChunkLength>=$len)) { |
|
262 | 262 | $errCode = xml_get_error_code($parser); |
263 | 263 | $errStr = sprintf('XML error %s: %s at line %d, column %d', $errCode, xml_error_string($errCode), |
264 | 264 | xml_get_current_line_number($parser), xml_get_current_column_number($parser)); |
@@ -266,25 +266,25 @@ discard block |
||
266 | 266 | $this->_xh['isf_reason'] = $errStr; |
267 | 267 | } |
268 | 268 | // no need to parse further if we already have a fatal error |
269 | - if ($this->_xh['isf'] >= 2) { |
|
269 | + if ($this->_xh['isf']>=2) { |
|
270 | 270 | break; |
271 | 271 | } |
272 | 272 | } |
273 | 273 | /// @todo bump minimum php version to 5.5 and use a finally clause instead of doing cleanup 3 times |
274 | 274 | } catch (\Exception $e) { |
275 | - if (PHP_MAJOR_VERSION < 8) xml_parser_free($parser); |
|
275 | + if (PHP_MAJOR_VERSION<8) xml_parser_free($parser); |
|
276 | 276 | $this->current_parsing_options = array(); |
277 | 277 | /// @todo should we set $this->_xh['isf'] and $this->_xh['isf_reason'] ? |
278 | 278 | throw $e; |
279 | 279 | } catch (\Error $e) { |
280 | - if (PHP_MAJOR_VERSION < 8) xml_parser_free($parser); |
|
280 | + if (PHP_MAJOR_VERSION<8) xml_parser_free($parser); |
|
281 | 281 | $this->current_parsing_options = array(); |
282 | 282 | //$this->accept = $prevAccept; |
283 | 283 | /// @todo should we set $this->_xh['isf'] and $this->_xh['isf_reason'] ? |
284 | 284 | throw $e; |
285 | 285 | } |
286 | 286 | |
287 | - if (PHP_MAJOR_VERSION < 8) xml_parser_free($parser); |
|
287 | + if (PHP_MAJOR_VERSION<8) xml_parser_free($parser); |
|
288 | 288 | $this->current_parsing_options = array(); |
289 | 289 | |
290 | 290 | // BC |
@@ -311,7 +311,7 @@ discard block |
||
311 | 311 | public function xmlrpc_se($parser, $name, $attrs, $acceptSingleVals = false) |
312 | 312 | { |
313 | 313 | // if invalid xml-rpc already detected, skip all processing |
314 | - if ($this->_xh['isf'] >= 2) { |
|
314 | + if ($this->_xh['isf']>=2) { |
|
315 | 315 | return; |
316 | 316 | } |
317 | 317 | |
@@ -325,7 +325,7 @@ discard block |
||
325 | 325 | if ($acceptSingleVals === false) { |
326 | 326 | $accept = $this->current_parsing_options['accept']; |
327 | 327 | } else { |
328 | - $this->logDeprecation('Using argument $acceptSingleVals for method ' . __METHOD__ . ' is deprecated'); |
|
328 | + $this->logDeprecation('Using argument $acceptSingleVals for method '.__METHOD__.' is deprecated'); |
|
329 | 329 | $accept = self::ACCEPT_REQUEST | self::ACCEPT_RESPONSE | self::ACCEPT_VALUE; |
330 | 330 | } |
331 | 331 | if (($name == 'METHODCALL' && ($accept & self::ACCEPT_REQUEST)) || |
@@ -335,7 +335,7 @@ discard block |
||
335 | 335 | $this->_xh['rt'] = strtolower($name); |
336 | 336 | } else { |
337 | 337 | $this->_xh['isf'] = 2; |
338 | - $this->_xh['isf_reason'] = 'missing top level xmlrpc element. Found: ' . $name; |
|
338 | + $this->_xh['isf_reason'] = 'missing top level xmlrpc element. Found: '.$name; |
|
339 | 339 | |
340 | 340 | return; |
341 | 341 | } |
@@ -440,7 +440,7 @@ discard block |
||
440 | 440 | |
441 | 441 | case 'MEMBER': |
442 | 442 | // set member name to null, in case we do not find in the xml later on |
443 | - $this->_xh['valuestack'][count($this->_xh['valuestack']) - 1]['name'] = null; |
|
443 | + $this->_xh['valuestack'][count($this->_xh['valuestack'])-1]['name'] = null; |
|
444 | 444 | //$this->_xh['ac']=''; |
445 | 445 | // Drop trough intentionally |
446 | 446 | |
@@ -503,7 +503,7 @@ discard block |
||
503 | 503 | */ |
504 | 504 | public function xmlrpc_ee($parser, $name, $rebuildXmlrpcvals = 1) |
505 | 505 | { |
506 | - if ($this->_xh['isf'] >= 2) { |
|
506 | + if ($this->_xh['isf']>=2) { |
|
507 | 507 | return; |
508 | 508 | } |
509 | 509 | |
@@ -525,7 +525,7 @@ discard block |
||
525 | 525 | $this->_xh['value'] = mb_convert_encoding($this->_xh['value'], $this->current_parsing_options['target_charset'], 'UTF-8'); |
526 | 526 | } |
527 | 527 | |
528 | - if ($rebuildXmlrpcvals > 0) { |
|
528 | + if ($rebuildXmlrpcvals>0) { |
|
529 | 529 | // build the xml-rpc val out of the data received, and substitute it |
530 | 530 | $temp = new Value($this->_xh['value'], $this->_xh['vt']); |
531 | 531 | // in case we got info about underlying php class, save it in the object we're rebuilding |
@@ -533,15 +533,15 @@ discard block |
||
533 | 533 | $temp->_php_class = $this->_xh['php_class']; |
534 | 534 | } |
535 | 535 | $this->_xh['value'] = $temp; |
536 | - } elseif ($rebuildXmlrpcvals < 0) { |
|
536 | + } elseif ($rebuildXmlrpcvals<0) { |
|
537 | 537 | if ($this->_xh['vt'] == Value::$xmlrpcDateTime) { |
538 | - $this->_xh['value'] = (object)array( |
|
538 | + $this->_xh['value'] = (object) array( |
|
539 | 539 | 'xmlrpc_type' => 'datetime', |
540 | 540 | 'scalar' => $this->_xh['value'], |
541 | 541 | 'timestamp' => \PhpXmlRpc\Helper\Date::iso8601Decode($this->_xh['value']) |
542 | 542 | ); |
543 | 543 | } elseif ($this->_xh['vt'] == Value::$xmlrpcBase64) { |
544 | - $this->_xh['value'] = (object)array( |
|
544 | + $this->_xh['value'] = (object) array( |
|
545 | 545 | 'xmlrpc_type' => 'base64', |
546 | 546 | 'scalar' => $this->_xh['value'] |
547 | 547 | ); |
@@ -556,8 +556,8 @@ discard block |
||
556 | 556 | // check if we are inside an array or struct: |
557 | 557 | // if value just built is inside an array, let's move it into array on the stack |
558 | 558 | $vscount = count($this->_xh['valuestack']); |
559 | - if ($vscount && $this->_xh['valuestack'][$vscount - 1]['type'] == 'ARRAY') { |
|
560 | - $this->_xh['valuestack'][$vscount - 1]['values'][] = $this->_xh['value']; |
|
559 | + if ($vscount && $this->_xh['valuestack'][$vscount-1]['type'] == 'ARRAY') { |
|
560 | + $this->_xh['valuestack'][$vscount-1]['values'][] = $this->_xh['value']; |
|
561 | 561 | } |
562 | 562 | break; |
563 | 563 | |
@@ -584,7 +584,7 @@ discard block |
||
584 | 584 | // log if receiving something strange, even though we set the value to false anyway |
585 | 585 | /// @todo to be consistent with the other types, we should return a value outside the good-value domain, e.g. NULL |
586 | 586 | if ($this->_xh['ac'] != '0' && strcasecmp($this->_xh['ac'], 'false') !== 0) { |
587 | - if (!$this->handleParsingError('invalid data received in BOOLEAN value: ' . |
|
587 | + if (!$this->handleParsingError('invalid data received in BOOLEAN value: '. |
|
588 | 588 | $this->truncateValueForLog($this->_xh['ac']), __METHOD__)) { |
589 | 589 | return; |
590 | 590 | } |
@@ -604,7 +604,7 @@ discard block |
||
604 | 604 | $this->_xh['vt'] = strtolower($name); |
605 | 605 | $this->_xh['lv'] = 3; // indicate we've found a value |
606 | 606 | if (!preg_match(PhpXmlRpc::$xmlrpc_int_format, $this->_xh['ac'])) { |
607 | - if (!$this->handleParsingError('non numeric data received in INT value: ' . |
|
607 | + if (!$this->handleParsingError('non numeric data received in INT value: '. |
|
608 | 608 | $this->truncateValueForLog($this->_xh['ac']), __METHOD__)) { |
609 | 609 | return; |
610 | 610 | } |
@@ -612,7 +612,7 @@ discard block |
||
612 | 612 | $this->_xh['value'] = 'ERROR_NON_NUMERIC_FOUND'; |
613 | 613 | } else { |
614 | 614 | // it's ok, add it on |
615 | - $this->_xh['value'] = (int)$this->_xh['ac']; |
|
615 | + $this->_xh['value'] = (int) $this->_xh['ac']; |
|
616 | 616 | } |
617 | 617 | break; |
618 | 618 | |
@@ -620,7 +620,7 @@ discard block |
||
620 | 620 | $this->_xh['vt'] = Value::$xmlrpcDouble; |
621 | 621 | $this->_xh['lv'] = 3; // indicate we've found a value |
622 | 622 | if (!preg_match(PhpXmlRpc::$xmlrpc_double_format, $this->_xh['ac'])) { |
623 | - if (!$this->handleParsingError('non numeric data received in DOUBLE value: ' . |
|
623 | + if (!$this->handleParsingError('non numeric data received in DOUBLE value: '. |
|
624 | 624 | $this->truncateValueForLog($this->_xh['ac']), __METHOD__)) { |
625 | 625 | return; |
626 | 626 | } |
@@ -628,7 +628,7 @@ discard block |
||
628 | 628 | $this->_xh['value'] = 'ERROR_NON_NUMERIC_FOUND'; |
629 | 629 | } else { |
630 | 630 | // it's ok, add it on |
631 | - $this->_xh['value'] = (float)$this->_xh['ac']; |
|
631 | + $this->_xh['value'] = (float) $this->_xh['ac']; |
|
632 | 632 | } |
633 | 633 | break; |
634 | 634 | |
@@ -636,7 +636,7 @@ discard block |
||
636 | 636 | $this->_xh['vt'] = Value::$xmlrpcDateTime; |
637 | 637 | $this->_xh['lv'] = 3; // indicate we've found a value |
638 | 638 | if (!preg_match(PhpXmlRpc::$xmlrpc_datetime_format, $this->_xh['ac'])) { |
639 | - if (!$this->handleParsingError('invalid data received in DATETIME value: ' . |
|
639 | + if (!$this->handleParsingError('invalid data received in DATETIME value: '. |
|
640 | 640 | $this->truncateValueForLog($this->_xh['ac']), __METHOD__)) { |
641 | 641 | return; |
642 | 642 | } |
@@ -647,9 +647,9 @@ discard block |
||
647 | 647 | |
648 | 648 | // the default regex used to validate the date string a few lines above should make this case impossible, |
649 | 649 | // but one never knows... |
650 | - } catch(\Exception $e) { |
|
650 | + } catch (\Exception $e) { |
|
651 | 651 | // what to do? We can not guarantee that a valid date can be created. We return null... |
652 | - if (!$this->handleParsingError('invalid data received in DATETIME value. Error ' . |
|
652 | + if (!$this->handleParsingError('invalid data received in DATETIME value. Error '. |
|
653 | 653 | $e->getMessage(), __METHOD__)) { |
654 | 654 | return; |
655 | 655 | } |
@@ -666,14 +666,14 @@ discard block |
||
666 | 666 | $v = base64_decode($this->_xh['ac'], true); |
667 | 667 | if ($v === false) { |
668 | 668 | $this->_xh['isf'] = 2; |
669 | - $this->_xh['isf_reason'] = 'Invalid data received in BASE64 value: '. $this->truncateValueForLog($this->_xh['ac']); |
|
669 | + $this->_xh['isf_reason'] = 'Invalid data received in BASE64 value: '.$this->truncateValueForLog($this->_xh['ac']); |
|
670 | 670 | return; |
671 | 671 | } |
672 | 672 | } else { |
673 | 673 | $v = base64_decode($this->_xh['ac']); |
674 | 674 | if ($v === '' && $this->_xh['ac'] !== '') { |
675 | 675 | // only the empty string should decode to the empty string |
676 | - $this->getLogger()->error('XML-RPC: ' . __METHOD__ . ': invalid data received in BASE64 value: ' . |
|
676 | + $this->getLogger()->error('XML-RPC: '.__METHOD__.': invalid data received in BASE64 value: '. |
|
677 | 677 | $this->truncateValueForLog($this->_xh['ac'])); |
678 | 678 | } |
679 | 679 | } |
@@ -681,20 +681,20 @@ discard block |
||
681 | 681 | break; |
682 | 682 | |
683 | 683 | case 'NAME': |
684 | - $this->_xh['valuestack'][count($this->_xh['valuestack']) - 1]['name'] = $this->_xh['ac']; |
|
684 | + $this->_xh['valuestack'][count($this->_xh['valuestack'])-1]['name'] = $this->_xh['ac']; |
|
685 | 685 | break; |
686 | 686 | |
687 | 687 | case 'MEMBER': |
688 | 688 | // add to array in the stack the last element built, unless no VALUE or no NAME were found |
689 | 689 | if ($this->_xh['vt']) { |
690 | 690 | $vscount = count($this->_xh['valuestack']); |
691 | - if ($this->_xh['valuestack'][$vscount - 1]['name'] === null) { |
|
691 | + if ($this->_xh['valuestack'][$vscount-1]['name'] === null) { |
|
692 | 692 | if (!$this->handleParsingError('missing NAME inside STRUCT in received xml', __METHOD__)) { |
693 | 693 | return; |
694 | 694 | } |
695 | - $this->_xh['valuestack'][$vscount - 1]['name'] = ''; |
|
695 | + $this->_xh['valuestack'][$vscount-1]['name'] = ''; |
|
696 | 696 | } |
697 | - $this->_xh['valuestack'][$vscount - 1]['values'][$this->_xh['valuestack'][$vscount - 1]['name']] = $this->_xh['value']; |
|
697 | + $this->_xh['valuestack'][$vscount-1]['values'][$this->_xh['valuestack'][$vscount-1]['name']] = $this->_xh['value']; |
|
698 | 698 | } else { |
699 | 699 | if (!$this->handleParsingError('missing VALUE inside STRUCT in received xml', __METHOD__)) { |
700 | 700 | return; |
@@ -828,7 +828,7 @@ discard block |
||
828 | 828 | public function xmlrpc_cd($parser, $data) |
829 | 829 | { |
830 | 830 | // skip processing if xml fault already detected |
831 | - if ($this->_xh['isf'] >= 2) { |
|
831 | + if ($this->_xh['isf']>=2) { |
|
832 | 832 | return; |
833 | 833 | } |
834 | 834 | |
@@ -850,7 +850,7 @@ discard block |
||
850 | 850 | public function xmlrpc_dh($parser, $data) |
851 | 851 | { |
852 | 852 | // skip processing if xml fault already detected |
853 | - if ($this->_xh['isf'] >= 2) { |
|
853 | + if ($this->_xh['isf']>=2) { |
|
854 | 854 | return; |
855 | 855 | } |
856 | 856 | |
@@ -930,8 +930,8 @@ discard block |
||
930 | 930 | // SPACE: (#x20 | #x9 | #xD | #xA)+ === [ \x9\xD\xA]+ |
931 | 931 | // EQ: SPACE?=SPACE? === [ \x9\xD\xA]*=[ \x9\xD\xA]* |
932 | 932 | // We could be stricter on version number: VersionNum ::= '1.' [0-9]+ |
933 | - if (preg_match('/^<\?xml\s+version\s*=\s*' . "((?:\"[a-zA-Z0-9_.:-]+\")|(?:'[a-zA-Z0-9_.:-]+'))" . |
|
934 | - '\s+encoding\s*=\s*' . "((?:\"[A-Za-z][A-Za-z0-9._-]*\")|(?:'[A-Za-z][A-Za-z0-9._-]*'))/", |
|
933 | + if (preg_match('/^<\?xml\s+version\s*=\s*'."((?:\"[a-zA-Z0-9_.:-]+\")|(?:'[a-zA-Z0-9_.:-]+'))". |
|
934 | + '\s+encoding\s*=\s*'."((?:\"[A-Za-z][A-Za-z0-9._-]*\")|(?:'[A-Za-z][A-Za-z0-9._-]*'))/", |
|
935 | 935 | $xmlChunk, $matches)) { |
936 | 936 | return strtoupper(substr($matches[2], 1, -1)); |
937 | 937 | } |
@@ -949,7 +949,7 @@ discard block |
||
949 | 949 | // NB: mb_detect likes to call it ascii, xml parser likes to call it US_ASCII... |
950 | 950 | // IANA also likes better US-ASCII, so go with it |
951 | 951 | if ($enc == 'ASCII') { |
952 | - $enc = 'US-' . $enc; |
|
952 | + $enc = 'US-'.$enc; |
|
953 | 953 | } |
954 | 954 | |
955 | 955 | return $enc; |
@@ -990,8 +990,8 @@ discard block |
||
990 | 990 | // SPACE: (#x20 | #x9 | #xD | #xA)+ === [ \x9\xD\xA]+ |
991 | 991 | // EQ: SPACE?=SPACE? === [ \x9\xD\xA]*=[ \x9\xD\xA]* |
992 | 992 | // We could be stricter on version number: VersionNum ::= '1.' [0-9]+ |
993 | - if (preg_match('/^<\?xml\s+version\s*=\s*' . "((?:\"[a-zA-Z0-9_.:-]+\")|(?:'[a-zA-Z0-9_.:-]+'))" . |
|
994 | - '\s+encoding\s*=\s*' . "((?:\"[A-Za-z][A-Za-z0-9._-]*\")|(?:'[A-Za-z][A-Za-z0-9._-]*'))/", |
|
993 | + if (preg_match('/^<\?xml\s+version\s*=\s*'."((?:\"[a-zA-Z0-9_.:-]+\")|(?:'[a-zA-Z0-9_.:-]+'))". |
|
994 | + '\s+encoding\s*=\s*'."((?:\"[A-Za-z][A-Za-z0-9._-]*\")|(?:'[A-Za-z][A-Za-z0-9._-]*'))/", |
|
995 | 995 | $xmlChunk)) { |
996 | 996 | return true; |
997 | 997 | } |
@@ -1011,7 +1011,7 @@ discard block |
||
1011 | 1011 | $this->_xh['isf_reason'] = ucfirst($message); |
1012 | 1012 | return false; |
1013 | 1013 | } else { |
1014 | - $this->getLogger()->error('XML-RPC: ' . ($method != '' ? $method . ': ' : '') . $message); |
|
1014 | + $this->getLogger()->error('XML-RPC: '.($method != '' ? $method.': ' : '').$message); |
|
1015 | 1015 | return true; |
1016 | 1016 | } |
1017 | 1017 | } |
@@ -1023,8 +1023,8 @@ discard block |
||
1023 | 1023 | */ |
1024 | 1024 | protected function truncateValueForLog($data) |
1025 | 1025 | { |
1026 | - if (strlen($data) > $this->maxLogValueLength) { |
|
1027 | - return substr($data, 0, $this->maxLogValueLength - 3) . '...'; |
|
1026 | + if (strlen($data)>$this->maxLogValueLength) { |
|
1027 | + return substr($data, 0, $this->maxLogValueLength-3).'...'; |
|
1028 | 1028 | } |
1029 | 1029 | |
1030 | 1030 | return $data; |
@@ -1045,7 +1045,7 @@ discard block |
||
1045 | 1045 | public function xmlrpc_se_any($parser, $name, $attrs) |
1046 | 1046 | { |
1047 | 1047 | // this will be spamming the log if this method is in use... |
1048 | - $this->logDeprecation('Method ' . __METHOD__ . ' is deprecated'); |
|
1048 | + $this->logDeprecation('Method '.__METHOD__.' is deprecated'); |
|
1049 | 1049 | |
1050 | 1050 | $this->xmlrpc_se($parser, $name, $attrs, true); |
1051 | 1051 | } |
@@ -1055,12 +1055,12 @@ discard block |
||
1055 | 1055 | switch ($name) { |
1056 | 1056 | case '_xh': |
1057 | 1057 | case 'xmlrpc_valid_parents': |
1058 | - $this->logDeprecation('Getting property XMLParser::' . $name . ' is deprecated'); |
|
1058 | + $this->logDeprecation('Getting property XMLParser::'.$name.' is deprecated'); |
|
1059 | 1059 | return $this->$name; |
1060 | 1060 | default: |
1061 | 1061 | /// @todo throw instead? There are very few other places where the lib trigger errors which can potentially reach stdout... |
1062 | 1062 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); |
1063 | - trigger_error('Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
1063 | + trigger_error('Undefined property via __get(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
1064 | 1064 | $result = null; |
1065 | 1065 | return $result; |
1066 | 1066 | } |
@@ -1071,18 +1071,18 @@ discard block |
||
1071 | 1071 | switch ($name) { |
1072 | 1072 | // this should only ever be called by subclasses which overtook `parse()` |
1073 | 1073 | case 'accept': |
1074 | - $this->logDeprecation('Setting property XMLParser::' . $name . ' is deprecated'); |
|
1074 | + $this->logDeprecation('Setting property XMLParser::'.$name.' is deprecated'); |
|
1075 | 1075 | $this->current_parsing_options['accept'] = $value; |
1076 | 1076 | break; |
1077 | 1077 | case '_xh': |
1078 | 1078 | case 'xmlrpc_valid_parents': |
1079 | - $this->logDeprecation('Setting property XMLParser::' . $name . ' is deprecated'); |
|
1079 | + $this->logDeprecation('Setting property XMLParser::'.$name.' is deprecated'); |
|
1080 | 1080 | $this->$name = $value; |
1081 | 1081 | break; |
1082 | 1082 | default: |
1083 | 1083 | /// @todo throw instead? There are very few other places where the lib trigger errors which can potentially reach stdout... |
1084 | 1084 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); |
1085 | - trigger_error('Undefined property via __set(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
1085 | + trigger_error('Undefined property via __set(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
1086 | 1086 | } |
1087 | 1087 | } |
1088 | 1088 | |
@@ -1090,11 +1090,11 @@ discard block |
||
1090 | 1090 | { |
1091 | 1091 | switch ($name) { |
1092 | 1092 | case 'accept': |
1093 | - $this->logDeprecation('Checking property XMLParser::' . $name . ' is deprecated'); |
|
1093 | + $this->logDeprecation('Checking property XMLParser::'.$name.' is deprecated'); |
|
1094 | 1094 | return isset($this->current_parsing_options['accept']); |
1095 | 1095 | case '_xh': |
1096 | 1096 | case 'xmlrpc_valid_parents': |
1097 | - $this->logDeprecation('Checking property XMLParser::' . $name . ' is deprecated'); |
|
1097 | + $this->logDeprecation('Checking property XMLParser::'.$name.' is deprecated'); |
|
1098 | 1098 | return isset($this->$name); |
1099 | 1099 | default: |
1100 | 1100 | return false; |
@@ -1106,18 +1106,18 @@ discard block |
||
1106 | 1106 | switch ($name) { |
1107 | 1107 | // q: does this make sense at all? |
1108 | 1108 | case 'accept': |
1109 | - $this->logDeprecation('Unsetting property XMLParser::' . $name . ' is deprecated'); |
|
1109 | + $this->logDeprecation('Unsetting property XMLParser::'.$name.' is deprecated'); |
|
1110 | 1110 | unset($this->current_parsing_options['accept']); |
1111 | 1111 | break; |
1112 | 1112 | case '_xh': |
1113 | 1113 | case 'xmlrpc_valid_parents': |
1114 | - $this->logDeprecation('Unsetting property XMLParser::' . $name . ' is deprecated'); |
|
1114 | + $this->logDeprecation('Unsetting property XMLParser::'.$name.' is deprecated'); |
|
1115 | 1115 | unset($this->$name); |
1116 | 1116 | break; |
1117 | 1117 | default: |
1118 | 1118 | /// @todo throw instead? There are very few other places where the lib trigger errors which can potentially reach stdout... |
1119 | 1119 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1); |
1120 | - trigger_error('Undefined property via __unset(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
1120 | + trigger_error('Undefined property via __unset(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
1121 | 1121 | } |
1122 | 1122 | } |
1123 | 1123 | } |
@@ -272,19 +272,25 @@ |
||
272 | 272 | } |
273 | 273 | /// @todo bump minimum php version to 5.5 and use a finally clause instead of doing cleanup 3 times |
274 | 274 | } catch (\Exception $e) { |
275 | - if (PHP_MAJOR_VERSION < 8) xml_parser_free($parser); |
|
275 | + if (PHP_MAJOR_VERSION < 8) { |
|
276 | + xml_parser_free($parser); |
|
277 | + } |
|
276 | 278 | $this->current_parsing_options = array(); |
277 | 279 | /// @todo should we set $this->_xh['isf'] and $this->_xh['isf_reason'] ? |
278 | 280 | throw $e; |
279 | 281 | } catch (\Error $e) { |
280 | - if (PHP_MAJOR_VERSION < 8) xml_parser_free($parser); |
|
282 | + if (PHP_MAJOR_VERSION < 8) { |
|
283 | + xml_parser_free($parser); |
|
284 | + } |
|
281 | 285 | $this->current_parsing_options = array(); |
282 | 286 | //$this->accept = $prevAccept; |
283 | 287 | /// @todo should we set $this->_xh['isf'] and $this->_xh['isf_reason'] ? |
284 | 288 | throw $e; |
285 | 289 | } |
286 | 290 | |
287 | - if (PHP_MAJOR_VERSION < 8) xml_parser_free($parser); |
|
291 | + if (PHP_MAJOR_VERSION < 8) { |
|
292 | + xml_parser_free($parser); |
|
293 | + } |
|
288 | 294 | $this->current_parsing_options = array(); |
289 | 295 | |
290 | 296 | // BC |