public function definition()
 {
     global $CFG;
     $mform = $this->_form;
     // Don't forget the underscore!
     if (isset($this->_customdata['catalog_id']) && is_object($this->_customdata['catalog_id'])) {
         $data = $this->_customdata['catalog_id'];
     }
     $metacategories = local_catalog_get_metadata_categories();
     $catlist = array();
     foreach ($metacategories as $m) {
         $catlist[$m['id']] = $m['name'];
     }
     $mform->addElement('select', 'metadata_id', get_string('entry', 'local_catalog'), $catlist, array('style' => 'width: 100%'));
     $mform->addRule('metadata_id', get_string('required'), 'required', null, 'client');
     $mform->addElement('text', 'value', get_string('value', 'local_catalog'), array('style' => 'width: 100%'));
     // Add elements to your form
     $mform->addRule('value', get_string('required'), 'required', null, 'client');
     $mform->addElement('text', 'url', get_string('url'), array('style' => 'width: 100%'));
     // Add elements to your form
     $mform->setType('url', PARAM_URL);
     //Set type of element
     $mform->addRule('url', get_string('maximumchars', '', 128), 'maxlength', 128, 'client');
     if (isset($data)) {
         $this->set_data($data);
     }
     $this->add_action_buttons();
 }
        echo $OUTPUT->render_from_template('local_catalog/displayform', $data);
    }
}
if ($action == $deletepages) {
    $del_id = required_param('id', PARAM_INT);
    local_catalog_delete_page($del_id);
    $displaypage = true;
}
if ($displaypage) {
    $data = new stdClass();
    $data->url = new moodle_url($returnurl);
    $data->sesskey = sesskey();
    $data->deleteicon = html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('t/delete'), 'alt' => get_string('delete'), 'class' => 'iconsmall'));
    $data->editicon = html_writer::empty_tag('img', array('src' => $OUTPUT->pix_url('i/edit'), 'alt' => get_string('edit'), 'class' => 'iconsmall'));
    $metaform = new local_catalog_metadata(new moodle_url($returnurl, array('action' => $addmeta)));
    $data->metadata = local_catalog_get_metadata_categories();
    if (count($data->metadata) > 0) {
        $data->has_metadata = true;
    }
    foreach ($data->metadata as $key => $elem) {
        if ($elem['count'] == "0") {
            $data->metadata[$key]['candelete'] = "true";
        }
    }
    $data->metaform = $metaform->render();
    $data->pages = local_catalog_get_pages();
    if (count($data->pages) > 0) {
        $data->has_pages = true;
    }
    foreach ($data->pages as $key => $elem) {
        if ($elem['count'] == "0") {
function local_catalog_get_course_metadata($catalog_id)
{
    global $DB;
    $cat = local_catalog_get_metadata_categories("ID");
    $meta = $DB->get_records('local_catalog_course_meta', array('catalog_id' => $catalog_id), 'sequence');
    $entries = array();
    $i = 0;
    foreach ($meta as $m) {
        $key = $i;
        $entries[$key]['id'] = $m->id;
        $entries[$key]['name'] = $cat[$m->metadata_id]['name'];
        $entries[$key]['fa_icon'] = $cat[$m->metadata_id]['fa_icon'];
        $entries[$key]['datatype'] = $cat[$m->metadata_id]['datatype'];
        $entries[$key]['url'] = $m->url;
        $entries[$key]['value'] = $m->value;
        if ($cat[$m->metadata_id]['datatype'] == "date") {
            $entries[$key]['value'] = date("m/d/Y", $m->value);
        }
        if ($cat[$m->metadata_id]['datatype'] == "list") {
            $entries[$key]['value'] = explode(";", $m->value);
        }
        $i++;
    }
    return $entries;
}