Changeset 3627
- Timestamp:
- 03/07/06 01:47:45 (3 years ago)
- Files:
-
- branches/1.5/wp-admin/admin.php (modified) (1 diff)
- branches/1.5/wp-admin/post.php (modified) (6 diffs)
- branches/1.5/wp-admin/profile.php (modified) (1 diff)
- branches/1.5/wp-admin/user-edit.php (modified) (1 diff)
- branches/1.5/wp-comments-post.php (modified) (1 diff)
- branches/1.5/wp-includes/class-snoopy.php (modified) (46 diffs)
- branches/1.5/wp-includes/functions-formatting.php (modified) (1 diff)
- branches/1.5/wp-includes/template-functions-links.php (modified) (1 diff)
- branches/1.5/wp-mail.php (modified) (4 diffs)
- branches/1.5/wp-settings.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/1.5/wp-admin/admin.php
r2592 r3627 56 56 57 57 if (! file_exists(ABSPATH . "wp-content/plugins/$plugin_page")) 58 die(sprintf(__('Cannot load %s.'), $plugin_page));58 die(sprintf(__('Cannot load %s.'), htmlentities($plugin_page))); 59 59 60 60 if (! isset($_GET['noheader'])) branches/1.5/wp-admin/post.php
r2780 r3627 30 30 switch($action) { 31 31 case 'post': 32 32 check_admin_referer(); 33 33 if ( !user_can_create_draft($user_ID) ) 34 34 die( __('You are not allowed to create posts or drafts on this blog.') ); … … 269 269 270 270 case 'editpost': 271 check_admin_referer(); 271 272 // die(var_dump('<pre>', $_POST)); 272 273 if (!isset($blog_ID)) { … … 496 497 497 498 case 'confirmdeletecomment': 498 499 check_admin_referer(); 499 500 require_once('./admin-header.php'); 500 501 … … 591 592 592 593 case 'mailapprovecomment': 593 594 check_admin_referer(); 594 595 $comment = (int) $_GET['comment']; 595 596 … … 611 612 612 613 case 'approvecomment': 613 614 check_admin_referer(); 614 615 $comment = (int) $_GET['comment']; 615 616 $p = (int) $_GET['p']; … … 640 641 641 642 case 'editedcomment': 642 643 check_admin_referer(); 643 644 $comment_ID = (int) $_POST['comment_ID']; 644 645 $comment_post_ID = (int) $_POST['comment_post_ID']; branches/1.5/wp-admin/profile.php
r2439 r3627 65 65 if ( $pass1 != $pass2 ) 66 66 die (__("<strong>ERROR</strong>: you typed two different passwords. Go back to correct that.")); 67 $newuser_pass = $ pass1;67 $newuser_pass = $wpdb->escape($pass1); 68 68 $updatepassword = "user_pass=MD5('$newuser_pass'), "; 69 69 wp_clearcookie(); 70 wp_setcookie($user_login, $ newuser_pass);70 wp_setcookie($user_login, $pass1); 71 71 } 72 72 branches/1.5/wp-admin/user-edit.php
r2489 r3627 24 24 switch ($action) { 25 25 case 'update': 26 27 check_admin_referer(); 26 28 27 29 get_currentuserinfo(); branches/1.5/wp-comments-post.php
r2580 r3627 58 58 header('Pragma: no-cache'); 59 59 60 $location = ( empty($_POST['redirect_to'])) ? $_SERVER["HTTP_REFERER"]: $_POST['redirect_to'];60 $location = ( empty( $_POST['redirect_to'] ) ) ? get_permalink( $comment_post_ID ) : $_POST['redirect_to']; 61 61 62 62 wp_redirect($location); branches/1.5/wp-includes/class-snoopy.php
r2053 r3627 6 6 Author: Monte Ohrt <monte@ispi.net> 7 7 Copyright (c): 1999-2000 ispi, all rights reserved 8 Version: 1.0 8 Version: 1.01 9 9 10 10 * This library is free software; you can redistribute it and/or … … 32 32 33 33 The latest version of Snoopy can be obtained from: 34 http://snoopy.sourceforge.net 34 http://snoopy.sourceforge.net/ 35 35 36 36 *************************************************/ … … 40 40 { 41 41 /**** Public variables ****/ 42 42 43 43 /* user definable vars */ 44 44 … … 47 47 var $proxy_host = ""; // proxy host to use 48 48 var $proxy_port = ""; // proxy port to use 49 var $agent = "Snoopy v1.0"; // agent we masquerade as 49 var $proxy_user = ""; // proxy user to use 50 var $proxy_pass = ""; // proxy password to use 51 52 var $agent = "Snoopy v1.2.3"; // agent we masquerade as 50 53 var $referer = ""; // referer info to pass 51 54 var $cookies = array(); // array of cookies to pass … … 60 63 var $expandlinks = true; // expand links to fully qualified URLs. 61 64 // this only applies to fetchlinks() 62 // or submitlinks()65 // submitlinks(), and submittext() 63 66 var $passcookies = true; // pass set cookies back through redirects 64 67 // NOTE: this currently does not respect 65 68 // dates, domains or paths. 66 69 67 70 var $user = ""; // user for http authentication 68 71 var $pass = ""; // password for http authentication 69 72 70 73 // http accept types 71 74 var $accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*"; 72 75 73 76 var $results = ""; // where the content is put 74 77 75 78 var $error = ""; // error messages sent here 76 79 var $response_code = ""; // response code returned from server … … 82 85 var $timed_out = false; // if a read operation timed out 83 86 var $status = 0; // http request status 84 85 var $curl_path = "/usr/bin/curl"; 87 88 var $temp_dir = "/tmp"; // temporary directory that the webserver 89 // has permission to write to. 90 // under Windows, this should be C:\temp 91 92 var $curl_path = "/usr/local/bin/curl"; 86 93 // Snoopy will use cURL for fetching 87 94 // SSL content if a full system path to … … 94 101 // as these functions are not stable 95 102 // as of this Snoopy release. 96 97 // send Accept-encoding: gzip? 98 var $use_gzip = true; 99 100 /**** Private variables ****/ 101 103 104 /**** Private variables ****/ 105 102 106 var $_maxlinelen = 4096; // max line length (headers) 103 107 104 108 var $_httpmethod = "GET"; // default http request method 105 109 var $_httpversion = "HTTP/1.0"; // default http request version … … 111 115 var $_frameurls = array(); // frame src urls 112 116 var $_framedepth = 0; // increments on frame depth 113 117 114 118 var $_isproxy = false; // set if using a proxy server 115 119 var $_fp_timeout = 30; // timeout for socket connection … … 126 130 function fetch($URI) 127 131 { 128 132 129 133 //preg_match("|^([^:]+)://([^:/]+)(:[\d]+)*(.*)|",$URI,$URI_PARTS); 130 134 $URI_PARTS = parse_url($URI); … … 133 137 if (!empty($URI_PARTS["pass"])) 134 138 $this->pass = $URI_PARTS["pass"]; 135 136 switch($URI_PARTS["scheme"]) 139 if (empty($URI_PARTS["query"])) 140 $URI_PARTS["query"] = ''; 141 if (empty($URI_PARTS["path"])) 142 $URI_PARTS["path"] = ''; 143 144 switch(strtolower($URI_PARTS["scheme"])) 137 145 { 138 146 case "http": … … 149 157 else 150 158 { 151 $path = $URI_PARTS["path"].( isset($URI_PARTS["query"])? "?".$URI_PARTS["query"] : "");159 $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : ""); 152 160 // no proxy, send only the path 153 161 $this->_httprequest($path, $fp, $URI, $this->_httpmethod); 154 162 } 155 163 156 164 $this->_disconnect($fp); 157 165 … … 176 184 $frameurls = $this->_frameurls; 177 185 $this->_frameurls = array(); 178 186 179 187 while(list(,$frameurl) = each($frameurls)) 180 188 { … … 187 195 break; 188 196 } 189 } 197 } 190 198 } 191 199 else … … 193 201 return false; 194 202 } 195 return true; 203 return true; 196 204 break; 197 205 case "https": 198 if(!$this->curl_path || (!is_executable($this->curl_path))) { 199 $this->error = "Bad curl ($this->curl_path), can't fetch HTTPS \n"; 206 if(!$this->curl_path) 200 207 return false; 201 } 208 if(function_exists("is_executable")) 209 if (!is_executable($this->curl_path)) 210 return false; 202 211 $this->host = $URI_PARTS["host"]; 203 212 if(!empty($URI_PARTS["port"])) … … 246 255 break; 247 256 } 248 } 249 return true; 257 } 258 return true; 250 259 break; 251 260 default: … … 254 263 return false; 255 264 break; 256 } 265 } 257 266 return true; 258 267 } 259 268 269 /*======================================================================*\ 270 Function: submit 271 Purpose: submit an http form 272 Input: $URI the location to post the data 273 $formvars the formvars to use. 274 format: $formvars["var"] = "val"; 275 $formfiles an array of files to submit 276 format: $formfiles["var"] = "/dir/filename.ext"; 277 Output: $this->results the text output from the post 278 \*======================================================================*/ 279 280 function submit($URI, $formvars="", $formfiles="") 281 { 282 unset($postdata); 283 284 $postdata = $this->_prepare_post_body($formvars, $formfiles); 285 286 $URI_PARTS = parse_url($URI); 287 if (!empty($URI_PARTS["user"])) 288 $this->user = $URI_PARTS["user"]; 289 if (!empty($URI_PARTS["pass"])) 290 $this->pass = $URI_PARTS["pass"]; 291 if (empty($URI_PARTS["query"])) 292 $URI_PARTS["query"] = ''; 293 if (empty($URI_PARTS["path"])) 294 $URI_PARTS["path"] = ''; 295 296 switch(strtolower($URI_PARTS["scheme"])) 297 { 298 case "http": 299 $this->host = $URI_PARTS["host"]; 300 if(!empty($URI_PARTS["port"])) 301 $this->port = $URI_PARTS["port"]; 302 if($this->_connect($fp)) 303 { 304 if($this->_isproxy) 305 { 306 // using proxy, send entire URI 307 $this->_httprequest($URI,$fp,$URI,$this->_submit_method,$this->_submit_type,$postdata); 308 } 309 else 310 { 311 $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : ""); 312 // no proxy, send only the path 313 $this->_httprequest($path, $fp, $URI, $this->_submit_method, $this->_submit_type, $postdata); 314 } 315 316 $this->_disconnect($fp); 317 318 if($this->_redirectaddr) 319 { 320 /* url was redirected, check if we've hit the max depth */ 321 if($this->maxredirs > $this->_redirectdepth) 322 { 323 if(!preg_match("|^".$URI_PARTS["scheme"]."://|", $this->_redirectaddr)) 324 $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]); 325 326 // only follow redirect if it's on this site, or offsiteok is true 327 if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok) 328 { 329 /* follow the redirect */ 330 $this->_redirectdepth++; 331 $this->lastredirectaddr=$this->_redirectaddr; 332 if( strpos( $this->_redirectaddr, "?" ) > 0 ) 333 $this->fetch($this->_redirectaddr); // the redirect has changed the request method from post to get 334 else 335 $this->submit($this->_redirectaddr,$formvars, $formfiles); 336 } 337 } 338 } 339 340 if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0) 341 { 342 $frameurls = $this->_frameurls; 343 $this->_frameurls = array(); 344 345 while(list(,$frameurl) = each($frameurls)) 346 { 347 if($this->_framedepth < $this->maxframes) 348 { 349 $this->fetch($frameurl); 350 $this->_framedepth++; 351 } 352 else 353 break; 354 } 355 } 356 357 } 358 else 359 { 360 return false; 361 } 362 return true; 363 break; 364 case "https": 365 if(!$this->curl_path) 366 return false; 367 if(function_exists("is_executable")) 368 if (!is_executable($this->curl_path)) 369 return false; 370 $this->host = $URI_PARTS["host"]; 371 if(!empty($URI_PARTS["port"])) 372 $this->port = $URI_PARTS["port"]; 373 if($this->_isproxy) 374 { 375 // using proxy, send entire URI 376 $this->_httpsrequest($URI, $URI, $this->_submit_method, $this->_submit_type, $postdata); 377 } 378 else 379 { 380 $path = $URI_PARTS["path"].($URI_PARTS["query"] ? "?".$URI_PARTS["query"] : ""); 381 // no proxy, send only the path 382 $this->_httpsrequest($path, $URI, $this->_submit_method, $this->_submit_type, $postdata); 383 } 384 385 if($this->_redirectaddr) 386 { 387 /* url was redirected, check if we've hit the max depth */ 388 if($this->maxredirs > $this->_redirectdepth) 389 { 390 if(!preg_match("|^".$URI_PARTS["scheme"]."://|", $this->_redirectaddr)) 391 $this->_redirectaddr = $this->_expandlinks($this->_redirectaddr,$URI_PARTS["scheme"]."://".$URI_PARTS["host"]); 392 393 // only follow redirect if it's on this site, or offsiteok is true 394 if(preg_match("|^http://".preg_quote($this->host)."|i",$this->_redirectaddr) || $this->offsiteok) 395 { 396 /* follow the redirect */ 397 $this->_redirectdepth++; 398 $this->lastredirectaddr=$this->_redirectaddr; 399 if( strpos( $this->_redirectaddr, "?" ) > 0 ) 400 $this->fetch($this->_redirectaddr); // the redirect has changed the request method from post to get 401 else 402 $this->submit($this->_redirectaddr,$formvars, $formfiles); 403 } 404 } 405 } 406 407 if($this->_framedepth < $this->maxframes && count($this->_frameurls) > 0) 408 { 409 $frameurls = $this->_frameurls; 410 $this->_frameurls = array(); 411 412 while(list(,$frameurl) = each($frameurls)) 413 { 414 if($this->_framedepth < $this->maxframes) 415 { 416 $this->fetch($frameurl); 417 $this->_framedepth++; 418 } 419 else 420 break; 421 } 422 } 423 return true; 424 break; 425 426 default: 427 // not a valid protocol 428 $this->error = 'Invalid protocol "'.$URI_PARTS["scheme"].'"\n'; 429 return false; 430 break; 431 } 432 return true; 433 } 434 435 /*======================================================================*\ 436 Function: fetchlinks 437 Purpose: fetch the links from a web page 438 Input: $URI where you are fetching from 439 Output: $this->results an array of the URLs 440 \*======================================================================*/ 441 442 function fetchlinks($URI) 443 { 444 if ($this->fetch($URI)) 445 { 446 if($this->lastredirectaddr) 447 $URI = $this->lastredirectaddr; 448 if(is_array($this->results)) 449 { 450 for($x=0;$x<count($this->results);$x++) 451 $this->results[$x] = $this->_striplinks($this->results[$x]); 452 } 453 else 454 $this->results = $this->_striplinks($this->results); 455 456 if($this->expandlinks) 457 $this->results = $this->_expandlinks($this->results, $URI); 458 return true; 459 } 460 else 461 return false; 462 } 463 464 /*======================================================================*\ 465 Function: fetchform 466 Purpose: fetch the form elements from a web page 467 Input: $URI where you are fetching from 468 Output: $this->results the resulting html form 469 \*======================================================================*/ 470 471 function fetchform($URI) 472 { 473 474 if ($this->fetch($URI)) 475 { 476 477 if(is_array($this->results)) 478 { 479 for($x=0;$x<count($this->results);$x++) 480 $this->results[$x] = $this->_stripform($this->results[$x]); 481 } 482 else 483 $this->results = $this->_stripform($this->results); 484 485 return true; 486 } 487 else 488 return false; 489 } 490 491 492 /*======================================================================*\ 493 Function: fetchtext 494 Purpose: fetch the text from a web page, stripping the links 495 Input: $URI where you are fetching from 496 Output: $this->results the text from the web page 497 \*======================================================================*/ 498 499 function fetchtext($URI) 500 { 501 if($this->fetch($URI)) 502 { 503 if(is_array($this->results)) 504 { 505 for($x=0;$x<count($this->results);$x++) 506 $this->results[$x] = $this->_striptext($this->results[$x]); 507 } 508 else 509 $this->results = $this->_striptext($this->results); 510 return true; 511 } 512 else 513 return false; 514 } 515 516 /*======================================================================*\ 517 Function: submitlinks 518 Purpose: grab links from a form submission 519 Input: $URI where you are submitting from 520 Output: $this->results an array of the links from the post 521 \*======================================================================*/ 522 523 function submitlinks($URI, $formvars="", $formfiles="") 524 { 525 if($this->submit($URI,$formvars, $formfiles)) 526 { 527 if($this->lastredirectaddr) 528 $URI = $this->lastredirectaddr; 529 if(is_array($this->results)) 530 { 531 for($x=0;$x<count($this->results);$x++) 532 { 533 $this->results[$x] = $this->_striplinks($this->results[$x]); 534 if($this->expandlinks) 535 $this->results[$x] = $this->_expandlinks($this->results[$x],$URI); 536 } 537 } 538 else 539 { 540 $this->results = $this->_striplinks($this->results); 541 if($this->expandlinks) 542 $this->results = $this->_expandlinks($this->results,$URI); 543 } 544 return true; 545 } 546 else 547 return false; 548 } 549 550 /*======================================================================*\ 551 Function: submittext 552 Purpose: grab text from a form submission 553 Input: $URI where you are submitting from 554 Output: $this->results the text from the web page 555 \*======================================================================*/ 556 557 function submittext($URI, $formvars = "", $formfiles = "") 558 { 559 if($this->submit($URI,$formvars, $formfiles)) 560 { 561 if($this->lastredirectaddr) 562 $URI = $this->lastredirectaddr; 563 if(is_array($this->results)) 564 { 565 for($x=0;$x<count($this->results);$x++) 566 { 567 $this->results[$x] = $this->_striptext($this->results[$x]); 568 if($this->expandlinks) 569 $this->results[$x] = $this->_expandlinks($this->results[$x],$URI); 570 } 571 } 572 else 573 { 574 $this->results = $this->_striptext($this->results); 575 if($this->expandlinks) 576 $this->results = $this->_expandlinks($this->results,$URI); 577 } 578 return true; 579 } 580 else 581 return false; 582 } 583 584 585 586 /*======================================================================*\ 587 Function: set_submit_multipart 588 Purpose: Set the form submission content type to 589 multipart/form-data 590 \*======================================================================*/ 591 function set_submit_multipart() 592 { 593 $this->_submit_type = "multipart/form-data"; 594 } 595 596 597 /*======================================================================*\ 598 Function: set_submit_normal 599 Purpose: Set the form submission content type to 600 application/x-www-form-urlencoded 601 \*======================================================================*/ 602 function set_submit_normal() 603 { 604 $this->_submit_type = "application/x-www-form-urlencoded"; 605 } 606 607 260 608 261 609 … … 263 611 Private functions 264 612 \*======================================================================*/ 265 266 613 614 267 615 /*======================================================================*\ 268 616 Function: _striplinks … … 273 621 274 622 function _striplinks($document) 275 { 276 preg_match_all("'<\s*a\s +.*href\s*=\s* # find <a href=623 { 624 preg_match_all("'<\s*a\s.*?href\s*=\s* # find <a href= 277 625 ([\"\'])? # find single or double quote 278 626 (?(1) (.*?)\\1 | ([^\s\>]+)) # if quote found, match up to next matching 279 627 # quote, otherwise match up to next space 280 628 'isx",$document,$links); 281 629 282 630 283 631 // catenate the non-empty matches from the conditional subpattern … … 287 635 if(!empty($val)) 288 636 $match[] = $val; 289 } 290 637 } 638 291 639 while(list($key,$val) = each($links[3])) 292 640 { 293 641 if(!empty($val)) 294 642 $match[] = $val; 295 } 296 643 } 644 297 645 // return the links 298 646 return $match; … … 307 655 308 656 function _stripform($document) 309 { 657 { 310 658 preg_match_all("'<\/?(FORM|INPUT|SELECT|TEXTAREA|(OPTION))[^<>]*>(?(2)(.*(?=<\/?(option|select)[^<>]*>[\r\n]*)|(?=[\r\n]*))|(?=[\r\n]*))'Usi",$document,$elements); 311 659 312 660 // catenate the matches 313 661 $match = implode("\r\n",$elements[0]); 314 662 315 663 // return the links 316 664 return $match; 317 665 } 318 666 319 320 667 668 321 669 /*======================================================================*\ 322 670 Function: _striptext … … 328 676 function _striptext($document) 329 677 { 330 678 331 679 // I didn't use preg eval (//e) since that is only available in PHP 4.0. 332 680 // so, list your entities one by one here. I included some of the 333 681 // more common ones. 334 682 335 683 $search = array("'<script[^>]*?>.*?</script>'si", // strip out javascript 336 684 "'<[\/\!]*?[^<>]*?>'si", // strip out html tags 337 685 "'([\r\n])[\s]+'", // strip out white space 338 "'&(quot e|#34);'i",// replace html entities339 "'&(amp|#38 );'i",340 "'&(lt|#60 );'i",341 "'&(gt|#62 );'i",342 "'&(nbsp|#160 );'i",686 "'&(quot|#34|#034|#x22);'i", // replace html entities 687 "'&(amp|#38|#038|#x26);'i", // added hexadecimal values 688 "'&(lt|#60|#060|#x3c);'i", 689 "'&(gt|#62|#062|#x3e);'i", 690 "'&(nbsp|#160|#xa0);'i", 343 691 "'&(iexcl|#161);'i", 344 692 "'&(cent|#162);'i", 345 693 "'&(pound|#163);'i", 346 "'&(copy|#169);'i" 347 ); 694 "'&(copy|#169);'i", 695 "'&(reg|#174);'i", 696 "'&(deg|#176);'i", 697 "'&(#39|#039|#x27);'", 698 "'&(euro|#8364);'i", // europe 699 "'&a(uml|UML);'", // german 700 "'&o(uml|UML);'", 701 "'&u(uml|UML);'", 702 "'&A(uml|UML);'", 703 "'&O(uml|UML);'", 704 "'&U(uml|UML);'", 705 "'ß'i", 706 ); 348 707 $replace = array( "", 349 708 "", … … 357 716 chr(162), 358 717 chr(163), 359 chr(169)); 360 718 chr(169), 719 chr(174), 720 chr(176), 721 chr(39), 722 chr(128), 723 "� 724 "� "� "�, 725 "�, 726 "�, 727 "�, 728 ); 729 361 730 $text = preg_replace($search,$replace,$document); 362 731 363 732 return $text; 364 733 } … … 374 743 function _expandlinks($links,$URI) 375 744 { 376 745 377 746 preg_match("/^[^\?]+/",$URI,$match); 378 747 379 748 $match = preg_replace("|/[^\/\.]+\.[^\/\.]+$|","",$match[0]); 380 749 $match = preg_replace("|/$|","",$match); 750 $match_part = parse_url($match); 751 $match_root = 752 $match_part["scheme"]."://".$match_part["host"]; 753 381 754 $search = array( "|^http://".preg_quote($this->host)."|i", 382 "|^(?!http://)(\/)?(?!mailto:)|i", 755 "|^(\/)|i", 756 "|^(?!http://)(?!mailto:)|i", 383 757 "|/\./|", 384 758 "|/[^\/]+/\.\./|" 385 759 ); 386 760 387 761 $replace = array( "", 762 $match_root."/", 388 763 $match."/", 389 764 "/", 390 765 "/" 391 ); 392 766 ); 767 393 768 $expandedLinks = preg_replace($search,$replace,$links); 394 769 … … 403 778 $URI the full URI 404 779 $body body contents to send if any (POST) 405 Output: 406 \*======================================================================*/ 407 780 Output: 781 \*======================================================================*/ 782 408 783 function _httprequest($url,$fp,$URI,$http_method,$content_type="",$body="") 409 784 { 785 $cookie_headers = ''; 410 786 if($this->passcookies && $this->_redirectaddr) 411 787 $this->setcookies(); 412 788 413 789 $URI_PARTS = parse_url($URI); 414 790 if(empty($url)) 415 791 $url = "/"; 416 $headers = $http_method." ".$url." ".$this->_httpversion."\r\n"; 792 $headers = $http_method." ".$url." ".$this->_httpversion."\r\n"; 417 793 if(!empty($this->agent)) 418 794 $headers .= "User-Agent: ".$this->agent."\r\n"; 419 if(!empty($this->host) && !isset($this->rawheaders['Host'])) 420 $headers .= "Host: ".$this->host."\r\n"; 795 if(!empty($this->host) && !isset($this->rawheaders['Host'])) { 796 $headers .= "Host: ".$this->host; 797 if(!empty($this->port)) 798 $headers .= ":".$this->port; 799 $headers .= "\r\n"; 800 } 421 801 if(!empty($this->accept)) 422 802 $headers .= "Accept: ".$this->accept."\r\n"; 423 424 if($this->use_gzip) {425 // make sure PHP was built with --with-zlib426 // and we can handle gzipp'ed data427 if ( function_exists(gzinflate) ) {428 $headers .= "Accept-encoding: gzip\r\n";429 }430 else {431 trigger_error(432 "use_gzip is on, but PHP was built without zlib support.".433 " Requesting file(s) without gzip encoding.",434 E_USER_NOTICE);435 }436 }437 438 803 if(!empty($this->referer)) 439 804 $headers .= "Referer: ".$this->referer."\r\n"; 440 805 if(!empty($this->cookies)) 441 { 806 { 442 807 if(!is_array($this->cookies)) 443 808 $this->cookies = (array)$this->cookies; 444 809 445 810 reset($this->cookies); 446 811 if ( count($this->cookies) > 0 ) { … … 465 830 $headers .= "\r\n"; 466 831 } 467 if(!empty($body)) 832 if(!empty($body)) 468 833 $headers .= "Content-length: ".strlen($body)."\r\n"; 469 if(!empty($this->user) || !empty($this->pass)) 470 $headers .= "Authorization: BASIC ".base64_encode($this->user.":".$this->pass)."\r\n"; 834 if(!empty($this->user) || !empty($this->pass)) 835 $headers .= "Authorization: Basic ".base64_encode($this->user.":".$this->pass)."\r\n"; 836 837 //add proxy auth headers 838 if(!empty($this->proxy_user)) 839 &n
