* @param mixed data array or string depending on setting
* @return string
*/
- function output_html($data) {
+ function output_html($data, $query='') {
// should be overridden
return;
}
if (strpos($textlib->strtolower($this->description), $query) !== false) {
return true;
}
+ $current = $this->get_setting();
+ if (!is_null($current)) {
+ if (is_string($current)) {
+ if (strpos($textlib->strtolower($current), $query) !== false) {
+ return true;
+ }
+ }
+ }
+ $default = $this->get_defaultsetting();
+ if (!is_null($default)) {
+ if (is_string($default)) {
+ if (strpos($textlib->strtolower($default), $query) !== false) {
+ return true;
+ }
+ }
+ }
return false;
}
}
return '';
}
- function output_html($data) {
+ function output_html($data, $query='') {
$return = '';
if ($this->visiblename != '') {
- $return .= print_heading('<a name="'.$this->name.'">'.$this->visiblename.'</a>', '', 3, 'main', true);
+ $return .= print_heading('<a name="'.$this->name.'">'.highlightfast($query, $this->visiblename).'</a>', '', 3, 'main', true);
}
if ($this->description != '') {
- $return .= print_box($this->description, 'generalbox formsettingheading', '', true);
+ $return .= print_box(highlight($query, $this->description), 'generalbox formsettingheading', '', true);
}
return $return;
}
}
}
- function output_html($data) {
+ function output_html($data, $query='') {
$default = $this->get_defaultsetting();
- if (!is_null($default)) {
- if ($default === '') {
- $default = get_string('emptysettingvalue', 'admin');
- }
- $defaultinfo = '<span class="defaultinfo">'.get_string('defaultsettinginfo', 'admin', s($default)).'</span>';
- } else {
- $defaultinfo = '';
- }
-
if ($this->paramtype === PARAM_INT) {
$paramclass = 'class="number"';
} else {
}
return format_admin_setting($this, $this->visiblename,
- '<div class="form-text">'
- .'<input type="text" '.$paramclass.' id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" />'
- .$defaultinfo.'</div>',
- $this->description);
+ '<div class="form-text defaultsnext"><input type="text" '.$paramclass.' id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" /></div>',
+ $this->description, true, '', $default, $query);
}
}
parent::admin_setting_configtext($name, $visiblename, $description, $defaultsetting, $paramtype);
}
- function output_html($data) {
+ function output_html($data, $query='') {
$default = $this->get_defaultsetting();
- if (!is_null($default)) {
- if ($default === '') {
- $default = get_string('emptysettingvalue', 'admin');
- }
- $defaultinfo = '<div class="defaultinfo">'.get_string('defaultsettinginfo', 'admin', '<br />'.format_text($default, FORMAT_PLAIN)).'</div>';
- } else {
- $defaultinfo = '';
- }
+ $defaultinfo = $default;
+ if (!is_null($default) and $default !== '') {
+ $defaultinfo = "\n".$default;
+ }
return format_admin_setting($this, $this->visiblename,
- '<div class="form-textarea" ><textarea rows="'.$this->rows.'" cols="'.$this->cols.'" id="'.$this->get_id().'" name="'.$this->get_full_name().'">'.s($data).'</textarea>'.$defaultinfo.'</div>',
- $this->description);
+ '<div class="form-textarea" ><textarea rows="'.$this->rows.'" cols="'.$this->cols.'" id="'.$this->get_id().'" name="'.$this->get_full_name().'">'.s($data).'</textarea></div>',
+ $this->description, true, '', $defaultinfo, $query);
}
}
parent::admin_setting_configtext($name, $visiblename, $description, $defaultsetting, PARAM_RAW);
}
- function output_html($data) {
+ function output_html($data, $query='') {
$id = $this->get_id();
$unmask = get_string('unmaskpassword', 'form');
$unmaskjs = '<script type="text/javascript">
</script>';
return format_admin_setting($this, $this->visiblename,
'<div class="form-password"><input type="password" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" />'.$unmaskjs.'</div>',
- $this->description);
+ $this->description, true, '', NULL, $query);
}
}
parent::admin_setting_configtext($name, $visiblename, $description, $defaultpath, PARAM_RAW);
}
- function output_html($data) {
+ function output_html($data, $query='') {
$default = $this->get_defaultsetting();
- if (!is_null($default)) {
- if ($default === '') {
- $default = get_string('emptysettingvalue', 'admin');
- }
- $defaultinfo = '<span class="defaultinfo">'.get_string('defaultsettinginfo', 'admin', s($default)).'</span>';
- } else {
- $defaultinfo = '';
- }
-
if ($data) {
if (file_exists($data) and is_executable($data)) {
$executable = '<span class="pathok">✔</span>';
}
return format_admin_setting($this, $this->visiblename,
- '<div class="form-executable">'
- .'<input type="text" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" />'.$executable
- .$defaultinfo.'</div>',
- $this->description);
+ '<div class="form-executable defaultsnext"><input type="text" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" />'.$executable.'</div>',
+ $this->description, true, '', $default, $query);
}
}
parent::admin_setting_configtext($name, $visiblename, $description, $defaultdirectory, PARAM_RAW);
}
- function output_html($data) {
+ function output_html($data, $query='') {
$default = $this->get_defaultsetting();
- if (!is_null($default)) {
- if ($default === '') {
- $default = get_string('emptysettingvalue', 'admin');
- }
- $defaultinfo = '<span class="defaultinfo">'.get_string('defaultsettinginfo', 'admin', s($default)).'</span>';
- } else {
- $defaultinfo = '';
- }
-
if ($data) {
if (file_exists($data) and is_dir($data)) {
$executable = '<span class="pathok">✔</span>';
}
return format_admin_setting($this, $this->visiblename,
- '<div class="form-directory">'
- .'<input type="text" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" />'.$executable
- .$defaultinfo.'</div>',
- $this->description);
+ '<div class="form-directory defaultsnext"><input type="text" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($data).'" />'.$executable.'</div>',
+ $this->description, true, '', $default, $query);
}
}
return ($this->config_write($this->name, $data) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data) {
+ function output_html($data, $query='') {
$default = $this->get_defaultsetting();
if (!is_null($default)) {
if ((string)$default === $this->yes) {
- $str = get_string('checkboxyes', 'admin');
+ $defaultinfo = get_string('checkboxyes', 'admin');
} else {
- $str = get_string('checkboxno', 'admin');
+ $defaultinfo = get_string('checkboxno', 'admin');
}
- $defaultinfo = '<span class="defaultinfo">'.get_string('defaultsettinginfo', 'admin', $str).'</span>';
} else {
- $defaultinfo = '';
+ $defaultinfo = NULL;
}
if ((string)$data === $this->yes) { // convert to strings before comparison
}
return format_admin_setting($this, $this->visiblename,
- '<div class="form-checkbox" ><input type="hidden" name="'.$this->get_full_name().'" value="'.s($this->no).'" /> '
- .'<input type="checkbox" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($this->yes).'" '.$checked.' />'
- .$defaultinfo.'</div>',
- $this->description);
+ '<div class="form-checkbox defaultsnext" ><input type="hidden" name="'.$this->get_full_name().'" value="'.s($this->no).'" /> '
+ .'<input type="checkbox" id="'.$this->get_id().'" name="'.$this->get_full_name().'" value="'.s($this->yes).'" '.$checked.' /></div>',
+ $this->description, true, '', $defaultinfo, $query);
}
}
return $this->config_write($this->name, implode(',', $result)) ? '' : get_string('errorsetting', 'admin');
}
- function output_html($data) {
+ function output_html($data, $query='') {
if (!$this->load_choices() or empty($this->choices)) {
return '';
}
}
$options[] = '<input type="checkbox" id="'.$this->get_id().'_'.$key.'" name="'.$this->get_full_name().'['.$key.']" value="1" '.$checked.' />'
- .'<label for="'.$this->get_id().'_'.$key.'">'.$description.'</label>';
+ .'<label for="'.$this->get_id().'_'.$key.'">'.highlightfast($query, $description).'</label>';
}
- if (!empty($defaults)) {
- $defaultinfo = '<div class="defaultinfo">'.get_string('defaultsettinginfo', 'admin', implode(', ', $defaults)).'</div>';
+ if (is_null($default)) {
+ $defaultinfo = NULL;
+ } else if (!empty($defaults)) {
+ $defaultinfo = implode(', ', $defaults);
} else {
- $defaultinfo = '';
+ $defaultinfo = get_string('none');
}
$return = '<div class="form-multicheckbox">';
}
$return .= '</ul>';
}
- $return .= $defaultinfo.'</div>';
+ $return .= '</div>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description, false);
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, false, '', $defaultinfo, $query);
+
}
}
return ($this->config_write($this->name, $data) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data) {
+ function output_html($data, $query='') {
if (!$this->load_choices() or empty($this->choices)) {
return '';
}
$default = $this->get_defaultsetting();
if (!is_null($default) and array_key_exists($default, $this->choices)) {
- $defaultinfo = '<span class="defaultinfo">'.get_string('defaultsettinginfo', 'admin', s($this->choices[$default])).'</span>';
+ $defaultinfo = $this->choices[$default];
} else {
- $defaultinfo = '';
+ $defaultinfo = NULL;
}
$current = $this->get_setting();
}
}
- $return = '<div class="form-select"><select id="'.$this->get_id().'" name="'.$this->get_full_name().'">';
+ $return = '<div class="form-select defaultsnext"><select id="'.$this->get_id().'" name="'.$this->get_full_name().'">';
foreach ($this->choices as $key => $value) {
// the string cast is needed because key may be integer - 0 is equal to most strings!
$return .= '<option value="'.$key.'"'.((string)$key==$data ? ' selected="selected"' : '').'>'.$value.'</option>';
}
- $return .= '</select>'.$defaultinfo.'</div>';
+ $return .= '</select></div>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description, true, $warning);
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, true, $warning, $defaultinfo, $query);
}
}
return false;
}
- function output_html($data) {
+ function output_html($data, $query='') {
if (!$this->load_choices() or empty($this->choices)) {
return '';
}
$return .= '<option value="'.s($key).'" '.$selected.'>'.$description.'</option>';
}
- if (!empty($defaults)) {
- $defaultinfo = '<div class="defaultinfo">'.get_string('defaultsettinginfo', 'admin', implode(', ', $defaults)).'</div>';
+ if (is_null($default)) {
+ $defaultinfo = NULL;
+ } if (!empty($defaults)) {
+ $defaultinfo = implode(', ', $defaults);
} else {
- $defaultinfo = '';
+ $defaultinfo = get_string('none');
}
- $return .= '</select>'.$defaultinfo.'</div>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description);
+ $return .= '</select></div>';
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, true, '', $defaultinfo, $query);
}
}
return ($result ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data) {
+ function output_html($data, $query='') {
$default = $this->get_defaultsetting();
if (is_array($default)) {
- $defaultinfo = '<span class="defaultinfo">'.get_string('defaultsettinginfo', 'admin', $default['h'].':'.$default['m']).'</span>';
+ $defaultinfo = $default['h'].':'.$default['m'];
} else {
- $defaultinfo = '';
+ $defaultinfo = NULL;
}
- $return = '<div class="form-time">'.
+ $return = '<div class="form-time defaultsnext">'.
'<select id="'.$this->get_id().'h" name="'.$this->get_full_name().'[h]">';
for ($i = 0; $i < 24; $i++) {
$return .= '<option value="'.$i.'"'.($i == $data['h'] ? ' selected="selected"' : '').'>'.$i.'</option>';
for ($i = 0; $i < 60; $i += 5) {
$return .= '<option value="'.$i.'"'.($i == $data['m'] ? ' selected="selected"' : '').'>'.$i.'</option>';
}
- $return .= '</select>'.$defaultinfo.'</div>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description, false);
+ $return .= '</select></div>';
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, false, '', $defaultinfo, $query);
}
}
return ($this->config_write($this->name, implode(',', $save)) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data) {
+ function output_html($data, $query='') {
$this->load_choices();
$currentsetting = array();
foreach ($data as $key) {
}
$return .= '</div>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description, false);
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, false, '', NULL, $query);
}
}
return(update_record('course', $record) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data) {
+ function output_html($data, $query='') {
global $CFG;
$CFG->adminusehtmleditor = can_use_html_editor();
$return = '<div class="form-htmlarea">'.print_textarea($CFG->adminusehtmleditor, 15, 60, 0, 0, $this->get_full_name(), $data, 0, true).'</div>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description, false);
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, false, '', NULL, $query);
}
}
return ($this->config_write($this->name, implode(';', $result)) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data) {
+ function output_html($data, $query='') {
$fullname = $this->get_full_name();
$return = '<div class="form-group">';
for ($i = 0; $i < count($data) / 2; $i++) {
$return .= '<input type="text" class="form-text" name="'.$fullname.'[v'.($i + 1).']" value="" />';
$return .= '</div>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description, false);
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, false, '', NULL, $query);
}
}
return ($this->config_write($this->name, implode('{;}', $result)) ? '' : get_string('errorsetting', 'admin').$this->visiblename.'<br />');
}
- function output_html($data) {
+ function output_html($data, $query='') {
$fullname = $this->get_full_name();
$return = '<div class="form-group">';
for ($i = 0; $i < count($data) / 2; $i++) {
$return .= '<input type="text" class="form-text" name="'.$fullname.'[v'.($i + 1).']" value="" />';
$return .= '</div>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description, false);
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, false, '', NULL, $query);
}
}
return ($this->config_write($this->name, implode(' ', $result)) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data) {
+ function output_html($data, $query='') {
global $CFG;
$return .= '</table>';
$return .= '</div>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description, false);
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, false, '', NULL, $query);
}
}
return ($this->config_write($this->name, $result) ? '' : get_string('errorsetting', 'admin'));
}
- function output_html($data) {
+ function output_html($data, $query='') {
// The order matters very much because of the implied numeric keys
$days = array('sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday');
$return = '<table><thead><tr>';
}
$return .= '</tr></tbody></table>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description, false);
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, false, '', NULL, $query);
}
}
}
}
- function output_html($data) {
+ function output_html($data, $query='') {
$value = $data['value'];
$forced = !empty($data['forced']);
$adv = !empty($data['adv']);
$return .= '<option value="'.$key.'"'.((string)$key==$value ? ' selected="selected"' : '').'>'.$val.'</option>';
}
$return .= '</select>';
- $return .= '</label><input type="checkbox" class="form-checkbox" id="'.$this->get_id().'force" name="'.$this->get_full_name().'[forced]" value="1" '.($forced ? 'checked="checked"' : '').' />'
- .'<label for="'.$this->get_id().'force">'.get_string('force');
- $return .= '</label><input type="checkbox" class="form-checkbox" id="'.$this->get_id().'adv" name="'.$this->get_full_name().'[adv]" value="1" '.($adv ? 'checked="checked"' : '').' />'
- .'<label for="'.$this->get_id().'adv">'.get_string('advanced');
+ $return .= '<input type="checkbox" class="form-checkbox" id="'.$this->get_id().'force" name="'.$this->get_full_name().'[forced]" value="1" '.($forced ? 'checked="checked"' : '').' />'
+ .'<label for="'.$this->get_id().'force">'.get_string('force').'</label>';
+ $return .= '<input type="checkbox" class="form-checkbox" id="'.$this->get_id().'adv" name="'.$this->get_full_name().'[adv]" value="1" '.($adv ? 'checked="checked"' : '').' />'
+ .'<label for="'.$this->get_id().'adv">'.get_string('advanced').'</label>';
- return format_admin_setting($this, $this->visiblename, $return, $this->description);
+ return format_admin_setting($this, $this->visiblename, $return, $this->description, true, '', NULL, $query);
}
}
return false;
}
- function output_html($data) {
+ function output_html($data, $query='') {
global $CFG;
$return .= print_table($table, true);
$return .= get_string('configauthenticationplugins', 'admin').'<br />'.get_string('tablenosave', 'filters');
$return .= print_box_end(true);
- return $return;
+ return highlight($query, $return);
}
}
/**
return false;
}
- function output_html($data) {
+ function output_html($data, $query='') {
global $CFG;
$strname = get_string('name');
$return .= print_table($table, true);
$return .= get_string('tablenosave', 'filters');
$return .= print_box_end(true);
- return $return;
+ return highlight($query, $return);
}
}
$data = $setting->get_defaultsetting();
}
}
- $return .= highlight($query, $setting->output_html($data));
+ $return .= $setting->output_html($data, $query);
}
$return .= '</fieldset>';
}
* Format admin settings
* @param string $object setting
* @param string $title label element
- * @param string $form form fragment, html code
+ * @param string $form form fragment, html code - not highlighed automaticaly
* @param string $description
* @param bool $label link label to id
+ * @param string $warning warning text
+ * @param sting $defaultinfo defaults info, null means nothing, '' is converted to "Empty" string
+ * @param string $query search query to be highlighted
*/
-function format_admin_setting($setting, $title='', $form='', $description='', $label=true, $warning='') {
+function format_admin_setting($setting, $title='', $form='', $description='', $label=true, $warning='', $defaultinfo=NULL, $query='') {
global $CFG;
$name = $setting->name;
$warning = '<div class="form-warning">'.$warning.'</div>';
}
+ if (is_null($defaultinfo)) {
+ $defaultinfo = '';
+ } else {
+ if ($defaultinfo === '') {
+ $defaultinfo = get_string('emptysettingvalue', 'admin');
+ }
+ $defaultinfo = highlight($query, nl2br(s($defaultinfo)));
+ $defaultinfo = '<div class="form-defaultinfo">'.get_string('defaultsettinginfo', 'admin', $defaultinfo).'</div>';
+ }
+
+
$str = '
<div class="form-item clearfix" id="admin-'.$setting->name.'">
-<div class="form-label"><label '.$labelfor.'>'.$title.'<span class="form-shortname">'.$name.'</span>'.$override.$warning.'</label></div>
-<div class="form-setting">'.$form.'</div>
-<div class="form-description">'.$description.'</div>
+ <div class="form-label">
+ <label '.$labelfor.'>'.highlightfast($query, $title).'<span class="form-shortname">'.highlightfast($query, $name).'</span>
+ '.$override.$warning.'
+ </label>
+ </div>
+ <div class="form-setting">'.$form.$defaultinfo.'</div>
+ <div class="form-description">'.highlight($query, $description).'</div>
</div>';
$adminroot =& admin_get_root();