From: Andrea V. <and...@us...> - 2006-11-16 19:09:20
|
Update of /cvsroot/telaen/telaen/inc In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv15029/inc Modified Files: class.telaen.php Log Message: header extract is now aware of the multi-lines header Index: class.telaen.php =================================================================== RCS file: /cvsroot/telaen/telaen/inc/class.telaen.php,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** class.telaen.php 13 Oct 2006 13:47:29 -0000 1.16 --- class.telaen.php 16 Nov 2006 19:09:18 -0000 1.17 *************** *** 217,234 **** $decodedheaders = Array(); for($i=0;$i<count($headers);$i++) { ! $thisheader = trim($headers[$i]); ! if(!empty($thisheader)) { ! if(!ereg("^[A-Z0-9a-z_-]+:",$thisheader)) ! $decodedheaders[$lasthead] .= " ".$thisheader; ! else { $dbpoint = strpos($thisheader,":"); $headname = strtolower(substr($thisheader,0,$dbpoint)); $headvalue = trim(substr($thisheader,$dbpoint+1)); ! if(array_key_exists($headname, $decodedheaders)) $decodedheaders[$headname] .= "; $headvalue"; ! else $decodedheaders[$headname] = $headvalue; ! $lasthead = $headname; } unset($thisheader); } } unset($headers); --- 217,241 ---- $decodedheaders = Array(); for($i=0;$i<count($headers);$i++) { ! ! // If current header starts with a TAB or is not very standard, ! // attach it at the prev header ! if(ereg("^[\t]",$headers[$i]) || !ereg("^[A-Z0-9a-z_-]+:",trim($headers[$i])) ) { ! $decodedheaders[$lasthead] .= " ".trim($headers[$i]); ! } ! else { // otherwise extract the header ! $thisheader = trim($headers[$i]); ! if(!empty($thisheader)) { $dbpoint = strpos($thisheader,":"); $headname = strtolower(substr($thisheader,0,$dbpoint)); $headvalue = trim(substr($thisheader,$dbpoint+1)); ! if(array_key_exists($headname, $decodedheaders)) ! $decodedheaders[$headname] .= "; $headvalue"; ! else ! $decodedheaders[$headname] = $headvalue; ! $lasthead = $headname; } unset($thisheader); } + } unset($headers); |