$buttons = <<<EOC
<p style="margin-top: 5px; margin-bottom: 4px; text-align: center;">
-<button onclick="return passwd_delete()">Passwort löschen</button>
-<button onclick="return passwd_set()">Passwort setzen</button>
+<button class="custom" onclick="return passwd_set()">Passwort setzen</button>
</p>
EOC;
-$jscode[] = <<<EOC
-function passwd_delete_callback(data)
+$jscode = <<<EOC
+function user_pre_save()
{
- grid_update(grid);
- info('Preis gespeichert');
-}
-
-function passwd_delete()
-{
- var eid = document.getElementById('edit_id');
- if (!eid || !eid.value.length) return false;
-
- var source = document.getElementById('source');
- if (!source) return false;
-
- var parms = 'source=' + source.innerHTML + '&callback=delete&';
- parms += 'id=' + eid.value;
-
- ajax_request('function', parms, passwd_delete_callback);
-
+ if ($('#edit_username').val() == '*') {
+ alert("Fehler aufgetreten!\\nCatch-All-Einträge sind nur bei Weiterleitungen zulässig.");
+ $('#edit_username').focus();
return false;
+ }
+
+ return true;
}
-var passwd_popup = false;
-function passwd_setpw_callback(data)
+function user_post_insert(data)
{
- grid_update(grid);
- info('Neues Passwort gespeichert');
+ Hallinta.showMsg("Bitte als nächstes ein Passwort setzen die Mailbox direkt mit Mailprogram aktivieren.", {timeout: 10});
}
+var passwd_popup = false;
function passwd_setpw()
{
- passwd_popup.closePopup();
-
- var pw1 = document.getElementById('pw_pass1');
- var pw2 = document.getElementById('pw_pass2');
+ passwd_popup.closePopup();
- if (!pw1.value.length || !pw2.value.length || pw1.value != pw2.value) {
- alert("Die Passwörter stimmen nicht überein!");
- return false;
- }
+ if (!$('#pw_pass1').val().length || !$('#pw_pass2').val().length || $('#pw_pass1').val() != $('#pw_pass2').val()) {
+ alert("Die Passwörter stimmen nicht überein!");
+ return false;
+ }
- var source = document.getElementById('source');
- var pw_id = document.getElementById('pw_id');
- var pw_pass = document.getElementById('pw_pass1');
+ var parms = 'callback=setpw';
+ parms += '&id=' + $('#pw_id').val();
+ parms += '&passwd=' + $('#pw_pass1').val();
- var parms = 'source=' + source.innerHTML + '&callback=setpw';
- parms += '&id=' + pw_id.value;
- parms += '&passwd=' + pw_pass.value;
+ ajax_request('function', parms, function(data){
+ info('Passwort gespeichert');
+ Hallinta.showMsg('Neues Passwort gespeichert', {timeout: 3});
+ });
- ajax_request('function', parms, passwd_setpw_callback);
-
- return false;
+ return false;
}
function passwd_set()
{
- var edit_id = document.getElementById('edit_id');
-
- if (!edit_id.value.length) return false;
-
- var width = 245;
- var height = 163;
-
- if (!passwd_popup) {
- var options = {hideOnClick: false, canDragFunc: true };
- passwd_popup = new Rico.Popup(options);
- passwd_popup.createWindow('<b>Neues Passwort setzen</b>','',height+'px',width+'px');
- passwd_popup.contentDiv.style.backgroundColor='#e0e0e0';
- passwd_popup.contentDiv.innerHTML = [
- '<div class="form" style="margin-left: 10px; margin-right: 12px; padding-left: 10px; padding-bottom: 7px;">',
- '<input type="hidden" name="pw_id" id="pw_id">',
- '<label for="pw_email">E-Mail Adresse:</label><br>',
- '<input type="text" name="pw_email" id="pw_email" size="23" readonly>',
- '<div style="height: 5px;"></div>',
- '<label for="pw_pass1">Neues Passwort:</label><br>',
- '<input type="password" name="pw_pass1" id="pw_pass1" size="23">',
- '<div style="height: 5px;"></div>',
- '<label for="pw_pass2">erneut eingeben:</label><br>',
- '<input type="password" name="pw_pass2" id="pw_pass2" size="23">',
- '<div style="height: 5px;"></div>',
- '<button onclick="return passwd_setpw()">Passwort setzen</button>',
- '</div>',
- ].join('');
- }
-
- var edit_username = document.getElementById('edit_username');
- var edit_vmail_domain_id = document.getElementById('edit_vmail_domain_id');
-
- var pw_id = document.getElementById('pw_id');
- var pw_email = document.getElementById('pw_email');
-
- pw_id.value = edit_id.value;
- pw_email.value = edit_username.value + '@' + edit_vmail_domain_id.options[edit_vmail_domain_id.selectedIndex].innerHTML;
-
- var x = Math.floor((RicoUtil.windowWidth()-width)/2);
- var y = Math.floor((RicoUtil.windowHeight()-height)/2);
- passwd_popup.openPopup(x,y);
-
- var pw_pass1 = document.getElementById('pw_pass1');
- pw_pass1.value = '';
- var pw_pass2 = document.getElementById('pw_pass2');
- pw_pass2.value = '';
- pw_pass1.focus();
-
- return false;
+ if (!$('#edit_id').val().length) return false;
+
+ var width = 245;
+ var height = 163;
+ var centerDialog = false;
+
+ if (!passwd_popup) {
+ passwd_popup = new Rico.Window('<b>Neues Passwort setzen</b>', {zIndex: 100});
+ $(passwd_popup.contentDiv).html([
+ '<div class="form" style="margin-left: 10px; margin-right: 12px; padding-left: 10px; padding-bottom: 7px;">',
+ '<input type="hidden" name="pw_id" id="pw_id">',
+ '<label for="pw_email">E-Mail Adresse:</label><br>',
+ '<input type="text" name="pw_email" id="pw_email" size="23" readonly style="background:#eee;">',
+ '<div style="height: 5px;"></div>',
+ '<label for="pw_pass1">Neues Passwort:</label><br>',
+ '<input type="password" name="pw_pass1" id="pw_pass1" size="23">',
+ '<div style="height: 5px;"></div>',
+ '<label for="pw_pass2">erneut eingeben:</label><br>',
+ '<input type="password" name="pw_pass2" id="pw_pass2" size="23">',
+ '<div style="height: 5px;"></div>',
+ '<button onclick="return passwd_setpw()">Passwort setzen</button>',
+ '</div>',
+ ].join(''));
+ centerDialog = true;;
+ }
+
+ $('#pw_id').val($('#edit_id').val());
+ $('#pw_email').val($('#edit_username').val() + '@' + $('#edit_vmail_domain_id option[value="'+$('#edit_vmail_domain_id').val()+'"]').text());
+
+ $('#pw_pass1').val('');
+ $('#pw_pass2').val('');
+
+ if (centerDialog)
+ passwd_popup.centerPopup();
+ else
+ passwd_popup.openPopup();
+
+ $('#pw_pass1').focus();
+ return false;
}
+
EOC;
+JavaScript::instance()->add($jscode);
+JavaScript::instance()->add("Hallinta.preSave = user_pre_save;");
+JavaScript::instance()->add("Hallinta.preInsert = user_pre_save;");
+JavaScript::instance()->add("Hallinta.postInsert = user_post_insert;");
+JavaScript::instance()->add("Hallinta.fetchItemAfterInsert = true;");
$mask = array(
'table' => 'vmail_user',
- 'title' => 'Mailboxen und Weiterleitungen',
+ 'title' => 'Mailboxen und Adressen',
'join' => array('vmail_domain ON vmail_domain_id = vmail_domain.id'),
'list' => array(
'id' => array(
'visible' => false,
'sql' => 'vmail_user.id',
),
+ 'name' => array(
+ 'name' => 'Domain',
+ 'visible' => false,
+ 'width' => 200,
+ 'type' => 'text',
+ 'filter' => 's',
+ ),
+ 'username' => array(
+ 'name' => 'Username',
+ 'visible' => false,
+ 'width' => 200,
+ 'type' => 'text',
+ 'filter' => 't',
+ ),
'email' => array(
'name' => 'E-Mail',
- 'width' => 330,
+ 'width' => 400,
'type' => 'text',
+ 'filter' => 't',
'sql' => "username || '@' || name",
- 'specs' => "filterUI: 't'",
- ),
- 'forward' => array(
- 'name' => 'Forward',
- 'width' => 330,
- 'specs' => "filterUI: 't'",
- ),
- 'pw' => array(
- 'name' => 'Pass',
- 'width' => 40,
- 'specs' => "ClassName: 'aligncenter'",
- 'control' => "new Rico.TableColumn.checkbox('t', 'f',0,1)",
- 'sql' => 'password IS NOT NULL AND length(password) > 0',
),
'active' => array(
- 'name' => 'on',
- 'width' => 40,
- 'specs' => "ClassName: 'aligncenter'",
- 'control' => "new Rico.TableColumn.checkbox(1, 0,0,1)",
+ 'name' => 'aktiv',
+ 'width' => 60,
+ 'specs' => array('ClassName' => 'aligncenter'),
+ 'control' => "new Rico.TableColumn.checkbox(1,0,0,1)",
),
),
'edit' => array(
'option_empty' => '-- select --',
'required' => true,
),
- 'forward' => array(
- 'name' => 'Forward',
- 'type' => 'text',
- 'size' => 21,
- 'null' => true,
- ),
-/*
- 'password' => array(
- 'name' => 'Passwort',
- 'type' => 'passwd',
- 'size' => 21,
- 'null' => true,
- 'func' => 'passwd_encrypt',
- ),
-*/
'active' => array(
- 'name' => 'aktiviert',
+ 'name' => 'Mailbox aktiv',
'type' => 'boolean',
),
'buttons' => array(
),
),
'callbacks' => array(
- 'delete' => 'cb_delete',
'setpw' => 'cb_setpw',
),
);
return md5($pw);
}
-function cb_delete()
-{
- global $db;
-
- $sql = sprintf("UPDATE vmail_user SET password = NULL WHERE id = %d", $_POST['id']);
-
- $sth = $db->query($sql);
-
- return true;
-}
-
function cb_setpw()
{
global $db;
return true;
}
-
-?>