/**
  * Form definition
  *
  * @uses $CFG
  */
 public function definition()
 {
     // if there are no rows in the table, return.
     // (won't be rows if both olduser and newuser are NULL in session stdClass)
     if (empty($this->urt->data)) {
         return '';
     }
     $mform =& $this->_form;
     // header
     $mform->addElement('header', 'reviewusers', get_string('userreviewtable_legend', 'tool_mergeusers'));
     // table content
     $mform->addElement('static', 'reviewuserslist', '', html_writer::table($this->urt));
     // buttons
     // set up url here so the same url can be used more than once
     $mergeurl = new moodle_url('/admin/tool/mergeusers/index.php');
     $buttonarray = array();
     if ($this->review_step) {
         $mergeurl->param('option', 'mergeusers');
         $mergeusersbutton = new single_button($mergeurl, get_string('mergeusers', 'tool_mergeusers'));
         $mergeusersbutton->add_confirm_action(get_string('mergeusers_confirm', 'tool_mergeusers'));
         $buttonarray[0][] = $this->output->render($mergeusersbutton);
     } else {
         if (count($this->urt->data) === 2) {
             $mergeurl->param('option', 'continueselection');
             $mergeusersbutton = new single_button($mergeurl, get_string('saveselection_submit', 'tool_mergeusers'));
             $buttonarray[0][] = $this->output->render($mergeusersbutton);
         }
     }
     $mergeurl->param('option', 'clearselection');
     $mergeusersbutton = new single_button($mergeurl, get_string('clear_selection', 'tool_mergeusers'));
     $buttonarray[0][] = $this->output->render($mergeusersbutton);
     if ($this->review_step) {
         $mergeurl->param('option', 'searchusers');
         $mergeusersbutton = new single_button($mergeurl, get_string('cancel'));
         $buttonarray[0][] = $this->output->render($mergeusersbutton);
     }
     $htmltable = new html_table();
     $htmltable->attributes['class'] = 'clearfix';
     $htmltable->data = $buttonarray;
     $mform->addElement('static', 'buttonar', '', html_writer::table($htmltable));
     $mform->closeHeaderBefore('buttonar');
 }
Esempio n. 2
0
 /**
  * Initialises the new enrol_user_button
  *
  * @staticvar int $count The number of enrol user buttons already created
  * @param moodle_url $url
  * @param string $label The text to display in the button
  * @param string $method Either post or get
  */
 public function __construct(moodle_url $url, $label, $method = 'post')
 {
     static $count = 0;
     $count++;
     parent::__construct($url, $label, $method);
     $this->class = 'singlebutton enrolusersbutton';
     $this->formid = 'enrolusersbutton-' . $count;
 }
