* Register this plugin to be responsible for a specific task
*
* @param string Task name (only characters [a-z0-9_.-] are allowed)
*/
publicfunctionregister_task($task)
{
if($task!=asciiwords($task)){
raise_error(array('code'=>526,'type'=>'php','message'=>"Invalid task name: $task. Only characters [a-z0-9_.-] are allowed"),true,false);
}
elseif(in_array(rcmail::$main_tasks,$task)){
raise_error(array('code'=>526,'type'=>'php','message'=>"Cannot register taks $task; already taken by another plugin or the application itself"),true,false);
}
else{
rcmail::$main_tasks[]=$task;
}
}
/**
* Register a handler for a specific client-request action
*
* The callback will be executed upon a request like /?_task=mail&_action=plugin.myaction
*
* @param string Action name (should be unique)
* @param mixed Callback function as string or array with object reference and method name