cvs: phpweb / error.php /include errors.inc

From: Date: Tue, 28 Apr 2009 17:11:26 +0000
Subject: cvs: phpweb / error.php /include errors.inc
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-4558@lists.php.net to get a copy of this message
philip Tue Apr 28 17:11:26 2009 UTC Modified files: /phpweb error.php /phpweb/include errors.inc Log: Added url redirection for the most commonly searched variables and terms http://cvs.php.net/viewvc.cgi/phpweb/error.php?r1=1.88&r2=1.89&diff_format=u Index: phpweb/error.php diff -u phpweb/error.php:1.88 phpweb/error.php:1.89 --- phpweb/error.php:1.88 Thu Apr 9 23:47:05 2009 +++ phpweb/error.php Tue Apr 28 17:11:25 2009 @@ -1,6 +1,6 @@ <?php -// $Id: error.php,v 1.88 2009/04/09 23:47:05 philip Exp $ +// $Id: error.php,v 1.89 2009/04/28 17:11:25 philip Exp $ /* @@ -178,7 +178,20 @@ $URI = strtolower($URI); // Redirection hack, see error.inc for detailed description -if ($path = is_known_ini($URI)) { +// These expect -foo not _foo +$term = str_replace('_', '-', $URI); + +if ($path = is_known_ini($term)) { + status_header(301); + mirror_redirect("/manual/$LANG/$path"); + exit; +} +if ($path = is_known_variable($term)) { + status_header(301); + mirror_redirect("/manual/$LANG/$path"); + exit; +} +if ($path = is_known_term($term)) { status_header(301); mirror_redirect("/manual/$LANG/$path"); exit; http://cvs.php.net/viewvc.cgi/phpweb/include/errors.inc?r1=1.10&r2=1.11&diff_format=u Index: phpweb/include/errors.inc diff -u phpweb/include/errors.inc:1.10 phpweb/include/errors.inc:1.11 --- phpweb/include/errors.inc:1.10 Fri Apr 10 01:07:39 2009 +++ phpweb/include/errors.inc Tue Apr 28 17:11:26 2009 @@ -1,5 +1,5 @@ <?php -// $Id: errors.inc,v 1.10 2009/04/10 01:07:39 philip Exp $ +// $Id: errors.inc,v 1.11 2009/04/28 17:11:26 philip Exp $ /* This script provides functions to print out @@ -102,8 +102,7 @@ This exists today because as of PHP 5.3.0 there are over 200 links within the php.ini files so these create nicer urls and allow language detection to work. -Initially this only contains ini settings referred to within php.ini-* and is -ordered as such (top to bottom). +The most commonly searched terms have also been added. TODO: Determine if we want to continue 301 -OR- make these official URLs. ******************************************************************************/ @@ -315,10 +314,113 @@ 'soap.wsdl-cache-ttl' => 'soap.configuration.php#ini.soap.wsdl-cache-ttl', ); - $ini = str_replace('_', '-', strtolower(trim($ini))); - - if (isset($inis[$ini])) { - return $inis[$ini]; + return isset($inis[$ini]) ? $inis[$ini] : false; +} + +function is_known_variable($variable) { +$variables = array( + // Variables + 'globals' => 'reserved.variables.globals.php', + '-server' => 'reserved.variables.server.php', + '-get' => 'reserved.variables.get.php', + '-post' => 'reserved.variables.post.php', + '-files' => 'reserved.variables.files.php', + '-request' => 'reserved.variables.request.php', + '-session' => 'reserved.variables.session.php', + '-cookie' => 'reserved.variables.cookies.php', + '-env' => 'reserved.variables.environment.php', + 'this' => 'language.oop5.basic.php', + 'php-errormsg' => 'reserved.variables.phperrormsg.php', + 'argv' => 'reserved.variables.argv.php', + 'argc' => 'reserved.variables.argc.php', + 'http-raw-post-data' => 'reserved.variables.httprawpostdata.php', + 'http-response-header' => 'reserved.variables.httpresponseheader.php', + 'http-server-vars' => 'reserved.variables.server.php', + 'http-get-vars' => 'reserved.variables.get.php', + 'http-post-vars' => 'reserved.variables.post.php', + 'http-session-vars' => 'reserved.variables.session.php', + 'http-post-files' => 'reserved.variables.files.php', + 'http-cookie-vars' => 'reserved.variables.cookies.php', + 'http-env-vars' => 'reserved.variables.env.php', + ); + + if ($variable[0] === '$') { + $variable = ltrim($variable, '$'); } - return false; + + return isset($variables[$variable]) ? $variables[$variable] : false; + +} + +function is_known_term ($term) { +$terms = array( + '<>' => 'language.operators.comparison.php', + '==' => 'language.operators.comparison.php', + '===' => 'language.operators.comparison.php', + '@' => 'language.operators.errorcontrol.php', + 'apache' => 'install.php', + 'array' => 'language.types.array.php', + 'arrays' => 'language.types.array.php', + 'case' => 'control-structures.switch.php', + 'catch' => 'language.exceptions.php', + 'checkbox' => 'faq.html.php', + 'class' => 'language.oop5.basic.php', + 'classes' => 'language.oop5.basic.php', + 'cookie' => 'features.cookies.php', + 'date' => 'function.date.php', + 'exception' => 'language.exceptions.php', + 'extends' => 'keyword.extends.php', + 'file' => 'function.file.php', + 'fopen' => 'function.fopen.php', + 'for' => 'control-structures.for.php', + 'foreach' => 'control-structures.foreach.php', + 'form' => 'language.variables.external.php', + 'forms' => 'language.variables.external.php', + 'function' => 'language.functions.php', + 'gd' => 'book.image.php', + 'get' => 'reserved.variables.get.php', + 'global' => 'language.variables.scope.php', + 'globals' => 'language.variables.scope.php', + 'header' => 'function.header.php', + 'heredoc' => 'language.types.string.php#language.types.string.syntax.heredoc', + 'htaccess' => 'configuration.file.php', + 'if' => 'control-structures.if.php', + 'include' => 'function.include.php', + 'int' => 'language.types.integer.php', + 'ip' => 'reserved.variables.server.php', + 'location' => 'function.header.php', + 'mail' => 'function.mail.php', + 'modulo' => 'language.operators.arithmetic.php', + 'mysql' => 'book.mysql.php', + 'new' => 'language.oop5.basic.php#language.oop5.basic.new', + 'null' => 'language.types.null.php', + 'object' => 'language.types.object.php', + 'operator' => 'language.operators.php', + 'operators' => 'language.operators.php', + 'or' => 'language.operators.logical.php', + 'php.ini' => 'configuration.file.php', + 'php-mysql.dll' => 'book.mysql.php', + 'php-self' => 'reserved.variables.server.php', + 'query-string' => 'reserved.variables.server.php', + 'redirect' => 'function.header.php', + 'reference' => 'index.php', + 'referer' => 'reserved.variables.server.php', + 'referrer' => 'reserved.variables.server.php', + 'remote-addr' => 'reserved.variables.server.php', + 'request' => 'reserved.variables.request.php', + 'session' => 'features.sessions.php', + 'smtp' => 'book.mail.php', + 'ssl' => 'book.openssl.php', + 'static' => 'language.oop5.static.php', + 'stdin' => 'wrappers.php.php', + 'string' => 'language.types.string.php', + 'superglobal' => 'language.variables.superglobals.php', + 'superglobals' => 'language.variables.superglobals.php', + 'switch' => 'control-structures.switch.php', + 'timestamp' => 'function.time.php', + 'try' => 'language.exceptions.php', + 'upload' => 'features.file-upload.php', + ); + + return isset($terms[$term]) ? $terms[$term] : false; }

« previous php.webmaster (#4558) next »