get_field('data_content', 'content', array('fieldid'=>$this->field->id, 'recordid'=>$recordid)); $content = explode('##', $content); } $str = '
'; $str .= '
'.$this->field->name.''; $i = 0; foreach (explode("\n", $this->field->param1) as $checkbox) { $checkbox = trim($checkbox); if ($checkbox === '') { continue; // skip empty lines } $str .= ''; $str .= 'field->id.'_'.$i.'">'.$checkbox.'
'; $i++; } $str .= '
'; $str .= '
'; return $str; } function display_search_field($value='') { global $CFG, $DB, $OUTPUT; $temp = $DB->get_records_sql_menu('SELECT id, content FROM {data_content} WHERE fieldid=? GROUP BY content ORDER BY content', array($this->field->id)); $options = array(); if(!empty($temp)) { $options[''] = ''; //Make first index blank. foreach ($temp as $key) { $options[$key] = $key; //Build following indicies from the sql. } } return $OUTPUT->select(html_select::make($options, 'f_'.$this->field->id, $value)); } function parse_search_field() { return optional_param('f_'.$this->field->id, '', PARAM_NOTAGS); } function generate_sql($tablealias, $value) { static $i=0; $i++; $name = "df_checkbox_$i"; return array(" ({$tablealias}.fieldid = {$this->field->id} AND {$tablealias}.content = :$name) ", array($name=>$value)); } function update_content($recordid, $value, $name='') { global $DB; $content = new object(); $content->fieldid = $this->field->id; $content->recordid = $recordid; $content->content = $this->format_data_field_checkbox_content($value); if ($oldcontent = $DB->get_record('data_content', array('fieldid'=>$this->field->id, 'recordid'=>$recordid))) { $content->id = $oldcontent->id; return $DB->update_record('data_content', $content); } else { return $DB->insert_record('data_content', $content); } } function display_browse_field($recordid, $template) { global $DB; if ($content = $DB->get_record('data_content', array('fieldid'=>$this->field->id, 'recordid'=>$recordid))) { $contentArr = array(); if (!empty($content->content)) { $contentArr = explode('##', $content->content); } $str = ''; foreach ($contentArr as $line) { $str .= $line . "
\n"; } return $str; } return false; } function format_data_field_checkbox_content($content) { if (!is_array($content)) { $str = $content; } else { $str = ''; foreach ($content as $val) { $str .= $val . '##'; } $str = substr($str, 0, -2); } $str = clean_param($str, PARAM_NOTAGS); return $str; } } ?>