mirror of
https://github.com/claudehohl/Stikked.git
synced 2025-04-25 04:21:17 -05:00
YOURLS support. issue #6
This commit is contained in:
parent
d2f89d7fb5
commit
c69548107c
@ -68,12 +68,24 @@ $config['combine_assets'] = false;
|
||||
$config['cron_key'] = '';
|
||||
|
||||
/**
|
||||
* gw.gd config
|
||||
* url shortener config
|
||||
*
|
||||
* Your own instance of the gw.gd URL-shortener (Download: https://github.com/neofutur/gwgd)
|
||||
* If yourls_url is set, yourls is used instead of gw.gd
|
||||
*
|
||||
* yourls_url: Your own instance of yourls URL-shortener (Download: http://yourls.org/)
|
||||
* Example: http://example.com/yourls/
|
||||
*
|
||||
* yourls_signature: Your signature, used to authenticate API requests.
|
||||
* You can find your signature under http://your-yourls-installation.com/admin/tools.php
|
||||
*
|
||||
* OR
|
||||
*
|
||||
* gwgd_url: Your own instance of the gw.gd URL-shortener (Download: https://github.com/neofutur/gwgd)
|
||||
* Default: http://gw.gd/
|
||||
*
|
||||
**/
|
||||
$config['yourls_url'] = '';
|
||||
$config['yourls_signature'] = '';
|
||||
$config['gwgd_url'] = '';
|
||||
|
||||
/**
|
||||
|
@ -7,6 +7,7 @@
|
||||
* - countReplies()
|
||||
* - createPaste()
|
||||
* - _get_url()
|
||||
* - _shorten_url()
|
||||
* - checkPaste()
|
||||
* - getPaste()
|
||||
* - calculate_hits()
|
||||
@ -121,22 +122,8 @@ class Pastes extends CI_Model
|
||||
else
|
||||
{
|
||||
$url = $this->_get_url($data['pid']);
|
||||
$url = urlencode($url);
|
||||
$config_gwgd_url = $this->config->item('gwgd_url');
|
||||
$gwgd_url = ($config_gwgd_url ? $config_gwgd_url : 'http://gw.gd/');
|
||||
$target = $gwgd_url . 'api.php?long=' . $url;
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $target);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_ENCODING, 'identity');
|
||||
$resp = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
$data['snipurl'] = $resp;
|
||||
|
||||
if (empty($data['snipurl']))
|
||||
{
|
||||
$data['snipurl'] = false;
|
||||
}
|
||||
$shorturl = $this->_shorten_url($url);
|
||||
$data['snipurl'] = $shorturl;
|
||||
}
|
||||
$data['ip_address'] = $this->input->ip_address();
|
||||
$this->db->insert('pastes', $data);
|
||||
@ -148,6 +135,57 @@ class Pastes extends CI_Model
|
||||
$override_url = $this->config->item('displayurl_override');
|
||||
return ($override_url ? str_replace('$id', $pid, $override_url) : site_url('view/' . $pid));
|
||||
}
|
||||
private
|
||||
function _shorten_url($url)
|
||||
{
|
||||
$config_yourls_url = $this->config->item('yourls_url');
|
||||
|
||||
if ($config_yourls_url)
|
||||
{
|
||||
|
||||
//use yourls
|
||||
$config_yourls_url = $this->config->item('yourls_url');
|
||||
$config_yourls_signature = $this->config->item('yourls_signature');
|
||||
$timestamp = time();
|
||||
$signature = md5($timestamp . $config_yourls_signature);
|
||||
|
||||
// Init the CURL session
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $config_yourls_url . 'yourls-api.php');
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_POST, 1);
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, array(
|
||||
'url' => $url,
|
||||
'format' => 'simple',
|
||||
'action' => 'shorturl',
|
||||
'signature' => $signature,
|
||||
'timestamp' => $timestamp,
|
||||
));
|
||||
$resp = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
$shorturl = (empty($resp) ? false : $resp);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
//use gdgw
|
||||
$url = urlencode($url);
|
||||
$config_gwgd_url = $this->config->item('gwgd_url');
|
||||
$gwgd_url = ($config_gwgd_url ? $config_gwgd_url : 'http://gw.gd/');
|
||||
$target = $gwgd_url . 'api.php?long=' . $url;
|
||||
|
||||
// Init the CURL session
|
||||
$ch = curl_init();
|
||||
curl_setopt($ch, CURLOPT_URL, $target);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_ENCODING, 'identity');
|
||||
$resp = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
$shorturl = (empty($resp) ? false : $resp);
|
||||
}
|
||||
return $shorturl;
|
||||
}
|
||||
|
||||
function checkPaste($seg = 2)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user