| /** Lets Sloodle know we are in a linker script. */ define('SLOODLE_LINKER_SCRIPT', true); /** Grab the Sloodle/Moodle configuration. */ require_once('../../init.php'); /** Include the Sloodle PHP API. */ require_once(SLOODLE_LIBROOT.'/sloodle_session.php'); // Authenticate the request, and load a glossary module $sloodle = new SloodleSession(); $sloodle->authenticate_request(); $sloodle->load_module('glossary', true); // Has a search term been specified? $sloodleterm = $sloodle->request->optional_param('sloodleterm', null); if (empty($sloodleterm)) { // Just fetch the name of the glossary $sloodle->response->set_status_code(1); $sloodle->response->set_status_descriptor('OK'); $sloodle->response->add_data_line($sloodle->module->get_name()); $sloodle->response->add_data_line(strip_tags($sloodle->module->get_intro())); $sloodle->response->render_to_output(); exit(); } // If the server access level has been specified, then validate the user $serveraccesslevel = $sloodle->request->get_server_access_level(false); if ($serveraccesslevel !== null && $serveraccesslevel != 0) $sloodle->validate_user(); else $sloodle->validate_user(false); // Get our other parameters $sloodleterm = addslashes($sloodleterm); $sloodlepartialmatches = $sloodle->request->optional_param('sloodlepartialmatches', 'true'); $sloodlesearchaliases = $sloodle->request->optional_param('sloodlesearchaliases', 'false'); $sloodlesearchdefinitions = $sloodle->request->optional_param('sloodlesearchdefinitions', 'false'); // Convert our incoming parameters as necessary if (strcasecmp($sloodlepartialmatches, 'true') == 0 || $sloodlepartialmatches == '1') $sloodlepartialmatches = true; else $sloodlepartialmatches = false; if (strcasecmp($sloodlesearchaliases, 'true') == 0 || $sloodlesearchaliases == '1') $sloodlesearchaliases = true; else $sloodlesearchaliases = false; if (strcasecmp($sloodlesearchdefinitions, 'true') == 0 || $sloodlesearchdefinitions == '1') $sloodlesearchdefinitions = true; else $sloodlesearchdefinitions = false; // Search the glossary $results = $sloodle->module->search($sloodleterm, $sloodlepartialmatches, $sloodlesearchaliases, $sloodlesearchdefinitions); if (is_array($results)) { $sloodle->response->set_status_code(1); $sloodle->response->set_status_descriptor('OK'); // Go through each result foreach ($results as $r) { $concept = sloodle_clean_for_output($r->concept); $def = sloodle_clean_for_output($r->definition); $sloodle->response->add_data_line(array($concept, $def)); } } else { $sloodle->response->set_status_code(-103); $sloodle->response->set_status_descriptor('SYSTEM'); $sloodle->response->add_data_line('Failed to search glossary'); } // Output our response sloodle_debug('
'); // For debug mode, lets us see the response in a browser
    $sloodle->response->render_to_output();
    sloodle_debug('
');