Пример #1
0
 /**
  * Reset the sortorder for all steps in the tour.
  *
  * @return  $this
  */
 public function reset_step_sortorder()
 {
     global $DB;
     $steps = $DB->get_records('tool_usertours_steps', array('tourid' => $this->id), 'sortorder ASC', 'id');
     $index = 0;
     foreach ($steps as $step) {
         $DB->set_field('tool_usertours_steps', 'sortorder', $index, array('id' => $step->id));
         $index++;
     }
     // Notify of a change to the step configuration.
     // Note: Do not notify of a tour change here. This is only a step change for a tour.
     cache::notify_step_change($this->get_id());
     return $this;
 }
Пример #2
0
 /**
  * Remove this step.
  */
 public function remove()
 {
     global $DB;
     if ($this->id === null) {
         return;
     }
     $DB->delete_records('tool_usertours_steps', array('id' => $this->id));
     $this->get_tour()->reset_step_sortorder();
     // Notify of a change to the step configuration.
     // This must be done separately to tour change notifications.
     cache::notify_step_change($this->get_id());
     // Notify the cache that a tour has changed.
     // Tours are only stored in the cache if there are steps.
     // If there step count has changed for some reason, this will change the potential cache results.
     cache::notify_tour_change();
 }