5 <p style="margin-top: 5px; margin-bottom: 4px; text-align: center;">
6 <button onclick="return passwd_delete()">Passwort löschen</button>
7 <button onclick="return passwd_set()">Passwort setzen</button>
12 var post_save = user_post_save;
13 var pre_insert = user_pre_save;
14 var pre_save = user_pre_save;
16 function user_pre_save()
18 if ($('edit_username').value == '*' && !$('edit_forward').value.length) {
19 alert("Fehler aufgetreten!\\n\\nFür Catch-All-Einträge muß zwingend\\neine Forward-Adresse angegeben werden.");
20 $('edit_forward').focus();
27 function user_post_save()
31 if (!$('edit_id').value.length && !$('edit_forward').value.length)
32 alert("Bitte als nächstes ein Passwort setzen.\\nUnd danach direkt mit Mailprogram aktivieren.");
35 function passwd_delete_callback(data)
38 info('Preis gespeichert');
41 function passwd_delete()
43 var eid = document.getElementById('edit_id');
44 if (!eid || !eid.value.length) return false;
46 var source = document.getElementById('source');
47 if (!source) return false;
49 var parms = 'source=' + source.innerHTML + '&callback=delete&';
50 parms += 'id=' + eid.value;
52 ajax_request('function', parms, passwd_delete_callback);
57 var passwd_popup = false;
58 function passwd_setpw_callback(data)
61 info('Neues Passwort gespeichert');
64 function passwd_setpw()
66 passwd_popup.closePopup();
68 var pw1 = document.getElementById('pw_pass1');
69 var pw2 = document.getElementById('pw_pass2');
71 if (!pw1.value.length || !pw2.value.length || pw1.value != pw2.value) {
72 alert("Die Passwörter stimmen nicht überein!");
76 var source = document.getElementById('source');
77 var pw_id = document.getElementById('pw_id');
78 var pw_pass = document.getElementById('pw_pass1');
80 var parms = 'source=' + source.innerHTML + '&callback=setpw';
81 parms += '&id=' + pw_id.value;
82 parms += '&passwd=' + pw_pass.value;
84 ajax_request('function', parms, passwd_setpw_callback);
91 var edit_id = document.getElementById('edit_id');
93 if (!edit_id.value.length) return false;
99 var options = {hideOnClick: false, canDragFunc: true };
100 passwd_popup = new Rico.Popup(options);
101 passwd_popup.createWindow('<b>Neues Passwort setzen</b>','',height+'px',width+'px');
102 passwd_popup.contentDiv.style.backgroundColor='#e0e0e0';
103 passwd_popup.contentDiv.innerHTML = [
104 '<div class="form" style="margin-left: 10px; margin-right: 12px; padding-left: 10px; padding-bottom: 7px;">',
105 '<input type="hidden" name="pw_id" id="pw_id">',
106 '<label for="pw_email">E-Mail Adresse:</label><br>',
107 '<input type="text" name="pw_email" id="pw_email" size="23" readonly>',
108 '<div style="height: 5px;"></div>',
109 '<label for="pw_pass1">Neues Passwort:</label><br>',
110 '<input type="password" name="pw_pass1" id="pw_pass1" size="23">',
111 '<div style="height: 5px;"></div>',
112 '<label for="pw_pass2">erneut eingeben:</label><br>',
113 '<input type="password" name="pw_pass2" id="pw_pass2" size="23">',
114 '<div style="height: 5px;"></div>',
115 '<button onclick="return passwd_setpw()">Passwort setzen</button>',
120 var edit_username = document.getElementById('edit_username');
121 var edit_vmail_domain_id = document.getElementById('edit_vmail_domain_id');
123 var pw_id = document.getElementById('pw_id');
124 var pw_email = document.getElementById('pw_email');
126 pw_id.value = edit_id.value;
127 pw_email.value = edit_username.value + '@' + edit_vmail_domain_id.options[edit_vmail_domain_id.selectedIndex].innerHTML;
129 var x = Math.floor((RicoUtil.windowWidth()-width)/2);
130 var y = Math.floor((RicoUtil.windowHeight()-height)/2);
131 passwd_popup.openPopup(x,y);
133 var pw_pass1 = document.getElementById('pw_pass1');
135 var pw_pass2 = document.getElementById('pw_pass2');
144 'table' => 'vmail_user',
145 'title' => 'Mailboxen und Weiterleitungen',
146 'join' => array('vmail_domain ON vmail_domain_id = vmail_domain.id'),
151 'sql' => 'vmail_user.id',
157 'sql' => "username || '@' || name",
158 'specs' => "filterUI: 't'",
163 'specs' => "filterUI: 't'",
168 'specs' => "ClassName: 'aligncenter'",
169 'control' => "new Rico.TableColumn.checkbox('t', 'f',0,1)",
170 'sql' => 'password IS NOT NULL AND length(password) > 0',
175 'specs' => "ClassName: 'aligncenter'",
176 'control' => "new Rico.TableColumn.checkbox(1, 0,0,1)",
186 'vmail_domain_id' => array(
189 'options' => 'SELECT id,name AS text FROM vmail_domain ORDER BY name',
190 'option_empty' => '-- select --',
201 'name' => 'Passwort',
205 'func' => 'passwd_encrypt',
209 'name' => 'aktiviert',
218 'callbacks' => array(
219 'delete' => 'cb_delete',
220 'setpw' => 'cb_setpw',
224 function passwd_encrypt($pw)
233 $sql = sprintf("UPDATE vmail_user SET password = NULL WHERE id = %d", $_POST['id']);
235 $sth = $db->query($sql);
244 $sql = sprintf("UPDATE vmail_user SET password = '%s' WHERE id = %d",
245 passwd_encrypt($_POST['passwd']),
248 $sth = $db->query($sql);