aboutsummaryrefslogtreecommitdiff
path: root/docs/files/response.class.php.txt
diff options
context:
space:
mode:
authorCamil Staps2015-02-07 21:06:17 +0100
committerCamil Staps2015-02-07 21:06:17 +0100
commit29955216d69ca08b69afe1ace71151839049c045 (patch)
tree48a085e24cf1e65677bbace195017f118292ecc2 /docs/files/response.class.php.txt
parentAdded some documentation; added Makefile for generating docs with phpdoc (diff)
Added documentation
Diffstat (limited to 'docs/files/response.class.php.txt')
-rw-r--r--docs/files/response.class.php.txt112
1 files changed, 112 insertions, 0 deletions
diff --git a/docs/files/response.class.php.txt b/docs/files/response.class.php.txt
new file mode 100644
index 0000000..8d64006
--- /dev/null
+++ b/docs/files/response.class.php.txt
@@ -0,0 +1,112 @@
+<?php
+/**
+ * Provides the response class
+ *
+ * @author Camil Staps
+ *
+ * BusinessAdmin: administrative software for small companies
+ * Copyright (C) 2015 Camil Staps (ViviSoft)
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * Provides a standard to base all responses to be called with AJAX on
+ */
+class response {
+ /** The variable to keep the response in until output */
+ private $response;
+ /** The variable to keep the HTTP response code in until output */
+ private $http_response_code;
+
+ /**
+ * Create a new instance
+ */
+ public function __construct() {
+ $this->response = array();
+ $this->http_response_code = 200;
+ }
+
+ /**
+ * Set a variable of the response
+ *
+ * @param string $name The name of the variable to set
+ * @param string $value The (new) value for the variable
+ */
+ public function __set($name, $value) {
+ $this->response[$name] = $value;
+ }
+
+ /**
+ * Get a variable of the response
+ *
+ * @param string $name The name of the variable to get
+ *
+ * @return mixed The value of the variable
+ */
+ public function __get($name) {
+ return $this->response[$name];
+ }
+
+ /**
+ * Check if a variable of the response is set
+ *
+ * @param string $name The name of the variable to check
+ *
+ * @return bool True if the variable exists, false otherwise
+ */
+ public function __isset($name) {
+ return isset($this->response[$name]);
+ }
+
+ /**
+ * Unset a variable of the response
+ *
+ * @param string $name The variable to unset
+ */
+ public function __unset($name) {
+ unset($this->response[$name]);
+ }
+
+ /**
+ * Get or set the HTTP response code
+ *
+ * If a parameter is provided, it is used as the new HTTP response code, and a bool is returned for success or failure. Otherwise, the current one is returned.
+ *
+ * @param int $code The new code
+ *
+ * @return int|bool True on successful change, false on unsuccesful change, int when the current code is returned
+ */
+ public function http_response_code($code = null) {
+ if ($code === null) {
+ return $this->http_response_code;
+ } else {
+ if (http_response_code($code)) {
+ $this->http_response_code = $code;
+ return true;
+ } else {
+ return false;
+ }
+ }
+ }
+
+ /**
+ * Output the response in json
+ *
+ * @return string The response in json format
+ */
+ public function getJson() {
+ return json_encode($this->response);
+ }
+}