Exemplo n.º 1
0
Arquivo: lib.php Projeto: dg711/moodle
/**
 * Manage inplace editable saves.
 *
 * @param   string      $itemtype       The type of item.
 * @param   int         $itemid         The ID of the item.
 * @param   mixed       $newvalue       The new value
 * @return  string
 */
function tool_usertours_inplace_editable($itemtype, $itemid, $newvalue)
{
    $context = \context_system::instance();
    external_api::validate_context($context);
    require_capability('tool/usertours:managetours', $context);
    if ($itemtype === 'tourname') {
        $tour = helper::get_tour($itemid);
        $tour->set_name($newvalue)->persist();
        return helper::render_tourname_inplace_editable($tour);
    } else {
        if ($itemtype === 'tourdescription') {
            $tour = helper::get_tour($itemid);
            $tour->set_description($newvalue)->persist();
            return helper::render_tourdescription_inplace_editable($tour);
        } else {
            if ($itemtype === 'tourenabled') {
                $tour = helper::get_tour($itemid);
                $tour->set_enabled(!!$newvalue)->persist();
                return helper::render_tourenabled_inplace_editable($tour);
            } else {
                if ($itemtype === 'stepname') {
                    $step = helper::get_step($itemid);
                    $step->set_title($newvalue)->persist();
                    return helper::render_stepname_inplace_editable($step);
                }
            }
        }
    }
}
Exemplo n.º 2
0
 /**
  * Print the view tour page.
  *
  * @param   int         $tourid     The ID of the tour to display.
  */
 protected function view_tour($tourid)
 {
     global $PAGE;
     $tour = helper::get_tour($tourid);
     $PAGE->navbar->add($tour->get_name(), $tour->get_view_link());
     $this->header($tour->get_name());
     echo \html_writer::span(get_string('viewtour_info', 'tool_usertours', ['tourname' => $tour->get_name(), 'path' => $tour->get_pathmatch()]));
     echo \html_writer::div(get_string('viewtour_edit', 'tool_usertours', ['editlink' => $tour->get_edit_link()->out(), 'resetlink' => $tour->get_reset_link()->out()]));
     $table = new table\step_list($tourid);
     foreach ($tour->get_steps() as $step) {
         $table->add_data_keyed($table->format_row($step));
     }
     $table->finish_output();
     $this->print_edit_step_link($tourid);
     // JS for Step management.
     $PAGE->requires->js_call_amd('tool_usertours/managesteps', 'setup');
     $this->footer();
 }