public function definition()
 {
     $mform = $this->_form;
     // Don't forget the underscore!
     if (isset($this->_customdata['catalog_id']) && is_object($this->_customdata['catalog_id'])) {
         $catalog_id = $this->_customdata['catalog_id'];
     }
     $mform->addElement('text', 'label', get_string('label', 'local_catalog'), array('style' => 'width: 100%'));
     // Add elements to your form
     $mform->setType('label', PARAM_TEXT);
     //Set type of element
     $mform->addRule('label', get_string('required'), 'required', null, 'client');
     $mform->addRule('label', get_string('maximumchars', '', 64), 'maxlength', 64, 'client');
     $mform->addElement('select', 'course_id', get_string('course'), local_catalog_get_all_moodle_courses(), array('style' => 'width: 100%'));
     $mform->addRule('course_id', get_string('required'), 'required', null, 'client');
     $this->add_action_buttons();
 }
function local_catalog_get_course_editions($catalog_id, $keytype = "SEQUENTIAL")
{
    global $DB;
    $keytype = strtolower($keytype);
    $all_course_list = local_catalog_get_all_moodle_courses();
    $ed_list = $DB->get_records('local_catalog_allcourses', array('catalog_id' => $catalog_id), 'sequence');
    $ced = array();
    $i = 0;
    foreach ($ed_list as $elem) {
        if ($keytype == "sequential") {
            $key = $i;
        } else {
            $key = $elem->id;
        }
        $ced[$key]['id'] = $elem->id;
        $ced[$key]['course_id'] = $elem->course_id;
        $ced[$key]['coursename'] = $all_course_list[$elem->course_id];
        $ced[$key]['label'] = $elem->label;
        $ced[$key]['sequence'] = $elem->sequence;
        $i++;
    }
    return $ced;
}