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.
56 lines
1.8 KiB
56 lines
1.8 KiB
<?php
|
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
|
require APPPATH . '/libraries/REST_Controller.php';
|
|
/**************************************************************
|
|
* Tools API
|
|
*************************************************************/
|
|
class Tools extends REST_Controller {
|
|
|
|
function __construct()
|
|
{
|
|
parent::__construct();
|
|
|
|
if( !$this->input->is_ajax_request() ) $this->response(["result"=>FALSE,"message"=>langs('공통/msg/invalid_access')], 400);
|
|
}
|
|
|
|
/**
|
|
* 통계 DB 최적화
|
|
*/
|
|
function optimize_statics_get()
|
|
{
|
|
// 필요없어 보이는 데이타 정리
|
|
$this->db->where('sta_ip', '0');
|
|
$this->db->or_where('sta_ip', '2130706433');
|
|
$this->db->or_where('sta_browser', '');
|
|
$this->db->or_where('sta_platform', 'Unknown Platform');
|
|
$this->db->delete('statics');
|
|
|
|
// 국가 코드가 없는것들은 입히기
|
|
$this->load->model('statics_model');
|
|
$this->statics_model->ip_info_update();
|
|
|
|
$this->response(array("result"=>TRUE, "message"=>"통계 테이블 최적화가 완료되었습니다."));
|
|
}
|
|
|
|
/**
|
|
* IP 위치 조회
|
|
*/
|
|
function ip_info_post()
|
|
{
|
|
$ip = $this->post('ip', TRUE);
|
|
|
|
if( $info = get_ip_info($ip) )
|
|
{
|
|
$this->db->where('INET_NTOA(sta_ip)', trim($ip) );
|
|
$this->db->set('sta_country', $info['country'] );
|
|
$this->db->set('sta_country_code', $info['countryCode']);
|
|
$this->db->set('sta_addr', $info['addr']);
|
|
$this->db->set('sta_org', $info['org']);
|
|
$this->db->update('statics');
|
|
$this->response(array('status'=>TRUE,"result"=>$info), 200);
|
|
}
|
|
else {
|
|
$this->response(array('status'=>FALSE, "result"=>"Can Not load Ip info : ". $ip), 400);
|
|
}
|
|
}
|
|
}
|