public static function instance($dataformid)
 {
     if (!($instance = \mod_dataform_instance_store::instance($dataformid, 'notification_manager'))) {
         $instance = new mod_dataform_notification_manager($dataformid);
         \mod_dataform_instance_store::register($dataformid, 'notification_manager', $instance);
     }
     return $instance;
 }
 /**
  * Returns and caches (for the current script) if not already, an entries manager for the specified Dataform.
  *
  * @param int Dataform id
  * @return mod_dataform_entry_manager
  */
 public static function instance($dataformid, $viewid)
 {
     global $DB;
     if (!$dataformid) {
         if (!$viewid or !($dataformid = $DB->get_field('dataform_views', 'dataid', array('id' => $viewid)))) {
             throw new moodle_exception('invaliddataform', 'dataform', null, null, "Dataform id: {$dataformid}");
         }
     }
     if (!($instance = \mod_dataform_instance_store::instance($dataformid, "entry_manager-{$viewid}"))) {
         $instance = new mod_dataform_entry_manager($dataformid, $viewid);
         \mod_dataform_instance_store::register($dataformid, "entry_manager-{$viewid}", $instance);
     }
     return $instance;
 }
Example #3
0
 /**
  * Deletes all this instance's structure and user data and resets its settings to defaults.
  *
  * @return bool Always true
  */
 protected function reset()
 {
     // Must have manage templates capability.
     require_capability('mod/dataform:managetemplates', $this->context);
     // Reset settings.
     $this->reset_settings();
     // Delete all component items.
     mod_dataform_field_manager::instance($this->id)->delete_fields();
     mod_dataform_view_manager::instance($this->id)->delete_views();
     mod_dataform_filter_manager::instance($this->id)->delete_filters();
     mod_dataform_filter_manager::instance($this->id)->delete_advanced_filters();
     mod_dataform_access_manager::instance($this->id)->delete_rules();
     mod_dataform_notification_manager::instance($this->id)->delete_rules();
     // Reset user data.
     $this->reset_user_data();
     // Delete remaining files (e.g. css, js).
     $fs = get_file_storage();
     $fs->delete_area_files($this->context->id, 'mod_dataform');
     // Clean up gradebook.
     mod_dataform_grade_manager::instance($this->id)->delete_grade_items();
     // Refresh events.
     dataform_refresh_events($this->course->id);
     // Delete context content.
     $this->context->delete_content();
     // Update instance store.
     if (\mod_dataform_instance_store::instance($this->id, 'dataform')) {
         \mod_dataform_instance_store::register($this->id, 'dataform', $this);
     }
     return true;
 }