From 7ef0797deab0dd80031ab9a5d142f057dfd8bab6 Mon Sep 17 00:00:00 2001 From: gustav_delius Date: Sun, 12 Sep 2004 01:34:24 +0000 Subject: [PATCH] some fixes for XHTML compliance --- auth/db/config.html | 332 +++++++++++++++++----------------- auth/db/lib.php | 2 +- auth/email/lib.php | 2 +- auth/fc/config.html | 252 +++++++++++++++++--------- auth/imap/config.html | 64 +++---- auth/imap/lib.php | 2 +- auth/ldap/config.html | 342 +++++++++++++++++------------------ auth/ldap/lib.php | 2 +- auth/manual/config.html | 16 +- auth/manual/lib.php | 2 +- auth/nntp/config.html | 50 ++--- auth/nntp/lib.php | 2 +- auth/none/lib.php | 2 +- auth/pop3/config.html | 80 ++++---- auth/pop3/lib.php | 2 +- backup/backup.php | 8 +- backup/backup_check.html | 46 ++--- backup/backup_execute.html | 8 +- backup/backup_form.html | 28 +-- backup/backup_scheduled.php | 2 +- backup/backuplib.php | 26 +-- backup/config.html | 54 +++--- backup/lib.php | 6 +- backup/log.php | 44 ++--- backup/restore.php | 6 +- backup/restore_check.html | 10 +- backup/restore_execute.html | 16 +- backup/restore_form.html | 32 ++-- backup/restore_precheck.html | 8 +- backup/restorelib.php | 122 ++++++------- calendar/event_delete.html | 81 ++++++--- 31 files changed, 880 insertions(+), 769 deletions(-) diff --git a/auth/db/config.html b/auth/db/config.html index b1eff29d81..39ea959a97 100644 --- a/auth/db/config.html +++ b/auth/db/config.html @@ -1,4 +1,4 @@ -auth_dbhost)) { $config->auth_dbhost = "localhost"; } @@ -27,20 +27,20 @@ $config->auth_dbpasstype = "plaintext"; } ?> - -

auth_dbhost: - - + +

auth_dbhost: + + - - + + - - + + - -

auth_dbtype: - + +

auth_dbtype: + auth_dbtype, ""); ?> - - + + - - + + - -

auth_dbname: - - + +

auth_dbname: + + - - + + - - + + - -

auth_dbuser: - - + +

auth_dbuser: + + - - + + - - + + - -

auth_dbpass: - - + +

auth_dbpass: + + - - + + - - + + - -

auth_dbtable: - - + +

auth_dbtable: + + - - + + - - + + - -

auth_dbfielduser: - - + +

auth_dbfielduser: + + - - + + - - + + - -

auth_dbfieldpass: - - + +

auth_dbfieldpass: + + - - + + - - + + - -

auth_dbpasstype: - + +

auth_dbpasstype: + auth_dbpasstype, ""); ?> - - + + - - + + - -

: - - - - + +

: + + + + - - - - -

: - - - - - - -

: - - - - - - -

1: - - - - - - -

2: - - - - - - -

: - - - - - - -

: - - - - - - -

: - - - - - - -

: - - - - - - -

: - - - - - - -

: - - - - - - -

: - - - - - - - -

: - - - - + + + + +

: + + + + + + +

: + + + + + + +

1: + + + + + + +

2: + + + + + + +

: + + + + + + +

: + + + + + + +

: + + + + + + +

: + + + + + + +

: + + + + + + +

: + + + + + + +

: + + + + + + + +

: + + + + - - + + diff --git a/auth/db/lib.php b/auth/db/lib.php index cacc0057cf..fbc23641ad 100644 --- a/auth/db/lib.php +++ b/auth/db/lib.php @@ -1,4 +1,4 @@ -auth_fchost)) { - $config->auth_fchost = "127.0.0.1"; - } - if (!isset($config->auth_fcfppport)) { - $config->auth_fcfppport = "3333"; - } - if (!isset($config->auth_fcuserid)) { - $config->auth_fcuserid = "fcMoodle"; - } - if (!isset($config->auth_fcpasswd)) { - $config->auth_fcpasswd = ""; - } - if (!isset($config->auth_fccreators)) { - $config->auth_fccreators = ""; - } -?> - - -

auth_fchost: - - - - - - - - - - -

auth_fcfppport: - - - - - - - - - - -

auth_fcuserid: - - - - - - - - - - -

auth_fcpasswd: - - - - - - - - - - -

auth_fccreators: - - - - - - - - - - - -

: - - - - - - - - +auth_fchost)) { + + $config->auth_fchost = "127.0.0.1"; + + } + + if (!isset($config->auth_fcfppport)) { + + $config->auth_fcfppport = "3333"; + + } + + if (!isset($config->auth_fcuserid)) { + + $config->auth_fcuserid = "fcMoodle"; + + } + + if (!isset($config->auth_fcpasswd)) { + + $config->auth_fcpasswd = ""; + + } + + if (!isset($config->auth_fccreators)) { + + $config->auth_fccreators = ""; + + } + +?> + + + + + +

auth_fchost: + + + + + + + + + + + + + + + + + + + + + +

auth_fcfppport: + + + + + + + + + + + + + + + + + + + + + +

auth_fcuserid: + + + + + + + + + + + + + + + + + + + + + +

auth_fcpasswd: + + + + + + + + + + + + + + + + + + + + + +

auth_fccreators: + + + + + + + + + + + + + + + + + + + + + + + +

