* @date 2016.11.07 *************************************************************************************/ class Editor extends WB_Controller { function __construct() { parent::__construct(); $this->load->library('upload'); $this->theme = FALSE; } public function smarteditor($ed_nonce='') { make_dir(DIR_UPLOAD . DIRECTORY_SEPARATOR . "editor"); $upload_path = DIR_UPLOAD . '/editor/' . date('Y') . '/' . date('m') . '/'; if (isset($_FILES) && isset($_FILES['files']) && isset($_FILES['files']['name']) && isset($_FILES['files']['name'][0])) { $uploadconfig = array( 'upload_path' => "./" . $upload_path, 'allowed_types' => 'jpg|jpeg|png|gif', 'max_size' => 10 * 1024, 'encrypt_name' => true, ); $this->upload->initialize($uploadconfig); $upload = isset($_FILES['files']) ? $_FILES['files'] : null; if( is_array( $upload['tmp_name'] ) ){ $_FILES['userfile']['name'] = $upload['name'][0]; $_FILES['userfile']['type'] = $upload['type'][0]; $_FILES['userfile']['tmp_name'] = $upload['tmp_name'][0]; $_FILES['userfile']['error'] = $upload['error'][0]; $_FILES['userfile']['size'] = $upload['size'][0]; } else { if($upload['type'] == "application/octet-stream"){ $imageMime = getimagesize($upload['tmp_name']); // get temporary file REAL info $upload['type'] = $imageMime['mime']; //set in our array the correct mime } $_FILES['userfile']['name'] = $upload['name']; $_FILES['userfile']['type'] = $upload['type']; $_FILES['userfile']['tmp_name'] = $upload['tmp_name']; $_FILES['userfile']['error'] = $upload['error']; $_FILES['userfile']['size'] = $upload['size']; } if ($this->upload->do_upload()) { $filedata = $this->upload->data(); $image_url = base_url(DIR_UPLOAD . '/editor/' . date('Y') . '/' . date('m') . '/' . element('file_name', $filedata)); $info = new stdClass(); $info->oriname = element('orig_name', $filedata); $info->name = element('file_name', $filedata); $info->size = intval(element('file_size', $filedata) * 1024); $info->type = 'image/' . str_replace('.', '', element('file_ext', $filedata)); $info->url = $image_url; $info->width = element('image_width', $filedata) ? element('image_width', $filedata) : 0; $info->height = element('image_height', $filedata) ? element('image_height', $filedata) : 0; $return['files'][0] = $info; exit(json_encode($return)); } else { exit($this->upload->display_errors()); } } elseif ($this->input->get('file')) { unlink($upload_path . $this->input->get('file')); } } /** * CK 에디터를 통해 이미지를 업로드하는 컨트롤러입니다. */ public function ckeditor($type="") { make_dir(DIR_UPLOAD . DIRECTORY_SEPARATOR . "editor"); $upload_path = DIR_UPLOAD . '/editor/' . date('Y') . '/' . date('m') . '/'; $uploadconfig = array( 'upload_path' => "./". $upload_path, 'allowed_types' => 'jpg|jpeg|png|gif', 'max_size' => 10 * 1024, 'encrypt_name' => true, ); $CKEditorFuncNum = (int)$this->input->get('CKEditorFuncNum', null, 0); if (isset($_FILES) && isset($_FILES['upload']) && isset($_FILES['upload']['name'])) { $this->upload->initialize($uploadconfig); $_FILES['userfile']['name'] = $_FILES['upload']['name']; $_FILES['userfile']['type'] = $_FILES['upload']['type']; $_FILES['userfile']['tmp_name'] = $_FILES['upload']['tmp_name']; $_FILES['userfile']['error'] = $_FILES['upload']['error']; $_FILES['userfile']['size'] = $_FILES['upload']['size']; if ($this->upload->do_upload()) { $filedata = $this->upload->data(); $image_url = base_url(DIR_UPLOAD . '/editor/' . date('Y') . '/' . date('m') . '/' . element('file_name', $filedata)); if(empty($type)) { exit (""); } else if (strtolower($type) == 'json') { $return = array( "fileName" => $_FILES['upload']['name'], "uploaded" => 1, "url" => $image_url ); exit(json_encode($return, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES)); } } else { if(empty($type)) { echo $this->upload->display_errors(); } else if (strtolower($type) == 'json') { $return = array( "fileName" => $_FILES['upload']['name'], "uploaded" => 0, "url" => "", "error" => array( "number" => 201, "message" => $this->upload->display_errors(' ',' ') ) ); exit(json_encode($return, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES)); } } } } }