Esempio n. 3
0
     }
 }
 if (has_capability('mod/workshop:overridegrades', $workshop->context)) {
     print_collapsible_region_start('', 'workshop-viewlet-cleargrades', get_string('toolbox', 'workshop'), false, true);
     echo $output->box_start('generalbox toolbox');
     // Clear aggregated grades
     $url = new moodle_url($workshop->toolbox_url('clearaggregatedgrades'));
     $btn = new single_button($url, get_string('clearaggregatedgrades', 'workshop'), 'post');
     $btn->add_confirm_action(get_string('clearaggregatedgradesconfirm', 'workshop'));
     echo $output->container_start('toolboxaction');
     echo $output->render($btn);
     echo $output->help_icon('clearaggregatedgrades', 'workshop');
     echo $output->container_end();
     // Clear assessments
     $url = new moodle_url($workshop->toolbox_url('clearassessments'));
     $btn = new single_button($url, get_string('clearassessments', 'workshop'), 'post');
     $btn->add_confirm_action(get_string('clearassessmentsconfirm', 'workshop'));
     echo $output->container_start('toolboxaction');
     echo $output->render($btn);
     echo $output->help_icon('clearassessments', 'workshop');
     echo html_writer::empty_tag('img', array('src' => $output->pix_url('i/risk_dataloss'), 'title' => get_string('riskdatalossshort', 'admin'), 'alt' => get_string('riskdatalossshort', 'admin'), 'class' => 'workshop-risk-dataloss'));
     echo $output->container_end();
     echo $output->box_end();
     print_collapsible_region_end();
 }
 if (has_capability('mod/workshop:submit', $PAGE->context)) {
     print_collapsible_region_start('', 'workshop-viewlet-ownsubmission', get_string('yoursubmission', 'workshop'));
     echo $output->box_start('generalbox ownsubmission');
     if ($submission = $workshop->get_submission_by_author($USER->id)) {
         echo $output->render($workshop->prepare_submission_summary($submission, true));
     } else {
Esempio n. 4
0
// Get previous cert record
if (!($certrecord = $DB->get_record('iomadcertificate_issues', array('userid' => $USER->id, 'iomadcertificateid' => $iomadcertificate->id)))) {
    notice(get_string('noiomadcertificatesissued', 'iomadcertificate'), "{$CFG->wwwroot}/course/view.php?id={$course->id}");
    die;
}
// Load the specific iomadcertificatetype
require "{$CFG->dirroot}/mod/iomadcertificate/type/{$iomadcertificate->iomadcertificatetype}/iomadcertificate.php";
if ($action) {
    // Remove full-stop at the end if it exists, to avoid "..pdf" being created and being filtered by clean_filename
    $certname = rtrim($iomadcertificate->name, '.');
    $filename = clean_filename("{$certname}.pdf");
    $pdf->Output($filename, 'I');
    // open in browser
    exit;
}
echo $OUTPUT->header();
if (has_capability('mod/iomadcertificate:manage', $context)) {
    $numusers = count(iomadcertificate_get_issues($iomadcertificate->id, 'ci.timecreated ASC', '', $cm));
    $url = html_writer::tag('a', get_string('viewiomadcertificateviews', 'iomadcertificate', $numusers), array('href' => $CFG->wwwroot . '/mod/iomadcertificate/report.php?id=' . $cm->id));
    echo html_writer::tag('div', $url, array('class' => 'reportlink'));
}
if (!empty($iomadcertificate->intro)) {
    echo $OUTPUT->box(format_module_intro('iomadcertificate', $iomadcertificate, $cm->id), 'generalbox', 'intro');
}
echo html_writer::tag('p', get_string('viewed', 'iomadcertificate') . '<br />' . userdate($certrecord->timecreated), array('style' => 'text-align:center'));
$link = new moodle_url('/mod/iomadcertificate/review.php?id=' . $cm->id . '&action=get');
$linkname = get_string('reviewiomadcertificate', 'iomadcertificate');
$button = new single_button($link, $linkname);
$button->add_action(new popup_action('click', $link, array('height' => 600, 'width' => 800)));
echo html_writer::tag('div', $OUTPUT->render($button), array('style' => 'text-align:center'));
echo $OUTPUT->footer($course);
Esempio n. 5
0
 public function print_start_attempt_button($canpreview, $buttontext, $unfinished)
 {
     global $OUTPUT;
     $url = $this->_readerobj->start_attempt_url();
     $button = new single_button($url, $buttontext);
     $button->class .= ' quizstartbuttondiv';
     if (!$unfinished) {
         $strconfirmstartattempt = $this->confirm_start_attempt_message();
         if ($strconfirmstartattempt) {
             $button->add_action(new confirm_action($strconfirmstartattempt, null, get_string('startattempt', 'quiz')));
         }
     }
     $warning = '';
     if ($this->securewindow_required($canpreview)) {
         $button->class .= ' quizsecuremoderequired';
         $button->add_action(new popup_action('click', $url, 'quizpopup', securewindow_access_rule::$popupoptions));
         $warning = html_writer::tag('noscript', $OUTPUT->heading(get_string('noscript', 'quiz')));
     }
     return $OUTPUT->render($button) . $warning;
 }
 public function view_default(moodle_url $url, $canmanage)
 {
     global $CFG, $OUTPUT, $USER;
     if (!$url->get_param('action')) {
         echo $OUTPUT->header();
         if ($canmanage) {
             $this->show_tabs($url);
         }
         // Check if the user can view the certificate
         if (!$canmanage && ($msg = $this->can_issue($USER))) {
             notice($msg, $CFG->wwwroot . '/course/view.php?id=' . $this->get_course()->id, $this->get_course());
             die;
         }
         if (!empty($this->get_instance()->intro)) {
             echo $OUTPUT->box(format_module_intro('simplecertificate', $this->get_instance(), $this->coursemodule->id), 'generalbox', 'intro');
         }
         if ($attempts = $this->get_attempts()) {
             echo $this->print_attempts($attempts);
         }
         if (!$canmanage) {
             $this->add_to_log('view');
         }
         if ($this->get_instance()->delivery != 3 || $canmanage) {
             // Create new certificate record, or return existing record
             $certrecord = $this->get_issue();
             switch ($this->get_instance()->delivery) {
                 case self::OUTPUT_FORCE_DOWNLOAD:
                     $str = get_string('opendownload', 'simplecertificate');
                     break;
                 case self::OUTPUT_SEND_EMAIL:
                     $str = get_string('openemail', 'simplecertificate');
                     break;
                 default:
                     $str = get_string('openwindow', 'simplecertificate');
                     break;
             }
             echo html_writer::tag('p', $str, array('style' => 'text-align:center'));
             $linkname = get_string('getcertificate', 'simplecertificate');
             $link = new moodle_url('/mod/simplecertificate/view.php', array('id' => $this->coursemodule->id, 'action' => 'get'));
             $button = new single_button($link, $linkname);
             $button->add_action(new popup_action('click', $link, 'view' . $this->coursemodule->id, array('height' => 600, 'width' => 800)));
             echo html_writer::tag('div', $OUTPUT->render($button), array('style' => 'text-align:center'));
         }
         echo $OUTPUT->footer();
     } else {
         // Output to pdf
         if ($this->get_instance()->delivery != 3 || $canmanage) {
             $this->output_pdf($this->get_issue($USER));
         }
     }
 }
Esempio n. 7
0
echo html_writer::checkbox('name', 'value', false, null, array('id' => 'checkbox1'));
echo html_writer::tag('p', 'A confirm form with continue/cancel options (just providing urls to go to):');
$continueurl = new moodle_url('index.php');
$cancelurl = new moodle_url('index.php');
echo $OUTPUT->confirm('This is the message', $continueurl, $cancelurl);
echo html_writer::tag('p', 'A confirm form with continue/cancel options (with custom buttons):');
$continueurl = new moodle_url('index.php');
$cancelurl = new moodle_url('index.php');
$continuebutton = new single_button($continueurl, 'Custom Button text', 'post');
$cancelbutton = new single_button($cancelurl, 'Something else', 'get');
echo $OUTPUT->confirm('This is another message', $continuebutton, $cancelbutton);
echo html_writer::tag('p', 'A standalone single button. This is still wrapped in a form so you can submit it. There are a couple of ways to generate, via a function call:');
echo $OUTPUT->single_button($continueurl, 'A disabled button', 'post', array('disabled' => true));
echo html_writer::tag('p', 'Or manually create object then render. Note this uses a confirm dialog, try pressing to see popup (needs styling)');
// render directly
$button = new single_button($continueurl, 'Manually rendered button', 'post');
$button->tooltip = 'This is the tooltip';
$button->formid = 'canbeset';
$button->class = 'classonbutton';
$button->add_confirm_action('This message appears to confirm when you push the button');
echo $OUTPUT->render($button);
echo html_writer::tag('p', 'A single select form. Quick way using a function:');
$url = new moodle_url('index.php', array('urlparams' => 'become', 'hidden' => 'fields'));
$options = array(1 => 'one', 2 => 'two', 3 => 'three', 4 => 'four');
echo $OUTPUT->single_select($url, 'youpicked', $options, '', array('' => 'choose'), 'formid');
echo html_writer::tag('p', 'A single select form. Manually rendered:');
$select = new single_select($url, 'youpicked', $options);
$select->set_label('This is a label for the select');
$select->tooltip = 'This is the tooltip';
//this doesn't seem to work - moodle bug?
//$select->add_confirm_action('Confirm you want to do this');
Esempio n. 8
0
foreach ($attemptobj->get_question_iterator() as $number => $question) {
    if ($question->length == 0) {
        continue;
    }
    $flag = '';
    if ($attemptobj->is_question_flagged($question->id)) {
        $flag = ' <img src="' . $OUTPUT->pix_url('i/flagged') . '" alt="' . get_string('flagged', 'question') . '" class="questionflag" />';
    }
    $row = array('<a href="' . s($attemptobj->attempt_url($question->id)) . '">' . $number . $flag . '</a>', get_string($attemptobj->get_question_status($question->id), 'quiz'));
    if ($scorescolumn) {
        $row[] = $attemptobj->get_question_score($question->id);
    }
    $table->data[] = $row;
}
/// Print the summary table.
echo html_writer::table($table);
/// countdown timer
echo $attemptobj->get_timer_html();
/// Finish attempt button.
echo $OUTPUT->container_start('submitbtns mdl-align');
$options = array('attempt' => $attemptobj->get_attemptid(), 'finishattempt' => 1, 'timeup' => 0, 'questionids' => '', 'sesskey' => sesskey());
$button = new single_button(new moodle_url($attemptobj->processattempt_url(), $options), get_string('submitallandfinish', 'quiz'));
$button->id = 'responseform';
$button->add_confirm_action(get_string('confirmclose', 'quiz'));
echo $OUTPUT->container_start('controls');
echo $OUTPUT->render($button);
echo $OUTPUT->container_end();
echo $OUTPUT->container_end();
/// Finish the page
$accessmanager->show_attempt_timer_if_needed($attemptobj->get_attempt(), time());
echo $OUTPUT->footer();
Esempio n. 9
0
}
// Export button
if ($canexport) {
    if ($exporturl === '') {
        echo $OUTPUT->single_button(new moodle_url('/mod/groupselect/view.php', array('id' => $cm->id, 'export' => true)), get_string('export', 'mod_groupselect'));
    } else {
        echo '<div class="export_url" >';
        echo $OUTPUT->action_link($exporturl, get_string('export_download', 'mod_groupselect'));
        echo '</div> <br>';
    }
}
// Assign button
if ($canassign and count($groups) > 0) {
    $action = new confirm_action(get_string('assigngroup_confirm', 'mod_groupselect'), 'openpopup');
    $action->jsfunctionargs['callbackargs'] = array(null, array('url' => new moodle_url('/mod/groupselect/view.php', array('id' => $cm->id, 'assign' => true))));
    $button = new single_button(new moodle_url('/mod/groupselect/view.php', array('id' => $cm->id, 'assign' => true)), get_string('assigngroup', 'mod_groupselect'));
    $button->add_action($action);
    echo $OUTPUT->render($button);
}
if (empty($groups)) {
    echo $OUTPUT->notification(get_string('nogroups', 'mod_groupselect'));
} else {
    if ($problems) {
        foreach ($problems as $problem) {
            echo $OUTPUT->notification($problem, 'notifyproblem');
        }
    }
    $data = array();
    $actionpresent = false;
    $assigned_relation = $DB->get_records_sql("SELECT g.id AS rid, g.teacherid AS id, g.groupid\n    \t\t\t\t\t\t\t\t\t\t\tFROM  {groupselect_groups_teachers} g\n    \t\t\t\t\t\t\t\t\t     \tWHERE g.instance_id = ?", array('instance_id' => $id));
    $assigned_teacher_ids = array();
                echo '<li>' . $l->description . '</li>';
            }
            echo '</ul>';
        } else {
        }
    } else {
        echo get_string('explanationmessage', 'block_course_files_license');
    }
    echo '</p>';
    echo $OUTPUT->heading(get_string('not_identified_course_files', 'block_course_files_license'), 3, 'main');
    echo '<form action="' . $_SERVER['PHP_SELF'] . '?courseid=' . $courseid . '" method="POST">';
    echo html_writer::table($table);
    echo '<p class="text-center">';
    echo '<button type="submit" class="btn btn-success btn-sm"><i class="fa fa-check-square-o"></i> ';
    echo get_string('savebutton', 'block_course_files_license');
    echo '</button>';
    echo '</p>';
    echo '</form>';
} else {
    echo '<div class="alert alert-success" role="alert"><i class="fa fa-thumbs-o-up"></i> ' . get_string('all_files_identified', 'block_course_files_license') . '</div>';
}
if ($identifiedfileslist) {
    echo $OUTPUT->heading(get_string('identified_course_files', 'block_course_files_license'), 3, 'main');
    echo html_writer::table($identified_table);
    $action = new confirm_action(get_string('confirm_delete_all_records', 'block_course_files_license'), 'openpopup');
    $action->jsfunctionargs['callbackargs'] = array(null, array('url' => $PAGE->url->out(false, array('confirmed' => 'true'))));
    $button = new single_button(new moodle_url('/blocks/course_files_license/delete.php', array('courseid' => $courseid, 'all' => 'true'), array('class' => 'btn btn-sm btn-danger')), get_string('delete_all_records', 'block_course_files_license'));
    $button->add_action($action);
    echo '<div style="width:100%;text-align:center;">' . $OUTPUT->render($button) . '</div>';
}
echo $OUTPUT->footer();
Esempio n. 11
0
 /**
  * Make a link to the review page for an attempt.
  *
  * @param string $linktext the desired link text.
  * @param int $attemptid the attempt id.
  * @return string HTML for the link.
  */
 public function make_review_link($linktext, $attemptid) {
     global $OUTPUT;
     $url = $this->_quizobj->review_url($attemptid);
     $button = new single_button($url, $linktext);
     $button->add_action(new popup_action('click', $url, 'quizpopup', self::$popupoptions));
     return $OUTPUT->render($button);
 }
