* @ingroup Ajax
*/
class AjaxDispatcher {
- /** The way the request was made, either a 'get' or a 'post' */
+ /**
+ * The way the request was made, either a 'get' or a 'post'
+ * @var string $mode
+ */
private $mode;
- /** Name of the requested handler */
+ /**
+ * Name of the requested handler
+ * @var string $func_name
+ */
private $func_name;
- /** Arguments passed */
+ /** Arguments passed
+ * @var array $args
+ */
private $args;
- /** Load up our object with user supplied data */
+ /**
+ * Load up our object with user supplied data
+ */
function __construct() {
wfProfileIn( __METHOD__ );
wfProfileOut( __METHOD__ );
}
- /** Pass the request to our internal function.
+ /**
+ * Pass the request to our internal function.
* BEWARE! Data are passed as they have been supplied by the user,
* they should be carefully handled in the function processing the
* request.
*/
function performAction() {
- global $wgAjaxExportList, $wgOut, $wgUser;
+ global $wgAjaxExportList, $wgUser;
if ( empty( $this->mode ) ) {
return;
'Bad Request',
"unknown function " . (string) $this->func_name
);
- } elseif ( !in_array( 'read', User::getGroupPermissions( array( '*' ) ), true )
+ } elseif ( !in_array( 'read', User::getGroupPermissions( array( '*' ) ), true )
&& !$wgUser->isAllowed( 'read' ) )
{
wfHttpError(
} else {
wfDebug( __METHOD__ . ' dispatching ' . $this->func_name . "\n" );
- if ( strpos( $this->func_name, '::' ) !== false ) {
- $func = explode( '::', $this->func_name, 2 );
- } else {
- $func = $this->func_name;
- }
-
try {
- $result = call_user_func_array( $func, $this->args );
+ $result = call_user_func_array( $this->func_name, $this->args );
if ( $result === false || $result === null ) {
wfDebug( __METHOD__ . ' ERROR while dispatching '
}
}
- $wgOut = null;
wfProfileOut( __METHOD__ );
}
}