@@ -1003,22 +1003,22 @@ discard block |
||
| 1003 | 1003 | $req .= pack ( "N", $filter["type"] ); |
| 1004 | 1004 | switch ( $filter["type"] ) |
| 1005 | 1005 | { |
| 1006 | - case SPH_FILTER_VALUES: |
|
| 1007 | - $req .= pack ( "N", count($filter["values"]) ); |
|
| 1008 | - foreach ( $filter["values"] as $value ) |
|
| 1009 | - $req .= sphPackI64 ( $value ); |
|
| 1010 | - break; |
|
| 1011 | - |
|
| 1012 | - case SPH_FILTER_RANGE: |
|
| 1013 | - $req .= sphPackI64 ( $filter["min"] ) . sphPackI64 ( $filter["max"] ); |
|
| 1014 | - break; |
|
| 1015 | - |
|
| 1016 | - case SPH_FILTER_FLOATRANGE: |
|
| 1017 | - $req .= $this->_PackFloat ( $filter["min"] ) . $this->_PackFloat ( $filter["max"] ); |
|
| 1018 | - break; |
|
| 1019 | - |
|
| 1020 | - default: |
|
| 1021 | - assert ( 0 && "internal error: unhandled filter type" ); |
|
| 1006 | + case SPH_FILTER_VALUES: |
|
| 1007 | + $req .= pack ( "N", count($filter["values"]) ); |
|
| 1008 | + foreach ( $filter["values"] as $value ) |
|
| 1009 | + $req .= sphPackI64 ( $value ); |
|
| 1010 | + break; |
|
| 1011 | + |
|
| 1012 | + case SPH_FILTER_RANGE: |
|
| 1013 | + $req .= sphPackI64 ( $filter["min"] ) . sphPackI64 ( $filter["max"] ); |
|
| 1014 | + break; |
|
| 1015 | + |
|
| 1016 | + case SPH_FILTER_FLOATRANGE: |
|
| 1017 | + $req .= $this->_PackFloat ( $filter["min"] ) . $this->_PackFloat ( $filter["max"] ); |
|
| 1018 | + break; |
|
| 1019 | + |
|
| 1020 | + default: |
|
| 1021 | + assert ( 0 && "internal error: unhandled filter type" ); |
|
| 1022 | 1022 | } |
| 1023 | 1023 | $req .= pack ( "N", $filter["exclude"] ); |
| 1024 | 1024 | } |
@@ -1073,9 +1073,9 @@ discard block |
||
| 1073 | 1073 | $req .= sphPackU64 ( $id ); |
| 1074 | 1074 | switch ( $entry["type"] ) |
| 1075 | 1075 | { |
| 1076 | - case SPH_ATTR_FLOAT: $req .= $this->_PackFloat ( $val ); break; |
|
| 1077 | - case SPH_ATTR_BIGINT: $req .= sphPackI64 ( $val ); break; |
|
| 1078 | - default: $req .= pack ( "N", $val ); break; |
|
| 1076 | + case SPH_ATTR_FLOAT: $req .= $this->_PackFloat ( $val ); break; |
|
| 1077 | + case SPH_ATTR_BIGINT: $req .= sphPackI64 ( $val ); break; |
|
| 1078 | + default: $req .= pack ( "N", $val ); break; |
|
| 1079 | 1079 | } |
| 1080 | 1080 | } |
| 1081 | 1081 | } |
@@ -133,14 +133,16 @@ discard block |
||
| 133 | 133 | } |
| 134 | 134 | |
| 135 | 135 | // x32, int |
| 136 | - if ( is_int($v) ) |
|
| 137 | - return pack ( "NN", $v < 0 ? -1 : 0, $v ); |
|
| 136 | + if ( is_int($v) ) { |
|
| 137 | + return pack ( "NN", $v < 0 ? -1 : 0, $v ); |
|
| 138 | + } |
|
| 138 | 139 | |
| 139 | 140 | // x32, bcmath |
| 140 | 141 | if ( function_exists("bcmul") ) |
| 141 | 142 | { |
| 142 | - if ( bccomp ( $v, 0 ) == -1 ) |
|
| 143 | - $v = bcadd ( "18446744073709551616", $v ); |
|
| 143 | + if ( bccomp ( $v, 0 ) == -1 ) { |
|
| 144 | + $v = bcadd ( "18446744073709551616", $v ); |
|
| 145 | + } |
|
| 144 | 146 | $h = bcdiv ( $v, "4294967296", 0 ); |
| 145 | 147 | $l = bcmod ( $v, "4294967296" ); |
| 146 | 148 | return pack ( "NN", (float)$h, (float)$l ); // conversion to float is intentional; int would lose 31st bit |
@@ -158,9 +160,9 @@ discard block |
||
| 158 | 160 | |
| 159 | 161 | if ( $v<0 ) |
| 160 | 162 | { |
| 161 | - if ( $l==0 ) |
|
| 162 | - $h = 4294967296.0 - $h; |
|
| 163 | - else |
|
| 163 | + if ( $l==0 ) { |
|
| 164 | + $h = 4294967296.0 - $h; |
|
| 165 | + } else |
|
| 164 | 166 | { |
| 165 | 167 | $h = 4294967295.0 - $h; |
| 166 | 168 | $l = 4294967296.0 - $l; |
@@ -180,8 +182,9 @@ discard block |
||
| 180 | 182 | assert ( $v>=0 ); |
| 181 | 183 | |
| 182 | 184 | // x64, int |
| 183 | - if ( is_int($v) ) |
|
| 184 | - return pack ( "NN", $v>>32, $v&0xFFFFFFFF ); |
|
| 185 | + if ( is_int($v) ) { |
|
| 186 | + return pack ( "NN", $v>>32, $v&0xFFFFFFFF ); |
|
| 187 | + } |
|
| 185 | 188 | |
| 186 | 189 | // x64, bcmath |
| 187 | 190 | if ( function_exists("bcmul") ) |
@@ -204,8 +207,9 @@ discard block |
||
| 204 | 207 | } |
| 205 | 208 | |
| 206 | 209 | // x32, int |
| 207 | - if ( is_int($v) ) |
|
| 208 | - return pack ( "NN", 0, $v ); |
|
| 210 | + if ( is_int($v) ) { |
|
| 211 | + return pack ( "NN", 0, $v ); |
|
| 212 | + } |
|
| 209 | 213 | |
| 210 | 214 | // x32, bcmath |
| 211 | 215 | if ( function_exists("bcmul") ) |
@@ -235,16 +239,23 @@ discard block |
||
| 235 | 239 | |
| 236 | 240 | if ( PHP_INT_SIZE>=8 ) |
| 237 | 241 | { |
| 238 | - if ( $hi<0 ) $hi += (1<<32); // because php 5.2.2 to 5.2.5 is totally fucked up again |
|
| 239 | - if ( $lo<0 ) $lo += (1<<32); |
|
| 242 | + if ( $hi<0 ) { |
|
| 243 | + $hi += (1<<32); |
|
| 244 | + } |
|
| 245 | + // because php 5.2.2 to 5.2.5 is totally fucked up again |
|
| 246 | + if ( $lo<0 ) { |
|
| 247 | + $lo += (1<<32); |
|
| 248 | + } |
|
| 240 | 249 | |
| 241 | 250 | // x64, int |
| 242 | - if ( $hi<=2147483647 ) |
|
| 243 | - return ($hi<<32) + $lo; |
|
| 251 | + if ( $hi<=2147483647 ) { |
|
| 252 | + return ($hi<<32) + $lo; |
|
| 253 | + } |
|
| 244 | 254 | |
| 245 | 255 | // x64, bcmath |
| 246 | - if ( function_exists("bcmul") ) |
|
| 247 | - return bcadd ( $lo, bcmul ( $hi, "4294967296" ) ); |
|
| 256 | + if ( function_exists("bcmul") ) { |
|
| 257 | + return bcadd ( $lo, bcmul ( $hi, "4294967296" ) ); |
|
| 258 | + } |
|
| 248 | 259 | |
| 249 | 260 | // x64, no-bcmath |
| 250 | 261 | $C = 100000; |
@@ -256,16 +267,18 @@ discard block |
||
| 256 | 267 | $l = $l % $C; |
| 257 | 268 | } |
| 258 | 269 | |
| 259 | - if ( $h==0 ) |
|
| 260 | - return $l; |
|
| 270 | + if ( $h==0 ) { |
|
| 271 | + return $l; |
|
| 272 | + } |
|
| 261 | 273 | return sprintf ( "%d%05d", $h, $l ); |
| 262 | 274 | } |
| 263 | 275 | |
| 264 | 276 | // x32, int |
| 265 | 277 | if ( $hi==0 ) |
| 266 | 278 | { |
| 267 | - if ( $lo>0 ) |
|
| 268 | - return $lo; |
|
| 279 | + if ( $lo>0 ) { |
|
| 280 | + return $lo; |
|
| 281 | + } |
|
| 269 | 282 | return sprintf ( "%u", $lo ); |
| 270 | 283 | } |
| 271 | 284 | |
@@ -273,8 +286,9 @@ discard block |
||
| 273 | 286 | $lo = sprintf ( "%u", $lo ); |
| 274 | 287 | |
| 275 | 288 | // x32, bcmath |
| 276 | - if ( function_exists("bcmul") ) |
|
| 277 | - return bcadd ( $lo, bcmul ( $hi, "4294967296" ) ); |
|
| 289 | + if ( function_exists("bcmul") ) { |
|
| 290 | + return bcadd ( $lo, bcmul ( $hi, "4294967296" ) ); |
|
| 291 | + } |
|
| 278 | 292 | |
| 279 | 293 | // x32, no-bcmath |
| 280 | 294 | $hi = (float)$hi; |
@@ -289,8 +303,9 @@ discard block |
||
| 289 | 303 | |
| 290 | 304 | $h = sprintf ( "%.0f", $h ); |
| 291 | 305 | $l = sprintf ( "%07.0f", $l ); |
| 292 | - if ( $h=="0" ) |
|
| 293 | - return sprintf( "%.0f", (float)$l ); |
|
| 306 | + if ( $h=="0" ) { |
|
| 307 | + return sprintf( "%.0f", (float)$l ); |
|
| 308 | + } |
|
| 294 | 309 | return $h . $l; |
| 295 | 310 | } |
| 296 | 311 | |
@@ -302,8 +317,13 @@ discard block |
||
| 302 | 317 | // x64 |
| 303 | 318 | if ( PHP_INT_SIZE>=8 ) |
| 304 | 319 | { |
| 305 | - if ( $hi<0 ) $hi += (1<<32); // because php 5.2.2 to 5.2.5 is totally fucked up again |
|
| 306 | - if ( $lo<0 ) $lo += (1<<32); |
|
| 320 | + if ( $hi<0 ) { |
|
| 321 | + $hi += (1<<32); |
|
| 322 | + } |
|
| 323 | + // because php 5.2.2 to 5.2.5 is totally fucked up again |
|
| 324 | + if ( $lo<0 ) { |
|
| 325 | + $lo += (1<<32); |
|
| 326 | + } |
|
| 307 | 327 | |
| 308 | 328 | return ($hi<<32) + $lo; |
| 309 | 329 | } |
@@ -311,15 +331,17 @@ discard block |
||
| 311 | 331 | // x32, int |
| 312 | 332 | if ( $hi==0 ) |
| 313 | 333 | { |
| 314 | - if ( $lo>0 ) |
|
| 315 | - return $lo; |
|
| 334 | + if ( $lo>0 ) { |
|
| 335 | + return $lo; |
|
| 336 | + } |
|
| 316 | 337 | return sprintf ( "%u", $lo ); |
| 317 | 338 | } |
| 318 | 339 | // x32, int |
| 319 | 340 | elseif ( $hi==-1 ) |
| 320 | 341 | { |
| 321 | - if ( $lo<0 ) |
|
| 322 | - return $lo; |
|
| 342 | + if ( $lo<0 ) { |
|
| 343 | + return $lo; |
|
| 344 | + } |
|
| 323 | 345 | return sprintf ( "%.0f", $lo - 4294967296.0 ); |
| 324 | 346 | } |
| 325 | 347 | |
@@ -337,8 +359,9 @@ discard block |
||
| 337 | 359 | $lo = sprintf ( "%u", $lo ); |
| 338 | 360 | |
| 339 | 361 | // x32, bcmath |
| 340 | - if ( function_exists("bcmul") ) |
|
| 341 | - return $neg . bcadd ( bcadd ( $lo, bcmul ( $hi, "4294967296" ) ), $c ); |
|
| 362 | + if ( function_exists("bcmul") ) { |
|
| 363 | + return $neg . bcadd ( bcadd ( $lo, bcmul ( $hi, "4294967296" ) ), $c ); |
|
| 364 | + } |
|
| 342 | 365 | |
| 343 | 366 | // x32, no-bcmath |
| 344 | 367 | $hi = (float)$hi; |
@@ -358,8 +381,9 @@ discard block |
||
| 358 | 381 | |
| 359 | 382 | $h = sprintf ( "%.0f", $h ); |
| 360 | 383 | $l = sprintf ( "%07.0f", $l ); |
| 361 | - if ( $h=="0" ) |
|
| 362 | - return $neg . sprintf( "%.0f", (float)$l ); |
|
| 384 | + if ( $h=="0" ) { |
|
| 385 | + return $neg . sprintf( "%.0f", (float)$l ); |
|
| 386 | + } |
|
| 363 | 387 | return $neg . $h . $l; |
| 364 | 388 | } |
| 365 | 389 | |
@@ -369,10 +393,11 @@ discard block |
||
| 369 | 393 | if ( PHP_INT_SIZE>=8 ) |
| 370 | 394 | { |
| 371 | 395 | // x64 route, workaround broken unpack() in 5.2.2+ |
| 372 | - if ( $value<0 ) $value += (1<<32); |
|
| 396 | + if ( $value<0 ) { |
|
| 397 | + $value += (1<<32); |
|
| 398 | + } |
|
| 373 | 399 | return $value; |
| 374 | - } |
|
| 375 | - else |
|
| 400 | + } else |
|
| 376 | 401 | { |
| 377 | 402 | // x32 route, workaround php signed/unsigned braindamage |
| 378 | 403 | return sprintf ( "%u", $value ); |
@@ -470,8 +495,9 @@ discard block |
||
| 470 | 495 | |
| 471 | 496 | public function __destruct() |
| 472 | 497 | { |
| 473 | - if ( $this->_socket !== false ) |
|
| 474 | - fclose ( $this->_socket ); |
|
| 498 | + if ( $this->_socket !== false ) { |
|
| 499 | + fclose ( $this->_socket ); |
|
| 500 | + } |
|
| 475 | 501 | } |
| 476 | 502 | |
| 477 | 503 | /// get last error message (string) |
@@ -549,8 +575,9 @@ discard block |
||
| 549 | 575 | /// leave mbstring workaround mode |
| 550 | 576 | public function _MBPop () |
| 551 | 577 | { |
| 552 | - if ( $this->_mbenc ) |
|
| 553 | - mb_internal_encoding ( $this->_mbenc ); |
|
| 578 | + if ( $this->_mbenc ) { |
|
| 579 | + mb_internal_encoding ( $this->_mbenc ); |
|
| 580 | + } |
|
| 554 | 581 | } |
| 555 | 582 | |
| 556 | 583 | /// connect to searchd server |
@@ -560,8 +587,9 @@ discard block |
||
| 560 | 587 | { |
| 561 | 588 | // we are in persistent connection mode, so we have a socket |
| 562 | 589 | // however, need to check whether it's still alive |
| 563 | - if ( !@feof ( $this->_socket ) ) |
|
| 564 | - return $this->_socket; |
|
| 590 | + if ( !@feof ( $this->_socket ) ) { |
|
| 591 | + return $this->_socket; |
|
| 592 | + } |
|
| 565 | 593 | |
| 566 | 594 | // force reopen |
| 567 | 595 | $this->_socket = false; |
@@ -575,24 +603,25 @@ discard block |
||
| 575 | 603 | { |
| 576 | 604 | $host = $this->_path; |
| 577 | 605 | $port = 0; |
| 578 | - } |
|
| 579 | - else |
|
| 606 | + } else |
|
| 580 | 607 | { |
| 581 | 608 | $host = $this->_host; |
| 582 | 609 | $port = $this->_port; |
| 583 | 610 | } |
| 584 | 611 | |
| 585 | - if ( $this->_timeout<=0 ) |
|
| 586 | - $fp = @fsockopen ( $host, $port, $errno, $errstr ); |
|
| 587 | - else |
|
| 588 | - $fp = @fsockopen ( $host, $port, $errno, $errstr, $this->_timeout ); |
|
| 612 | + if ( $this->_timeout<=0 ) { |
|
| 613 | + $fp = @fsockopen ( $host, $port, $errno, $errstr ); |
|
| 614 | + } else { |
|
| 615 | + $fp = @fsockopen ( $host, $port, $errno, $errstr, $this->_timeout ); |
|
| 616 | + } |
|
| 589 | 617 | |
| 590 | 618 | if ( !$fp ) |
| 591 | 619 | { |
| 592 | - if ( $this->_path ) |
|
| 593 | - $location = $this->_path; |
|
| 594 | - else |
|
| 595 | - $location = "{$this->_host}:{$this->_port}"; |
|
| 620 | + if ( $this->_path ) { |
|
| 621 | + $location = $this->_path; |
|
| 622 | + } else { |
|
| 623 | + $location = "{$this->_host}:{$this->_port}"; |
|
| 624 | + } |
|
| 596 | 625 | |
| 597 | 626 | $errstr = trim ( $errstr ); |
| 598 | 627 | $this->_error = "connection to $location failed (errno=$errno, msg=$errstr)"; |
@@ -645,8 +674,9 @@ discard block |
||
| 645 | 674 | } |
| 646 | 675 | } |
| 647 | 676 | } |
| 648 | - if ( $this->_socket === false ) |
|
| 649 | - fclose ( $fp ); |
|
| 677 | + if ( $this->_socket === false ) { |
|
| 678 | + fclose ( $fp ); |
|
| 679 | + } |
|
| 650 | 680 | |
| 651 | 681 | // check response |
| 652 | 682 | $read = strlen ( $response ); |
@@ -706,10 +736,12 @@ discard block |
||
| 706 | 736 | assert ( $max>=0 ); |
| 707 | 737 | $this->_offset = $offset; |
| 708 | 738 | $this->_limit = $limit; |
| 709 | - if ( $max>0 ) |
|
| 710 | - $this->_maxmatches = $max; |
|
| 711 | - if ( $cutoff>0 ) |
|
| 712 | - $this->_cutoff = $cutoff; |
|
| 739 | + if ( $max>0 ) { |
|
| 740 | + $this->_maxmatches = $max; |
|
| 741 | + } |
|
| 742 | + if ( $cutoff>0 ) { |
|
| 743 | + $this->_cutoff = $cutoff; |
|
| 744 | + } |
|
| 713 | 745 | } |
| 714 | 746 | |
| 715 | 747 | /// set maximum query time, in milliseconds, per-index |
@@ -763,8 +795,9 @@ discard block |
||
| 763 | 795 | public function SetWeights ( $weights ) |
| 764 | 796 | { |
| 765 | 797 | assert ( is_array($weights) ); |
| 766 | - foreach ( $weights as $weight ) |
|
| 767 | - assert ( is_int($weight) ); |
|
| 798 | + foreach ( $weights as $weight ) { |
|
| 799 | + assert ( is_int($weight) ); |
|
| 800 | + } |
|
| 768 | 801 | |
| 769 | 802 | $this->_weights = $weights; |
| 770 | 803 | } |
@@ -814,8 +847,9 @@ discard block |
||
| 814 | 847 | |
| 815 | 848 | if ( is_array($values) && count($values) ) |
| 816 | 849 | { |
| 817 | - foreach ( $values as $value ) |
|
| 818 | - assert ( is_numeric($value) ); |
|
| 850 | + foreach ( $values as $value ) { |
|
| 851 | + assert ( is_numeric($value) ); |
|
| 852 | + } |
|
| 819 | 853 | |
| 820 | 854 | $this->_filters[] = array ( "type"=>SPH_FILTER_VALUES, "attr"=>$attribute, "exclude"=>$exclude, "values"=>$values ); |
| 821 | 855 | } |
@@ -954,15 +988,18 @@ discard block |
||
| 954 | 988 | $results = $this->RunQueries (); |
| 955 | 989 | $this->_reqs = array (); // just in case it failed too early |
| 956 | 990 | |
| 957 | - if ( !is_array($results) ) |
|
| 958 | - return false; // probably network error; error message should be already filled |
|
| 991 | + if ( !is_array($results) ) { |
|
| 992 | + return false; |
|
| 993 | + } |
|
| 994 | + // probably network error; error message should be already filled |
|
| 959 | 995 | |
| 960 | 996 | $this->_error = $results[0]["error"]; |
| 961 | 997 | $this->_warning = $results[0]["warning"]; |
| 962 | - if ( $results[0]["status"]==SEARCHD_ERROR ) |
|
| 963 | - return false; |
|
| 964 | - else |
|
| 965 | - return $results[0]; |
|
| 998 | + if ( $results[0]["status"]==SEARCHD_ERROR ) { |
|
| 999 | + return false; |
|
| 1000 | + } else { |
|
| 1001 | + return $results[0]; |
|
| 1002 | + } |
|
| 966 | 1003 | } |
| 967 | 1004 | |
| 968 | 1005 | /// helper to pack floats in network byte order |
@@ -989,8 +1026,9 @@ discard block |
||
| 989 | 1026 | $req .= pack ( "N", strlen($this->_sortby) ) . $this->_sortby; |
| 990 | 1027 | $req .= pack ( "N", strlen($query) ) . $query; // query itself |
| 991 | 1028 | $req .= pack ( "N", count($this->_weights) ); // weights |
| 992 | - foreach ( $this->_weights as $weight ) |
|
| 993 | - $req .= pack ( "N", (int)$weight ); |
|
| 1029 | + foreach ( $this->_weights as $weight ) { |
|
| 1030 | + $req .= pack ( "N", (int)$weight ); |
|
| 1031 | + } |
|
| 994 | 1032 | $req .= pack ( "N", strlen($index) ) . $index; // indexes |
| 995 | 1033 | $req .= pack ( "N", 1 ); // id64 range marker |
| 996 | 1034 | $req .= sphPackU64 ( $this->_min_id ) . sphPackU64 ( $this->_max_id ); // id64 range |
@@ -1005,8 +1043,9 @@ discard block |
||
| 1005 | 1043 | { |
| 1006 | 1044 | case SPH_FILTER_VALUES: |
| 1007 | 1045 | $req .= pack ( "N", count($filter["values"]) ); |
| 1008 | - foreach ( $filter["values"] as $value ) |
|
| 1009 | - $req .= sphPackI64 ( $value ); |
|
| 1046 | + foreach ( $filter["values"] as $value ) { |
|
| 1047 | + $req .= sphPackI64 ( $value ); |
|
| 1048 | + } |
|
| 1010 | 1049 | break; |
| 1011 | 1050 | |
| 1012 | 1051 | case SPH_FILTER_RANGE: |
@@ -1045,16 +1084,18 @@ discard block |
||
| 1045 | 1084 | |
| 1046 | 1085 | // per-index weights |
| 1047 | 1086 | $req .= pack ( "N", count($this->_indexweights) ); |
| 1048 | - foreach ( $this->_indexweights as $idx=>$weight ) |
|
| 1049 | - $req .= pack ( "N", strlen($idx) ) . $idx . pack ( "N", $weight ); |
|
| 1087 | + foreach ( $this->_indexweights as $idx=>$weight ) { |
|
| 1088 | + $req .= pack ( "N", strlen($idx) ) . $idx . pack ( "N", $weight ); |
|
| 1089 | + } |
|
| 1050 | 1090 | |
| 1051 | 1091 | // max query time |
| 1052 | 1092 | $req .= pack ( "N", $this->_maxquerytime ); |
| 1053 | 1093 | |
| 1054 | 1094 | // per-field weights |
| 1055 | 1095 | $req .= pack ( "N", count($this->_fieldweights) ); |
| 1056 | - foreach ( $this->_fieldweights as $field=>$weight ) |
|
| 1057 | - $req .= pack ( "N", strlen($field) ) . $field . pack ( "N", $weight ); |
|
| 1096 | + foreach ( $this->_fieldweights as $field=>$weight ) { |
|
| 1097 | + $req .= pack ( "N", strlen($field) ) . $field . pack ( "N", $weight ); |
|
| 1098 | + } |
|
| 1058 | 1099 | |
| 1059 | 1100 | // comment |
| 1060 | 1101 | $req .= pack ( "N", strlen($comment) ) . $comment; |
@@ -1200,8 +1241,7 @@ discard block |
||
| 1200 | 1241 | { |
| 1201 | 1242 | $doc = sphUnpackU64 ( substr ( $response, $p, 8 ) ); $p += 8; |
| 1202 | 1243 | list(,$weight) = unpack ( "N*", substr ( $response, $p, 4 ) ); $p += 4; |
| 1203 | - } |
|
| 1204 | - else |
|
| 1244 | + } else |
|
| 1205 | 1245 | { |
| 1206 | 1246 | list ( $doc, $weight ) = array_values ( unpack ( "N*N*", |
| 1207 | 1247 | substr ( $response, $p, 8 ) ) ); |
@@ -1211,10 +1251,11 @@ discard block |
||
| 1211 | 1251 | $weight = sprintf ( "%u", $weight ); |
| 1212 | 1252 | |
| 1213 | 1253 | // create match entry |
| 1214 | - if ( $this->_arrayresult ) |
|
| 1215 | - $result["matches"][$idx] = array ( "id"=>$doc, "weight"=>$weight ); |
|
| 1216 | - else |
|
| 1217 | - $result["matches"][$doc]["weight"] = $weight; |
|
| 1254 | + if ( $this->_arrayresult ) { |
|
| 1255 | + $result["matches"][$idx] = array ( "id"=>$doc, "weight"=>$weight ); |
|
| 1256 | + } else { |
|
| 1257 | + $result["matches"][$doc]["weight"] = $weight; |
|
| 1258 | + } |
|
| 1218 | 1259 | |
| 1219 | 1260 | // parse and create attributes |
| 1220 | 1261 | $attrvals = array (); |
@@ -1257,10 +1298,11 @@ discard block |
||
| 1257 | 1298 | } |
| 1258 | 1299 | } |
| 1259 | 1300 | |
| 1260 | - if ( $this->_arrayresult ) |
|
| 1261 | - $result["matches"][$idx]["attrs"] = $attrvals; |
|
| 1262 | - else |
|
| 1263 | - $result["matches"][$doc]["attrs"] = $attrvals; |
|
| 1301 | + if ( $this->_arrayresult ) { |
|
| 1302 | + $result["matches"][$idx]["attrs"] = $attrvals; |
|
| 1303 | + } else { |
|
| 1304 | + $result["matches"][$doc]["attrs"] = $attrvals; |
|
| 1305 | + } |
|
| 1264 | 1306 | } |
| 1265 | 1307 | |
| 1266 | 1308 | list ( $total, $total_found, $msecs, $words ) = |
@@ -1311,25 +1353,63 @@ discard block |
||
| 1311 | 1353 | // fixup options |
| 1312 | 1354 | ///////////////// |
| 1313 | 1355 | |
| 1314 | - if ( !isset($opts["before_match"]) ) $opts["before_match"] = "<b>"; |
|
| 1315 | - if ( !isset($opts["after_match"]) ) $opts["after_match"] = "</b>"; |
|
| 1316 | - if ( !isset($opts["chunk_separator"]) ) $opts["chunk_separator"] = " ... "; |
|
| 1317 | - if ( !isset($opts["limit"]) ) $opts["limit"] = 256; |
|
| 1318 | - if ( !isset($opts["limit_passages"]) ) $opts["limit_passages"] = 0; |
|
| 1319 | - if ( !isset($opts["limit_words"]) ) $opts["limit_words"] = 0; |
|
| 1320 | - if ( !isset($opts["around"]) ) $opts["around"] = 5; |
|
| 1321 | - if ( !isset($opts["exact_phrase"]) ) $opts["exact_phrase"] = false; |
|
| 1322 | - if ( !isset($opts["single_passage"]) ) $opts["single_passage"] = false; |
|
| 1323 | - if ( !isset($opts["use_boundaries"]) ) $opts["use_boundaries"] = false; |
|
| 1324 | - if ( !isset($opts["weight_order"]) ) $opts["weight_order"] = false; |
|
| 1325 | - if ( !isset($opts["query_mode"]) ) $opts["query_mode"] = false; |
|
| 1326 | - if ( !isset($opts["force_all_words"]) ) $opts["force_all_words"] = false; |
|
| 1327 | - if ( !isset($opts["start_passage_id"]) ) $opts["start_passage_id"] = 1; |
|
| 1328 | - if ( !isset($opts["load_files"]) ) $opts["load_files"] = false; |
|
| 1329 | - if ( !isset($opts["html_strip_mode"]) ) $opts["html_strip_mode"] = "index"; |
|
| 1330 | - if ( !isset($opts["allow_empty"]) ) $opts["allow_empty"] = false; |
|
| 1331 | - if ( !isset($opts["passage_boundary"]) ) $opts["passage_boundary"] = "none"; |
|
| 1332 | - if ( !isset($opts["emit_zones"]) ) $opts["emit_zones"] = false; |
|
| 1356 | + if ( !isset($opts["before_match"]) ) { |
|
| 1357 | + $opts["before_match"] = "<b>"; |
|
| 1358 | + } |
|
| 1359 | + if ( !isset($opts["after_match"]) ) { |
|
| 1360 | + $opts["after_match"] = "</b>"; |
|
| 1361 | + } |
|
| 1362 | + if ( !isset($opts["chunk_separator"]) ) { |
|
| 1363 | + $opts["chunk_separator"] = " ... "; |
|
| 1364 | + } |
|
| 1365 | + if ( !isset($opts["limit"]) ) { |
|
| 1366 | + $opts["limit"] = 256; |
|
| 1367 | + } |
|
| 1368 | + if ( !isset($opts["limit_passages"]) ) { |
|
| 1369 | + $opts["limit_passages"] = 0; |
|
| 1370 | + } |
|
| 1371 | + if ( !isset($opts["limit_words"]) ) { |
|
| 1372 | + $opts["limit_words"] = 0; |
|
| 1373 | + } |
|
| 1374 | + if ( !isset($opts["around"]) ) { |
|
| 1375 | + $opts["around"] = 5; |
|
| 1376 | + } |
|
| 1377 | + if ( !isset($opts["exact_phrase"]) ) { |
|
| 1378 | + $opts["exact_phrase"] = false; |
|
| 1379 | + } |
|
| 1380 | + if ( !isset($opts["single_passage"]) ) { |
|
| 1381 | + $opts["single_passage"] = false; |
|
| 1382 | + } |
|
| 1383 | + if ( !isset($opts["use_boundaries"]) ) { |
|
| 1384 | + $opts["use_boundaries"] = false; |
|
| 1385 | + } |
|
| 1386 | + if ( !isset($opts["weight_order"]) ) { |
|
| 1387 | + $opts["weight_order"] = false; |
|
| 1388 | + } |
|
| 1389 | + if ( !isset($opts["query_mode"]) ) { |
|
| 1390 | + $opts["query_mode"] = false; |
|
| 1391 | + } |
|
| 1392 | + if ( !isset($opts["force_all_words"]) ) { |
|
| 1393 | + $opts["force_all_words"] = false; |
|
| 1394 | + } |
|
| 1395 | + if ( !isset($opts["start_passage_id"]) ) { |
|
| 1396 | + $opts["start_passage_id"] = 1; |
|
| 1397 | + } |
|
| 1398 | + if ( !isset($opts["load_files"]) ) { |
|
| 1399 | + $opts["load_files"] = false; |
|
| 1400 | + } |
|
| 1401 | + if ( !isset($opts["html_strip_mode"]) ) { |
|
| 1402 | + $opts["html_strip_mode"] = "index"; |
|
| 1403 | + } |
|
| 1404 | + if ( !isset($opts["allow_empty"]) ) { |
|
| 1405 | + $opts["allow_empty"] = false; |
|
| 1406 | + } |
|
| 1407 | + if ( !isset($opts["passage_boundary"]) ) { |
|
| 1408 | + $opts["passage_boundary"] = "none"; |
|
| 1409 | + } |
|
| 1410 | + if ( !isset($opts["emit_zones"]) ) { |
|
| 1411 | + $opts["emit_zones"] = false; |
|
| 1412 | + } |
|
| 1333 | 1413 | |
| 1334 | 1414 | ///////////////// |
| 1335 | 1415 | // build request |
@@ -1337,15 +1417,33 @@ discard block |
||
| 1337 | 1417 | |
| 1338 | 1418 | // v.1.2 req |
| 1339 | 1419 | $flags = 1; // remove spaces |
| 1340 | - if ( $opts["exact_phrase"] ) $flags |= 2; |
|
| 1341 | - if ( $opts["single_passage"] ) $flags |= 4; |
|
| 1342 | - if ( $opts["use_boundaries"] ) $flags |= 8; |
|
| 1343 | - if ( $opts["weight_order"] ) $flags |= 16; |
|
| 1344 | - if ( $opts["query_mode"] ) $flags |= 32; |
|
| 1345 | - if ( $opts["force_all_words"] ) $flags |= 64; |
|
| 1346 | - if ( $opts["load_files"] ) $flags |= 128; |
|
| 1347 | - if ( $opts["allow_empty"] ) $flags |= 256; |
|
| 1348 | - if ( $opts["emit_zones"] ) $flags |= 512; |
|
| 1420 | + if ( $opts["exact_phrase"] ) { |
|
| 1421 | + $flags |= 2; |
|
| 1422 | + } |
|
| 1423 | + if ( $opts["single_passage"] ) { |
|
| 1424 | + $flags |= 4; |
|
| 1425 | + } |
|
| 1426 | + if ( $opts["use_boundaries"] ) { |
|
| 1427 | + $flags |= 8; |
|
| 1428 | + } |
|
| 1429 | + if ( $opts["weight_order"] ) { |
|
| 1430 | + $flags |= 16; |
|
| 1431 | + } |
|
| 1432 | + if ( $opts["query_mode"] ) { |
|
| 1433 | + $flags |= 32; |
|
| 1434 | + } |
|
| 1435 | + if ( $opts["force_all_words"] ) { |
|
| 1436 | + $flags |= 64; |
|
| 1437 | + } |
|
| 1438 | + if ( $opts["load_files"] ) { |
|
| 1439 | + $flags |= 128; |
|
| 1440 | + } |
|
| 1441 | + if ( $opts["allow_empty"] ) { |
|
| 1442 | + $flags |= 256; |
|
| 1443 | + } |
|
| 1444 | + if ( $opts["emit_zones"] ) { |
|
| 1445 | + $flags |= 512; |
|
| 1446 | + } |
|
| 1349 | 1447 | $req = pack ( "NN", 0, $flags ); // mode=0, flags=$flags |
| 1350 | 1448 | $req .= pack ( "N", strlen($index) ) . $index; // req index |
| 1351 | 1449 | $req .= pack ( "N", strlen($words) ) . $words; // req words |
@@ -1512,8 +1610,9 @@ discard block |
||
| 1512 | 1610 | assert ( is_bool($mva) ); |
| 1513 | 1611 | |
| 1514 | 1612 | assert ( is_array($attrs) ); |
| 1515 | - foreach ( $attrs as $attr ) |
|
| 1516 | - assert ( is_string($attr) ); |
|
| 1613 | + foreach ( $attrs as $attr ) { |
|
| 1614 | + assert ( is_string($attr) ); |
|
| 1615 | + } |
|
| 1517 | 1616 | |
| 1518 | 1617 | assert ( is_array($values) ); |
| 1519 | 1618 | foreach ( $values as $id=>$entry ) |
@@ -1526,10 +1625,12 @@ discard block |
||
| 1526 | 1625 | if ( $mva ) |
| 1527 | 1626 | { |
| 1528 | 1627 | assert ( is_array($v) ); |
| 1529 | - foreach ( $v as $vv ) |
|
| 1530 | - assert ( is_int($vv) ); |
|
| 1531 | - } else |
|
| 1532 | - assert ( is_int($v) ); |
|
| 1628 | + foreach ( $v as $vv ) { |
|
| 1629 | + assert ( is_int($vv) ); |
|
| 1630 | + } |
|
| 1631 | + } else { |
|
| 1632 | + assert ( is_int($v) ); |
|
| 1633 | + } |
|
| 1533 | 1634 | } |
| 1534 | 1635 | } |
| 1535 | 1636 | |
@@ -1551,9 +1652,10 @@ discard block |
||
| 1551 | 1652 | foreach ( $entry as $v ) |
| 1552 | 1653 | { |
| 1553 | 1654 | $req .= pack ( "N", $mva ? count($v) : $v ); |
| 1554 | - if ( $mva ) |
|
| 1555 | - foreach ( $v as $vv ) |
|
| 1655 | + if ( $mva ) { |
|
| 1656 | + foreach ( $v as $vv ) |
|
| 1556 | 1657 | $req .= pack ( "N", $vv ); |
| 1658 | + } |
|
| 1557 | 1659 | } |
| 1558 | 1660 | } |
| 1559 | 1661 | |
@@ -1595,13 +1697,15 @@ discard block |
||
| 1595 | 1697 | $this->_error = 'already connected'; |
| 1596 | 1698 | return false; |
| 1597 | 1699 | } |
| 1598 | - if ( !$fp = $this->_Connect() ) |
|
| 1599 | - return false; |
|
| 1700 | + if ( !$fp = $this->_Connect() ) { |
|
| 1701 | + return false; |
|
| 1702 | + } |
|
| 1600 | 1703 | |
| 1601 | 1704 | // command, command version = 0, body length = 4, body = 1 |
| 1602 | 1705 | $req = pack ( "nnNN", SEARCHD_COMMAND_PERSIST, 0, 4, 1 ); |
| 1603 | - if ( !$this->_Send ( $fp, $req, 12 ) ) |
|
| 1604 | - return false; |
|
| 1706 | + if ( !$this->_Send ( $fp, $req, 12 ) ) { |
|
| 1707 | + return false; |
|
| 1708 | + } |
|
| 1605 | 1709 | |
| 1606 | 1710 | $this->_socket = $fp; |
| 1607 | 1711 | return true; |
@@ -1647,8 +1751,10 @@ discard block |
||
| 1647 | 1751 | list ( $rows, $cols ) = array_values ( unpack ( "N*N*", substr ( $response, $p, 8 ) ) ); $p += 8; |
| 1648 | 1752 | |
| 1649 | 1753 | $res = array(); |
| 1650 | - for ( $i=0; $i<$rows; $i++ ) |
|
| 1651 | - for ( $j=0; $j<$cols; $j++ ) |
|
| 1754 | + for ( $i=0; $i<$rows; $i++ ) { |
|
| 1755 | + for ( $j=0; |
|
| 1756 | + } |
|
| 1757 | + $j<$cols; $j++ ) |
|
| 1652 | 1758 | { |
| 1653 | 1759 | list(,$len) = unpack ( "N*", substr ( $response, $p, 4 ) ); $p += 4; |
| 1654 | 1760 | $res[$i][] = substr ( $response, $p, $len ); $p += $len; |
@@ -1680,10 +1786,11 @@ discard block |
||
| 1680 | 1786 | } |
| 1681 | 1787 | |
| 1682 | 1788 | $tag = -1; |
| 1683 | - if ( strlen($response)==4 ) |
|
| 1684 | - list(,$tag) = unpack ( "N*", $response ); |
|
| 1685 | - else |
|
| 1686 | - $this->_error = "unexpected response length"; |
|
| 1789 | + if ( strlen($response)==4 ) { |
|
| 1790 | + list(,$tag) = unpack ( "N*", $response ); |
|
| 1791 | + } else { |
|
| 1792 | + $this->_error = "unexpected response length"; |
|
| 1793 | + } |
|
| 1687 | 1794 | |
| 1688 | 1795 | $this->_MBPop (); |
| 1689 | 1796 | return $tag; |
@@ -99,8 +99,9 @@ |
||
| 99 | 99 | if ($service && get_schema_version() > 138) { |
| 100 | 100 | $user_id = $this->check_app_password($login, $password, $service); |
| 101 | 101 | |
| 102 | - if ($user_id) |
|
| 103 | - return $user_id; |
|
| 102 | + if ($user_id) { |
|
| 103 | + return $user_id; |
|
| 104 | + } |
|
| 104 | 105 | } |
| 105 | 106 | |
| 106 | 107 | if (get_schema_version() > 87) { |
@@ -23,8 +23,9 @@ |
||
| 23 | 23 | $entries = $xpath->query('//iframe'); |
| 24 | 24 | |
| 25 | 25 | foreach ($entries as $entry) { |
| 26 | - if (!iframe_whitelisted($entry)) |
|
| 27 | - $entry->parentNode->removeChild($entry); |
|
| 26 | + if (!iframe_whitelisted($entry)) { |
|
| 27 | + $entry->parentNode->removeChild($entry); |
|
| 28 | + } |
|
| 28 | 29 | } |
| 29 | 30 | |
| 30 | 31 | return array($doc, $allowed_elements, $disallowed_attributes); |
@@ -32,10 +32,10 @@ |
||
| 32 | 32 | public function __get($name) |
| 33 | 33 | { |
| 34 | 34 | switch ($name) { |
| 35 | - case 'length': |
|
| 36 | - return $this->length; |
|
| 37 | - default: |
|
| 38 | - trigger_error(sprintf('Undefined property: %s::%s', static::class, $name)); |
|
| 35 | + case 'length': |
|
| 36 | + return $this->length; |
|
| 37 | + default: |
|
| 38 | + trigger_error(sprintf('Undefined property: %s::%s', static::class, $name)); |
|
| 39 | 39 | } |
| 40 | 40 | } |
| 41 | 41 | |
@@ -121,36 +121,36 @@ |
||
| 121 | 121 | $contentScore = 0; |
| 122 | 122 | |
| 123 | 123 | switch ($this->nodeName) { |
| 124 | - case 'div': |
|
| 125 | - $contentScore += 5; |
|
| 126 | - break; |
|
| 127 | - |
|
| 128 | - case 'pre': |
|
| 129 | - case 'td': |
|
| 130 | - case 'blockquote': |
|
| 131 | - $contentScore += 3; |
|
| 132 | - break; |
|
| 133 | - |
|
| 134 | - case 'address': |
|
| 135 | - case 'ol': |
|
| 136 | - case 'ul': |
|
| 137 | - case 'dl': |
|
| 138 | - case 'dd': |
|
| 139 | - case 'dt': |
|
| 140 | - case 'li': |
|
| 141 | - case 'form': |
|
| 142 | - $contentScore -= 3; |
|
| 143 | - break; |
|
| 144 | - |
|
| 145 | - case 'h1': |
|
| 146 | - case 'h2': |
|
| 147 | - case 'h3': |
|
| 148 | - case 'h4': |
|
| 149 | - case 'h5': |
|
| 150 | - case 'h6': |
|
| 151 | - case 'th': |
|
| 152 | - $contentScore -= 5; |
|
| 153 | - break; |
|
| 124 | + case 'div': |
|
| 125 | + $contentScore += 5; |
|
| 126 | + break; |
|
| 127 | + |
|
| 128 | + case 'pre': |
|
| 129 | + case 'td': |
|
| 130 | + case 'blockquote': |
|
| 131 | + $contentScore += 3; |
|
| 132 | + break; |
|
| 133 | + |
|
| 134 | + case 'address': |
|
| 135 | + case 'ol': |
|
| 136 | + case 'ul': |
|
| 137 | + case 'dl': |
|
| 138 | + case 'dd': |
|
| 139 | + case 'dt': |
|
| 140 | + case 'li': |
|
| 141 | + case 'form': |
|
| 142 | + $contentScore -= 3; |
|
| 143 | + break; |
|
| 144 | + |
|
| 145 | + case 'h1': |
|
| 146 | + case 'h2': |
|
| 147 | + case 'h3': |
|
| 148 | + case 'h4': |
|
| 149 | + case 'h5': |
|
| 150 | + case 'h6': |
|
| 151 | + case 'th': |
|
| 152 | + $contentScore -= 5; |
|
| 153 | + break; |
|
| 154 | 154 | } |
| 155 | 155 | |
| 156 | 156 | $this->contentScore = $contentScore + ($weightClasses ? $this->getClassWeight() : 0); |
@@ -14,8 +14,9 @@ |
||
| 14 | 14 | |
| 15 | 15 | global $fetch_last_error_content; |
| 16 | 16 | |
| 17 | - if (!$res && $fetch_last_error_content) |
|
| 18 | - $res = $fetch_last_error_content; |
|
| 17 | + if (!$res && $fetch_last_error_content) { |
|
| 18 | + $res = $fetch_last_error_content; |
|
| 19 | + } |
|
| 19 | 20 | |
| 20 | 21 | $doc = new DOMDocument(); |
| 21 | 22 | |
@@ -15,8 +15,9 @@ |
||
| 15 | 15 | |
| 16 | 16 | global $fetch_last_error_content; |
| 17 | 17 | |
| 18 | - if (!$res && $fetch_last_error_content) |
|
| 19 | - $res = $fetch_last_error_content; |
|
| 18 | + if (!$res && $fetch_last_error_content) { |
|
| 19 | + $res = $fetch_last_error_content; |
|
| 20 | + } |
|
| 20 | 21 | |
| 21 | 22 | $doc = new DOMDocument(); |
| 22 | 23 | |
@@ -46,8 +46,9 @@ |
||
| 46 | 46 | |
| 47 | 47 | $avatar = $xpath->query('(//div[@class="avatar"]//img)')->item(0); |
| 48 | 48 | |
| 49 | - if ($basenode) |
|
| 50 | - $basenode->insertBefore($avatar, $basenode->firstChild); |
|
| 49 | + if ($basenode) { |
|
| 50 | + $basenode->insertBefore($avatar, $basenode->firstChild); |
|
| 51 | + } |
|
| 51 | 52 | |
| 52 | 53 | $uninteresting = $xpath->query('(//div[@class="avatar"])'); |
| 53 | 54 | foreach ($uninteresting as $i) { |
@@ -17,8 +17,9 @@ |
||
| 17 | 17 | false, false, 0, |
| 18 | 18 | "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"); |
| 19 | 19 | |
| 20 | - if (!$res && $fetch_last_error_content) |
|
| 21 | - $res = $fetch_last_error_content; |
|
| 20 | + if (!$res && $fetch_last_error_content) { |
|
| 21 | + $res = $fetch_last_error_content; |
|
| 22 | + } |
|
| 22 | 23 | |
| 23 | 24 | if (@$doc->loadHTML($res)) { |
| 24 | 25 | $xpath = new DOMXPath($doc); |