Fixes for posting shortened URLs or uploads

* If no shortener plugin is enabled, fall back to using the long URL instead of trying to load nonexistent ur1.ca plugin and throwing 'Class  does not exist'
* Fix bad call to call_user_func_array() in callback_helper() which broke all shortening
This commit is contained in:
Brion Vibber 2009-09-20 22:30:10 -07:00 committed by Brenda Wallace
parent 0125f29324
commit 3c89d31b18

View File

@ -493,7 +493,7 @@ function callback_helper($matches, $callback, $notice_id) {
}while($original_url!=$url);
if(empty($notice_id)){
$result = call_user_func_array($callback,$url);
$result = call_user_func_array($callback, array($url));
}else{
$result = call_user_func_array($callback, array(array($url,$notice_id)) );
}
@ -1374,10 +1374,14 @@ function common_shorten_url($long_url)
$svc = $user->urlshorteningservice;
}
global $_shorteners;
if(! $_shorteners[$svc]){
if (!isset($_shorteners[$svc])) {
//the user selected service doesn't exist, so default to ur1.ca
$svc = 'ur1.ca';
}
if (!isset($_shorteners[$svc])) {
// no shortener plugins installed.
return $long_url;
}
$reflectionObj = new ReflectionClass($_shorteners[$svc]['callInfo'][0]);
$short_url_service = $reflectionObj->newInstanceArgs($_shorteners[$svc]['callInfo'][1]);