: + + + + + + + + + + + + + + + + + diff --git a/auth/imap/config.html b/auth/imap/config.html index 15d5309e11..5b385a8a5a 100644 --- a/auth/imap/config.html +++ b/auth/imap/config.html @@ -1,4 +1,4 @@ -auth_imaphost)) { $config->auth_imaphost = "127.0.0.1"; } @@ -9,51 +9,51 @@ $config->auth_imapport = "143"; } ?> - -

auth_imaphost: - - + +

auth_imaphost: + + - - + + - - + + - -

auth_imaptype: - + +

auth_imaptype: + auth_imaptype, ""); ?> - - + + - - + + - -

auth_imapport: - - + +

auth_imapport: + + - - + + - - + + - -

: - - - - + +

: + + + + - - + + diff --git a/auth/imap/lib.php b/auth/imap/lib.php index 0cc6fe2f8f..a2c0927415 100644 --- a/auth/imap/lib.php +++ b/auth/imap/lib.php @@ -1,4 +1,4 @@ -ldap_host_url)) { $config->ldap_host_url = ""; } @@ -37,231 +37,231 @@ } ?> - -

ldap_host_url: - - + +

ldap_host_url: + + - - + + - - + + - -

ldap_version: - + +

ldap_version: + ldap_version, ""); if (isset($err["ldap_version"])) formerr($err["ldap_version"]); ?> - - + + - - + + - -

ldap_contexts: - - + +

ldap_contexts: + + - - + + - - + + - -

ldap_user_attribute: - - + +

ldap_user_attribute: + + - - + + - - + + - -

ldap_objectclass: - - + +

ldap_objectclass: + + - - + + - - + + - -

ldap_search_sub: - - + +

ldap_search_sub: + + - - + + - - + + - -

ldap_bind_dn: - - + +

ldap_bind_dn: + + - + - - + + - -

ldap_bind_pw: - - + +

ldap_bind_pw: + + - + - - + + - -

ldap_memberattribute: - - + +

ldap_memberattribute: + + - + - - + + - -

ldap_creators: - - + +

ldap_creators: + + - + - - + + - -

ldap_create_context: - - + +

ldap_create_context: + + - + - - + + - -

: - - - - + +

: + + + + - - + + - -

: - - - - + +

: + + + + - -

: - - - - + +

: + + + + - -

1: - - - - + +

1: + + + + - -

2: - - - - + +

2: + + + + - -

: - - - - + +

: + + + + - -

: - - - - + +

: + + + + - -

: - - - - + +

: + + + + - -

: - - - - + +

: + + + + - -

: - - - - + +

: + + + + - -

: - - - - + +

: + + + + - -

: - - - - + +

: + + + + - -

: - - - - + +

: + + + + - -

: - - - - + +

: + + + + - - + + diff --git a/auth/ldap/lib.php b/auth/ldap/lib.php index 4004013d8a..196aa653c7 100644 --- a/auth/ldap/lib.php +++ b/auth/ldap/lib.php @@ -1,4 +1,4 @@ - -

: - - - - + +

: + + + + - - + + diff --git a/auth/manual/lib.php b/auth/manual/lib.php index 0dce1fc88e..657e95a428 100644 --- a/auth/manual/lib.php +++ b/auth/manual/lib.php @@ -1,4 +1,4 @@ -auth_nntphost)) { $config->auth_nntphost = "127.0.0.1"; } @@ -7,36 +7,36 @@ } ?> - -

auth_nntphost: - - + +

auth_nntphost: + + - - + + - - + + - -

auth_nntpport: - - + +

auth_nntpport: + + - - + + - - + + - -

: - - - - + +

: + + + + - - + + diff --git a/auth/nntp/lib.php b/auth/nntp/lib.php index 7fd6836fec..502d051edd 100644 --- a/auth/nntp/lib.php +++ b/auth/nntp/lib.php @@ -1,4 +1,4 @@ -auth_pop3host)) { $config->auth_pop3host = "127.0.0.1"; } @@ -12,62 +12,62 @@ $config->auth_pop3mailbox = "INBOX"; } ?> - -

auth_pop3host: - - + +

auth_pop3host: + + - - + + - - + + - -

auth_pop3type: - + +

auth_pop3type: + auth_pop3type, ""); ?> - - + + - - + + - -

auth_pop3port: - - + +

auth_pop3port: + + - - + + - - + + - -

auth_pop3mailbox: - - + +

auth_pop3mailbox: + + - - + + - - + + - -

: - - - - + +

