You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.8 KiB
PHP
62 lines
1.8 KiB
PHP
<?php
|
|
|
|
if (!defined('BASEPATH')) {
|
|
exit('No direct script access allowed');
|
|
}
|
|
|
|
class Index extends CI_Controller
|
|
{
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->load->model('infoShortLinks_model');
|
|
}
|
|
|
|
public function index()
|
|
{
|
|
$this->load->view('welcome');
|
|
}
|
|
|
|
//创建短链接
|
|
public function create()
|
|
{
|
|
$data = array();
|
|
$url = $this->input->get('url');
|
|
$type = $this->input->get('type');
|
|
if (empty($type)) {$type = '';}
|
|
if (empty($url)) {
|
|
$data[] = array('name' => 'no', 'value' => '未知错误');
|
|
echo json_encode($data);
|
|
return false;
|
|
}
|
|
$url = base64_decode($url);
|
|
$find = $this->infoShortLinks_model->detail_url($url);
|
|
if ($find) {
|
|
$data[] = array('name' => 'ok', 'value' => $find);
|
|
} else {
|
|
$isl_link = strtolower('/slink/' . substr(md5($url . 'ha*kj7qMRcX7!^K!'), 8, 16) . $type); //中间的乱码是加了点盐
|
|
$shortLinkData = new StdClass;
|
|
$shortLinkData->isl_link = $isl_link;
|
|
$shortLinkData->isl_URL = $url;
|
|
$shortLinkData->isl_type = $type;
|
|
if ($this->infoShortLinks_model->add('infoShortLinks', $shortLinkData)) {
|
|
$data[] = array('name' => 'ok', 'value' => $shortLinkData);
|
|
} else {
|
|
$data[] = array('name' => 'no', 'value' => '未知错误');
|
|
}
|
|
}
|
|
echo json_encode($data);
|
|
}
|
|
|
|
public function detail()
|
|
{
|
|
$isl_link = $this->input->get('slink');
|
|
if (empty($isl_link)) {show_404();}
|
|
$find = $this->infoShortLinks_model->detail($isl_link);
|
|
if ($find) {
|
|
redirect($find->isl_URL);
|
|
}
|
|
show_404();
|
|
}
|
|
}
|