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