type = $response_type; break; case 'html': header('Content-Type: text/html;charset=utf-8'); $this->type = 'html'; break; default: header('Content-Type: application/json; charset=UTF-8'); $this->type = 'json'; break; } } public function error($code, $desc) { $response = null; switch ($this->type) { case 'csv': $response = $this->csv_error($desc); break; case 'gyazo': $response = $this->gyazo_error($code, $desc); break; case 'html': $response = $this->html_error($code, $desc); break; default: $response = $this->json_error($code, $desc); break; } http_response_code($code); echo $response; } public function send($files) { $response = null; switch ($this->type) { case 'html': $response = $this->html_success($files); break; case 'csv': $response = $this->csv_success($files); break; case 'gyazo': $response = $this->gyazo_success($files); break; default: $response = $this->json_success($files); break; } http_response_code(200); echo $response; } private static function csv_error($description) { return "error\n".$description."\n"; } private static function csv_success($files) { $result = "name,url,hash,size\n"; foreach ($files as $file) { $result .= $file['name'].','. $file['url'].','. $file['hash'].','. $file['size']."\n"; } return $result; } private static function gyazo_error($code, $description) { return 'ERROR: ('.$code.') '.$description; } private static function gyazo_success($files) { return POMF_URL.$files[0]['url']; } private static function html_error($code, $description) { return 'ERROR: ('.$code.') '.$description; } private static function html_success($files) { foreach ($files as $file) { $result .= "".$file['url']."
"; } return $result; } private static function json_error($code, $description) { return json_encode(array( 'success' => false, 'errorcode' => $code, 'description' => $description, )); } private static function json_success($files) { return json_encode(array( 'success' => true, 'files' => $files, )); } }