File size: 3.74Kb
<?php
/*
Copyleft: 2011 (c) http://[email protected]
Site: http://inoy.org
E-mail&Jabber: [email protected]
*/
echo'<h1>TweaK</h1>';
if(isset($_POST['request'])){
$request=(string)$_POST['request'];
function tk_tweak($request){
if(empty($request))return array('status'=>FALSE,'reason'=>'Пустой запрос');
$request=rawurldecode($request);
if(preg_match('~^http:\/\/~',$request)){
//long2tk.shorten
$api_url='http://api.dot.tk/tweak/shorten?long='.rawurlencode($request);
}elseif(preg_match("~^[a-z0-9][a-z0-9-\.]+$~i",$request)){
//tk.shortname2lenghen
$api_url='http://api.dot.tk/tweak/lengthen?shortname='.rawurlencode('http://'.$request.'.tk');
}else{
return array('status'=>FALSE,'reason'=>'Неверный ввод');
}; //if:tweak2href
//запрос API
$ch=curl_init($api_url);
curl_setopt($ch,CURLOPT_TIMEOUT,25);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch,CURLOPT_NOBODY,0);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$str=curl_exec($ch);
if($str===false)return array('status'=>FALSE,'reason'=>'Ошибка: '.curl_error($ch));
$hc=curl_getinfo($ch,CURLINFO_HTTP_CODE);
curl_close($ch);
//Статус
if($hc==200){
list($line1,$line2)=explode("\n",htmlspecialchars($str,ENT_QUOTES));
//Домен http://-----.tk/ и http://*.-----.tk/ или длинная ссылка
$data=htmlspecialchars($request,ENT_QUOTES).'<br/>
<div class="line">Цель:</div>
<a href="'.trim($line1).'">'.$line1.'</a>';
//укороченная ссылка http://tk./-----
$line2=trim($line2);
if(!empty($line2)){
$data.='<br/>('.$line2.')';
}; //if:empty:line2
return array('status'=>TRUE,'result'=>$data);
}; //if:200 OK
//Список ошибочных статусов
$ac=array(
400=>'Вы не ввели длинную ссылку',
401=>'Длинная ссылка недействительная',
402=>'Лимит исчерпан 250/24 до завтра',
403=>'Это имя уже занято',
404=>'Сервис недоступен',
409=>'Произошла ошибка',
410=>'Короткая ссылка не задана',
411=>'Ссылка задана неверно',
412=>'Ссылка не найдена',
);
return array('status'=>FALSE, 'reason'=>(array_key_exists($hc,$ac) ? $ac[$hc] : 'Ошибка').' ['.$hc.']');
}; //function:tk_tweak
//запрос функции
$answer=tk_tweak($request);
if($answer['status']){
echo'<div class="box">'.$answer['result'].'</div>';
}else{
echo'<div class="e">'.$answer['reason'].'</div>';
}; //if:status
}else{
echo'<div class="box">
Переименуйте длинную ссылку и получите компактное доменное имя
(случайное, без регистрации и навсегда,
статус переадресации 301),
Вы можете добавить любые ключевые слова в виде поддомена.
<div class="line">Например <a href="http://galaxy.qulrk.tk/">galaxy.qulrk.tk</a></div>
</div>';
}; //if:isset:query
//форма:
echo'<form action="'.$_SERVER['PHP_SELF'].'" method="post"><div>
Введите длинную ссылку с http://*:<br/>
<input type="text" name="request" value=""/>
<input type="submit" value="TweaK"/>
</div></form>';
echo'<p>*
или введите только короткое имя<br/>
например <b>qulrk</b>
или <b>wow.qulrk</b>
вместо</p>
<ul><li>
Домен в зоне .TK без http:// и .tk<br/>
<b>http://qulrk.tk</b>
</li><li>
Укороченная ссылка без http://tk./<br/>
<b>http://tk./qulrk</b>
</li></ul>';
// Copyleft: 2011 (c) http://[email protected]
// API-Technical: http://my.dot.tk/tweak/?show=technical
// Web-site: http://tweak.tk
// Wap-site: http://tweak.inoy.tk
?>