user_data = $USER; $timeupdated = 0; if ( $ao->loadByUUID($object_uuid) ) { $object_uuid = $ao->uuid; $httpinurl = $ao->httpinurl; $objname = $ao->name; $timeupdated = $ao->timeupdated; } // Do legacy sites the legacy way if (!isset($_REQUEST['sloodleavname'])) { // For Avatar Classroom, the rezzer config may have been stored on the avatar classroom server. // This URL should already have a parameter name and an =, if required. // NB This will fail on PHP < 5. if (defined('SLOODLE_SHARED_MEDIA_REZZER_CONFIG_WEB_SERVICE') && (SLOODLE_SHARED_MEDIA_REZZER_CONFIG_WEB_SERVICE != '') ) { // Initializing curl $ch = curl_init( SLOODLE_SHARED_MEDIA_REZZER_CONFIG_WEB_SERVICE.$_REQUEST['sloodleobjuuid'] ); $options = array( CURLOPT_RETURNTRANSFER => true, ); curl_setopt_array( $ch, $options ); if ($result = curl_exec($ch)) { $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); if ($http_code == 200) { $ao_obj = json_decode($result); // If the server has been updated after our active object list because of a rezzer reset, use the new information. if ( ( !$timeupdated ) || ($ao_obj->timeupdated >= $timeupdated) ) { $object_uuid = $ao_obj->uuid; $httpinurl = $ao_obj->httpinurl; $objname = $ao_obj->name; } } } } } } $hasCourses = false; $hasControllers = false; $hasControllersWithPermission = false; $sitesURL = ''; if (defined('SLOODLE_SHARED_MEDIA_SITE_LIST_BASE_URL') && (SLOODLE_SHARED_MEDIA_SITE_LIST_BASE_URL != '') ) { $sitesURL = SLOODLE_SHARED_MEDIA_SITE_LIST_BASE_URL.SLOODLE_SHARED_MEDIA_SITE_LIST_TOP.'?sloodleobjuuid='.$object_uuid; } if (isset($_GET['logout'])) { if ( defined('SLOODLE_SHARED_MEDIA_LOGOUT_INCLUDE') && ( SLOODLE_SHARED_MEDIA_LOGOUT_INCLUDE != '' ) ) { require(SLOODLE_SHARED_MEDIA_LOGOUT_INCLUDE); } else { require_logout(); header('Location: '.$baseurl); exit; } } if ( (!$USER || !$USER->id) || (function_exists('isguestuser') && isguestuser()) ) { if ( defined('SLOODLE_SHARED_MEDIA_LOGIN_INCLUDE') && ( SLOODLE_SHARED_MEDIA_LOGIN_INCLUDE != '' ) ) { require(SLOODLE_SHARED_MEDIA_LOGIN_INCLUDE); } else { // If we have auto login guests on, we have to simulate a logout first // ...before require_login will force a login. if (function_exists('isguestuser') && isguestuser()) { $USER = null; } require_login(null, false); } } if ( defined('SLOODLE_SHARED_MEDIA_AUTOLINK_REZZER_OWNER') && SLOODLE_SHARED_MEDIA_AUTOLINK_REZZER_OWNER ) { if( ( $sloodleobjuuid != '' ) && ( $sloodleavname != '' ) ) { $su = new SloodleUser(); if (!$su->load_avatar($sloodleobjuuid, $sloodleavname)) { if (!$su->load_avatar_by_user_id(intval($USER->id))) { $su->add_linked_avatar($USER->id, $sloodleobjuuid, $sloodleavname); } } } } if (false && !preg_match('/SecondLife/', $_SERVER['HTTP_USER_AGENT']) && !isset($_REQUEST['frame'] ) ) { $baseurl .= '&frame=1'; echo '