$title = '<div class="title">';
if (!empty($CFG->allowuserblockhiding)) {
- //Accessibility: added static 'alt' text for the +- icon.
- //TODO (nfreear): language string 'hide OR show block'
- $title .= '<div class="hide-show">'.
- '<a title="'.get_string('showhideblock','access').
- '" href="#" onclick="elementToggleHide(this, true, function(el) {'.
- 'return findParentNode(el, \'DIV\', \'sideblock\'); '.
- '}, \''.$CFG->pixpath.'\' ); return false;">'.
- '<img src="'.$CFG->pixpath.'/spacer.gif" '.
- 'id = "togglehide_inst'.$this->instance->id.'" '.
- 'alt="'.get_string('showhideblock','access').'" class="hide-show-image" /></a></div>';
+ //Accessibility: added 'alt' text for the +- icon.
+ //Theme the buttons using, Admin - Miscellaneous - smartpix.
+ $strshow = addslashes_js(get_string('showblocka', 'access', $this->title));
+ $strhide = addslashes_js(get_string('hideblocka', 'access', $this->title));
+ $title .= '<input type="image" src="'.$CFG->pixpath.'/t/switch_minus.gif" '.
+ 'id="togglehide_inst'.$this->instance->id.'" '.
+ 'onclick="elementToggleHide(this, true, function(el) {'.
+ 'return findParentNode(el, \'DIV\', \'sideblock\'); },'.
+ ' \''.$strshow.'\', \''.$strhide.'\'); return false;" '.
+ 'alt="'.$strhide.'" title="'.$strhide.'" class="hide-show-image" />';
}
//Accesssibility: added H2 (was in, weblib.php: print_side_block)
$string['currenttopic'] = 'This topic ';
$string['monthnext'] = 'Next month';
$string['monthprev'] = 'Previous month';
-$string['showhideblock'] = 'Show or hide block';
+$string['showblocka'] = 'Show $a block';
+$string['hideblocka'] = 'Hide $a block';
$string['sitemap'] = 'Site map';
$string['skipa'] = 'Skip $a';
$string['skipblock'] = 'Skip block';
If persistent == true, also sets a cookie for this.
*/
-function elementToggleHide(el, persistent, elementFinder) {
+function elementToggleHide(el, persistent, elementFinder, strShow, strHide) {
if(!elementFinder) {
- var obj = el;
+ var obj = el; //el:container
+ el = document.getElementById('togglehide_'+obj.id);
}
else {
- var obj = elementFinder(el);
+ var obj = elementFinder(el); //el:button.
}
if(obj.className.indexOf('hidden') == -1) {
obj.className += ' hidden';
+ if (el.src) {
+ el.src = el.src.replace('switch_minus', 'switch_plus');
+ el.alt = strShow;
+ el.title = strShow;
+ }
var shown = 0;
}
else {
- obj.className = obj.className.replace(new RegExp(' ?hidden'), '')
+ obj.className = obj.className.replace(new RegExp(' ?hidden'), '');
+ if (el.src) {
+ el.src = el.src.replace('switch_plus', 'switch_minus');
+ el.alt = strHide;
+ el.title = strHide;
+ }
var shown = 1;
}
}
}
-
-function elementCookieHide(id) {
+function elementCookieHide(id, strShow, strHide) {
var obj = document.getElementById(id);
var cook = new cookie('hide:' + id).read();
if(cook != null) {
- elementToggleHide(obj, false);
+ elementToggleHide(obj, false, null, strShow, strHide);
}
}
}
- print_side_block_end($attributes);
+ print_side_block_end($attributes, $title);
echo $skip_dest;
}
echo '<div class="wrap">'."\n";
}
if ($heading) {
- //Accessibility: replaced <div> with H2; no, H2 more appropriate in moodleblock.class.php: _title_html.
- // echo '<div class="header">'.$heading.'</div>';
+ //Accessibility: H2 more appropriate in moodleblock.class.php: _title_html.
echo '<div class="header">';
if (!empty($THEME->customcorners)) {
echo '<div class="bt"><div> </div></div>';
/**
* Print table ending tags for a side block box.
*/
-function print_side_block_end($attributes = array()) {
+function print_side_block_end($attributes = array(), $title='') {
global $CFG, $THEME;
echo '</div>';
echo '</div>';
+ $strshow = addslashes_js(get_string('showblocka', 'access', $title));
+ $strhide = addslashes_js(get_string('hideblocka', 'access', $title));
+
// IE workaround: if I do it THIS way, it works! WTF?
if (!empty($CFG->allowuserblockhiding) && isset($attributes['id'])) {
- echo '<script type="text/javascript">'."\n//<![CDATA[\n".'elementCookieHide("'.$attributes['id'].'"); '.
- "\n//]]>\n".'</script>';
+ echo '<script type="text/javascript">'."\n//<![CDATA[\n".'elementCookieHide("'.$attributes['id'].
+ '","'.$strshow.'","'.$strhide."\");\n//]]>\n".'</script>';
}
}
border-bottom-color: #dddddd;
}
-.sideblock .header .hide-show img.hide-show-image {
- background: url('../../pix/t/switch_minus.gif') no-repeat bottom;
-}
-
-.sideblock.hidden .header .hide-show img.hide-show-image {
- background: url('../../pix/t/switch_plus.gif') no-repeat bottom;
-}
-
-/* Accessibility: for Windows High Contrast, partial fix MDL-7493. */
-.sideblock .hide-show a {
- border:1px solid white;
-}
-
/***
*** Blogs
}
form.mform .required .fgroup span label {
color:#000;
-}
+}
\ No newline at end of file
padding:0;
}
-.sideblock .header .hide-show {
+.sideblock .header .hide-show-image {
float:right;
-}
-
-.sideblock .header .hide-show img.hide-show-image {
height:11px;
width:11px;
margin-top:0.25em;
background: #eee;
border: 1px dashed #ddd;
padding: 3px;
-}
+}
\ No newline at end of file