[ Index ]

PHP Cross Reference of Moodle 1.9.3 [Build 15-Oct-2008]

title

Body

[close]

/backup/ -> backup_check.html (source)

   1  <?php //$Id: backup_check.html,v 1.35.2.4 2008/05/02 04:07:29 dongsheng Exp $
   2      //This page prints the backup todo list to see everything
   3  
   4      //Check login
   5      require_login();
   6  
   7      if (!empty($course->id)) {
   8          if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $course->id))) {
   9              if (empty($to)) {
  10                  error("You need to be a teacher or admin user to use this page.", "$CFG->wwwroot/login/index.php");
  11              } else {
  12                  if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_COURSE, $to))) {
  13                      error("You need to be a teacher or admin user to use this page.", "$CFG->wwwroot/login/index.php");
  14                  }
  15              }
  16          }
  17      } else {
  18          if (!has_capability('moodle/site:backup', get_context_instance(CONTEXT_SYSTEM))) {
  19              error("You need to be an admin user to use this page.", "$CFG->wwwroot/login/index.php");
  20          }
  21      }
  22  
  23  
  24  
  25      $backupprefs = new StdClass;
  26      $count = 0;
  27      backup_fetch_prefs_from_request($backupprefs,$count,$course);
  28  
  29  
  30  
  31      //Check site
  32      if (!$site = get_site()) {
  33          error("Site not found!");
  34      }
  35      if ($count == 0) {
  36          notice("No backupable modules are installed!");
  37      }
  38  
  39      if (!execute_sql("DELETE FROM {$CFG->prefix}backup_ids WHERE backup_code = '{$backupprefs->backup_unique_code}'",false)){
  40          error('Couldn\'t delete previous backup ids.');
  41      }
  42  
  43  ?>
  44  
  45  <form id="form" method="post" action="backup.php">
  46  <table cellpadding="5" style="text-align:center;margin-left:auto;margin-right:auto">
  47  <?php
  48  
  49      if (empty($to)) {
  50          //Now print the Backup Name tr
  51          echo "<tr>";
  52          echo "<td align=\"right\"><b>";
  53          echo get_string("name").":";
  54          echo "</b></td><td>";
  55          //Add as text field
  56          echo "<input type=\"text\" name=\"backup_name\" size=\"40\" value=\"".$backupprefs->backup_name."\" />";
  57          echo "</td></tr>";
  58  
  59          //Line
  60          echo "<tr><td colspan=\"2\"><hr /></td></tr>";
  61  
  62          //Now print the To Do list
  63          echo "<tr>";
  64          echo "<td colspan=\"2\" align=\"center\"><b>";
  65  
  66      }
  67  
  68      //Here we check if backup_users = None. Then, we switch off every module
  69      //user info, user_files, logs and exercises, workshop and messages & blogs backups. A Warning is showed to
  70      //inform the user.
  71      // TODO: Move this logic to one function to be shared by any (manual, scheduled) backup
  72      if ($backupprefs->backup_users == 2) {
  73          if ($allmods = get_records('modules') ) {
  74              foreach ($allmods as $mod) {
  75              /// Reset global user_info settings to "no" (0)
  76                  $modname = $mod->name;
  77                  $var = 'backup_user_info_'.$modname;
  78                  if (isset($backupprefs->$var)) {
  79                      $backupprefs->$var = 0;
  80                  }
  81              /// Reset each instance userinfo settings to "no" (0)
  82                  if (isset($backupprefs->mods[$modname])) {
  83                  /// Set the module userinfo to no (0)
  84                      $backupprefs->mods[$modname]->userinfo = 0;
  85                  /// Set the instances to no (o)
  86                      foreach ($backupprefs->mods[$modname]->instances as $key => $instance) {
  87                          $backupprefs->mods[$modname]->instances[$key]->userinfo = 0;
  88                          $var = 'backup_user_info_' . $modname . '_instance_' . $key;
  89                          $backupprefs->$var = 0;
  90                      }
  91                  }
  92              /// If modules are workshop or exercise, disable their backup completely
  93                  if ($modname == 'exercise' || $modname == 'workshop') {
  94                      $var = 'backup_'.$modname;
  95                      if (isset($backupprefs->$var)) {
  96                          $backupprefs->$var = 0;
  97                      /// Reset each instance backup settings to "no" (0)
  98                          if (isset($backupprefs->mods[$modname])) {
  99                          /// Set the module backup to no (0)
 100                              $backupprefs->mods[$modname]->backup = 0;
 101                              $var = 'backup_' . $modname . '_instances';
 102                              $backupprefs->$var = 0;
 103                          /// Set the instances backup to no (o)
 104                              foreach ($backupprefs->mods[$modname]->instances as $key => $instance) {
 105                                  $backupprefs->mods[$modname]->instances[$key]->backup = 0;
 106                                  $var = 'backup_' . $modname . '_instance_' . $key;
 107                                  $backupprefs->$var = 0;
 108                              }
 109                          }
 110                      }
 111                  }
 112              }
 113          }
 114          $backupprefs->backup_user_files = 0;
 115          $backupprefs->backup_logs = 0;
 116          $backupprefs->backup_messages = 0;
 117          $backupprefs->backup_blogs = 0;
 118          $backupprefs->backuproleassignments = array();
 119  
 120          print_simple_box("<font color=\"red\">".get_string("backupnoneusersinfo")."</font>","center", "70%", '', "20", "noticebox");
 121          echo "<hr />";
 122      }
 123  
 124      if (empty($to)) {
 125          echo get_string("backupdetails").":";
 126          echo "</b></td></tr>";
 127      }
 128  
 129      //This is the alignment of every row in the table
 130      $table->align = array ("left","right");
 131  
 132      if ($allmods = get_records("modules") ) {
 133          foreach ($allmods as $mod) {
 134              $modname = $mod->name;
 135              $modfile = $CFG->dirroot.'/mod/'.$modname.'/backuplib.php';
 136              if (!file_exists($modfile)) {
 137                  continue;
 138              }
 139              require_once($modfile);
 140              $modbackup = $modname."_backup_mods";
 141              //If exists the lib & function
 142              $var = "exists_".$modname;
 143              if (isset($backupprefs->$var) && $backupprefs->$var) {
 144                  $var = "backup_".$modname;
 145                  //Only if selected
 146                  if (!empty($backupprefs->$var) and ($backupprefs->$var == 1)) {
 147                      //Print the full tr
 148                      echo "<tr>";
 149                      echo "<td colspan=\"2\">";
 150                      //Print the mod name
 151                      echo "<b>".get_string("include")." ".get_string("modulenameplural",$modname)." ";
 152                      //Now look for user-data status
 153                      $backup_user_options[0] = get_string("withoutuserdata");
 154                      $backup_user_options[1] = get_string("withuserdata");
 155                      $var = "backup_user_info_".$modname;
 156                      //Print the user info
 157                      echo $backup_user_options[$backupprefs->$var]."</b>";
 158                      //Call the check function to show more info
 159                      $modcheckbackup = $modname."_check_backup_mods";
 160                      $var = $modname.'_instances';
 161                      $instancestopass = array();
 162                      if (!empty($backupprefs->$var) && is_array($backupprefs->$var) && count($backupprefs->$var)) {
 163                          $table->data = array();
 164                          $countinstances = 0;
 165                          foreach ($backupprefs->$var as $instance) {
 166                              $var1 = 'backup_'.$modname.'_instance_'.$instance->id;
 167                              $var2 = 'backup_user_info_'.$modname.'_instance_'.$instance->id;
 168                              if (!empty($backupprefs->$var1)) {
 169                                  $obj = new StdClass;
 170                                  $obj->name = $instance->name;
 171                                  $obj->userdata = $backupprefs->$var2;
 172                                  $obj->id = $instance->id;
 173                                  $instancestopass[$instance->id]= $obj;
 174                                  $countinstances++;
 175  
 176                              }
 177                          }
 178                      }
 179                      $table->data = $modcheckbackup($id,$backupprefs->$var,$backupprefs->backup_unique_code,$instancestopass);
 180                      print_table($table);
 181                      echo "</td></tr>";
 182                  }
 183              }
 184          }
 185  
 186  
 187          if (empty($to)) {
 188              //Line
 189              echo "<tr><td colspan=\"2\"><hr /></td></tr>";
 190  
 191              //Now print the Users tr
 192              echo "<tr>";
 193              echo "<td colspan=\"2\"><b>";
 194              $user_options[0] = get_string("includeallusers");
 195              $user_options[1] = get_string("includecourseusers");
 196              $user_options[2] = get_string("includenoneusers");
 197              echo $user_options[$backupprefs->backup_users].'</b>';
 198              //Print info
 199              $table->data = user_check_backup($id,$backupprefs->backup_unique_code,$backupprefs->backup_users,$backupprefs->backup_messages, $backupprefs->backup_blogs);
 200              print_table($table);
 201              echo "</td></tr>";
 202  
 203          }
 204  
 205          //Now print the Logs tr conditionally
 206          if ($backupprefs->backup_logs && empty($to)) {
 207              echo "<tr>";
 208              echo "<td colspan=\"2\"><b>";
 209              echo get_string("includelogentries").'</b>';
 210              //Print info
 211              $table->data = log_check_backup($id);
 212              print_table($table);
 213              echo "</td></tr>";
 214          }
 215  
 216          //Now print the User Files tr conditionally
 217          if ($backupprefs->backup_user_files) {
 218              echo "<tr>";
 219              echo "<td colspan=\"2\"><b>";
 220              echo get_string("includeuserfiles").'</b>';
 221              //Print info
 222              $table->data = user_files_check_backup($id,$backupprefs->backup_unique_code);
 223              print_table($table);
 224              echo "</td></tr>";
 225          }
 226  
 227          //Now print the Course Files tr conditionally
 228          if ($backupprefs->backup_course_files) {
 229              echo "<tr>";
 230              echo "<td colspan=\"2\"><b>";
 231              echo get_string("includecoursefiles").'</b>';
 232              //Print info
 233              $table->data = course_files_check_backup($id,$backupprefs->backup_unique_code);
 234              print_table($table);
 235              echo "</td></tr>";
 236          }
 237  
 238          //Now print the site Files tr conditionally
 239          if ($backupprefs->backup_site_files) {
 240              echo "<tr>";
 241              echo "<td colspan=\"2\"><b>";
 242              echo get_string("includesitefiles").'</b>';
 243              //Print info
 244              $table->data = site_files_check_backup($id,$backupprefs->backup_unique_code);
 245              print_table($table);
 246              echo "</td></tr>";
 247          }
 248  
 249          //Now print the role assignments information conditionally
 250          if (!empty($backupprefs->backuproleassignments)) {
 251              echo "<tr>";
 252              echo "<td colspan=\"2\"><b>";
 253              echo get_string("includeroleassignments").'</b>';
 254              //Print info
 255              $table->data = array(array(get_string('roles'), count($backupprefs->backuproleassignments)));
 256              print_table($table);
 257              echo "</td></tr>";
 258          }
 259      }
 260  
 261      // now keep it for next time.
 262      $SESSION->backupprefs[$course->id] = $backupprefs;
 263  
 264  ?>
 265  </table>
 266  <div style="text-align:center;margin-left:auto;margin-right:auto">
 267  <input type="hidden" name="to"     value="<?php p($to) ?>" />
 268  <input type="hidden" name="id"     value="<?php  p($id) ?>" />
 269  <input type="hidden" name="launch" value="execute" />
 270  <input type="submit" value="<?php  print_string("continue") ?>" />
 271  <input type="submit" name="cancel" value="<?php  print_string("cancel") ?>" />
 272  </div>
 273  </form>


Generated: Wed Jan 14 11:33:29 2009 Cross-referenced by PHPXref 0.7