diff options
| author | Eliot Whalan <ewhal@pantsu.cat> | 2016-06-26 09:06:55 +0200 |
|---|---|---|
| committer | Eliot Whalan <ewhal@pantsu.cat> | 2016-06-26 09:06:55 +0200 |
| commit | 29e83a9b9d99b18017d60fad84be9ce702995479 (patch) | |
| tree | a20ca20cab9fe3d0ea4fcf5c9b2588d51cdf8c09 /php/classes | |
| parent | f36d605a7defac6a130b6ae7cacfa3ae0389e555 (diff) | |
Remove server side and client side and add submodule
Diffstat (limited to 'php/classes')
| m--------- | php | 0 | ||||
| -rwxr-xr-x | php/classes/Response.class.php | 242 | ||||
| -rwxr-xr-x | php/classes/UploadException.class.php | 63 | ||||
| -rw-r--r-- | php/classes/UploadedFile.class.php | 33 |
4 files changed, 0 insertions, 338 deletions
diff --git a/php b/php new file mode 160000 +Subproject 5abbc323d7f64df5fcf16255db79de339dc7256 diff --git a/php/classes/Response.class.php b/php/classes/Response.class.php deleted file mode 100755 index fac7db5..0000000 --- a/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/php/classes/UploadException.class.php b/php/classes/UploadException.class.php deleted file mode 100755 index 8c9e4f6..0000000 --- a/php/classes/UploadException.class.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php - -/** - * Returns a human readable error description for file upload errors. - * - * @author Dan Brown <danbrown@php.net> - * @author Michiel Thalen - * @copyright Copyright © 1997 - 2016 by the PHP Documentation Group - * @license - * UploadException is licensed under a Creative Commons Attribution 3.0 License - * or later. - * - * Based on a work at - * https://secure.php.net/manual/en/features.file-upload.errors.php#89374. - * - * You should have received a copy of the Creative Commons Attribution 3.0 - * License with this program. If not, see - * <https://creativecommons.org/licenses/by/3.0/>. - */ - - -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/php/classes/UploadedFile.class.php b/php/classes/UploadedFile.class.php deleted file mode 100644 index 03b7429..0000000 --- a/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; - } -} |
