From b9e4b6dd49e8f2c56025df8424137144723d2021 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Sun, 13 Sep 2009 17:30:50 -0400 Subject: Generate ETags for pages which don't specify themselves. --- index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'index.php') diff --git a/index.php b/index.php index 7669778f6..72ceb45df 100644 --- a/index.php +++ b/index.php @@ -227,7 +227,7 @@ function main() try { if ($action_obj->prepare($args)) { - $action_obj->handle($args); + $action_obj->handleWrapper($args); } } catch (ClientException $cex) { $cac = new ClientErrorAction($cex->getMessage(), $cex->getCode()); -- cgit v1.2.3-54-g00ecf From 39aa9b3a9f6a27738ad1cd330c471ae388b11088 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Thu, 17 Sep 2009 20:15:15 +1200 Subject: fixed up space on @author tags --- index.php | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index d5174c2b7..208259eb6 100644 --- a/index.php +++ b/index.php @@ -19,17 +19,20 @@ * @category StatusNet * @package StatusNet * @license GNU Affero General Public License http://www.gnu.org/licenses/ - * @author Brenda Wallace - * @author Christopher Vollick - * @author CiaranG - * @author Craig Andrews - * @author Evan Prodromou - * @author Gina Haeussge - * @author Jeffery To - * @author Mike Cochrane - * @author Robin Millette - * @author Sarven Capadisli - * @author Tom Adams + * @author Brenda Wallace + * @author Christopher Vollick + * @author CiaranG + * @author Craig Andrews + * @author Evan Prodromou + * @author Evan Prodromou + * @author Evan Prodromou + * @author Evan Prodromou + * @author Gina Haeussge + * @author Jeffery To + * @author Mike Cochrane + * @author Robin Millette + * @author Sarven Capadisli + * @author Tom Adams */ define('INSTALLDIR', dirname(__FILE__)); -- cgit v1.2.3-54-g00ecf From e9bdc696516b007b94e9557ba98d5e96779fb0e0 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Sat, 19 Sep 2009 12:28:08 +1200 Subject: @author tags updated -- only one entry per name now --- index.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index 208259eb6..8ff67d19d 100644 --- a/index.php +++ b/index.php @@ -18,21 +18,19 @@ * * @category StatusNet * @package StatusNet - * @license GNU Affero General Public License http://www.gnu.org/licenses/ - * @author Brenda Wallace - * @author Christopher Vollick + * @author Brenda Wallace + * @author Christopher Vollick * @author CiaranG - * @author Craig Andrews + * @author Craig Andrews * @author Evan Prodromou - * @author Evan Prodromou - * @author Evan Prodromou - * @author Evan Prodromou - * @author Gina Haeussge + * @author Gina Haeussge * @author Jeffery To * @author Mike Cochrane * @author Robin Millette - * @author Sarven Capadisli + * @author Sarven Capadisli * @author Tom Adams + * + * @license GNU Affero General Public License http://www.gnu.org/licenses/ */ define('INSTALLDIR', dirname(__FILE__)); -- cgit v1.2.3-54-g00ecf From e80fad7ad9bd0bee6a9cf4cfd1615a9b07277364 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Sat, 19 Sep 2009 15:06:16 -0400 Subject: handle Godaddy-style PATH_INFO which includes the script --- index.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'index.php') diff --git a/index.php b/index.php index 72ceb45df..fa94f0c75 100644 --- a/index.php +++ b/index.php @@ -32,7 +32,13 @@ function getPath($req) && array_key_exists('p', $req)) { return $req['p']; } else if (array_key_exists('PATH_INFO', $_SERVER)) { - return $_SERVER['PATH_INFO']; + $path = $_SERVER['PATH_INFO']; + $script = $_SERVER['SCRIPT_NAME']; + if (substr($path, 0, mb_strlen($script)) == $script) { + return substr($path, mb_strlen($script)); + } else { + return $path; + } } else { return null; } -- cgit v1.2.3-54-g00ecf From 42ba05de5fa9413ce0f383cfdafa7288e291ab17 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Wed, 23 Sep 2009 09:33:40 -0400 Subject: revert output buffering (costly) for ETags (low priority) --- index.php | 2 +- lib/action.php | 41 +++++------------------------------------ 2 files changed, 6 insertions(+), 37 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index fa94f0c75..362ab3cd3 100644 --- a/index.php +++ b/index.php @@ -233,7 +233,7 @@ function main() try { if ($action_obj->prepare($args)) { - $action_obj->handleWrapper($args); + $action_obj->handle($args); } } catch (ClientException $cex) { $cac = new ClientErrorAction($cex->getMessage(), $cex->getCode()); diff --git a/lib/action.php b/lib/action.php index ebef4f9e4..670eb498c 100644 --- a/lib/action.php +++ b/lib/action.php @@ -873,29 +873,28 @@ class Action extends HTMLOutputter // lawsuit } /** - * Wrapper for the handle method that handles etags, last-modified, and other conditional headers + * Handler method * * @param array $argarray is ignored since it's now passed in in prepare() * * @return boolean is read only action? */ - function handleWrapper($argarray=null) + function handle($argarray=null) { - header('Vary: Accept-Encoding,Cookie,Accept-Language,Authorization'); - header("Cache-Control: must-revalidate"); + header('Vary: Accept-Encoding,Cookie'); $lm = $this->lastModified(); $etag = $this->etag(); if ($etag) { header('ETag: ' . $etag); } - $if_none_match = (array_key_exists('HTTP_IF_NONE_MATCH', $_SERVER)) ? - $_SERVER['HTTP_IF_NONE_MATCH'] : null; if ($lm) { header('Last-Modified: ' . date(DATE_RFC1123, $lm)); if (array_key_exists('HTTP_IF_MODIFIED_SINCE', $_SERVER)) { $if_modified_since = $_SERVER['HTTP_IF_MODIFIED_SINCE']; $ims = strtotime($if_modified_since); if ($lm <= $ims) { + $if_none_match = (array_key_exists('HTTP_IF_NONE_MATCH', $_SERVER)) ? + $_SERVER['HTTP_IF_NONE_MATCH'] : null; if (!$if_none_match || !$etag || $this->_hasEtag($etag, $if_none_match)) { @@ -906,36 +905,6 @@ class Action extends HTMLOutputter // lawsuit } } } - if($etag) { - $ret = $this->handle($argarray); - }else{ - ob_start(); - $ret = $this->handle($argarray); - $output = ob_get_contents(); - ob_end_clean(); - //deep etag - $etag = md5($output); - header('ETag: ' . $etag); - if($if_none_match && $this->_hasEtag($etag, $if_none_match)) { - header('HTTP/1.1 304 Not Modified'); - // Better way to do this? - exit(0); - } - header('Content-Length: '.strlen($output)); - print $output; - } - return $ret; - } - - /** - * Handler method - * - * @param array $argarray is ignored since it's now passed in in prepare() - * - * @return boolean is read only action? - */ - function handle($argarray=null) - { } /** -- cgit v1.2.3-54-g00ecf From 852f0c59a448b3c0dc07a928924cce6ce3399e70 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Sat, 3 Oct 2009 17:40:53 +1300 Subject: added doxygen --- index.php | 3 +++ 1 file changed, 3 insertions(+) (limited to 'index.php') diff --git a/index.php b/index.php index 51e30f578..a4d1fcf4d 100644 --- a/index.php +++ b/index.php @@ -61,6 +61,9 @@ function getPath($req) } } +/** + * logs and then displays error messages + */ function handleError($error) { if ($error->getCode() == DB_DATAOBJECT_ERROR_NODATA) { -- cgit v1.2.3-54-g00ecf From 00c0becd56c1185f26524828be4722ffd8f05712 Mon Sep 17 00:00:00 2001 From: Brenda Wallace Date: Sat, 3 Oct 2009 17:48:38 +1300 Subject: more doxygen --- index.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'index.php') diff --git a/index.php b/index.php index a4d1fcf4d..644812bd5 100644 --- a/index.php +++ b/index.php @@ -63,6 +63,8 @@ function getPath($req) /** * logs and then displays error messages + * + * @return void */ function handleError($error) { -- cgit v1.2.3-54-g00ecf