[Jsxe-cvs] SF.net SVN: jsxe: [1220] trunk
Status: Inactive
Brought to you by:
ian_lewis
From: <ian...@us...> - 2006-09-01 05:11:24
|
Revision: 1220 http://svn.sourceforge.net/jsxe/?rev=1220&view=rev Author: ian_lewis Date: 2006-08-31 22:11:19 -0700 (Thu, 31 Aug 2006) Log Message: ----------- Japanese page for sourceforge.jp: Added Paths: ----------- trunk/web-jp/ trunk/web-jp/htdocs/ trunk/web-jp/htdocs/index.php Added: trunk/web-jp/htdocs/index.php =================================================================== --- trunk/web-jp/htdocs/index.php (rev 0) +++ trunk/web-jp/htdocs/index.php 2006-09-01 05:11:19 UTC (rev 1220) @@ -0,0 +1,57 @@ +<?php +// func: redirect($to,$code=307) +// spec: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html +function redirect($to,$code=301) +{ + $location = null; + $sn = $_SERVER['SCRIPT_NAME']; + $cp = dirname($sn); + if (substr($to,0,4)=='http') $location = $to; // Absolute URL + else + { + $schema = $_SERVER['SERVER_PORT']=='443'?'https':'http'; + $host = strlen($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:$_SERVER['SERVER_NAME']; + if (substr($to,0,1)=='/') $location = "$schema://$host$to"; + elseif (substr($to,0,1)=='.') // Relative Path + { + $location = "$schema://$host"; + $pu = parse_url($to); + $cd = dirname($_SERVER['SCRIPT_FILENAME']).'/'; + $np = realpath($cd.$pu['path']); + $np = str_replace($_SERVER['DOCUMENT_ROOT'],'',$np); + $location.= $np; + if ((isset($pu['query'])) && (strlen($pu['query'])>0)) $location.= '?'.$pu['query']; + } + } + + $hs = headers_sent(); + if ($hs==false) + { + if ($code==301) header("301 Moved Permanently HTTP/1.1"); // Convert to GET + elseif ($code==302) header("302 Found HTTP/1.1"); // Conform re-POST + elseif ($code==303) header("303 See Other HTTP/1.1"); // dont cache, always use GET + elseif ($code==304) header("304 Not Modified HTTP/1.1"); // use cache + elseif ($code==305) header("305 Use Proxy HTTP/1.1"); + elseif ($code==306) header("306 Not Used HTTP/1.1"); + elseif ($code==307) header("307 Temorary Redirect HTTP/1.1"); + else trigger_error("Unhandled redirect() HTTP Code: $code",E_USER_ERROR); + header("Location: $location"); + header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); + } + elseif (($hs==true) || ($code==302) || ($code==303)) + { + // todo: draw some javascript to redirect + $cover_div_style = 'background-color: #ccc; height: 100%; left: 0px; position: absolute; top: 0px; width: 100%;'; + echo "<div style='$cover_div_style'>\n"; + $link_div_style = 'background-color: #fff; border: 2px solid #f00; left: 0px; margin: 5px; padding: 3px; '; + $link_div_style.= 'position: absolute; text-align: center; top: 0px; width: 95%; z-index: 99;'; + echo "<div style='$link_div_style'>\n"; + echo "<p>Please See: <a href='$to'>".htmlspecialchars($location)."</a></p>\n"; + echo "</div>\n</div>\n"; + } + exit(0); +} + +// Do stuff here before sending headers +redirect('http://jsxe.sourceforge.net/') +?> Property changes on: trunk/web-jp/htdocs/index.php ___________________________________________________________________ Name: svn:executable + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |