/** * Prepare file reference information * * @param string $source * @return string file referece */ public function get_file_reference($source) { global $USER, $CFG; debugging("---> Calling 'get_file_reference: {$source}' <---"); $reference = new stdClass(); $reference->path = "/omero-image-repository/{$source}"; $reference->userid = $USER->id; $reference->username = fullname($USER); // $reference->access_key = get_user_preferences($this->setting . '_access_key', ''); // $reference->access_secret = get_user_preferences($this->setting . '_access_secret', ''); // by API we don't know if we need this reference to just download a file from omero // into moodle filepool or create a reference. Since we need to create a shared link // only in case of reference we analyze the script parameter $usefilereference = optional_param('usefilereference', false, PARAM_BOOL); if ($usefilereference) { debugging("Computing reference: {$usefilereference}"); $this->omero->set_access_token($reference->access_key, $reference->access_secret); $url = $this->omero->get_file_share_link($source, $CFG->repositorygetfiletimeout); if ($url) { unset($reference->access_key); unset($reference->access_secret); $reference->url = PathUtils::build_image_detail_url($source); debugging("Computed reference: " . $reference->url); } } return serialize($reference); }
// set the Moodle root directory $MOODLEROOT = dirname(dirname(dirname(dirname(dirname(__FILE__))))); // load dependencies require_once "{$MOODLEROOT}/config.php"; require_once "{$MOODLEROOT}/repository/omero/lib.php"; require_once "{$MOODLEROOT}/repository/omero/locallib.php"; // check whether Moodle Env exists defined('MOODLE_INTERNAL') || die; // check whether the user is logged if (!isloggedin()) { $moodle_url = "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . "/moodle"; header('Location: ' . $moodle_url); } // omero server $omero_server = new omero(); // get method $method = required_param("m", PARAM_TEXT); // get the Image ID $image_id = required_param("id", PARAM_INT); // set the response header header('Content-Type: application/json'); if ($method == "img_details") { echo $omero_server->process_request(PathUtils::build_image_detail_url($image_id), false); } else { if ($method == "dzi") { echo $omero_server->process_request(PathUtils::build_image_dzi_url($image_id), false); } else { echo json_encode(array("error" => "Not supported method!!!")); } } exit;