mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 14:27:22 +01:00
0611af101d
"course users" are selected. This uses the xxxx_get_participants() function in every module. This solves an issue about info in modules belonging to unenrolled users (Bug #692 closed). Mantain compatibility with old backups (1.1 and 1.1.1). Updated version to "1.2 development". Included support to "label" module (by Martin)
221 lines
7.7 KiB
HTML
221 lines
7.7 KiB
HTML
<?PHP //$Id$
|
|
//This page prints the backup todo list to see everything
|
|
|
|
//Check login
|
|
require_login();
|
|
|
|
if (!empty($course->id)) {
|
|
if (!isteacheredit($course->id)) {
|
|
error("You need to be a teacher or admin user to use this page.", "$CFG->wwwroot/login/index.php");
|
|
}
|
|
} else {
|
|
if (!isadmin()) {
|
|
error("You need to be an admin user to use this page.", "$CFG->wwwroot/login/index.php");
|
|
}
|
|
}
|
|
|
|
|
|
//Check site
|
|
if (!$site = get_site()) {
|
|
error("Site not found!");
|
|
}
|
|
|
|
//Checks for the required files/functions to backup every mod
|
|
//And check if there is data about it
|
|
$count = 0;
|
|
if ($allmods = get_records("modules") ) {
|
|
foreach ($allmods as $mod) {
|
|
$modname = $mod->name;
|
|
$modfile = "$CFG->dirroot/mod/$modname/backuplib.php";
|
|
$modbackup = $modname."_backup_mods";
|
|
$modcheckbackup = $modname."_check_backup_mods";
|
|
if (file_exists($modfile)) {
|
|
include_once($modfile);
|
|
if (function_exists($modbackup) and function_exists($modcheckbackup)) {
|
|
$var = "exists_".$modname;
|
|
$$var = true;
|
|
$count++;
|
|
}
|
|
}
|
|
//Check data
|
|
//Check module info
|
|
$var = "backup_".$modname;
|
|
if (!isset($$var)) {
|
|
$$var = 1;
|
|
}
|
|
//Check include user info
|
|
$var = "backup_user_info_".$modname;
|
|
if (!isset($$var)) {
|
|
$$var = 1;
|
|
}
|
|
}
|
|
}
|
|
|
|
//Check other parameters
|
|
if (!isset($backup_users)) {
|
|
$backup_users = 1;
|
|
}
|
|
|
|
if (!isset($backup_logs)) {
|
|
$backup_logs = 0;
|
|
}
|
|
|
|
if (!isset($backup_user_files)) {
|
|
$backup_user_files = 1;
|
|
}
|
|
|
|
if (!isset($backup_course_files)) {
|
|
$backup_course_files = 2;
|
|
}
|
|
|
|
if ($count == 0) {
|
|
notice("No backupable modules are installed!");
|
|
}
|
|
?>
|
|
|
|
<form name="form" method="post" <?php echo $onsubmit ?> action="<?php echo $ME ?>">
|
|
<table cellpadding=5>
|
|
<?php
|
|
|
|
//Now print the Backup Name tr
|
|
echo "<tr>";
|
|
echo "<td align=\"right\"><P><B>";
|
|
echo get_string("name").":";
|
|
echo "</B></td><td>";
|
|
//Calculate the backup string
|
|
//Take off spaces in the filename !!
|
|
$backup_name = str_replace(" ","_",strtolower(get_string("backupfilename")));
|
|
//If non-translated, use "backup"
|
|
if (substr($backup_name,0,1) == "[") {
|
|
$backup_name = "backup";
|
|
}
|
|
//Calculate the format string
|
|
$backup_name_format = str_replace(" ","_",get_string("backupnameformat"));
|
|
//If non-translated, use "%Y%m%d-%H%M"
|
|
if (substr($backup_name_format,0,1) == "[") {
|
|
$backup_name_format = "%%Y%%m%%d-%%H%%M";
|
|
}
|
|
$backup_name .= str_replace(" ","_","-".strtolower($course->shortname)."-".userdate(time(),$backup_name_format,99,false).".zip");
|
|
echo $backup_name;
|
|
//Add as hidden name
|
|
echo "<input type=\"hidden\" name=\"backup_name\" value=\"".$backup_name."\">";
|
|
echo "</td></tr>";
|
|
|
|
//Calculate the backup unique code to allow simultaneus backups (to define
|
|
//the temp-directory name and records in backup temp tables
|
|
$backup_unique_code = time();
|
|
//Add as hidden name
|
|
echo "<input type=\"hidden\" name=\"backup_unique_code\" value=\"".$backup_unique_code."\">";
|
|
|
|
//Line
|
|
echo "<tr><td colspan=\"2\"><hr noshade size=\"1\"></td></tr>";
|
|
|
|
//Now print the To Do list
|
|
echo "<tr>";
|
|
echo "<td colspan=\"2\" align=\"center\"><P><B>";
|
|
echo get_string("backupdetails").":";
|
|
echo "</td></tr>";
|
|
|
|
//This is tha align to every ingo table
|
|
$table->align = array ("LEFT","RIGHT");
|
|
|
|
if ($allmods = get_records("modules") ) {
|
|
foreach ($allmods as $mod) {
|
|
$modname = $mod->name;
|
|
$modbackup = $modname."_backup_mods";
|
|
//If exists the lib & function
|
|
$var = "exists_".$modname;
|
|
if ($$var) {
|
|
//Add hidden fields
|
|
$var = "backup_".$modname;
|
|
echo "<input type=\"hidden\" name=\"".$var."\" value=\"".$$var."\">";
|
|
$var = "backup_user_info_".$modname;
|
|
echo "<input type=\"hidden\" name=\"".$var."\" value=\"".$$var."\">";
|
|
$var = "backup_".$modname;
|
|
//Only if selected
|
|
if ($$var == 1) {
|
|
//Print the full tr
|
|
echo "<tr>";
|
|
echo "<td colspan=\"2\"><P><B>";
|
|
//Print the mod name
|
|
echo "<li>".get_string("include")." ".get_string("modulenameplural",$modname)." ";
|
|
//Now look for user-data status
|
|
$backup_user_options[0] = get_string("withoutuserdata");
|
|
$backup_user_options[1] = get_string("withuserdata");
|
|
$var = "backup_user_info_".$modname;
|
|
//Print the user info
|
|
echo $backup_user_options[$$var]."<P>";
|
|
//Call the check function to show more info
|
|
$modcheckbackup = $modname."_check_backup_mods";
|
|
$table->data = $modcheckbackup($id,$$var,$backup_unique_code);
|
|
print_table($table);
|
|
echo "</td></tr>";
|
|
}
|
|
}
|
|
}
|
|
//Line
|
|
echo "<tr><td colspan=\"2\"><hr noshade size=\"1\"></td></tr>";
|
|
|
|
//Now print the Users tr
|
|
echo "<tr>";
|
|
echo "<td colspan=\"2\"><P><B>";
|
|
$user_options[0] = get_string("includeallusers");
|
|
$user_options[1] = get_string("includecourseusers");
|
|
echo "<li>".$user_options[$backup_users]."<P>";
|
|
//Add as hidden name
|
|
echo "<input type=\"hidden\" name=\"backup_users\" value=\"".$backup_users."\">";
|
|
//Print info
|
|
$table->data = user_check_backup($id,$backup_unique_code,$backup_users);
|
|
print_table($table);
|
|
echo "</td></tr>";
|
|
|
|
//Now print the Logs tr conditionally
|
|
if ($backup_logs) {
|
|
echo "<tr>";
|
|
echo "<td colspan=\"2\"><P><B>";
|
|
echo "<li>".get_string("includelogentries")."<P>";
|
|
//Print info
|
|
$table->data = log_check_backup($id);
|
|
print_table($table);
|
|
echo "</td></tr>";
|
|
}
|
|
//Add as hidden name
|
|
echo "<input type=\"hidden\" name=\"backup_logs\" value=\"".$backup_logs."\">";
|
|
|
|
//Now print the User Files tr conditionally
|
|
if ($backup_user_files) {
|
|
echo "<tr>";
|
|
echo "<td colspan=\"2\"><P><B>";
|
|
echo "<li>".get_string("includeuserfiles")."<P>";
|
|
//Print info
|
|
$table->data = user_files_check_backup($id,$backup_unique_code);
|
|
print_table($table);
|
|
echo "</td></tr>";
|
|
}
|
|
//Add as hidden name
|
|
echo "<input type=\"hidden\" name=\"backup_user_files\" value=\"".$backup_user_files."\">";
|
|
|
|
//Now print the Course Files tr conditionally
|
|
if ($backup_course_files) {
|
|
echo "<tr>";
|
|
echo "<td colspan=\"2\"><P><B>";
|
|
echo "<li>".get_string("includecoursefiles")."<P>";
|
|
//Print info
|
|
$table->data = course_files_check_backup($id,$backup_unique_code);
|
|
print_table($table);
|
|
echo "</td></tr>";
|
|
}
|
|
//Add as hidden name
|
|
echo "<input type=\"hidden\" name=\"backup_course_files\" value=\"".$backup_course_files."\">";
|
|
}
|
|
?>
|
|
</table>
|
|
<BR>
|
|
<CENTER>
|
|
<input type="hidden" name=id value="<?php p($id) ?>">
|
|
<input type="hidden" name=launch value="execute">
|
|
<input type="submit" value="<?php print_string("continue") ?>">
|
|
<input type="submit" name=cancel value="<?php print_string("cancel") ?>">
|
|
</CENTER>
|
|
</FORM>
|