You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							153 lines
						
					
					
						
							6.0 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							153 lines
						
					
					
						
							6.0 KiB
						
					
					
				
								<?php
							 | 
						|
								defined('BASEPATH') OR exit('No direct script access allowed');
							 | 
						|
								/**************************************************************************************
							 | 
						|
								 *
							 | 
						|
								 * Class Upload
							 | 
						|
								 *
							 | 
						|
								 * 업로드 관련 컨트롤러
							 | 
						|
								 *
							 | 
						|
								 * @author Jang Seongeun <songwritersg@nexvation.com>
							 | 
						|
								 * @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 ("<script>window.parent.CKEDITOR.tools.callFunction({$CKEditorFuncNum}, '{$image_url}', '업로드완료');</script>");
							 | 
						|
								                }
							 | 
						|
								                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));
							 | 
						|
								                }
							 | 
						|
								            }
							 | 
						|
								        }
							 | 
						|
								    }
							 | 
						|
								
							 | 
						|
								}
							 |