2021-08-25 23:06:22 +00:00
|
|
|
<?php
|
2021-09-02 12:32:26 +00:00
|
|
|
/**
|
|
|
|
* @brief kUtRL, a plugin for Dotclear 2
|
|
|
|
*
|
|
|
|
* @package Dotclear
|
|
|
|
* @subpackage Plugin
|
|
|
|
*
|
|
|
|
* @author Jean-Christian Denis and contributors
|
|
|
|
*
|
|
|
|
* @copyright Jean-Christian Denis
|
|
|
|
* @copyright GPL-2.0 https://www.gnu.org/licenses/gpl-2.0.html
|
|
|
|
*/
|
2021-08-25 23:06:22 +00:00
|
|
|
|
2021-08-25 23:34:34 +00:00
|
|
|
if (!defined('DC_RC_PATH')) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (version_compare(str_replace("-r", "-p", DC_VERSION), '2.2-alpha', '<')) {
|
|
|
|
return;
|
|
|
|
}
|
2021-08-25 23:06:22 +00:00
|
|
|
|
|
|
|
global $__autoload, $core;
|
|
|
|
|
|
|
|
# Set a URL shortener for quick get request
|
|
|
|
if (!defined('SHORTEN_SERVICE_NAME')) {
|
2021-08-25 23:34:34 +00:00
|
|
|
define('SHORTEN_SERVICE_NAME', 'Is.gd');
|
2021-08-25 23:06:22 +00:00
|
|
|
}
|
|
|
|
if (!defined('SHORTEN_SERVICE_API')) {
|
2021-10-26 20:26:05 +00:00
|
|
|
define('SHORTEN_SERVICE_API', 'https://is.gd/api.php?');
|
2021-08-25 23:06:22 +00:00
|
|
|
}
|
|
|
|
if (!defined('SHORTEN_SERVICE_BASE')) {
|
2021-10-26 20:26:05 +00:00
|
|
|
define('SHORTEN_SERVICE_BASE', 'https://is.gd/');
|
2021-08-25 23:06:22 +00:00
|
|
|
}
|
|
|
|
if (!defined('SHORTEN_SERVICE_PARAM')) {
|
2021-08-25 23:34:34 +00:00
|
|
|
define('SHORTEN_SERVICE_PARAM', 'longurl');
|
2021-08-25 23:06:22 +00:00
|
|
|
}
|
|
|
|
if (!defined('SHORTEN_SERVICE_ENCODE')) {
|
2021-08-25 23:34:34 +00:00
|
|
|
define('SHORTEN_SERVICE_ENCODE', false);
|
2021-08-25 23:06:22 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
# Main class
|
2021-08-25 23:34:34 +00:00
|
|
|
$d = dirname(__FILE__) . '/inc/';
|
|
|
|
$__autoload['kutrl'] = $d . 'class.kutrl.php';
|
|
|
|
$__autoload['kutrlService'] = $d . 'lib.kutrl.srv.php';
|
|
|
|
$__autoload['kutrlLog'] = $d . 'lib.kutrl.log.php';
|
2021-08-28 16:27:58 +00:00
|
|
|
$__autoload['kutrlLinksList'] = $d . 'lib.kutrl.lst.php';
|
2021-08-25 23:06:22 +00:00
|
|
|
|
|
|
|
# Services
|
2021-08-25 23:34:34 +00:00
|
|
|
$__autoload['defaultKutrlService'] = $d . 'services/class.default.service.php';
|
|
|
|
$core->addBehavior('kutrlService', function() { return ["default","defaultKutrlService"]; } );
|
2021-10-26 20:26:05 +00:00
|
|
|
if (!defined('SHORTEN_SERVICE_DISABLE_CUSTOM')) {
|
|
|
|
$__autoload['customKutrlService'] = $d . 'services/class.custom.service.php';
|
|
|
|
$core->addBehavior('kutrlService', function() { return ["custom","customKutrlService"]; } );
|
|
|
|
}
|
|
|
|
if (!defined('SHORTEN_SERVICE_DISABLE_LOCAL')) {
|
|
|
|
$__autoload['localKutrlService'] = $d . 'services/class.local.service.php';
|
|
|
|
$core->addBehavior('kutrlService', function() { return ["local","localKutrlService"]; } );
|
|
|
|
}
|
|
|
|
if (!defined('SHORTEN_SERVICE_DISABLE_BILBOLINKS')) {
|
|
|
|
$__autoload['bilbolinksKutrlService'] = $d . 'services/class.bilbolinks.service.php';
|
|
|
|
$core->addBehavior('kutrlService', function() { return ["bilbolinks","bilbolinksKutrlService"]; } );
|
|
|
|
}
|
|
|
|
//if (!defined('SHORTEN_SERVICE_DISABLE_BITLY')) {
|
|
|
|
//$__autoload['bitlyKutrlService'] = $d . 'services/class.bitly.service.php';
|
|
|
|
//$core->addBehavior('kutrlService', function() { return ["bitly","bitlyKutrlService"]; } );
|
|
|
|
//}
|
|
|
|
//if (!defined('SHORTEN_SERVICE_DISABLE_GOOGL')) {
|
|
|
|
// $__autoload['googlKutrlService'] = $d . 'services/class.googl.service.php';
|
|
|
|
// $core->addBehavior('kutrlService', function() { return ["googl","googlKutrlService"]; } );
|
|
|
|
//}
|
|
|
|
if (!defined('SHORTEN_SERVICE_DISABLE_ISGD')) {
|
|
|
|
$__autoload['isgdKutrlService'] = $d . 'services/class.isgd.service.php';
|
|
|
|
$core->addBehavior('kutrlService', function() { return ["isgd","isgdKutrlService"]; } );
|
|
|
|
}
|
|
|
|
//if (!defined('SHORTEN_SERVICE_DISABLE_SHORTTO')) {
|
|
|
|
// $__autoload['shorttoKutrlService'] = $d . 'services/class.shortto.service.php';
|
|
|
|
// $core->addBehavior('kutrlService', function() { return ["shortto","shorttoKutrlService"]; } );
|
|
|
|
//}
|
|
|
|
//if (!defined('SHORTEN_SERVICE_DISABLE_TRIM')) {
|
|
|
|
// $__autoload['trimKutrlService'] = $d . 'services/class.trim.service.php';
|
|
|
|
// $core->addBehavior('kutrlService', function() { return ["trim","trimKutrlService"]; } );
|
|
|
|
//}
|
|
|
|
if (!defined('SHORTEN_SERVICE_DISABLE_YOURLS')) {
|
|
|
|
$__autoload['yourlsKutrlService'] = $d . 'services/class.yourls.service.php';
|
|
|
|
$core->addBehavior('kutrlService', function() { return ["yourls","yourlsKutrlService"]; } );
|
|
|
|
}
|
|
|
|
//if (!defined('SHORTEN_SERVICE_DISABLE_SUPR')) {
|
|
|
|
// $__autoload['suprKutrlService'] = $d . 'services/class.supr.service.php';
|
|
|
|
// $core->addBehavior('kutrlService', function() { return ["supr","suprKutrlService"]; } );
|
|
|
|
//}
|
2021-08-25 23:06:22 +00:00
|
|
|
|
|
|
|
# Shorten url passed through wiki functions
|
2021-08-25 23:34:34 +00:00
|
|
|
$__autoload['kutrlWiki'] = $d . 'lib.wiki.kutrl.php';
|
|
|
|
$core->addBehavior('coreInitWikiPost',['kutrlWiki','coreInitWiki']);
|
|
|
|
$core->addBehavior('coreInitWikiComment',['kutrlWiki','coreInitWiki']);
|
|
|
|
$core->addBehavior('coreInitWikiSimpleComment',['kutrlWiki','coreInitWiki']);
|
2021-08-25 23:06:22 +00:00
|
|
|
|
|
|
|
# Public page
|
2021-08-25 23:34:34 +00:00
|
|
|
$core->url->register('kutrl', 'go', '^go(/(.*?)|)$', ['urlKutrl', 'redirectUrl']);
|
2021-08-25 23:06:22 +00:00
|
|
|
|
|
|
|
# Add kUtRL events on plugin activityReport
|
2021-08-25 23:34:34 +00:00
|
|
|
if (defined('ACTIVITY_REPORT')) {
|
|
|
|
require_once $d . 'lib.kutrl.activityreport.php';
|
|
|
|
}
|