libdir.'/adminlib.php'); require_once($CFG->libdir.'/environmentlib.php'); require_once($CFG->libdir.'/componentlib.class.php'); admin_externalpage_setup('environment'); /// Parameters $action = optional_param('action', '', PARAM_ACTION); $version = optional_param('version', '', PARAM_FILE); // /// Get some strings $stradmin = get_string('administration'); $stradminhelpenvironment = get_string("adminhelpenvironment"); $strenvironment = get_string('environment', 'admin'); $strerror = get_string('error'); $strmoodleversion = get_string('moodleversion'); $strupdate = get_string('updatecomponent', 'admin'); $strupwards = get_string('upwards', 'admin'); $strmisc = get_string('miscellaneous'); /// Print the header stuff admin_externalpage_print_header(); /// Print the component download link echo ''; print_heading($strenvironment); /// Handle the 'updatecomponent' action if ($action == 'updatecomponent' && confirm_sesskey()) { /// Create component installer and execute it if ($cd = new component_installer('http://download.moodle.org', 'environment', 'environment.zip')) { $status = $cd->install(); //returns COMPONENT_(ERROR | UPTODATE | INSTALLED) switch ($status) { case COMPONENT_ERROR: if ($cd->get_error() == 'remotedownloaderror') { $a = new stdClass(); $a->url = 'http://download.moodle.org/environment/environment.zip'; $a->dest= $CFG->dataroot.'/'; print_simple_box(get_string($cd->get_error(), 'error', $a), 'center', '', '', 5, 'errorbox'); } else { print_simple_box(get_string($cd->get_error(), 'error'), 'center', '', '', 5, 'errorbox'); } break; case COMPONENT_UPTODATE: print_simple_box(get_string($cd->get_error(), 'error'), 'center'); break; case COMPONENT_INSTALLED: print_simple_box(get_string('componentinstalled', 'admin'), 'center'); break; } } } /// Start of main box print_simple_box_start('center'); echo "
".$stradminhelpenvironment."

"; /// Get current Moodle version $current_version = $CFG->release; /// Calculate list of versions $versions = array(); if ($contents = load_environment_xml()) { if ($env_versions = get_list_of_environment_versions($contents)) { /// Set the current version at the beginning $env_version = normalize_version($current_version); //We need this later (for the upwards) $versions[$env_version] = $current_version; /// If no version has been previously selected, default to $current_version if (empty($version)) { $version = $env_version; } ///Iterate over each version, adding bigged than current foreach ($env_versions as $env_version) { if (version_compare(normalize_version($current_version), $env_version, '<')) { $versions[$env_version] = $env_version; } } /// Add 'upwards' to the last element $versions[$env_version] = $env_version.' '.$strupwards; } else { $versions = array('error' => $strerror); } } /// Print form and popup menu echo '
'.$strmoodleversion.' '; popup_form("$CFG->wwwroot/$CFG->admin/environment.php?version=", $versions, 'selectversion', $version, ''); echo '
'; /// End of main box print_simple_box_end(); /// Gather and show results $status = check_moodle_environment($version, $environment_results); /// Print footer admin_externalpage_print_footer(); ?>