fshlp =& plugin_load('helper', 'freesync'); } /** * return some info */ function getInfo(){ return array( 'author' => 'Mikhail I. Izmestev', 'email' => 'izmmishao5@gmail.com', 'date' => '2009-03-11', 'name' => 'freesync ajax handler', 'desc' => '', 'url' => '', ); } /** * Register its handlers with the DokuWiki's event controller */ function register(&$controller) { $controller->register_hook('AJAX_CALL_UNKNOWN', 'BEFORE', $this, '_ajax_handler'); } function _ajax_handler(&$event, $param) { if($event->data != '_freesync_page_l2r' && $event->data != '_freesync_page_r2l' && $event->data != '_freesync_file_l2r' && $event->data != '_freesync_file_r2l' && $event->data != '_freesync_diff') return; $this->fshlp->loadProfile($_REQUEST['profile']); header('Content-Type: text/html; charset=utf-8'); switch($event->data) { case "_freesync_page_l2r": print $this->fshlp->page_l2r($_REQUEST['id'], $_REQUEST['sum']); break; case "_freesync_page_r2l": print $this->fshlp->page_r2l($_REQUEST['id'], $_REQUEST['sum']); break; case "_freesync_file_l2r": print $this->fshlp->file_l2r($_REQUEST['id'], $_REQUEST['sum']); break; case "_freesync_file_r2l": print $this->fshlp->file_r2l($_REQUEST['id'], $_REQUEST['sum']); break; case "_freesync_diff": print $this->fshlp->getDiff($_REQUEST['id']); break; } $event->preventDefault(); return; } }