diff options
| author | Eliot Whalan <ewhal@pantsu.cat> | 2016-06-19 00:21:04 +0200 |
|---|---|---|
| committer | Eliot Whalan <ewhal@pantsu.cat> | 2016-06-19 00:21:04 +0200 |
| commit | bbf66982fa132454a6dcff57e155f2fa14644a99 (patch) | |
| tree | 9fc971993d674ea79f913a577b263443b826d2d2 /static/php/classes | |
| parent | e6caec189aaa24bf58fa777a2ad15e236778c53d (diff) | |
Move php directory to php/ to avoid confusion
Diffstat (limited to 'static/php/classes')
| -rwxr-xr-x | static/php/classes/Response.class.php | 242 | ||||
| -rwxr-xr-x | static/php/classes/UploadException.class.php | 120 | ||||
| -rw-r--r-- | static/php/classes/UploadedFile.class.php | 33 |
3 files changed, 0 insertions, 395 deletions
diff --git a/static/php/classes/Response.class.php b/static/php/classes/Response.class.php deleted file mode 100755 index fac7db5..0000000 --- a/static/php/classes/Response.class.php +++ /dev/null @@ -1,242 +0,0 @@ -<?php -/** - * The Response class is a do-it-all for getting responses out in different - * formats. - * - * @todo Create sub-classes to split and extend this god object. - */ -class Response -{ - /** - * Indicates response type used for routing. - * - * Valid strings are 'csv', 'html', 'json' and 'text'. - * - * @var string $type Response type - */ - private $type; - - /** - * Indicates requested response type. - * - * Valid strings are 'csv', 'html', 'json', 'gyazo' and 'text'. - * - * @param string|null $response_type Response type - */ - public function __construct($response_type = null) - { - switch ($response_type) { - case 'csv': - header('Content-Type: text/csv; charset=UTF-8'); - $this->type = $response_type; - break; - case 'html': - header('Content-Type: text/html; charset=UTF-8'); - $this->type = $response_type; - break; - case 'json': - header('Content-Type: application/json; charset=UTF-8'); - $this->type = $response_type; - break; - case 'gyazo': - // Deprecated API since version 2.0.0, fallback to similar text API - header('Content-Type: text/plain; charset=UTF-8'); - $this->type = 'text'; - break; - case 'text': - header('Content-Type: text/plain; charset=UTF-8'); - $this->type = $response_type; - break; - default: - header('Content-Type: application/json; charset=UTF-8'); - $this->type = 'json'; - $this->error(400, 'Invalid response type. Valid options are: csv, html, json, text.'); - break; - } - } - - /** - * Routes error messages depending on response type. - * - * @param int $code HTTP status code number. - * @param int $desc Descriptive error message. - * @return void - */ - public function error($code, $desc) - { - $response = null; - - switch ($this->type) { - case 'csv': - $response = $this->csvError($desc); - break; - case 'html': - $response = $this->htmlError($code, $desc); - break; - case 'json': - $response = $this->jsonError($code, $desc); - break; - case 'text': - $response = $this->textError($code, $desc); - break; - } - - http_response_code(500); // "500 Internal Server Error" - echo $response; - } - - /** - * Routes success messages depending on response type. - * - * @param mixed[] $files - * @return void - */ - public function send($files) - { - $response = null; - - switch ($this->type) { - case 'csv': - $response = $this->csvSuccess($files); - break; - case 'html': - $response = $this->htmlSuccess($files); - break; - case 'json': - $response = $this->jsonSuccess($files); - break; - case 'text': - $response = $this->textSuccess($files); - break; - } - - http_response_code(200); // "200 OK". Success. - echo $response; - } - - /** - * Indicates with CSV body the request was invalid. - * - * @deprecated 2.1.0 Will be renamed to camelCase format. - * @param int $description Descriptive error message. - * @return string Error message in CSV format. - */ - private static function csvError($description) - { - return '"error"'."\r\n"."\"$description\""."\r\n"; - } - - /** - * Indicates with CSV body the request was successful. - * - * @deprecated 2.1.0 Will be renamed to camelCase format. - * @param mixed[] $files - * @return string Success message in CSV format. - */ - private static function csvSuccess($files) - { - $result = '"name","url","hash","size"'."\r\n"; - foreach ($files as $file) { - $result .= '"'.$file['name'].'"'.','. - '"'.$file['url'].'"'.','. - '"'.$file['hash'].'"'.','. - '"'.$file['size'].'"'."\r\n"; - } - - return $result; - } - - /** - * Indicates with HTML body the request was invalid. - * - * @deprecated 2.1.0 Will be renamed to camelCase format. - * @param int $code HTTP status code number. - * @param int $description Descriptive error message. - * @return string Error message in HTML format. - */ - private static function htmlError($code, $description) - { - return '<p>ERROR: ('.$code.') '.$description.'</p>'; - } - - /** - * Indicates with HTML body the request was successful. - * - * @deprecated 2.1.0 Will be renamed to camelCase format. - * @param mixed[] $files - * @return string Success message in HTML format. - */ - private static function htmlSuccess($files) - { - $result = ''; - - foreach ($files as $file) { - $result .= '<a href="'.$file['url'].'">'.$file['url'].'</a><br>'; - } - - return $result; - } - - /** - * Indicates with JSON body the request was invalid. - * - * @deprecated 2.1.0 Will be renamed to camelCase format. - * @param int $code HTTP status code number. - * @param int $description Descriptive error message. - * @return string Error message in pretty-printed JSON format. - */ - private static function jsonError($code, $description) - { - return json_encode(array( - 'success' => false, - 'errorcode' => $code, - 'description' => $description, - ), JSON_PRETTY_PRINT); - } - - /** - * Indicates with JSON body the request was successful. - * - * @deprecated 2.1.0 Will be renamed to camelCase format. - * @param mixed[] $files - * @return string Success message in pretty-printed JSON format. - */ - private static function jsonSuccess($files) - { - return json_encode(array( - 'success' => true, - 'files' => $files, - ), JSON_PRETTY_PRINT); - } - - /** - * Indicates with plain text body the request was invalid. - * - * @deprecated 2.1.0 Will be renamed to camelCase format. - * @param int $code HTTP status code number. - * @param int $description Descriptive error message. - * @return string Error message in plain text format. - */ - private static function text_error($code, $description) - { - return 'ERROR: ('.$code.') '.$description; - } - - /** - * Indicates with plain text body the request was successful. - * - * @deprecated 2.1.0 Will be renamed to camelCase format. - * @param mixed[] $files - * @return string Success message in plain text format. - */ - private static function text_success($files) - { - $result = ''; - - foreach ($files as $file) { - $result .= $file['url']."\n"; - } - - return $result; - } -} diff --git a/static/php/classes/UploadException.class.php b/static/php/classes/UploadException.class.php deleted file mode 100755 index 7740ee6..0000000 --- a/static/php/classes/UploadException.class.php +++ /dev/null @@ -1,120 +0,0 @@ -<?php - -/** - * Returns a human readable error description for file upload errors. - * - * @author Dan Brown <danbrown@php.net> - * @author Michiel Thalen - * @copyright - * -------------------------------------------------------------------- - * The PHP License, version 3.01 - * Copyright (c) 1999 - 2014 The PHP Group. All rights reserved. - * -------------------------------------------------------------------- - * - * Redistribution and use in source and binary forms, with or without - * modification, is permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The name "PHP" must not be used to endorse or promote products - * derived from this software without prior written permission. For - * written permission, please contact group@php.net. - * - * 4. Products derived from this software may not be called "PHP", nor - * may "PHP" appear in their name, without prior written permission - * from group@php.net. You may indicate that your software works in - * conjunction with PHP by saying "Foo for PHP" instead of calling - * it "PHP Foo" or "phpfoo" - * - * 5. The PHP Group may publish revised and/or new versions of the - * license from time to time. Each version will be given a - * distinguishing version number. - * Once covered code has been published under a particular version - * of the license, you may always continue to use it under the terms - * of that version. You may also choose to use such covered code - * under the terms of any subsequent version of the license - * published by the PHP Group. No one other than the PHP Group has - * the right to modify the terms applicable to covered code created - * under this License. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes PHP software, freely available from - * <http://www.php.net/software/>". - * - * THIS SOFTWARE IS PROVIDED BY THE PHP DEVELOPMENT TEAM ``AS IS'' AND - * ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE PHP - * DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * - * -------------------------------------------------------------------- - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the PHP Group. - * - * The PHP Group can be contacted via Email at group@php.net. - * - * For more information on the PHP Group and the PHP project, - * please see <http://www.php.net>. - * - * PHP includes the Zend Engine, freely available at - * <http://www.zend.com>. - */ - -class UploadException extends Exception -{ - public function __construct($code) - { - $message = $this->codeToMessage($code); - parent::__construct($message, 500); - } - - private function codeToMessage($code) - { - switch ($code) { - case UPLOAD_ERR_INI_SIZE: - $message = 'The uploaded file exceeds the upload_max_filesize directive in php.ini'; - break; - case UPLOAD_ERR_FORM_SIZE: - $message = 'The uploaded file exceeds the MAX_FILE_SIZE directive that was '. - 'specified in the HTML form'; - break; - case UPLOAD_ERR_PARTIAL: - $message = 'The uploaded file was only partially uploaded'; - break; - case UPLOAD_ERR_NO_FILE: - $message = 'No file was uploaded'; - break; - case UPLOAD_ERR_NO_TMP_DIR: - $message = 'Missing a temporary folder'; - break; - case UPLOAD_ERR_CANT_WRITE: - $message = 'Failed to write file to disk'; - break; - case UPLOAD_ERR_EXTENSION: - $message = 'File upload stopped by extension'; - break; - - default: - $message = 'Unknown upload error'; - break; - } - - return $message; - } -} diff --git a/static/php/classes/UploadedFile.class.php b/static/php/classes/UploadedFile.class.php deleted file mode 100644 index 03b7429..0000000 --- a/static/php/classes/UploadedFile.class.php +++ /dev/null @@ -1,33 +0,0 @@ -<?php - -class UploadedFile -{ - /* Public attributes */ - public $name; - public $mime; - public $size; - public $tempfile; - public $error; - - /** - * SHA-1 checksum - * - * @deprecated 2.1.0 To be replaced with SHA-256 hashing. - * @var string 40 digit hexadecimal hash (160 bits) - */ - private $sha1; - - /** - * Generates the SHA-1 or returns the cached SHA-1 hash for the file. - * - * @return string|false $sha1 - */ - public function getSha1() - { - if (!$this->sha1) { - $this->sha1 = sha1_file($this->tempfile); - } - - return $this->sha1; - } -} |
