@@ -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>xmlrpc - Introspect demo</title></head> |
@@ -13,13 +13,13 @@ discard block |
||
| 13 | 13 | function display_error($r) |
| 14 | 14 | { |
| 15 | 15 | output("An error occurred: "); |
| 16 | - output("Code: " . $r->faultCode() . " Reason: '" . $r->faultString() . "'<br/>"); |
|
| 16 | + output("Code: ".$r->faultCode()." Reason: '".$r->faultString()."'<br/>"); |
|
| 17 | 17 | } |
| 18 | 18 | |
| 19 | 19 | $client = new PhpXmlRpc\Client(XMLRPCSERVER); |
| 20 | 20 | |
| 21 | 21 | // First off, let's retrieve the list of methods available on the remote server |
| 22 | -output("<h3>methods available at http://" . $client->server . $client->path . "</h3>\n"); |
|
| 22 | +output("<h3>methods available at http://".$client->server.$client->path."</h3>\n"); |
|
| 23 | 23 | $req = new PhpXmlRpc\Request('system.listMethods'); |
| 24 | 24 | $resp = $client->send($req); |
| 25 | 25 | |
@@ -30,7 +30,7 @@ discard block |
||
| 30 | 30 | |
| 31 | 31 | // Then, retrieve the signature and help text of each available method |
| 32 | 32 | foreach ($v as $methodName) { |
| 33 | - output("<h4>" . htmlspecialchars($methodName->scalarval()) . "</h4>\n"); |
|
| 33 | + output("<h4>".htmlspecialchars($methodName->scalarval())."</h4>\n"); |
|
| 34 | 34 | // build messages first, add params later |
| 35 | 35 | $m1 = new PhpXmlRpc\Request('system.methodHelp'); |
| 36 | 36 | $m2 = new PhpXmlRpc\Request('system.methodSignature'); |
@@ -61,13 +61,13 @@ discard block |
||
| 61 | 61 | if ($val->kindOf() == "array") { |
| 62 | 62 | foreach ($val as $x) { |
| 63 | 63 | $ret = $x[0]; |
| 64 | - output("<code>" . htmlspecialchars($ret->scalarval()) . " " |
|
| 65 | - . htmlspecialchars($methodName->scalarval()) . "("); |
|
| 66 | - if ($x->count() > 1) { |
|
| 67 | - for ($k = 1; $k < $x->count(); $k++) { |
|
| 64 | + output("<code>".htmlspecialchars($ret->scalarval())." " |
|
| 65 | + . htmlspecialchars($methodName->scalarval())."("); |
|
| 66 | + if ($x->count()>1) { |
|
| 67 | + for ($k = 1; $k<$x->count(); $k++) { |
|
| 68 | 68 | $y = $x[$k]; |
| 69 | 69 | output(htmlspecialchars($y->scalarval())); |
| 70 | - if ($k < $x->count() - 1) { |
|
| 70 | + if ($k<$x->count()-1) { |
|
| 71 | 71 | output(", "); |
| 72 | 72 | } |
| 73 | 73 | } |
@@ -1,5 +1,5 @@ |
||
| 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>xmlrpc - Proxy demo</title></head> |
@@ -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>xmlrpc - Mail demo</title></head> |
@@ -35,8 +35,8 @@ discard block |
||
| 35 | 35 | output("<font color=\"red\">"); |
| 36 | 36 | output("Mail send failed<br/>\n"); |
| 37 | 37 | output("Fault: "); |
| 38 | - output("Code: " . htmlspecialchars($resp->faultCode()) . |
|
| 39 | - " Reason: '" . htmlspecialchars($resp->faultString()) . "'<br/>"); |
|
| 38 | + output("Code: ".htmlspecialchars($resp->faultCode()). |
|
| 39 | + " Reason: '".htmlspecialchars($resp->faultString())."'<br/>"); |
|
| 40 | 40 | output("</font><br/>"); |
| 41 | 41 | } |
| 42 | 42 | } |
@@ -15,7 +15,7 @@ discard block |
||
| 15 | 15 | chmod($GLOBALS['PHPUNIT_COVERAGE_DATA_DIRECTORY'], 0777); |
| 16 | 16 | } |
| 17 | 17 | |
| 18 | - include_once __DIR__ . "/../vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/prepend.php"; |
|
| 18 | + include_once __DIR__."/../vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/prepend.php"; |
|
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | $targetFile = null; |
@@ -38,5 +38,5 @@ discard block |
||
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | if (isset($_COOKIE['PHPUNIT_SELENIUM_TEST_ID']) && extension_loaded('xdebug')) { |
| 41 | - include_once __DIR__ . "/../vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/append.php"; |
|
| 41 | + include_once __DIR__."/../vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumCommon/append.php"; |
|
| 42 | 42 | } |
@@ -151,35 +151,35 @@ discard block |
||
| 151 | 151 | public function serialize($charsetEncoding = '') |
| 152 | 152 | { |
| 153 | 153 | if ($charsetEncoding != '') { |
| 154 | - $this->content_type = 'text/xml; charset=' . $charsetEncoding; |
|
| 154 | + $this->content_type = 'text/xml; charset='.$charsetEncoding; |
|
| 155 | 155 | } else { |
| 156 | 156 | $this->content_type = 'text/xml'; |
| 157 | 157 | } |
| 158 | 158 | if (PhpXmlRpc::$xmlrpc_null_apache_encoding) { |
| 159 | - $result = "<methodResponse xmlns:ex=\"" . PhpXmlRpc::$xmlrpc_null_apache_encoding_ns . "\">\n"; |
|
| 159 | + $result = "<methodResponse xmlns:ex=\"".PhpXmlRpc::$xmlrpc_null_apache_encoding_ns."\">\n"; |
|
| 160 | 160 | } else { |
| 161 | 161 | $result = "<methodResponse>\n"; |
| 162 | 162 | } |
| 163 | 163 | if ($this->errno) { |
| 164 | 164 | // Let non-ASCII response messages be tolerated by clients by xml-encoding non ascii chars |
| 165 | - $result .= "<fault>\n" . |
|
| 166 | - "<value>\n<struct><member><name>faultCode</name>\n<value><int>" . $this->errno . |
|
| 167 | - "</int></value>\n</member>\n<member>\n<name>faultString</name>\n<value><string>" . |
|
| 168 | - Charset::instance()->encodeEntities($this->errstr, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding) . "</string></value>\n</member>\n" . |
|
| 165 | + $result .= "<fault>\n". |
|
| 166 | + "<value>\n<struct><member><name>faultCode</name>\n<value><int>".$this->errno. |
|
| 167 | + "</int></value>\n</member>\n<member>\n<name>faultString</name>\n<value><string>". |
|
| 168 | + Charset::instance()->encodeEntities($this->errstr, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding)."</string></value>\n</member>\n". |
|
| 169 | 169 | "</struct>\n</value>\n</fault>"; |
| 170 | 170 | } else { |
| 171 | 171 | if (!is_object($this->val) || !is_a($this->val, 'PhpXmlRpc\Value')) { |
| 172 | 172 | if (is_string($this->val) && $this->valtyp == 'xml') { |
| 173 | - $result .= "<params>\n<param>\n" . |
|
| 174 | - $this->val . |
|
| 173 | + $result .= "<params>\n<param>\n". |
|
| 174 | + $this->val. |
|
| 175 | 175 | "</param>\n</params>"; |
| 176 | 176 | } else { |
| 177 | 177 | /// @todo try to build something serializable using the Encoder... |
| 178 | 178 | throw new \Exception('cannot serialize xmlrpc response objects whose content is native php values'); |
| 179 | 179 | } |
| 180 | 180 | } else { |
| 181 | - $result .= "<params>\n<param>\n" . |
|
| 182 | - $this->val->serialize($charsetEncoding) . |
|
| 181 | + $result .= "<params>\n<param>\n". |
|
| 182 | + $this->val->serialize($charsetEncoding). |
|
| 183 | 183 | "</param>\n</params>"; |
| 184 | 184 | } |
| 185 | 185 | } |
@@ -204,7 +204,7 @@ discard block |
||
| 204 | 204 | return $this->httpResponse['raw_data']; |
| 205 | 205 | default: |
| 206 | 206 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); |
| 207 | - trigger_error('Undefined property via __get(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
| 207 | + trigger_error('Undefined property via __get(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
| 208 | 208 | return null; |
| 209 | 209 | } |
| 210 | 210 | } |
@@ -225,7 +225,7 @@ discard block |
||
| 225 | 225 | break; |
| 226 | 226 | default: |
| 227 | 227 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); |
| 228 | - trigger_error('Undefined property via __set(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
| 228 | + trigger_error('Undefined property via __set(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
| 229 | 229 | } |
| 230 | 230 | } |
| 231 | 231 | |
@@ -257,7 +257,7 @@ discard block |
||
| 257 | 257 | break; |
| 258 | 258 | default: |
| 259 | 259 | $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS); |
| 260 | - trigger_error('Undefined property via __unset(): ' . $name . ' in ' . $trace[0]['file'] . ' on line ' . $trace[0]['line'], E_USER_WARNING); |
|
| 260 | + trigger_error('Undefined property via __unset(): '.$name.' in '.$trace[0]['file'].' on line '.$trace[0]['line'], E_USER_WARNING); |
|
| 261 | 261 | } |
| 262 | 262 | } |
| 263 | 263 | } |
@@ -24,12 +24,12 @@ discard block |
||
| 24 | 24 | |
| 25 | 25 | // read chunk-size, chunk-extension (if any) and crlf |
| 26 | 26 | // get the position of the linebreak |
| 27 | - $chunkEnd = strpos($buffer, "\r\n") + 2; |
|
| 27 | + $chunkEnd = strpos($buffer, "\r\n")+2; |
|
| 28 | 28 | $temp = substr($buffer, 0, $chunkEnd); |
| 29 | 29 | $chunkSize = hexdec(trim($temp)); |
| 30 | 30 | $chunkStart = $chunkEnd; |
| 31 | - while ($chunkSize > 0) { |
|
| 32 | - $chunkEnd = strpos($buffer, "\r\n", $chunkStart + $chunkSize); |
|
| 31 | + while ($chunkSize>0) { |
|
| 32 | + $chunkEnd = strpos($buffer, "\r\n", $chunkStart+$chunkSize); |
|
| 33 | 33 | |
| 34 | 34 | // just in case we got a broken connection |
| 35 | 35 | if ($chunkEnd == false) { |
@@ -41,19 +41,19 @@ discard block |
||
| 41 | 41 | } |
| 42 | 42 | |
| 43 | 43 | // read chunk-data and crlf |
| 44 | - $chunk = substr($buffer, $chunkStart, $chunkEnd - $chunkStart); |
|
| 44 | + $chunk = substr($buffer, $chunkStart, $chunkEnd-$chunkStart); |
|
| 45 | 45 | // append chunk-data to entity-body |
| 46 | 46 | $new .= $chunk; |
| 47 | 47 | // length := length + chunk-size |
| 48 | 48 | $length += strlen($chunk); |
| 49 | 49 | // read chunk-size and crlf |
| 50 | - $chunkStart = $chunkEnd + 2; |
|
| 50 | + $chunkStart = $chunkEnd+2; |
|
| 51 | 51 | |
| 52 | - $chunkEnd = strpos($buffer, "\r\n", $chunkStart) + 2; |
|
| 52 | + $chunkEnd = strpos($buffer, "\r\n", $chunkStart)+2; |
|
| 53 | 53 | if ($chunkEnd == false) { |
| 54 | 54 | break; //just in case we got a broken connection |
| 55 | 55 | } |
| 56 | - $temp = substr($buffer, $chunkStart, $chunkEnd - $chunkStart); |
|
| 56 | + $temp = substr($buffer, $chunkStart, $chunkEnd-$chunkStart); |
|
| 57 | 57 | $chunkSize = hexdec(trim($temp)); |
| 58 | 58 | $chunkStart = $chunkEnd; |
| 59 | 59 | } |
@@ -84,11 +84,11 @@ discard block |
||
| 84 | 84 | // (even though it is not valid http) |
| 85 | 85 | $pos = strpos($data, "\r\n\r\n"); |
| 86 | 86 | if ($pos || is_int($pos)) { |
| 87 | - $bd = $pos + 4; |
|
| 87 | + $bd = $pos+4; |
|
| 88 | 88 | } else { |
| 89 | 89 | $pos = strpos($data, "\n\n"); |
| 90 | 90 | if ($pos || is_int($pos)) { |
| 91 | - $bd = $pos + 2; |
|
| 91 | + $bd = $pos+2; |
|
| 92 | 92 | } else { |
| 93 | 93 | // No separation between response headers and body: fault? |
| 94 | 94 | $bd = 0; |
@@ -99,8 +99,8 @@ discard block |
||
| 99 | 99 | // maybe we could take them into account, too? |
| 100 | 100 | $data = substr($data, $bd); |
| 101 | 101 | } else { |
| 102 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': HTTPS via proxy error, tunnel connection possibly failed'); |
|
| 103 | - throw new HttpException(PhpXmlRpc::$xmlrpcstr['http_error'] . ' (HTTPS via proxy error, tunnel connection possibly failed)', PhpXmlRpc::$xmlrpcerr['http_error']); |
|
| 102 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': HTTPS via proxy error, tunnel connection possibly failed'); |
|
| 103 | + throw new HttpException(PhpXmlRpc::$xmlrpcstr['http_error'].' (HTTPS via proxy error, tunnel connection possibly failed)', PhpXmlRpc::$xmlrpcerr['http_error']); |
|
| 104 | 104 | } |
| 105 | 105 | } |
| 106 | 106 | |
@@ -131,20 +131,20 @@ discard block |
||
| 131 | 131 | } |
| 132 | 132 | |
| 133 | 133 | if ($httpResponse['status_code'] !== '200') { |
| 134 | - $errstr = substr($data, 0, strpos($data, "\n") - 1); |
|
| 135 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': HTTP error, got response: ' . $errstr); |
|
| 136 | - throw new HttpException(PhpXmlRpc::$xmlrpcstr['http_error'] . ' (' . $errstr . ')', PhpXmlRpc::$xmlrpcerr['http_error'], null, $httpResponse['status_code']); |
|
| 134 | + $errstr = substr($data, 0, strpos($data, "\n")-1); |
|
| 135 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': HTTP error, got response: '.$errstr); |
|
| 136 | + throw new HttpException(PhpXmlRpc::$xmlrpcstr['http_error'].' ('.$errstr.')', PhpXmlRpc::$xmlrpcerr['http_error'], null, $httpResponse['status_code']); |
|
| 137 | 137 | } |
| 138 | 138 | |
| 139 | 139 | // be tolerant to usage of \n instead of \r\n to separate headers and data |
| 140 | 140 | // (even though it is not valid http) |
| 141 | 141 | $pos = strpos($data, "\r\n\r\n"); |
| 142 | 142 | if ($pos || is_int($pos)) { |
| 143 | - $bd = $pos + 4; |
|
| 143 | + $bd = $pos+4; |
|
| 144 | 144 | } else { |
| 145 | 145 | $pos = strpos($data, "\n\n"); |
| 146 | 146 | if ($pos || is_int($pos)) { |
| 147 | - $bd = $pos + 2; |
|
| 147 | + $bd = $pos+2; |
|
| 148 | 148 | } else { |
| 149 | 149 | // No separation between response headers and body: fault? |
| 150 | 150 | // we could take some action here instead of going on... |
@@ -158,7 +158,7 @@ discard block |
||
| 158 | 158 | foreach ($ar as $line) { |
| 159 | 159 | // take care of multi-line headers and cookies |
| 160 | 160 | $arr = explode(':', $line, 2); |
| 161 | - if (count($arr) > 1) { |
|
| 161 | + if (count($arr)>1) { |
|
| 162 | 162 | $headerName = strtolower(trim($arr[0])); |
| 163 | 163 | /// @todo some other headers (the ones that allow a CSV list of values) |
| 164 | 164 | /// do allow many values to be passed using multiple header lines. |
@@ -177,7 +177,7 @@ discard block |
||
| 177 | 177 | // glue together all received cookies, using a comma to separate them |
| 178 | 178 | // (same as php does with getallheaders()) |
| 179 | 179 | if (isset($httpResponse['headers'][$headerName])) { |
| 180 | - $httpResponse['headers'][$headerName] .= ', ' . trim($cookie); |
|
| 180 | + $httpResponse['headers'][$headerName] .= ', '.trim($cookie); |
|
| 181 | 181 | } else { |
| 182 | 182 | $httpResponse['headers'][$headerName] = trim($cookie); |
| 183 | 183 | } |
@@ -206,7 +206,7 @@ discard block |
||
| 206 | 206 | } |
| 207 | 207 | } elseif (isset($headerName)) { |
| 208 | 208 | /// @todo version1 cookies might span multiple lines, thus breaking the parsing above |
| 209 | - $httpResponse['headers'][$headerName] .= ' ' . trim($line); |
|
| 209 | + $httpResponse['headers'][$headerName] .= ' '.trim($line); |
|
| 210 | 210 | } |
| 211 | 211 | } |
| 212 | 212 | |
@@ -230,7 +230,7 @@ discard block |
||
| 230 | 230 | // Decode chunked encoding sent by http 1.1 servers |
| 231 | 231 | if (isset($httpResponse['headers']['transfer-encoding']) && $httpResponse['headers']['transfer-encoding'] == 'chunked') { |
| 232 | 232 | if (!$data = static::decodeChunked($data)) { |
| 233 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': errors occurred when trying to rebuild the chunked data received from server'); |
|
| 233 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': errors occurred when trying to rebuild the chunked data received from server'); |
|
| 234 | 234 | throw new HttpException(PhpXmlRpc::$xmlrpcstr['dechunk_fail'], PhpXmlRpc::$xmlrpcerr['dechunk_fail'], null, $httpResponse['status_code']); |
| 235 | 235 | } |
| 236 | 236 | } |
@@ -245,19 +245,19 @@ discard block |
||
| 245 | 245 | if ($httpResponse['headers']['content-encoding'] == 'deflate' && $degzdata = @gzuncompress($data)) { |
| 246 | 246 | $data = $degzdata; |
| 247 | 247 | if ($debug) { |
| 248 | - Logger::instance()->debugMessage("---INFLATED RESPONSE---[" . strlen($data) . " chars]---\n$data\n---END---"); |
|
| 248 | + Logger::instance()->debugMessage("---INFLATED RESPONSE---[".strlen($data)." chars]---\n$data\n---END---"); |
|
| 249 | 249 | } |
| 250 | 250 | } elseif ($httpResponse['headers']['content-encoding'] == 'gzip' && $degzdata = @gzinflate(substr($data, 10))) { |
| 251 | 251 | $data = $degzdata; |
| 252 | 252 | if ($debug) { |
| 253 | - Logger::instance()->debugMessage("---INFLATED RESPONSE---[" . strlen($data) . " chars]---\n$data\n---END---"); |
|
| 253 | + Logger::instance()->debugMessage("---INFLATED RESPONSE---[".strlen($data)." chars]---\n$data\n---END---"); |
|
| 254 | 254 | } |
| 255 | 255 | } else { |
| 256 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': errors occurred when trying to decode the deflated data received from server'); |
|
| 256 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': errors occurred when trying to decode the deflated data received from server'); |
|
| 257 | 257 | throw new HttpException(PhpXmlRpc::$xmlrpcstr['decompress_fail'], PhpXmlRpc::$xmlrpcerr['decompress_fail'], null, $httpResponse['status_code']); |
| 258 | 258 | } |
| 259 | 259 | } else { |
| 260 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': the server sent deflated data. Your php install must have the Zlib extension compiled in to support this.'); |
|
| 260 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': the server sent deflated data. Your php install must have the Zlib extension compiled in to support this.'); |
|
| 261 | 261 | throw new HttpException(PhpXmlRpc::$xmlrpcstr['cannot_decompress'], PhpXmlRpc::$xmlrpcerr['cannot_decompress'], null, $httpResponse['status_code']); |
| 262 | 262 | } |
| 263 | 263 | } |
@@ -154,10 +154,10 @@ discard block |
||
| 154 | 154 | $this->accept = $accept; |
| 155 | 155 | |
| 156 | 156 | // @see ticket #70 - we have to parse big xml docks in chunks to avoid errors |
| 157 | - for ($offset = 0; $offset < $len; $offset += $this->maxChunkLength) { |
|
| 157 | + for ($offset = 0; $offset<$len; $offset += $this->maxChunkLength) { |
|
| 158 | 158 | $chunk = substr($data, $offset, $this->maxChunkLength); |
| 159 | 159 | // error handling: xml not well formed |
| 160 | - if (!xml_parse($parser, $chunk, $offset + $this->maxChunkLength >= $len)) { |
|
| 160 | + if (!xml_parse($parser, $chunk, $offset+$this->maxChunkLength>=$len)) { |
|
| 161 | 161 | $errCode = xml_get_error_code($parser); |
| 162 | 162 | $errStr = sprintf('XML error %s: %s at line %d, column %d', $errCode, xml_error_string($errCode), |
| 163 | 163 | xml_get_current_line_number($parser), xml_get_current_column_number($parser)); |
@@ -182,7 +182,7 @@ discard block |
||
| 182 | 182 | public function xmlrpc_se($parser, $name, $attrs, $acceptSingleVals = false) |
| 183 | 183 | { |
| 184 | 184 | // if invalid xmlrpc already detected, skip all processing |
| 185 | - if ($this->_xh['isf'] < 2) { |
|
| 185 | + if ($this->_xh['isf']<2) { |
|
| 186 | 186 | |
| 187 | 187 | // check for correct element nesting |
| 188 | 188 | if (count($this->_xh['stack']) == 0) { |
@@ -202,7 +202,7 @@ discard block |
||
| 202 | 202 | $this->_xh['rt'] = strtolower($name); |
| 203 | 203 | } else { |
| 204 | 204 | $this->_xh['isf'] = 2; |
| 205 | - $this->_xh['isf_reason'] = 'missing top level xmlrpc element. Found: ' . $name; |
|
| 205 | + $this->_xh['isf_reason'] = 'missing top level xmlrpc element. Found: '.$name; |
|
| 206 | 206 | |
| 207 | 207 | return; |
| 208 | 208 | } |
@@ -296,7 +296,7 @@ discard block |
||
| 296 | 296 | break; |
| 297 | 297 | case 'MEMBER': |
| 298 | 298 | // set member name to null, in case we do not find in the xml later on |
| 299 | - $this->_xh['valuestack'][count($this->_xh['valuestack']) - 1]['name'] = ''; |
|
| 299 | + $this->_xh['valuestack'][count($this->_xh['valuestack'])-1]['name'] = ''; |
|
| 300 | 300 | //$this->_xh['ac']=''; |
| 301 | 301 | // Drop trough intentionally |
| 302 | 302 | case 'PARAM': |
@@ -357,7 +357,7 @@ discard block |
||
| 357 | 357 | */ |
| 358 | 358 | public function xmlrpc_ee($parser, $name, $rebuildXmlrpcvals = 1) |
| 359 | 359 | { |
| 360 | - if ($this->_xh['isf'] < 2) { |
|
| 360 | + if ($this->_xh['isf']<2) { |
|
| 361 | 361 | // push this element name from stack |
| 362 | 362 | // NB: if XML validates, correct opening/closing is guaranteed and |
| 363 | 363 | // we do not have to check for $name == $currElem. |
@@ -372,7 +372,7 @@ discard block |
||
| 372 | 372 | $this->_xh['vt'] = Value::$xmlrpcString; |
| 373 | 373 | } |
| 374 | 374 | |
| 375 | - if ($rebuildXmlrpcvals > 0) { |
|
| 375 | + if ($rebuildXmlrpcvals>0) { |
|
| 376 | 376 | // build the xmlrpc val out of the data received, and substitute it |
| 377 | 377 | $temp = new Value($this->_xh['value'], $this->_xh['vt']); |
| 378 | 378 | // in case we got info about underlying php class, save it |
@@ -381,15 +381,15 @@ discard block |
||
| 381 | 381 | $temp->_php_class = $this->_xh['php_class']; |
| 382 | 382 | } |
| 383 | 383 | $this->_xh['value'] = $temp; |
| 384 | - } elseif ($rebuildXmlrpcvals < 0) { |
|
| 384 | + } elseif ($rebuildXmlrpcvals<0) { |
|
| 385 | 385 | if ($this->_xh['vt'] == Value::$xmlrpcDateTime) { |
| 386 | - $this->_xh['value'] = (object)array( |
|
| 386 | + $this->_xh['value'] = (object) array( |
|
| 387 | 387 | 'xmlrpc_type' => 'datetime', |
| 388 | 388 | 'scalar' => $this->_xh['value'], |
| 389 | 389 | 'timestamp' => \PhpXmlRpc\Helper\Date::iso8601Decode($this->_xh['value']) |
| 390 | 390 | ); |
| 391 | 391 | } elseif ($this->_xh['vt'] == Value::$xmlrpcBase64) { |
| 392 | - $this->_xh['value'] = (object)array( |
|
| 392 | + $this->_xh['value'] = (object) array( |
|
| 393 | 393 | 'xmlrpc_type' => 'base64', |
| 394 | 394 | 'scalar' => $this->_xh['value'] |
| 395 | 395 | ); |
@@ -405,8 +405,8 @@ discard block |
||
| 405 | 405 | // check if we are inside an array or struct: |
| 406 | 406 | // if value just built is inside an array, let's move it into array on the stack |
| 407 | 407 | $vscount = count($this->_xh['valuestack']); |
| 408 | - if ($vscount && $this->_xh['valuestack'][$vscount - 1]['type'] == 'ARRAY') { |
|
| 409 | - $this->_xh['valuestack'][$vscount - 1]['values'][] = $this->_xh['value']; |
|
| 408 | + if ($vscount && $this->_xh['valuestack'][$vscount-1]['type'] == 'ARRAY') { |
|
| 409 | + $this->_xh['valuestack'][$vscount-1]['values'][] = $this->_xh['value']; |
|
| 410 | 410 | } |
| 411 | 411 | break; |
| 412 | 412 | case 'BOOLEAN': |
@@ -425,7 +425,7 @@ discard block |
||
| 425 | 425 | $this->_xh['value'] = $this->_xh['ac']; |
| 426 | 426 | } elseif ($name == 'DATETIME.ISO8601') { |
| 427 | 427 | if (!preg_match('/^[0-9]{8}T[0-9]{2}:[0-9]{2}:[0-9]{2}$/', $this->_xh['ac'])) { |
| 428 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': invalid value received in DATETIME: ' . $this->_xh['ac']); |
|
| 428 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': invalid value received in DATETIME: '.$this->_xh['ac']); |
|
| 429 | 429 | } |
| 430 | 430 | $this->_xh['vt'] = Value::$xmlrpcDateTime; |
| 431 | 431 | $this->_xh['value'] = $this->_xh['ac']; |
@@ -444,7 +444,7 @@ discard block |
||
| 444 | 444 | } else { |
| 445 | 445 | // log if receiving something strange, even though we set the value to false anyway |
| 446 | 446 | if ($this->_xh['ac'] != '0' && strcasecmp($this->_xh['ac'], 'false') != 0) { |
| 447 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': invalid value received in BOOLEAN: ' . $this->_xh['ac']); |
|
| 447 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': invalid value received in BOOLEAN: '.$this->_xh['ac']); |
|
| 448 | 448 | } |
| 449 | 449 | $this->_xh['value'] = false; |
| 450 | 450 | } |
@@ -454,37 +454,37 @@ discard block |
||
| 454 | 454 | // NOTE: regexp could be much stricter than this... |
| 455 | 455 | if (!preg_match('/^[+-eE0123456789 \t.]+$/', $this->_xh['ac'])) { |
| 456 | 456 | /// @todo: find a better way of throwing an error than this! |
| 457 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': non numeric value received in DOUBLE: ' . $this->_xh['ac']); |
|
| 457 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': non numeric value received in DOUBLE: '.$this->_xh['ac']); |
|
| 458 | 458 | $this->_xh['value'] = 'ERROR_NON_NUMERIC_FOUND'; |
| 459 | 459 | } else { |
| 460 | 460 | // it's ok, add it on |
| 461 | - $this->_xh['value'] = (double)$this->_xh['ac']; |
|
| 461 | + $this->_xh['value'] = (double) $this->_xh['ac']; |
|
| 462 | 462 | } |
| 463 | 463 | } else { |
| 464 | 464 | // we have an I4/I8/INT |
| 465 | 465 | // we must check that only 0123456789-<space> are characters here |
| 466 | 466 | if (!preg_match('/^[+-]?[0123456789 \t]+$/', $this->_xh['ac'])) { |
| 467 | 467 | /// @todo find a better way of throwing an error than this! |
| 468 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': non numeric value received in INT: ' . $this->_xh['ac']); |
|
| 468 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': non numeric value received in INT: '.$this->_xh['ac']); |
|
| 469 | 469 | $this->_xh['value'] = 'ERROR_NON_NUMERIC_FOUND'; |
| 470 | 470 | } else { |
| 471 | 471 | // it's ok, add it on |
| 472 | - $this->_xh['value'] = (int)$this->_xh['ac']; |
|
| 472 | + $this->_xh['value'] = (int) $this->_xh['ac']; |
|
| 473 | 473 | } |
| 474 | 474 | } |
| 475 | 475 | $this->_xh['lv'] = 3; // indicate we've found a value |
| 476 | 476 | break; |
| 477 | 477 | case 'NAME': |
| 478 | - $this->_xh['valuestack'][count($this->_xh['valuestack']) - 1]['name'] = $this->_xh['ac']; |
|
| 478 | + $this->_xh['valuestack'][count($this->_xh['valuestack'])-1]['name'] = $this->_xh['ac']; |
|
| 479 | 479 | break; |
| 480 | 480 | case 'MEMBER': |
| 481 | 481 | // add to array in the stack the last element built, |
| 482 | 482 | // unless no VALUE was found |
| 483 | 483 | if ($this->_xh['vt']) { |
| 484 | 484 | $vscount = count($this->_xh['valuestack']); |
| 485 | - $this->_xh['valuestack'][$vscount - 1]['values'][$this->_xh['valuestack'][$vscount - 1]['name']] = $this->_xh['value']; |
|
| 485 | + $this->_xh['valuestack'][$vscount-1]['values'][$this->_xh['valuestack'][$vscount-1]['name']] = $this->_xh['value']; |
|
| 486 | 486 | } else { |
| 487 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': missing VALUE inside STRUCT in received xml'); |
|
| 487 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': missing VALUE inside STRUCT in received xml'); |
|
| 488 | 488 | } |
| 489 | 489 | break; |
| 490 | 490 | case 'DATA': |
@@ -507,7 +507,7 @@ discard block |
||
| 507 | 507 | $this->_xh['params'][] = $this->_xh['value']; |
| 508 | 508 | $this->_xh['pt'][] = $this->_xh['vt']; |
| 509 | 509 | } else { |
| 510 | - Logger::instance()->errorLog('XML-RPC: ' . __METHOD__ . ': missing VALUE inside PARAM in received xml'); |
|
| 510 | + Logger::instance()->errorLog('XML-RPC: '.__METHOD__.': missing VALUE inside PARAM in received xml'); |
|
| 511 | 511 | } |
| 512 | 512 | break; |
| 513 | 513 | case 'METHODNAME': |
@@ -566,7 +566,7 @@ discard block |
||
| 566 | 566 | public function xmlrpc_cd($parser, $data) |
| 567 | 567 | { |
| 568 | 568 | // skip processing if xml fault already detected |
| 569 | - if ($this->_xh['isf'] < 2) { |
|
| 569 | + if ($this->_xh['isf']<2) { |
|
| 570 | 570 | // "lookforvalue==3" means that we've found an entire value |
| 571 | 571 | // and should discard any further character data |
| 572 | 572 | if ($this->_xh['lv'] != 3) { |
@@ -585,7 +585,7 @@ discard block |
||
| 585 | 585 | public function xmlrpc_dh($parser, $data) |
| 586 | 586 | { |
| 587 | 587 | // skip processing if xml fault already detected |
| 588 | - if ($this->_xh['isf'] < 2) { |
|
| 588 | + if ($this->_xh['isf']<2) { |
|
| 589 | 589 | if (substr($data, 0, 1) == '&' && substr($data, -1, 1) == ';') { |
| 590 | 590 | $this->_xh['ac'] .= $data; |
| 591 | 591 | } |
@@ -659,8 +659,8 @@ discard block |
||
| 659 | 659 | // Details: |
| 660 | 660 | // SPACE: (#x20 | #x9 | #xD | #xA)+ === [ \x9\xD\xA]+ |
| 661 | 661 | // EQ: SPACE?=SPACE? === [ \x9\xD\xA]*=[ \x9\xD\xA]* |
| 662 | - if (preg_match('/^<\?xml\s+version\s*=\s*' . "((?:\"[a-zA-Z0-9_.:-]+\")|(?:'[a-zA-Z0-9_.:-]+'))" . |
|
| 663 | - '\s+encoding\s*=\s*' . "((?:\"[A-Za-z][A-Za-z0-9._-]*\")|(?:'[A-Za-z][A-Za-z0-9._-]*'))/", |
|
| 662 | + if (preg_match('/^<\?xml\s+version\s*=\s*'."((?:\"[a-zA-Z0-9_.:-]+\")|(?:'[a-zA-Z0-9_.:-]+'))". |
|
| 663 | + '\s+encoding\s*=\s*'."((?:\"[A-Za-z][A-Za-z0-9._-]*\")|(?:'[A-Za-z][A-Za-z0-9._-]*'))/", |
|
| 664 | 664 | $xmlChunk, $matches)) { |
| 665 | 665 | return strtoupper(substr($matches[2], 1, -1)); |
| 666 | 666 | } |
@@ -678,7 +678,7 @@ discard block |
||
| 678 | 678 | // NB: mb_detect likes to call it ascii, xml parser likes to call it US_ASCII... |
| 679 | 679 | // IANA also likes better US-ASCII, so go with it |
| 680 | 680 | if ($enc == 'ASCII') { |
| 681 | - $enc = 'US-' . $enc; |
|
| 681 | + $enc = 'US-'.$enc; |
|
| 682 | 682 | } |
| 683 | 683 | |
| 684 | 684 | return $enc; |
@@ -713,8 +713,8 @@ discard block |
||
| 713 | 713 | // Details: |
| 714 | 714 | // SPACE: (#x20 | #x9 | #xD | #xA)+ === [ \x9\xD\xA]+ |
| 715 | 715 | // EQ: SPACE?=SPACE? === [ \x9\xD\xA]*=[ \x9\xD\xA]* |
| 716 | - if (preg_match('/^<\?xml\s+version\s*=\s*' . "((?:\"[a-zA-Z0-9_.:-]+\")|(?:'[a-zA-Z0-9_.:-]+'))" . |
|
| 717 | - '\s+encoding\s*=\s*' . "((?:\"[A-Za-z][A-Za-z0-9._-]*\")|(?:'[A-Za-z][A-Za-z0-9._-]*'))/", |
|
| 716 | + if (preg_match('/^<\?xml\s+version\s*=\s*'."((?:\"[a-zA-Z0-9_.:-]+\")|(?:'[a-zA-Z0-9_.:-]+'))". |
|
| 717 | + '\s+encoding\s*=\s*'."((?:\"[A-Za-z][A-Za-z0-9._-]*\")|(?:'[A-Za-z][A-Za-z0-9._-]*'))/", |
|
| 718 | 718 | $xmlChunk, $matches)) { |
| 719 | 719 | return true; |
| 720 | 720 | } |
@@ -119,7 +119,7 @@ discard block |
||
| 119 | 119 | $this->me['struct'] = $val; |
| 120 | 120 | break; |
| 121 | 121 | default: |
| 122 | - $this->getLogger()->errorLog("XML-RPC: " . __METHOD__ . ": not a known type ($type)"); |
|
| 122 | + $this->getLogger()->errorLog("XML-RPC: ".__METHOD__.": not a known type ($type)"); |
|
| 123 | 123 | } |
| 124 | 124 | } |
| 125 | 125 | } |
@@ -144,7 +144,7 @@ discard block |
||
| 144 | 144 | } |
| 145 | 145 | |
| 146 | 146 | if ($typeOf !== 1) { |
| 147 | - $this->getLogger()->errorLog("XML-RPC: " . __METHOD__ . ": not a scalar type ($type)"); |
|
| 147 | + $this->getLogger()->errorLog("XML-RPC: ".__METHOD__.": not a scalar type ($type)"); |
|
| 148 | 148 | return 0; |
| 149 | 149 | } |
| 150 | 150 | |
@@ -161,10 +161,10 @@ discard block |
||
| 161 | 161 | |
| 162 | 162 | switch ($this->mytype) { |
| 163 | 163 | case 1: |
| 164 | - $this->getLogger()->errorLog('XML-RPC: ' . __METHOD__ . ': scalar xmlrpc value can have only one value'); |
|
| 164 | + $this->getLogger()->errorLog('XML-RPC: '.__METHOD__.': scalar xmlrpc value can have only one value'); |
|
| 165 | 165 | return 0; |
| 166 | 166 | case 3: |
| 167 | - $this->getLogger()->errorLog('XML-RPC: ' . __METHOD__ . ': cannot add anonymous scalar to struct xmlrpc value'); |
|
| 167 | + $this->getLogger()->errorLog('XML-RPC: '.__METHOD__.': cannot add anonymous scalar to struct xmlrpc value'); |
|
| 168 | 168 | return 0; |
| 169 | 169 | case 2: |
| 170 | 170 | // we're adding a scalar value to an array here |
@@ -206,7 +206,7 @@ discard block |
||
| 206 | 206 | |
| 207 | 207 | return 1; |
| 208 | 208 | } else { |
| 209 | - $this->getLogger()->errorLog('XML-RPC: ' . __METHOD__ . ': already initialized as a [' . $this->kindOf() . ']'); |
|
| 209 | + $this->getLogger()->errorLog('XML-RPC: '.__METHOD__.': already initialized as a ['.$this->kindOf().']'); |
|
| 210 | 210 | return 0; |
| 211 | 211 | } |
| 212 | 212 | } |
@@ -237,7 +237,7 @@ discard block |
||
| 237 | 237 | |
| 238 | 238 | return 1; |
| 239 | 239 | } else { |
| 240 | - $this->getLogger()->errorLog('XML-RPC: ' . __METHOD__ . ': already initialized as a [' . $this->kindOf() . ']'); |
|
| 240 | + $this->getLogger()->errorLog('XML-RPC: '.__METHOD__.': already initialized as a ['.$this->kindOf().']'); |
|
| 241 | 241 | return 0; |
| 242 | 242 | } |
| 243 | 243 | } |
@@ -279,19 +279,19 @@ discard block |
||
| 279 | 279 | case 1: |
| 280 | 280 | switch ($typ) { |
| 281 | 281 | case static::$xmlrpcBase64: |
| 282 | - $rs .= "<{$typ}>" . base64_encode($val) . "</{$typ}>"; |
|
| 282 | + $rs .= "<{$typ}>".base64_encode($val)."</{$typ}>"; |
|
| 283 | 283 | break; |
| 284 | 284 | case static::$xmlrpcBoolean: |
| 285 | - $rs .= "<{$typ}>" . ($val ? '1' : '0') . "</{$typ}>"; |
|
| 285 | + $rs .= "<{$typ}>".($val ? '1' : '0')."</{$typ}>"; |
|
| 286 | 286 | break; |
| 287 | 287 | case static::$xmlrpcString: |
| 288 | 288 | // Do NOT use htmlentities, since it will produce named html entities, which are invalid xml |
| 289 | - $rs .= "<{$typ}>" . $this->getCharsetEncoder()->encodeEntities($val, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding) . "</{$typ}>"; |
|
| 289 | + $rs .= "<{$typ}>".$this->getCharsetEncoder()->encodeEntities($val, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding)."</{$typ}>"; |
|
| 290 | 290 | break; |
| 291 | 291 | case static::$xmlrpcInt: |
| 292 | 292 | case static::$xmlrpcI4: |
| 293 | 293 | case static::$xmlrpcI8: |
| 294 | - $rs .= "<{$typ}>" . (int)$val . "</{$typ}>"; |
|
| 294 | + $rs .= "<{$typ}>".(int) $val."</{$typ}>"; |
|
| 295 | 295 | break; |
| 296 | 296 | case static::$xmlrpcDouble: |
| 297 | 297 | // avoid using standard conversion of float to string because it is locale-dependent, |
@@ -299,16 +299,16 @@ discard block |
||
| 299 | 299 | // sprintf('%F') could be most likely ok but it fails eg. on 2e-14. |
| 300 | 300 | // The code below tries its best at keeping max precision while avoiding exp notation, |
| 301 | 301 | // but there is of course no limit in the number of decimal places to be used... |
| 302 | - $rs .= "<{$typ}>" . preg_replace('/\\.?0+$/', '', number_format((double)$val, PhpXmlRpc::$xmlpc_double_precision, '.', '')) . "</{$typ}>"; |
|
| 302 | + $rs .= "<{$typ}>".preg_replace('/\\.?0+$/', '', number_format((double) $val, PhpXmlRpc::$xmlpc_double_precision, '.', ''))."</{$typ}>"; |
|
| 303 | 303 | break; |
| 304 | 304 | case static::$xmlrpcDateTime: |
| 305 | 305 | if (is_string($val)) { |
| 306 | 306 | $rs .= "<{$typ}>{$val}</{$typ}>"; |
| 307 | 307 | // DateTimeInterface is not present in php 5.4... |
| 308 | 308 | } elseif (is_a($val, 'DateTimeInterface') || is_a($val, 'DateTime')) { |
| 309 | - $rs .= "<{$typ}>" . $val->format('Ymd\TH:i:s') . "</{$typ}>"; |
|
| 309 | + $rs .= "<{$typ}>".$val->format('Ymd\TH:i:s')."</{$typ}>"; |
|
| 310 | 310 | } elseif (is_int($val)) { |
| 311 | - $rs .= "<{$typ}>" . date('Ymd\TH:i:s', $val) . "</{$typ}>"; |
|
| 311 | + $rs .= "<{$typ}>".date('Ymd\TH:i:s', $val)."</{$typ}>"; |
|
| 312 | 312 | } else { |
| 313 | 313 | // not really a good idea here: but what should we output anyway? left for backward compat... |
| 314 | 314 | $rs .= "<{$typ}>{$val}</{$typ}>"; |
@@ -330,14 +330,14 @@ discard block |
||
| 330 | 330 | case 3: |
| 331 | 331 | // struct |
| 332 | 332 | if ($this->_php_class) { |
| 333 | - $rs .= '<struct php_class="' . $this->_php_class . "\">\n"; |
|
| 333 | + $rs .= '<struct php_class="'.$this->_php_class."\">\n"; |
|
| 334 | 334 | } else { |
| 335 | 335 | $rs .= "<struct>\n"; |
| 336 | 336 | } |
| 337 | 337 | $charsetEncoder = $this->getCharsetEncoder(); |
| 338 | 338 | /** @var Value $val2 */ |
| 339 | 339 | foreach ($val as $key2 => $val2) { |
| 340 | - $rs .= '<member><name>' . $charsetEncoder->encodeEntities($key2, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding) . "</name>\n"; |
|
| 340 | + $rs .= '<member><name>'.$charsetEncoder->encodeEntities($key2, PhpXmlRpc::$xmlrpc_internalencoding, $charsetEncoding)."</name>\n"; |
|
| 341 | 341 | //$rs.=$this->serializeval($val2); |
| 342 | 342 | $rs .= $val2->serialize($charsetEncoding); |
| 343 | 343 | $rs .= "</member>\n"; |
@@ -373,7 +373,7 @@ discard block |
||
| 373 | 373 | $val = reset($this->me); |
| 374 | 374 | $typ = key($this->me); |
| 375 | 375 | |
| 376 | - return '<value>' . $this->serializedata($typ, $val, $charsetEncoding) . "</value>\n"; |
|
| 376 | + return '<value>'.$this->serializedata($typ, $val, $charsetEncoding)."</value>\n"; |
|
| 377 | 377 | } |
| 378 | 378 | |
| 379 | 379 | /** |
@@ -4,7 +4,7 @@ discard block |
||
| 4 | 4 | * It uses a Berkeley DB database for storage. |
| 5 | 5 | */ |
| 6 | 6 | |
| 7 | -require_once __DIR__ . "/_prepend.php"; |
|
| 7 | +require_once __DIR__."/_prepend.php"; |
|
| 8 | 8 | |
| 9 | 9 | use PhpXmlRpc\Value; |
| 10 | 10 | |
@@ -35,8 +35,8 @@ discard block |
||
| 35 | 35 | $count = 0; |
| 36 | 36 | } |
| 37 | 37 | // add the new comment in |
| 38 | - dba_insert($msgID . "_comment_{$count}", $comment, $dbh); |
|
| 39 | - dba_insert($msgID . "_name_{$count}", $name, $dbh); |
|
| 38 | + dba_insert($msgID."_comment_{$count}", $comment, $dbh); |
|
| 39 | + dba_insert($msgID."_name_{$count}", $name, $dbh); |
|
| 40 | 40 | $count++; |
| 41 | 41 | dba_replace($countID, $count, $dbh); |
| 42 | 42 | dba_close($dbh); |
@@ -69,7 +69,7 @@ discard block |
||
| 69 | 69 | $countID = "{$msgID}_count"; |
| 70 | 70 | if (dba_exists($countID, $dbh)) { |
| 71 | 71 | $count = dba_fetch($countID, $dbh); |
| 72 | - for ($i = 0; $i < $count; $i++) { |
|
| 72 | + for ($i = 0; $i<$count; $i++) { |
|
| 73 | 73 | $name = dba_fetch("{$msgID}_name_{$i}", $dbh); |
| 74 | 74 | $comment = dba_fetch("{$msgID}_comment_{$i}", $dbh); |
| 75 | 75 | // push a new struct onto the return array |