summaryrefslogtreecommitdiff
path: root/_darcs/pristine/lib/action.php
diff options
context:
space:
mode:
Diffstat (limited to '_darcs/pristine/lib/action.php')
-rw-r--r--_darcs/pristine/lib/action.php161
1 files changed, 0 insertions, 161 deletions
diff --git a/_darcs/pristine/lib/action.php b/_darcs/pristine/lib/action.php
deleted file mode 100644
index 486b40387..000000000
--- a/_darcs/pristine/lib/action.php
+++ /dev/null
@@ -1,161 +0,0 @@
-<?php
-/**
- * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-if (!defined('LACONICA')) {
- exit(1);
-}
-
-class Action // lawsuit
-{
-
- var $args;
-
- function Action()
- {
- }
-
- // For initializing members of the class
-
- function prepare($argarray)
- {
- $this->args =& common_copy_args($argarray);
- return true;
- }
-
- // For comparison with If-Last-Modified
- // If not applicable, return null
-
- function last_modified()
- {
- return null;
- }
-
- function etag()
- {
- return null;
- }
-
- function is_readonly()
- {
- return false;
- }
-
- function arg($key, $def=null)
- {
- if (array_key_exists($key, $this->args)) {
- return $this->args[$key];
- } else {
- return $def;
- }
- }
-
- function trimmed($key, $def=null)
- {
- $arg = $this->arg($key, $def);
- return (is_string($arg)) ? trim($arg) : $arg;
- }
-
- // Note: argarray ignored, since it's now passed in in prepare()
-
- function handle($argarray=null)
- {
-
- $lm = $this->last_modified();
- $etag = $this->etag();
-
- if ($etag) {
- header('ETag: ' . $etag);
- }
-
- if ($lm) {
- header('Last-Modified: ' . date(DATE_RFC1123, $lm));
- $if_modified_since = $_SERVER['HTTP_IF_MODIFIED_SINCE'];
- if ($if_modified_since) {
- $ims = strtotime($if_modified_since);
- if ($lm <= $ims) {
- if (!$etag ||
- $this->_has_etag($etag, $_SERVER['HTTP_IF_NONE_MATCH'])) {
- header('HTTP/1.1 304 Not Modified');
- // Better way to do this?
- exit(0);
- }
- }
- }
- }
- }
-
- function _has_etag($etag, $if_none_match)
- {
- return ($if_none_match) && in_array($etag, explode(',', $if_none_match));
- }
-
- function boolean($key, $def=false)
- {
- $arg = strtolower($this->trimmed($key));
-
- if (is_null($arg)) {
- return $def;
- } else if (in_array($arg, array('true', 'yes', '1'))) {
- return true;
- } else if (in_array($arg, array('false', 'no', '0'))) {
- return false;
- } else {
- return $def;
- }
- }
-
- function server_error($msg, $code=500)
- {
- $action = $this->trimmed('action');
- common_debug("Server error '$code' on '$action': $msg", __FILE__);
- common_server_error($msg, $code);
- }
-
- function client_error($msg, $code=400)
- {
- $action = $this->trimmed('action');
- common_debug("User error '$code' on '$action': $msg", __FILE__);
- common_user_error($msg, $code);
- }
-
- function self_url()
- {
- $action = $this->trimmed('action');
- $args = $this->args;
- unset($args['action']);
- foreach (array_keys($_COOKIE) as $cookie) {
- unset($args[$cookie]);
- }
- return common_local_url($action, $args);
- }
-
- function nav_menu($menu)
- {
- $action = $this->trimmed('action');
- common_element_start('ul', array('id' => 'nav_views'));
- foreach ($menu as $menuaction => $menudesc) {
- common_menu_item(common_local_url($menuaction,
- isset($menudesc[2]) ? $menudesc[2] : null),
- $menudesc[0],
- $menudesc[1],
- $action == $menuaction);
- }
- common_element_end('ul');
- }
-}