MDL-26425 tablelib change print_initials_bar to remove duplication, and to use html_writer.

This commit is contained in:
Tim Hunt
2011-02-16 11:55:12 +00:00
parent b08fb128c8
commit 6f0d3480c7

View File

@@ -815,50 +815,52 @@ class flexible_table {
return $this->sess->i_last; return $this->sess->i_last;
} }
protected function print_one_initials_bar($alpha, $current, $class, $title, $urlvar) {
echo html_writer::start_tag('div', array('class' => 'initialbar ' . $class)) .
$title . ' : ';
if ($current) {
echo html_writer::link($this->baseurl->out(false, array($urlvar => '')), get_string('all'));
} else {
echo html_writer::tag('strong', get_string('all'));
}
foreach ($alpha as $letter) {
if ($letter === $current) {
echo html_writer::tag('strong', $letter);
} else {
echo html_writer::link($this->baseurl->out(false, array($urlvar => $letter)), $letter);
}
}
echo html_writer::end_tag('div');
}
/** /**
* This function is not part of the public api. * This function is not part of the public api.
*/ */
function print_initials_bar() { function print_initials_bar() {
if ((!empty($this->sess->i_last) || !empty($this->sess->i_first) || $this->use_initials) if ((!empty($this->sess->i_last) || !empty($this->sess->i_first) ||$this->use_initials)
&& isset($this->columns['fullname'])) { && isset($this->columns['fullname'])) {
$strall = get_string('all');
$alpha = explode(',', get_string('alphabet', 'langconfig')); $alpha = explode(',', get_string('alphabet', 'langconfig'));
// Bar of first initials // Bar of first initials
echo '<div class="initialbar firstinitial">'.get_string('firstname').' : ';
if (!empty($this->sess->i_first)) { if (!empty($this->sess->i_first)) {
echo '<a href="'.$this->baseurl.$this->request[TABLE_VAR_IFIRST].'=">'.$strall.'</a>'; $ifirst = $this->sess->i_first;
} else { } else {
echo '<strong>'.$strall.'</strong>'; $ifirst = '';
} }
foreach ($alpha as $letter) { $this->print_one_initials_bar($alpha, $ifirst, 'firstinitial',
if (isset($this->sess->i_first) && $letter == $this->sess->i_first) { get_string('firstname'), $this->request[TABLE_VAR_IFIRST]);
echo ' <strong>'.$letter.'</strong>';
} else {
echo ' <a href="'.$this->baseurl.$this->request[TABLE_VAR_IFIRST].'='.$letter.'">'.$letter.'</a>';
}
}
echo '</div>';
// Bar of last initials // Bar of last initials
echo '<div class="initialbar lastinitial">'.get_string('lastname').' : ';
if (!empty($this->sess->i_last)) { if (!empty($this->sess->i_last)) {
echo '<a href="'.$this->baseurl.$this->request[TABLE_VAR_ILAST].'=">'.$strall.'</a>'; $ilast = $this->sess->i_last;
} else { } else {
echo '<strong>'.$strall.'</strong>'; $ilast = '';
} }
foreach ($alpha as $letter) { $this->print_one_initials_bar($alpha, $ilast, 'lastinitial',
if (isset($this->sess->i_last) && $letter == $this->sess->i_last) { get_string('lastname'), $this->request[TABLE_VAR_ILAST]);
echo ' <strong>'.$letter.'</strong>';
} else {
echo ' <a href="'.$this->baseurl.$this->request[TABLE_VAR_ILAST].'='.$letter.'">'.$letter.'</a>';
}
}
echo '</div>';
} }
} }