62 lines
1.4 KiB
PHP
62 lines
1.4 KiB
PHP
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
|
|
/**
|
|
* Api class
|
|
*/
|
|
|
|
/**
|
|
* Api 관련 controller 입니다.
|
|
*/
|
|
class Api extends MY_Controller
|
|
{
|
|
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
|
|
/**
|
|
* 모델을 로딩합니다
|
|
*/
|
|
$this->load->model(array('Api_error_log_model', 'Api_input_model', 'Api_list_model', 'Api_output_model'));
|
|
|
|
/**
|
|
* 라이브러리를 로딩합니다
|
|
*/
|
|
$this->load->helper(array('array'));
|
|
|
|
/**
|
|
* 라이브러리를 로딩합니다
|
|
*/
|
|
$this->load->library(array('apilib'));
|
|
}
|
|
|
|
|
|
/**
|
|
* API 실행하는 함수입니다.
|
|
*/
|
|
function run($libraryname = '')
|
|
{
|
|
if ( ! $libraryname) show_404();
|
|
|
|
$getdata = $this->Api_list_model->get_one('', '', array('api_name' => $libraryname));
|
|
|
|
if ( ! element('api_idx', $getdata)) show_404();
|
|
if ( ! element('api_use', $getdata)) show_404();
|
|
|
|
$this->load->library('apis/' . $libraryname);
|
|
if ( ! class_exists($libraryname))
|
|
{
|
|
show_404();
|
|
}
|
|
|
|
if ($this->input->method() == 'post') {
|
|
$return_type = $this->input->post('return_type');
|
|
} else {
|
|
$return_type = $this->input->get('return_type');
|
|
}
|
|
if ( $return_type != 'json' && $return_type != 'json2') $return_type = 'xml';
|
|
echo $this->apilib->callapi($getdata, $return_type);
|
|
|
|
}
|
|
} |