Esempio n. 12
0
    /**
     * Creates any controls a the page should have.
     *
     * @param quiz_attempt $attemptobj
     */
    public function summary_page_controls($attemptobj) {
        $output = '';
        // countdown timer
        $output .= $this->countdown_timer();

        // Finish attempt button.
        $output .= $this->container_start('submitbtns mdl-align');
        $options = array(
            'attempt' => $attemptobj->get_attemptid(),
            'finishattempt' => 1,
            'timeup' => 0,
            'slots' => '',
            'sesskey' => sesskey(),
        );

        $button = new single_button(
                new moodle_url($attemptobj->processattempt_url(), $options),
                get_string('submitallandfinish', 'quiz'));
        $button->id = 'responseform';
        $button->add_confirm_action(get_string('confirmclose', 'quiz'));

        $output .= $this->container_start('controls');
        $output .= $this->render($button);
        $output .= $this->container_end();
        $output .= $this->container_end();

        return $output;
    }
Esempio n. 13
0
        echo $OUTPUT->render($button);
        echo '</center>';
        add_to_log($course->id, 'certificate', 'received', "view.php?id=$cm->id", $certificate->id, $cm->id);
        echo $OUTPUT->footer($course);
        exit;
    }
    certificate_issue($course, $certificate, $certrecord, $cm); // update certrecord as issued
} else if ($certrecord->certdate > 0) { // Review certificate
*/
if (empty($action)) {
    view_header($course, $certificate, $cm);
    $link = new moodle_url('/mod/certificate/view.php?id=' . $cm->id . '&action=get');
    echo '<p align="center">' . get_string('viewed', 'certificate') . '<br />' . userdate($certrecord->certdate) . '</p>';
    echo '<center>';
    $linkname = $strreviewcertificate;
    $button = new single_button($link, $linkname);
    $button->add_action(new popup_action('click', $link, 'view' . $cm->id, array('height' => 600, 'width' => 800)));
    echo $OUTPUT->render($button);
    echo '</center>';
    echo $OUTPUT->footer($course);
    exit;
}
/*
} else if ($certrecord->certdate == 0) { //Create certificate
    if (empty($action)) {
        view_header($course, $certificate, $cm);
        if ($certificate->delivery == 0)    {
            echo '<p align="center">'.get_string('openwindow', 'certificate').'</p>';
        } elseif ($certificate->delivery == 1)    {
            echo '<p align="center">'.get_string('opendownload', 'certificate').'</p>';
        } elseif ($certificate->delivery == 2)    {
Esempio n. 14
0
 /**
  * Initialises the new select_user_button.
  *
  * @param \moodle_url $url
  * @param string $label The text to display in the button
  * @param string $method Either post or get
  */
 public function __construct(\moodle_url $url, $label, $method = 'post')
 {
     parent::__construct($url, $label, $method);
     $this->class = 'singlebutton selectusersbutton gradereport_history_plugin';
     $this->formid = \html_writer::random_id('selectusersbutton');
 }
Esempio n. 15
0
        $table = new html_table();
        $table->class = 'generaltable';
        $table->head = array(get_string('issued', 'customcert'));
        $table->align = array('left');
        $table->attributes = array('style' => 'width:20%; margin:auto');
        foreach ($issues as $issue) {
            $row = array();
            $row[] = userdate($issue->timecreated);
            $table->data[$issue->id] = $row;
        }
        $issuelist = $header . html_writer::table($table) . "<br />";
    }
    // Create the button to download the customcert.
    $linkname = get_string('getcustomcert', 'customcert');
    $link = new moodle_url('/mod/customcert/view.php', array('id' => $cm->id, 'action' => 'download'));
    $downloadbutton = new single_button($link, $linkname);
    $downloadbutton->add_action(new popup_action('click', $link, 'customcertpopup', array('height' => 600, 'width' => 800)));
    $downloadbutton = html_writer::tag('div', $OUTPUT->render($downloadbutton), array('style' => 'text-align:center'));
    // Output all the page data.
    echo $OUTPUT->header();
    groups_print_activity_menu($cm, $pageurl);
    echo $reportlink;
    echo $intro;
    echo $issuelist;
    echo $downloadbutton;
    echo $OUTPUT->footer($course);
    exit;
} else {
    // Output to pdf
    // Create new customcert issue record if one does not already exist.
    if (!$DB->record_exists('customcert_issues', array('userid' => $USER->id, 'customcertid' => $customcert->id))) {
Esempio n. 16
0
    /**
     * Returns HTML to display a simple button to close a window
     *
     * @param string $text The lang string for the button's label (already output from get_string())
     * @return string html fragment
     */
    public function close_window_button($text='') {
        if (empty($text)) {
            $text = get_string('closewindow');
        }
        $button = new single_button(new moodle_url('#'), $text, 'get');
        $button->add_action(new component_action('click', 'close_window'));

        return $this->container($this->render($button), 'closewindow');
    }
Esempio n. 17
0
    /**
     * Output either a link to the review page for an attempt, or a button to
     * open the review in a popup window.
     *
     * @param moodle_url $url of the target page.
     * @param bool $reviewinpopup whether a pop-up is required.
     * @param array $popupoptions options to pass to the popup_action constructor.
     * @return string HTML to output.
     */
    public function review_link($url, $reviewinpopup, $popupoptions) {
        if ($reviewinpopup) {
            $button = new single_button($url, get_string('review', 'quiz'));
            $button->add_action(new popup_action('click', $url, 'quizpopup', $popupoptions));
            return $this->render($button);

        } else {
            return html_writer::link($url, get_string('review', 'quiz'),
                    array('title' => get_string('reviewthisattempt', 'quiz')));
        }
    }
 /**
  * Output the ratingallocate modfify allocation
  */
 public function modify_allocation_group($ratingallocateid, $coursemoduleid, $status, $algorithmstatus, $runalgorithmbycron)
 {
     global $PAGE;
     $output = '';
     $output .= $this->heading(get_string('modify_allocation_group', ratingallocate_MOD_NAME), 2);
     $output .= $this->box_start();
     // The instance is called ready if it is in one of the two following status.
     $isready = $status === ratingallocate::DISTRIBUTION_STATUS_READY || $status === ratingallocate::DISTRIBUTION_STATUS_READY_ALLOC_STARTED;
     //The algorithm may not run manually if the algorithm is currently running or if it is not started and should be started using the cron.
     $algorithmmayrun = !($algorithmstatus === \mod_ratingallocate\algorithm_status::running || $algorithmstatus === \mod_ratingallocate\algorithm_status::notstarted && $runalgorithmbycron);
     $starturl = new moodle_url($PAGE->url, array('action' => ACTION_START_DISTRIBUTION));
     // Get description dependent on status
     $descriptionbaseid = 'modify_allocation_group_desc_';
     $description = get_string($descriptionbaseid . $status, ratingallocate_MOD_NAME);
     $output .= $this->format_text($description);
     $output .= html_writer::empty_tag('br', array());
     $button = new single_button($starturl, get_string('start_distribution', ratingallocate_MOD_NAME), 'get');
     // Enable only if the instance is ready and the algorithm may run manually
     $button->disabled = !$isready;
     //&& $algorithmmayrun);
     $button->tooltip = get_string('start_distribution_explanation', ratingallocate_MOD_NAME);
     $button->add_action(new confirm_action(get_string('confirm_start_distribution', ratingallocate_MOD_NAME)));
     $output .= $this->render($button);
     $output .= $this->single_button(new moodle_url('/mod/ratingallocate/view.php', array('id' => $coursemoduleid, 'ratingallocateid' => $ratingallocateid, 'action' => ACTION_MANUAL_ALLOCATION)), get_string('manual_allocation_form', ratingallocate_MOD_NAME), 'get', array('disabled' => !$isready));
     $output .= $this->box_end();
     return $output;
 }