cvs: phpweb / error.php /include errors.inc
| From: | Philip Olson | 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;
}