restore_iassign_activity_task.class.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. /**
  3. * Define all the backup steps that will be used by the backup_iassign_activity_task
  4. *
  5. * @author Patricia Alves Rodrigues
  6. * @author Leo^nidas de Oliveira Branda~o
  7. * @version v 1.0 2012
  8. * @package mod_iassign_backup
  9. * @since 2012
  10. * @cite iMath (http://www.matematica.br) - LInE (www.usp.br/line) - Computer Science Dep. of IME-USP (Brazil)
  11. *
  12. * <b>License</b>
  13. * - http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  14. *
  15. * @see restore_activity_task
  16. */
  17. // Moodle core defines constant MOODLE_INTERNAL which shall be used to make sure that the script is included and not called directly.
  18. defined('MOODLE_INTERNAL') || die();
  19. require_once($CFG->dirroot . '/mod/iassign/backup/moodle2/restore_iassign_stepslib.php');
  20. /// iAssign restore task that provides all the settings and steps to perform one complete restore of the activity.
  21. class restore_iassign_activity_task extends restore_activity_task {
  22. // Define (add) particular settings this activity can have.
  23. protected function define_my_settings () {
  24. // No particular settings for this activity
  25. }
  26. // Define (add) particular steps this activity can have.
  27. protected function define_my_steps () {
  28. // iAssign only has one structure step
  29. $this->add_step(new restore_iassign_activity_structure_step('iassign_structure', 'iassign.xml'));
  30. }
  31. // Define the contents in the activity that must be
  32. // processed by the link decoder.
  33. // @return array Return a content of activity
  34. static public function define_decode_contents () {
  35. $contents = array();
  36. $contents[] = new restore_decode_content('iassign', array('name'), 'iassign');
  37. return $contents;
  38. }
  39. // Define the decoding rules for links belonging
  40. // to the activity to be executed by the link decoder.
  41. // @return array Return the restore decode rule.
  42. static public function define_decode_rules () {
  43. $rules = array();
  44. $rules[] = new restore_decode_rule('IASSIGNVIEWBYID', '/mod/iassign/view.php?id=$1', 'course_module');
  45. $rules[] = new restore_decode_rule('IASSIGNINDEX', '/mod/iassign/index.php?id=$1', 'course_module');
  46. return $rules;
  47. }
  48. // Define the restore log rules that will be applied
  49. // by the {@link restore_logs_processor} when restoring
  50. // iassign logs. It must return one array
  51. // of {@link restore_log_rule} objects.
  52. // @return array Return the restore log rule.
  53. static public function define_restore_log_rules () {
  54. $rules = array();
  55. $rules[] = new restore_log_rule('iassign', 'add', 'view.php?id={course_module}', '{iassign}');
  56. $rules[] = new restore_log_rule('iassign', 'update', 'view.php?id={course_module}', '{iassign}');
  57. $rules[] = new restore_log_rule('iassign', 'view', 'view.php?id={course_module}', '{iassign}');
  58. $rules[] = new restore_log_rule('iassign', 'view submission', 'view.php?id={course_module}', '{iassign}');
  59. $rules[] = new restore_log_rule('iassign', 'upload', 'view.php?id={course_module}', '{iassign}');
  60. $rules[] = new restore_log_rule('iassign', 'update comment', 'view.php?id={course_module}', '{iassign}');
  61. $rules[] = new restore_log_rule('iassign', 'update submission', 'view.php?id={course_module}', '{iassign}');
  62. $rules[] = new restore_log_rule('iassign', 'delete iassign', 'view.php?id={course_module}', '{iassign}');
  63. $rules[] = new restore_log_rule('iassign', 'add comment', 'view.php?id={course_module}', '{iassign}');
  64. $rules[] = new restore_log_rule('iassign', 'add submission', 'view.php?id={course_module}', '{iassign}');
  65. // more...
  66. return $rules;
  67. }
  68. // Define the restore log rules that will be applied
  69. // by the {@link restore_logs_processor} when restoring
  70. // course logs. It must return one array
  71. // of {@link restore_log_rule} objects
  72. // Note this rules are applied when restoring course logs
  73. // by the restore final task, but are defined here at
  74. // activity level. All them are rules not linked to any module instance (cmid = 0)
  75. // @return array Return the restore log rule of course.
  76. static public function define_restore_log_rules_for_course () {
  77. $rules = array();
  78. return $rules;
  79. }
  80. }