1: other var $use_sloodle = false; var $avatars_num = false; var $max_avatars = false; var $isAvatarMax = false; var $reseted = false; var $hasError = false; var $errorMsg = array(); // Moodle DB var $UUID = ''; var $uid = 0; var $regionName = ''; var $serverName = ''; var $ownerName = ''; var $locX = 0; var $locY = 0; var $sizeX = 0; var $sizeY = 0; var $serverURI = ''; var $serverPort = ''; function __construct($course_id) { global $CFG, $USER; // for Guest $this->isGuest = isguestuser(); if ($this->isGuest) { print_error('modlos_access_forbidden', 'block_modlos', CMS_MODULE_URL); } $this->hasPermit = hasModlosPermit($course_id); // for HTTPS $use_https = $CFG->modlos_use_https; if ($use_https) { $https_url = $CFG->modlos_https_url; if ($https_url!='') $module_url = $https_url.'/'.CMS_DIR_NAME; else $module_url = preg_replace('/^http:/', 'https:', CMS_MODULE_URL); } else $module_url = CMS_MODULE_URL; // Parameters $uuid = required_param('region', PARAM_TEXT); $action = optional_param('action', 'personal', PARAM_ALPHA); $userid = optional_param('userid', '0', PARAM_INT); $url_params = '?course='.$course_id; $option_params = '&action='.$action.'&userid='.$userid; if ($action=='close') $option_params = '&action=personal&userid='.$userid; $this->action = $action; $this->course_id = $course_id; $this->action_url = $module_url.'/actions/reset_region.php'.$url_params.$option_params; $this->reset_url = $module_url.'/actions/reset_region.php'.$url_params.$option_params; $this->return_url = $module_url.'/actions/regions_list.php'.$url_params.$option_params; $this->use_sloodle = $CFG->modlos_cooperate_sloodle; // get UUID from POST or GET if (!isGUID($uuid)) { $mesg = ' '.get_string('modlos_invalid_uuid', 'block_modlos')." ($uuid)"; print_error($mesg, '', $return_url); } // get uid from Modlos and Sloodle DB $region = opensim_get_region_info($uuid); $avatar = modlos_get_avatar_info($region['owner_uuid']); $this->UUID = $uuid; $this->uid = $avatar['uid']; $this->regionName = $region['regionName']; $this->serverName = $region['serverName']; $this->ownerName = $region['fullname']; $this->locX = (int)$region['locX']/256; $this->locY = (int)$region['locY']/256; $this->sizeX = (int)$region['sizeX']; $this->sizeY = (int)$region['sizeY']; $this->serverURI = $region['serverURI']; $this->serverPort = $region['serverHttpPort']; if (!$this->hasPermit and $USER->id!=$this->uid) { print_error('modlos_access_forbidden', 'block_modlos', $this->return_url); } } function execute() { global $USER; // if (!$this->hasPermit and $USER->id!=$this->uid) { print_error('modlos_access_forbidden', 'block_modlos', $return_url); } // Cancel $cancel = optional_param('cancel', null, PARAM_TEXT); if ($cancel) redirect($this->return_url, 'Please wait ...', 0); // // POST if (data_submitted()) { if (!confirm_sesskey()) { $this->hasError = true; $this->errorMsg[] = get_string('modlos_sesskey_error', 'block_modlos'); } // Reset Region $reset = optional_param('reset_region', '', PARAM_TEXT); if ($reset=='') { redirect($this->reset_url.'®ion='.$this->UUID, 'Please wait ...', 2); exit('