2 This file is part of Moodle - http://moodle.org/
4 Moodle is free software: you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation, either version 3 of the License, or
7 (at your option) any later version.
9 Moodle is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
14 You should have received a copy of the GNU General Public License
15 along with Moodle. If not, see <http://www.gnu.org/licenses/>.
18 @template core_admin/setting_configpasswordunmask
20 Admin password unmask setting template.
22 Context variables required for this template:
23 * name - form element name
24 * size - form element size
25 * value - form element value
28 Example context (json):
36 <div class="form-password">
37 <input type="password" name="{{name}}" size="{{size}}" id="{{id}}" value="{{value}}">
38 <div class="unmask" id="{{id}}unmaskdiv"></div>
43 var unmaskid = id + 'unmask';
44 var unmaskdivid = id + 'unmaskdiv';
45 var unmaskstr = {{#quote}}{{#str}}unmaskpassword, form{{/str}}{{/quote}};
46 var is_ie = (navigator.userAgent.toLowerCase().indexOf("msie") != -1);
48 document.getElementById(id).setAttribute("autocomplete", "off");
50 var unmaskdiv = document.getElementById(unmaskdivid);
52 var unmaskchb = document.createElement("input");
53 unmaskchb.setAttribute("type", "checkbox");
54 unmaskchb.setAttribute("id", unmaskid);
55 unmaskchb.onchange = function() {unmaskPassword(id);};
56 unmaskdiv.appendChild(unmaskchb);
58 var unmasklbl = document.createElement("label");
59 unmasklbl.innerHTML = unmaskstr;
61 unmasklbl.setAttribute("htmlFor", unmaskid);
63 unmasklbl.setAttribute("for", unmaskid);
65 unmaskdiv.appendChild(unmasklbl);
68 // Ugly hack to work around the famous onchange IE bug.
69 unmaskchb.onclick = function() {this.blur();};
70 unmaskdiv.onclick = function() {this.blur();};