: + + + + - - + + diff --git a/auth/pop3/lib.php b/auth/pop3/lib.php index 6c18d436ec..c4f24a624e 100644 --- a/auth/pop3/lib.php +++ b/auth/pop3/lib.php @@ -1,4 +1,4 @@ -shortname: $strcoursebackup", $site->fullname, - "wwwroot/$CFG->admin/index.php\">$stradministration -> $strcoursebackup"); + "wwwroot/$CFG->admin/index.php\">$stradministration -> $strcoursebackup"); if ($courses = get_courses()) { print_heading(get_string("choosecourse")); - print_simple_box_start("CENTER"); + print_simple_box_start("center"); foreach ($courses as $course) { - echo "id\">$course->fullname ($course->shortname)
"; + echo "id\">$course->fullname ($course->shortname)
"; } print_simple_box_end(); } else { diff --git a/backup/backup_check.html b/backup/backup_check.html index 226bff97e7..c580c5885a 100644 --- a/backup/backup_check.html +++ b/backup/backup_check.html @@ -1,4 +1,4 @@ -

- +
"; - echo ""; - echo ""; //This is tha align to every ingo table - $table->align = array ("LEFT","RIGHT"); + $table->align = array ("left","right"); if ($allmods = get_records("modules") ) { foreach ($allmods as $mod) { @@ -181,7 +181,7 @@ if ($$var == 1) { //Print the full tr echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo "

"; + echo "

"; echo get_string("name").":"; - echo "

"; + echo ""; //Calculate the backup string //Calculate the backup word @@ -131,7 +131,7 @@ //Now print the To Do list echo "

"; + echo "

"; //Here we check if backup_users = None. Then, we switch off every module //user info, user_files, logs and exercises and workshop backups. A Warning is showed to @@ -162,7 +162,7 @@ echo "

"; + echo "

"; //Print the mod name echo "

  • ".get_string("include")." ".get_string("modulenameplural",$modname)." "; //Now look for user-data status @@ -189,7 +189,7 @@ $backup_user_options[1] = get_string("withuserdata"); $var = "backup_user_info_".$modname; //Print the user info - echo $backup_user_options[$$var]."

    "; + echo $backup_user_options[$$var]."

    "; //Call the check function to show more info $modcheckbackup = $modname."_check_backup_mods"; $table->data = $modcheckbackup($id,$$var,$backup_unique_code); @@ -203,11 +203,11 @@ //Now print the Users tr echo "

  • "; + echo "

    "; $user_options[0] = get_string("includeallusers"); $user_options[1] = get_string("includecourseusers"); $user_options[2] = get_string("includenoneusers"); - echo "

  • ".$user_options[$backup_users]."

    "; + echo "

  • ".$user_options[$backup_users]."

    "; //Add as hidden name echo ""; //Print info @@ -218,8 +218,8 @@ //Now print the Logs tr conditionally if ($backup_logs) { echo "

  • "; - echo "

  • ".get_string("includelogentries")."

    "; + echo "

  • "; + echo "

  • ".get_string("includelogentries")."

    "; //Print info $table->data = log_check_backup($id); print_table($table); @@ -231,8 +231,8 @@ //Now print the User Files tr conditionally if ($backup_user_files) { echo "

  • "; - echo "

  • ".get_string("includeuserfiles")."

    "; + echo "

  • "; + echo "

  • ".get_string("includeuserfiles")."

    "; //Print info $table->data = user_files_check_backup($id,$backup_unique_code); print_table($table); @@ -244,8 +244,8 @@ //Now print the Course Files tr conditionally if ($backup_course_files) { echo "

  • "; - echo "

  • ".get_string("includecoursefiles")."

    "; + echo "

  • "; + echo "

  • ".get_string("includecoursefiles")."

    "; //Print info $table->data = course_files_check_backup($id,$backup_unique_code); print_table($table); @@ -256,11 +256,11 @@ } ?>

  • -
    -
    - - +
    +
    + + "> -"> -
    - +"> +
    + diff --git a/backup/backup_execute.html b/backup/backup_execute.html index 59d8ab14a9..feb268049d 100644 --- a/backup/backup_execute.html +++ b/backup/backup_execute.html @@ -1,4 +1,4 @@ -"; - echo "

    "; + echo "

    "; echo get_string("name").":"; - echo ""; + echo ""; echo $backup_name; echo ""; @@ -339,7 +339,7 @@ } //Print final message - print_simple_box(get_string("backupfinished"),"CENTER"); + print_simple_box(get_string("backupfinished"),"center"); print_continue("$CFG->wwwroot/files/index.php?id=".$preferences->backup_course."&wdir=/backupdata"); ?> diff --git a/backup/backup_form.html b/backup/backup_form.html index b93d490380..8e48b24bb7 100644 --- a/backup/backup_form.html +++ b/backup/backup_form.html @@ -1,4 +1,4 @@ -

    - +
    "; - echo ""; - echo ""; - echo ""; - echo ""; - echo "

    "; + echo "

    "; echo get_string("include")." ". get_string("modulenameplural",$modname).":"; echo "

    "; $backup_options[0] = get_string("no"); @@ -104,7 +104,7 @@ //Now print the Users tr echo "

    "; + echo "

    "; echo get_string("users").":"; echo "

    "; $user_options[0] = get_string("all"); @@ -115,7 +115,7 @@ //Now print the Logs tr echo "

    "; + echo "

    "; echo get_string("logs").":"; echo "

    "; $log_options[0] = get_string("no"); @@ -125,7 +125,7 @@ //Now print the User Files tr echo "

    "; + echo "

    "; echo get_string ("userfiles").":"; echo "

    "; $user_file_options[0] = get_string("no"); @@ -135,7 +135,7 @@ //Now print the Course Files tr echo "

    "; + echo "

    "; echo get_string ("coursefiles").":"; echo "

    "; $course_file_options[0] = get_string("no"); @@ -145,11 +145,11 @@ } ?>
    -
    -
    - - +
    +
    + + "> -"> -
    - +"> +
    + diff --git a/backup/backup_scheduled.php b/backup/backup_scheduled.php index bbd705a3a7..4f781636c4 100644 --- a/backup/backup_scheduled.php +++ b/backup/backup_scheduled.php @@ -1,4 +1,4 @@ -"; + echo "
    "; } backup_flush(300); } @@ -921,7 +921,7 @@ if ($counter % 10 == 0) { echo "."; if ($counter % 200 == 0) { - echo "
    "; + echo "
    "; } backup_flush(300); } @@ -1171,7 +1171,7 @@ } if ($result != $content && $CFG->debug>7) { //Debug - echo "

    ".$content."
    changed to
    ".$result."

    "; //Debug + echo "

    ".$content."
    changed to
    ".$result."

    "; //Debug } //Debug return $result; @@ -1268,7 +1268,7 @@ $filelist = list_directories_and_files ($basedir); if (empty($CFG->zip)) { // Use built-in php-based zip function - //echo "
    Using pclzip"; //Debug + //echo "
    Using pclzip"; //Debug $files = array(); foreach ($filelist as $file) { //If directory, append "/" @@ -1277,7 +1277,7 @@ // $file = $file."/"; //} //Include into array - //echo "
    Adding file/dir ".$file; //Debug + //echo "
    Adding file/dir ".$file; //Debug $files[] = $basedir."/".$file; } include_once("$CFG->dirroot/lib/pclzip/pclzip.lib.php"); @@ -1292,18 +1292,18 @@ //PclTraceDisplay(); //Debug //PclTraceOff(); //Debug } else { // Use external zip program - //echo "
    Using external zip"; //Debug + //echo "
    Using external zip"; //Debug $files = ""; foreach ($filelist as $file) { $files .= basename($file); $files .= " "; } $command = "cd $basedir ; $CFG->zip -r $name $files"; - //echo "
    Executing command: ".$command; //Debug + //echo "
    Executing command: ".$command; //Debug $status = Exec($command); } - //echo "
    Status: ".$status; //Debug + //echo "
    Status: ".$status; //Debug return $status; } @@ -1328,9 +1328,9 @@ //Define zip destination (course dir) $to_zip_file = $CFG->dataroot."/".$preferences->backup_course; - //echo "

    From: ".$from_zip_file."
    "; //Debug + //echo "

    From: ".$from_zip_file."
    "; //Debug - //echo "

    Checking: ".$to_zip_file."
    "; //Debug + //echo "

    Checking: ".$to_zip_file."
    "; //Debug //Checks course dir exists $status = check_dir_exists($to_zip_file,true); @@ -1338,7 +1338,7 @@ //Define zip destination (backup dir) $to_zip_file = $to_zip_file."/backupdata"; - //echo "

    Checking: ".$to_zip_file."
    "; //Debug + //echo "

    Checking: ".$to_zip_file."
    "; //Debug //Checks backup dir exists $status = check_dir_exists($to_zip_file,true); @@ -1347,7 +1347,7 @@ $to_zip_file = $to_zip_file."/".$preferences->backup_name; } - //echo "

    To: ".$to_zip_file."
    "; //Debug + //echo "

    To: ".$to_zip_file."
    "; //Debug //Copy zip file if ($status) { diff --git a/backup/config.html b/backup/config.html index 5dabf68887..a824f4eff2 100644 --- a/backup/config.html +++ b/backup/config.html @@ -83,13 +83,13 @@ ?>

    - - - +
    + + - - - + + @@ -97,8 +97,8 @@ - - + + @@ -106,8 +106,8 @@ - - + + @@ -115,8 +115,8 @@ - - + + @@ -124,8 +124,8 @@ - - + + @@ -133,8 +133,8 @@ - - + + - - + + - - + - - - + - - + -

    :

    +

    :

    backup_sche_modules, "") ?> backup_sche_withuserdata, "") ?>

    :

    :

    backup_sche_users, "") ?>

    :

    :

    backup_sche_logs, "") ?>

    :

    :

    backup_sche_userfiles, "") ?>

    :

    :

    backup_sche_coursefiles, "") ?>

    :

    :

    backup_sche_keep, ""); @@ -145,16 +145,16 @@
    +
    : backup_sche_active, "") ?>
    +
    +
    : backup_sche_hour,$backup_config->backup_sche_minute)) ?>
    - :
    "; } ?> +
    + :
    "; } ?>
    + ">
    diff --git a/backup/lib.php b/backup/lib.php index c76533585f..4683a62680 100644 --- a/backup/lib.php +++ b/backup/lib.php @@ -282,7 +282,7 @@ global $CFG; if (is_file($from_file)) { - //echo "
    Copying ".$from_file." to ".$to_file; //Debug + //echo "
    Copying ".$from_file." to ".$to_file; //Debug //$perms=fileperms($from_file); //return copy($from_file,$to_file) && chmod($to_file,$perms); umask(0000); @@ -292,7 +292,7 @@ return backup_copy_dir($from_file,$to_file); } else{ - //echo "
    Error: not file or dir ".$from_file; //Debug + //echo "
    Error: not file or dir ".$from_file; //Debug return false; } } @@ -302,7 +302,7 @@ global $CFG; if (!is_dir($to_file)) { - //echo "
    Creating ".$to_file; //Debug + //echo "
    Creating ".$to_file; //Debug umask(0000); $status = mkdir($to_file,$CFG->directorypermissions); } diff --git a/backup/log.php b/backup/log.php index 0f245fc4e5..d7c9d9848f 100644 --- a/backup/log.php +++ b/backup/log.php @@ -50,28 +50,28 @@ if (!$courses) { notify("No logs found!"); } else { - echo ""; + echo "
    "; //Print table header - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; foreach ($courses as $course) { //Get the course shortname $coursename = get_field ("course","fullname","id",$course->courseid); if ($coursename) { - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; if (!$course->laststatus) { - echo ""; + echo ""; } else { - echo ""; + echo ""; } - echo ""; + echo ""; echo ""; } } @@ -104,10 +104,10 @@ if (!$executions) { notify("No logs found!"); } else { - echo "
    $strcourse$strtimetaken$strstatus$strnext
    $strcourse$strtimetaken$strstatus$strnext
    courseid\">".$coursename."".userdate($course->laststarttime,$strftimedatetime)." - ".userdate($course->lastendtime,$strftimedatetime)."
    courseid\">".$coursename."".userdate($course->laststarttime,$strftimedatetime)." - ".userdate($course->lastendtime,$strftimedatetime)."".$strerror."".$strerror."".$strok."".$strok."".userdate($course->nextstarttime,$strftimedatetime)."".userdate($course->nextstarttime,$strftimedatetime)."
    "; + echo "
    "; foreach($executions as $execution) { - echo ""; - echo ""; + echo ""; echo ""; @@ -118,11 +118,11 @@ ORDER BY time"); if ($logs) { foreach ($logs as $log) { - echo ""; - echo ""; - $log->info = str_replace("- ERROR!!","- ERROR!!",$log->info); - $log->info = str_replace("- OK","- OK",$log->info); - echo ""; + echo ""; + echo ""; + $log->info = str_replace("- ERROR!!","- ERROR!!",$log->info); + $log->info = str_replace("- OK","- OK",$log->info); + echo ""; echo ""; } } diff --git a/backup/restore.php b/backup/restore.php index 97f1571323..09647aceae 100644 --- a/backup/restore.php +++ b/backup/restore.php @@ -1,4 +1,4 @@ -shortname: $strcourserestore", $site->fullname, - "wwwroot/$CFG->admin/index.php\">$stradministration -> $strcourserestore"); + "wwwroot/$CFG->admin/index.php\">$stradministration -> $strcourserestore"); print_heading(get_string("nofilesselected")); print_continue("$CFG->wwwroot/$CFG->admin/index.php"); print_footer(); @@ -63,7 +63,7 @@ //If cancel has been selected, inform and end if ($cancel) { print_header("$site->shortname: $strcourserestore", $site->fullname, - "wwwroot/$CFG->admin/index.php\">$stradministration -> $strcourserestore"); + "wwwroot/$CFG->admin/index.php\">$stradministration -> $strcourserestore"); print_heading(get_string("restorecancelled")); print_continue("$CFG->wwwroot/$CFG->admin/index.php"); print_footer(); diff --git a/backup/restore_check.html b/backup/restore_check.html index 3606e59a93..bd5b5726c5 100644 --- a/backup/restore_check.html +++ b/backup/restore_check.html @@ -1,4 +1,4 @@ -restoreto == 0 or $restore->restoreto == 1) and ($restore->course_id == 0) and (isadmin())) { if ($courses = get_courses("all","c.fullname")) { print_heading(get_string("choosecourse")); - print_simple_box_start("CENTER"); + print_simple_box_start("center"); foreach ($courses as $course) { - echo "id&launch=check&id=$id&file=$file\">$course->fullname ($course->shortname)
    "; + echo "id&launch=check&id=$id&file=$file\">$course->fullname ($course->shortname)
    "; } print_simple_box_end(); } else { @@ -183,12 +183,12 @@ if ($show_continue_button) { //Print the continue button to execute the restore NOW !!!! //All is prepared !!! - echo "
    "; + echo "
    "; $hidden["launch"] = "execute"; $hidden["file"] = $file; $hidden["id"] = $id; print_single_button("restore.php", $hidden, get_string("restorecoursenow"),"post"); - echo "
    "; + echo "
    "; } else { //Show error error ("Something was wrong checking restore preferences"); diff --git a/backup/restore_execute.html b/backup/restore_execute.html index 960c529331..d31a791065 100644 --- a/backup/restore_execute.html +++ b/backup/restore_execute.html @@ -1,4 +1,4 @@ -"; + echo "
    "; + echo "
    "; print_simple_box("
    ".userdate($execution->laststarttime)."
    ", "center"); echo "
    ".userdate($log->time,$strftimetime)."".str_replace(" ","    ",$log->info)."
    ".userdate($log->time,$strftimetime)."".str_replace(" ","    ",$log->info)."
    "; echo "
    "; //Start the main ul @@ -132,7 +132,7 @@ //Now create users as needed if ($status and ($restore->users == 0 or $restore->users == 1)) { - echo "
  • ".get_string("creatingusers")."
    "; + echo "
  • ".get_string("creatingusers")."
    "; if (!$status = restore_create_users($restore,$xml_file)) { notify("Could not restore users."); } @@ -168,7 +168,7 @@ if ($counter % 10 == 0) { echo "."; if ($counter % 200 == 0) { - echo "
    "; + echo "
    "; } backup_flush(300); } @@ -187,7 +187,7 @@ //Now create categories and questions as needed (STEP1) if ($status and ($restore->mods['quiz']->restore)) { - echo "
  • ".get_string("creatingcategoriesandquestions")."
    "; + echo "
  • ".get_string("creatingcategoriesandquestions")."
    "; if (!$status = restore_create_questions($restore,$xml_file)) { notify("Could not restore categories and questions!"); } @@ -195,7 +195,7 @@ //Now create user_files as needed if ($status and ($restore->user_files)) { - echo "
  • ".get_string("copyinguserfiles")."
    "; + echo "
  • ".get_string("copyinguserfiles")."
    "; if (!$status = restore_user_files($restore)) { notify("Could not restore user files!"); } @@ -210,7 +210,7 @@ //Now create course files as needed if ($status and ($restore->course_files)) { - echo "
  • ".get_string("copyingcoursefiles")."
    "; + echo "
  • ".get_string("copyingcoursefiles")."
    "; if (!$status = restore_course_files($restore)) { notify("Could not restore course files!"); } @@ -320,7 +320,7 @@ } //Print final message - print_simple_box(get_string("restorefinished"),"CENTER"); + print_simple_box(get_string("restorefinished"),"center"); print_continue("$CFG->wwwroot/course/view.php?id=".$restore->course_id); ?> diff --git a/backup/restore_form.html b/backup/restore_form.html index a3619a82ef..795b90d06e 100644 --- a/backup/restore_form.html +++ b/backup/restore_form.html @@ -1,4 +1,4 @@ - - - +
    "; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo "

    "; + echo "

    "; echo get_string("restoreto").":"; echo "

    "; if (isteacheredit($id) and !isadmin()) { @@ -162,7 +162,7 @@ function selectItemInMenuByName(formId, menuName, selectIndex ) { if (isset($info->mods[$modname]) && $info->mods[$modname]->backup == "true") { //Print the full tr echo "

    "; + echo "

    "; echo get_string("include")." ". get_string("modulenameplural",$modname).":"; echo "

    "; $restore_options[0] = get_string("no"); @@ -201,7 +201,7 @@ function selectItemInMenuByName(formId, menuName, selectIndex ) { //Now print the Users tr echo "

    "; + echo "

    "; echo get_string("users").":"; echo "

    "; //If some user is present in the backup file @@ -222,7 +222,7 @@ function selectItemInMenuByName(formId, menuName, selectIndex ) { //Now print the Logs tr echo "

    "; + echo "

    "; echo get_string("logs").":"; echo "

    "; //If logs are in the backup file, show menu, else fixed to no @@ -238,7 +238,7 @@ function selectItemInMenuByName(formId, menuName, selectIndex ) { //Now print the User Files tr echo "

    "; + echo "

    "; echo get_string ("userfiles").":"; echo "

    "; //If user files are in the backup file, show menu, else fixed to no @@ -254,7 +254,7 @@ function selectItemInMenuByName(formId, menuName, selectIndex ) { //Now print the Course Files tr echo "

    "; + echo "

    "; echo get_string ("coursefiles").":"; echo "

    "; //If course files are in the backup file, show menu, else fixed to no @@ -272,11 +272,11 @@ function selectItemInMenuByName(formId, menuName, selectIndex ) { } ?>
    -
    -
    - - +
    +
    + + "> -"> -
    - +"> +
    + diff --git a/backup/restore_precheck.html b/backup/restore_precheck.html index ba65a2c43b..f046a025f8 100644 --- a/backup/restore_precheck.html +++ b/backup/restore_precheck.html @@ -1,4 +1,4 @@ -dataroot."/".$file; //Start the main table - echo ""; + echo "
    "; echo "
    "; //Start the mail ul @@ -138,13 +138,13 @@ //Finally, a little form to continue //with some hidden fields if ($status) { - echo "
    "; + echo "
    "; $hidden["backup_unique_code"] = $backup_unique_code; $hidden["launch"] = "form"; $hidden["file"] = $file; $hidden["id"] = $id; print_single_button("restore.php", $hidden, get_string("continue"),"post"); - echo "
    "; + echo "
    "; } if (!$status) { diff --git a/backup/restorelib.php b/backup/restorelib.php index 0986a6946a..c6b28ff749 100644 --- a/backup/restorelib.php +++ b/backup/restorelib.php @@ -1,4 +1,4 @@ -message = addslashes($result); $status = update_record("forum_posts",$post); if ($CFG->debug>7) { - echo "

    ".$content."
    changed to
    ".$result."

    "; + echo "

    ".$content."
    changed to
    ".$result."

    "; } } //Do some output if (($i+1) % 5 == 0) { echo "."; if (($i+1) % 100 == 0) { - echo "
    "; + echo "
    "; } backup_flush(300); } @@ -198,14 +198,14 @@ $resource->alltext = addslashes($result); $status = update_record("resource",$resource); if ($CFG->debug>7) { - echo "

    ".$content."
    changed to
    ".$result."

    "; + echo "

    ".$content."
    changed to
    ".$result."

    "; } } //Do some output if (($i+1) % 5 == 0) { echo "."; if (($i+1) % 100 == 0) { - echo "
    "; + echo "
    "; } backup_flush(300); } @@ -899,17 +899,17 @@ //Here, if create_preferences, do it as necessary if ($create_preferences) { - //echo "Checking for preferences of user ".$user->username."
    "; //Debug + //echo "Checking for preferences of user ".$user->username."
    "; //Debug //Get user new id from backup_ids $data = backup_getid($restore->backup_unique_code,"user",$userid); $newid = $data->new_id; if (isset($user->user_preferences)) { - //echo "Preferences exist in backup file
    "; //Debug + //echo "Preferences exist in backup file
    "; //Debug foreach($user->user_preferences as $user_preference) { - //echo $user_preference->name." = ".$user_preference->value."
    "; //Debug + //echo $user_preference->name." = ".$user_preference->value."
    "; //Debug //We check if that user_preference exists in DB if (!record_exists("user_preferences","userid",$newid,"name",$user_preference->name)) { - //echo "Creating it
    "; //Debug + //echo "Creating it
    "; //Debug //Prepare the record and insert it $user_preference->userid = $newid; $status = insert_record("user_preferences",$user_preference); @@ -1162,7 +1162,7 @@ if (($i+1) % 50 == 0) { echo "."; if (($i+1) % 1000 == 0) { - echo "
    "; + echo "
    "; } backup_flush(300); } @@ -1299,7 +1299,7 @@ $result = str_replace($search,$replace,$content); if ($result != $content && $CFG->debug>7) { //Debug - echo "

    ".$content."
    changed to
    ".$result."

    "; //Debug + echo "

    ".$content."
    changed to
    ".$result."

    "; //Debug } //Debug return $result; @@ -1351,7 +1351,7 @@ if ($counter % 2 == 0) { echo "."; if ($counter % 40 == 0) { - echo "
    "; + echo "
    "; } backup_flush(300); } @@ -1404,7 +1404,7 @@ if ($counter % 2 == 0) { echo "."; if ($counter % 40 == 0) { - echo "
    "; + echo "
    "; } backup_flush(300); } @@ -1521,14 +1521,14 @@ //We have to recode the userid field $user = backup_getid($restore->backup_unique_code,"user",$dblog->userid); if ($user) { - //echo "User ".$dblog->userid." to user ".$user->new_id."
    "; //Debug + //echo "User ".$dblog->userid." to user ".$user->new_id."
    "; //Debug $dblog->userid = $user->new_id; } //We have to recode the cmid field (if module isn't "course" or "user") if ($dblog->module != "course" and $dblog->module != "user") { $cm = backup_getid($restore->backup_unique_code,"course_modules",$dblog->cmid); if ($cm) { - //echo "Module ".$dblog->cmid." to module ".$cm->new_id."
    "; //Debug + //echo "Module ".$dblog->cmid." to module ".$cm->new_id."
    "; //Debug $dblog->cmid = $cm->new_id; } else { $dblog->cmid = 0; @@ -1553,7 +1553,7 @@ if ($counter % 10 == 0) { echo "."; if ($counter % 200 == 0) { - echo "
    "; + echo "
    "; } backup_flush(300); } @@ -1575,7 +1575,7 @@ $status = true; $toinsert = false; - //echo "
    Before transformations
    "; //Debug + //echo "
    Before transformations
    "; //Debug //print_object($log); //Debug //Depending of the action, we recode different things switch ($log->action) { @@ -1687,16 +1687,16 @@ $toinsert = true; break; default: - echo "action (".$log->module."-".$log->action.") unknow. Not restored
    "; //Debug + echo "action (".$log->module."-".$log->action.") unknow. Not restored
    "; //Debug break; } - //echo "After transformations
    "; //Debug + //echo "After transformations
    "; //Debug //print_object($log); //Debug //Now if $toinsert is set, insert the record if ($toinsert) { - //echo "Inserting record
    "; //Debug + //echo "Inserting record
    "; //Debug $status = insert_record("log",$log); } return $status; @@ -1708,7 +1708,7 @@ $status = true; $toinsert = false; - //echo "
    Before transformations
    "; //Debug + //echo "
    Before transformations
    "; //Debug //print_object($log); //Debug //Depending of the action, we recode different things switch ($log->action) { @@ -1748,16 +1748,16 @@ } break; default: - echo "action (".$log->module."-".$log->action.") unknow. Not restored
    "; //Debug + echo "action (".$log->module."-".$log->action.") unknow. Not restored
    "; //Debug break; } - //echo "After transformations
    "; //Debug + //echo "After transformations
    "; //Debug //print_object($log); //Debug //Now if $toinsert is set, insert the record if ($toinsert) { - //echo "Inserting record
    "; //Debug + //echo "Inserting record
    "; //Debug $status = insert_record("log",$log); } return $status; @@ -1769,7 +1769,7 @@ $status = true; $toinsert = false; - //echo "
    Before transformations
    "; //Debug + //echo "
    Before transformations
    "; //Debug //print_object($log); //Debug //Now we see if the required function in the module exists @@ -1783,12 +1783,12 @@ } } - //echo "After transformations
    "; //Debug + //echo "After transformations
    "; //Debug //print_object($log); //Debug //Now if $toinsert is set, insert the record if ($toinsert) { - //echo "Inserting record
    "; //Debug + //echo "Inserting record
    "; //Debug $status = insert_record("log",$log); } return $status; @@ -1877,7 +1877,7 @@ //Check if we are into INFO zone //if ($this->tree[2] == "INFO") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug } //This is the startTag handler we use where we are reading the course header zone (todo="COURSE_HEADER") @@ -1891,7 +1891,7 @@ //Check if we are into COURSE_HEADER zone //if ($this->tree[3] == "HEADER") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug } //This is the startTag handler we use where we are reading the sections zone (todo="SECTIONS") @@ -1905,7 +1905,7 @@ //Check if we are into SECTIONS zone //if ($this->tree[3] == "SECTIONS") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug } //This is the startTag handler we use where we are reading the user zone (todo="USERS") @@ -1916,7 +1916,7 @@ //Check if we are into USERS zone //if ($this->tree[3] == "USERS") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug } //This is the startTag handler we use where we are reading the questions zone (todo="QUESTIONS") @@ -1934,7 +1934,7 @@ //Check if we are into QUESTION_CATEGORIES zone //if ($this->tree[3] == "QUESTION_CATEGORIES") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug //If we are under a QUESTION_CATEGORY tag under a QUESTION_CATEGORIES zone, accumule it if (isset($this->tree[4]) and isset($this->tree[3])) { @@ -1962,7 +1962,7 @@ //Check if we are into SCALES zone //if ($this->tree[3] == "SCALES") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug //If we are under a SCALE tag under a SCALES zone, accumule it if (isset($this->tree[4]) and isset($this->tree[3])) { @@ -1989,7 +1989,7 @@ //Check if we are into GROUPS zone //if ($this->tree[3] == "GROUPS") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug //If we are under a GROUP tag under a GROUPS zone, accumule it if (isset($this->tree[4]) and isset($this->tree[3])) { @@ -2017,7 +2017,7 @@ //Check if we are into EVENTS zone //if ($this->tree[3] == "EVENTS") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug //If we are under a EVENT tag under a EVENTS zone, accumule it if (isset($this->tree[4]) and isset($this->tree[3])) { @@ -2045,7 +2045,7 @@ //Check if we are into MODULES zone //if ($this->tree[3] == "MODULES") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug //If we are under a MOD tag under a MODULES zone, accumule it if (isset($this->tree[4]) and isset($this->tree[3])) { @@ -2073,7 +2073,7 @@ //Check if we are into LOGS zone //if ($this->tree[3] == "LOGS") //Debug - // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + // echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug //If we are under a LOG tag under a LOGS zone, accumule it if (isset($this->tree[4]) and isset($this->tree[3])) { @@ -2094,7 +2094,7 @@ //Output something to avoid browser timeouts... backup_flush(); - echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug + echo $this->level.str_repeat(" ",$this->level*2)."<".$tagName.">
    \n"; //Debug } //This is the endTag handler we use where we are reading the info zone (todo="INFO") @@ -2102,8 +2102,8 @@ //Check if we are into INFO zone if ($this->tree[2] == "INFO") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Dependig of different combinations, do different things if ($this->level == 3) { switch ($tagName) { @@ -2181,8 +2181,8 @@ //Check if we are into COURSE_HEADER zone if ($this->tree[3] == "HEADER") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Dependig of different combinations, do different things if ($this->level == 4) { switch ($tagName) { @@ -2309,8 +2309,8 @@ //Check if we are into SECTIONS zone if ($this->tree[3] == "SECTIONS") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Dependig of different combinations, do different things if ($this->level == 4) { switch ($tagName) { @@ -2408,8 +2408,8 @@ //Check if we are into USERS zone if ($this->tree[3] == "USERS") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Dependig of different combinations, do different things if ($this->level == 4) { switch ($tagName) { @@ -2424,7 +2424,7 @@ if ($this->counter % 10 == 0) { echo "."; if ($this->counter % 200 == 0) { - echo "
    "; + echo "
    "; } backup_flush(300); } @@ -2627,8 +2627,8 @@ //Check if we are into QUESTION_CATEGORIES zone if ($this->tree[3] == "QUESTION_CATEGORIES") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Acumulate data to info (content + close tag) //Reconvert: strip htmlchars again and trim to generate xml data if (!isset($this->temp)) { @@ -2677,8 +2677,8 @@ //Check if we are into SCALES zone if ($this->tree[3] == "SCALES") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Acumulate data to info (content + close tag) //Reconvert: strip htmlchars again and trim to generate xml data if (!isset($this->temp)) { @@ -2727,8 +2727,8 @@ //Check if we are into GROUPS zone if ($this->tree[3] == "GROUPS") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Acumulate data to info (content + close tag) //Reconvert: strip htmlchars again and trim to generate xml data if (!isset($this->temp)) { @@ -2777,8 +2777,8 @@ //Check if we are into EVENTS zone if ($this->tree[3] == "EVENTS") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Acumulate data to info (content + close tag) //Reconvert: strip htmlchars again and trim to generate xml data if (!isset($this->temp)) { @@ -2827,8 +2827,8 @@ //Check if we are into MODULES zone if ($this->tree[3] == "MODULES") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Acumulate data to info (content + close tag) //Reconvert: strip htmlchars again and trim to generate xml data if (!isset($this->temp)) { @@ -2883,8 +2883,8 @@ //Check if we are into LOGS zone if ($this->tree[3] == "LOGS") { //if (trim($this->content)) //Debug - // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + // echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + //echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Acumulate data to info (content + close tag) //Reconvert: strip htmlchars again and trim to generate xml data if (!isset($this->temp)) { @@ -2944,8 +2944,8 @@ //This is the endTag default handler we use when todo is undefined function endElement($parser, $tagName) { if (trim($this->content)) //Debug - echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug - echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug + echo "C".str_repeat(" ",($this->level+2)*2).$this->getContents()."
    \n"; //Debug + echo $this->level.str_repeat(" ",$this->level*2)."</".$tagName.">
    \n"; //Debug //Clear things $this->tree[$this->level] = ""; diff --git a/calendar/event_delete.html b/calendar/event_delete.html index 7a550512e0..f1cbc6f94e 100644 --- a/calendar/event_delete.html +++ b/calendar/event_delete.html @@ -1,27 +1,54 @@ -

    -
    - - - - - -
    -
    - - - - - - - -
    -
    -
    - - - - - -
    -
    -
    +

    + +
    + + + + + + + + + + + +
    + +
    + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + + + + + + + + +
    + +
    + +
    + -- 2.39.5