add init, last_modified to actions
darcs-hash:20081202034736-5ed1f-e096ab5e9a77d2bb74c949659966d400cbc9a149.gz
This commit is contained in:
parent
d55318eaed
commit
d268703d69
|
@ -52,6 +52,7 @@ if (file_exists($actionfile)) {
|
||||||
}
|
}
|
||||||
$config['db']['database'] = $mirror;
|
$config['db']['database'] = $mirror;
|
||||||
}
|
}
|
||||||
|
call_user_func(array($action_obj, 'init'), $_REQUEST);
|
||||||
call_user_func(array($action_obj, 'handle'), $_REQUEST);
|
call_user_func(array($action_obj, 'handle'), $_REQUEST);
|
||||||
} else {
|
} else {
|
||||||
common_user_error(_('Unknown action'));
|
common_user_error(_('Unknown action'));
|
||||||
|
|
|
@ -26,6 +26,19 @@ class Action { // lawsuit
|
||||||
function Action() {
|
function Action() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# For initializing members of the class
|
||||||
|
|
||||||
|
function init($argarray) {
|
||||||
|
$this->args =& common_copy_args($argarray);
|
||||||
|
}
|
||||||
|
|
||||||
|
# For comparison with If-Last-Modified
|
||||||
|
# If not applicable, return NULL
|
||||||
|
|
||||||
|
function last_modified() {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
function is_readonly() {
|
function is_readonly() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -43,8 +56,27 @@ class Action { // lawsuit
|
||||||
return (is_string($arg)) ? trim($arg) : $arg;
|
return (is_string($arg)) ? trim($arg) : $arg;
|
||||||
}
|
}
|
||||||
|
|
||||||
function handle($argarray) {
|
# Note: argarray ignored, since it's now passed in in init()
|
||||||
$this->args =& common_copy_args($argarray);
|
|
||||||
|
function handle($argarray=NULL) {
|
||||||
|
|
||||||
|
$lm = $this->last_modified();
|
||||||
|
|
||||||
|
if ($lm) {
|
||||||
|
header('Last-Modified: ' . date(DATE_RFC822, $dt));
|
||||||
|
$if_modified_since = $_SERVER['HTTP_IF_MODIFIED_SINCE'];
|
||||||
|
if ($if_modified_since) {
|
||||||
|
$ims = strtotime($if_modified_since);
|
||||||
|
if ($lm <= $ims) {
|
||||||
|
$if_none_match = $_SERVER['HTTP_IF_NONE_MATCH'];
|
||||||
|
if ($if_none_match) {
|
||||||
|
header('304 Not Modified');
|
||||||
|
# Better way to do this?
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function boolean($key, $def=false) {
|
function boolean($key, $def=false) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user