diff --git a/mail_control.php b/mail_control.php index f7c674d..1fae267 100644 --- a/mail_control.php +++ b/mail_control.php @@ -16,35 +16,33 @@ /* Var-Setup */ define('db_server','localhost'); define('db_name','mail'); - define('db_user','{USER}'); - define('db_pwd','{PASSWORD}'); - $tbl_aliases = 'virtual_aliases'; - $tbl_domains = 'virtual_domains'; - $tbl_users = 'virtual_users'; + define('db_user','mail'); + define('db_pwd','GwH_s8gJW:FvKV8RywoENMOAUJbGQyF:'); $lang = 'de'; /* Functions */ function query($sql) { - global $cid; - if($sql) return mysql_query($sql,$cid); + global $cid, $mysql_result; + echo $sql; + if($sql) return $mysql_result = $cid->query($sql); //else die(mysql_error()); } function fetch($res) { - if($res) return mysql_fetch_array($res); + global $mysql_result; + if($res) return $res->fetch_all(MYSQLI_BOTH); else return false; } function connect() { global $cid,$db; - $cid = mysql_connect(db_server,db_user,db_pwd); - if($cid) $db = mysql_select_db(db_name,$cid); - else die(mysql_error()); + $cid = new mysqli(db_server, db_user, db_pwd, db_name); + if ($cid->connect_errno) die("Verbindung fehlgeschlagen: " . $mysqli->connect_error); } function disconnect() { global $cid; - if(!(mysql_close($cid))) die("Fehler beim Trennen der Verbindung!"); + if(!($cid->close())) die("Fehler beim Trennen der Verbindung!"); } function pw_encode($password, $rounds=10000) { @@ -52,157 +50,93 @@ function pw_encode($password, $rounds=10000) { return crypt ($password, '$5$rounds=' . $rounds . '$' . $salt); } -/* LocalLanguage */ -if ($lang) { -$LLA = array(); - if ($lang == 'de') { -$LLA['de']['hide password'] = 'verstecke Passwort'; -$LLA['de']['show password'] = 'zeige Passwort'; -$LLA['de']['All'] = 'Alle'; -$LLA['de']['Alias Management'] = 'Alias-Verwaltung'; -$LLA['de']['New Alias'] = 'Alias hinzufügen'; -$LLA['de']['Action'] = 'Aktion'; -$LLA['de']['Source'] = 'Quelle'; -$LLA['de']['Destination'] = 'Ziel'; -$LLA['de']['Enabled'] = 'Aktiviert'; -$LLA['de']['Domain Management'] = 'Domain-Verwaltung'; -$LLA['de']['User Management'] = 'User-Verwaltung'; -$LLA['de']['New Domain'] = 'Domain hinzufügen'; -$LLA['de']['Change this record'] = 'Diesen Eintrag ändern'; -$LLA['de']['Delete this record'] = 'Diesen Eintrag löschen'; -$LLA['de']['Reset'] = 'Zurücksetzen'; -$LLA['de']['New User'] = 'User hinzufügen'; -$LLA['de']['Username'] = 'Benutzername'; -$LLA['de']['Password'] = 'Passwort'; -$LLA['de']['ERROR adding Alias'] = 'Fehler beim Hinzufügen eines Aliases'; -$LLA['de']['ERROR adding Domain'] = 'Fehler beim Hinzufügen einer Domain'; -$LLA['de']['ERROR adding User'] = 'Fehler beim Hinzufügen eines Users'; -$LLA['de']['Back'] = 'Zurück'; -$LLA['de']['was added...'] = ' wurde hinzugefügt...'; -$LLA['de']['Delete this alias?'] = 'Diesen Alias wirklich löschen?'; -$LLA['de']['Delete this domain?'] = 'Diese Domain wirklich löschen?'; -$LLA['de']['Delete this user?'] = 'Diesen User wirklich löschen?'; -$LLA['de']['was deleted...'] = 'wurde gelöscht'; -$LLA['de']['was changed...'] = 'wurde geändert...'; -$LLA['de']['No'] = 'Nein'; -$LLA['de']['Yes'] = 'Ja'; -$LLA['de']['Edit Alias'] = 'Alias bearbeiten'; -$LLA['de']['Edit Domain'] = 'Domain bearbeiten'; -$LLA['de']['Edit User'] = 'User bearbeiten'; -$LLA['de']['Target'] = 'Ziel'; -$LLA['de']['Cancel'] = 'Abbrechen'; -$LLA['de']['Speichern'] = 'Save'; -$LLA['de']['Reset'] = 'Zurüksetzen'; - } -/* -also available: -- Aliases -- Domains -- User -- ID -- Domain -- Name -- Ok -leave one alias out in the language conf and the original one will be used. -*/ -} - -function echoAl($al) { - global $LLA, $lang; - if (!$LLA[$lang]) {echo 'aaaa'; return false;} - if (!$LLA[$lang]) {echo $al; return false;} - if (!$LLA[$lang][$al]) {echo $al; return false;} - echo $LLA[$lang][$al]; - return true; -} - -function retAl($al) { - global $LLA, $lang; - if (!$LLA[$lang]) return 'bbbb'; - if (!$LLA[$lang]) return $al; - if (!$LLA[$lang][$al]) return $al; - return $LLA[$lang][$al]; -} /* Initialize */ connect(); -$do = $_REQUEST['do']; -$id = $_REQUEST['id']; -$new = $_REQUEST['new']; -$del = $_REQUEST['del']; -$chg = $_REQUEST['chg']; -$ack = $_REQUEST['ack']; -$domain = $_REQUEST['domain']; -$source = $_REQUEST['src']; -$usr = $_REQUEST['usr']; -$pwd = $_REQUEST['pwd']; -$dest = $_REQUEST['dest']; -$enabled = $_REQUEST['enabled']; -$ndomain = $_REQUEST['new_domain']; -$orderby = $_REQUEST['orderby']; -$sel = $_GET['sel']; +$do = array_key_exists('do', $_REQUEST) ? $_REQUEST['do'] : false; +$id = array_key_exists('id', $_REQUEST) ? $_REQUEST['id'] : false; +$new = array_key_exists('new', $_REQUEST) ? $_REQUEST['new'] : false; +$del = array_key_exists('del', $_REQUEST) ? $_REQUEST['del'] : false; +$chg = array_key_exists('chg', $_REQUEST) ? $_REQUEST['chg'] : false; +$ack = array_key_exists('ack', $_REQUEST) ? $_REQUEST['ack'] : false; +$domain = array_key_exists('domain' , $_REQUEST) ? $_REQUEST['domain' ] : false; +$source = array_key_exists('source' , $_REQUEST) ? $_REQUEST['source' ] : false; +$usr = array_key_exists('usr' , $_REQUEST) ? $_REQUEST['usr' ] : false; +$pwd = array_key_exists('pwd' , $_REQUEST) ? $_REQUEST['pwd' ] : false; +$dest = array_key_exists('dest' , $_REQUEST) ? $_REQUEST['dest' ] : false; +$enabled = array_key_exists('enabled', $_REQUEST) ? $_REQUEST['enabled'] : false; +$ndomain = array_key_exists('ndomain', $_REQUEST) ? $_REQUEST['ndomain'] : false; +$orderby = array_key_exists('orderby', $_REQUEST) ? $_REQUEST['orderby'] : false; +$sel = array_key_exists('sel' , $_REQUEST) ? $_REQUEST['sel' ] : false; -$fetch_list = mysql_query("SELECT * FROM `" . $tbl_domains . "` ORDER BY `name` ASC"); +$fetch_list = $cid->query("SELECT * FROM `domains` ORDER BY `domain` ASC"); $orderbysql = $orderby ? ' ORDER BY '.$orderby.';' : ';'; -$selectsql = $sel ? ' AND ' . $tbl_domains . '.id = '.$sel : ''; +$selectsql = $sel ? ' AND domain_id = '.$sel : ''; ## Query Aliases ## -$sql[1] = "SELECT " . $tbl_aliases . ".id, " . $tbl_aliases . ".source, " . $tbl_domains . ".name, " . $tbl_aliases . ".destination, " . $tbl_aliases . ".enabled FROM " . $tbl_aliases . ", " . $tbl_domains . " WHERE " . $tbl_aliases . ".domain_id = " . $tbl_domains . ".id".$selectsql.$orderbysql; +$sql[1] = "SELECT alias_id, source_username, source_domain, destinations, enabled FROM view_aliases"; +if ($sel) $sql[1] .= " WHERE domain_id=" . ($sel+0); +$sql[1] .= $orderbysql; ## Query Domains ## -$sql[2] = "SELECT * FROM " . $tbl_domains . $orderbysql; +$sql[2] = "SELECT * FROM domains " . $orderbysql; ## Query Users ## -$sql[3] = "SELECT " . $tbl_users . ".id, " . $tbl_domains . ".name, " . $tbl_users . ".user FROM " . $tbl_users . ", " . $tbl_domains . " WHERE " . $tbl_users . ".domain_id = " . $tbl_domains . ".id".$selectsql.$orderbysql; +$sql[3] = "SELECT account_id, user, domain FROM view_accounts"; +if ($sel) $sql[3] .= " WHERE domain_id=" . ($sel+0); +$sql[3] .= $orderbysql; ## Insert Alias Query ## -if(($domain <> "") && ($dest <> "")) $sql[4] = "INSERT INTO " . $tbl_aliases . " (domain_id, source, destination, enabled) VALUES ('$domain','$source','$dest',1);"; +if(($domain <> "") && ($dest <> "")) $sql[4] = "INSERT INTO aliases (source_username, source_domain, destination, enabled) VALUES ('$source','$domain','$dest',1);"; ## Insert Domain Query ## if($ndomain <> "") { - $sql0 = "SELECT name FROM " . $tbl_domains . " WHERE name = '$ndomain';"; + $sql0 = "SELECT domain FROM domains WHERE domain = '$ndomain';"; $qr = query($sql0); - if(mysql_num_rows($qr) < 1) $sql[5] = "INSERT INTO " . $tbl_domains . " (name) VALUES ('$ndomain');"; + if($qr->num_rows() < 1) $sql[5] = "INSERT INTO domains (domain) VALUES ('$ndomain');"; } ## Insert User Query ## if(($domain <> "") && ($usr <> "") && ($pwd <> "")) { - $sql1 = "SELECT domain_id, user, password FROM " . $tbl_users . " WHERE domain_id = $domain AND user = '$usr' AND password = '".pw_encode($pwd)."';"; + $sql1 = "SELECT domain_id, user, password FROM accounts WHERE domain = $domain AND username = '$usr';"; $qr = query($sql1); - if(mysql_num_rows($qr) < 1) $sql[6] = "INSERT INTO " . $tbl_users . " (domain_id, user, password) VALUES ('$domain','$usr','".pw_encode($pwd)."'); -"; + if($qr->num_rows() < 1) $sql[6] = "INSERT INTO accounts (domain, username, password, enabled) VALUES ('$domain','$usr','".pw_encode($pwd)."',1);"; } ## Delete Query ## -if(($del <> "") && ($id <> "") && ($ack == retAl('Yes'))) { +if(($del <> "") && ($id <> "") && ($ack == 'Yes')) { switch ($del) { - case 1: $tbl = $tbl_aliases; break; - case 2: $tbl = $tbl_domains; break; - case 3: $tbl = $tbl_users; break; + case 1: $sql = "DELETE FROM aliases WHERE id = $id;"; break; + case 2: $sql = "DELETE FROM domains WHERE id = $id;"; break; + case 3: $sql = "DELETE FROM accounts WHERE id = $id;"; break; } - $sql = "DELETE FROM ".$tbl." WHERE id = $id;"; + $qry = query($sql); } ## Update Alias Query## -if(($chg == 1) && ($id <> "") && ($domain <> "") && ($dest <> "") && ($ack == retAl('Save'))) { - $sql = "UPDATE ".$tbl_aliases." SET domain_id = '".$domain."', source = '".$source."', destination = '".$dest."', enabled = '".$enabled."' WHERE id = ".$id.";"; +if(($chg == 1) && ($id <> "") && ($domain <> "") && ($dest <> "") && ($ack == 'Save')) { + $sql = "UPDATE aliases SET source_domain = '".$domain."', source_username = '".$source."', destination = '".$dest."', enabled = '".$enabled."' WHERE id = ".$id.";"; $qry = query($sql); } ## Update Domain Query ## -if(($chg == 2) && ($id <> "") && ($domain <> "") && ($ack == retAl('Save'))) { - $sql = "UPDATE ".$tbl_domains." SET name='".$domain."' WHERE id = ".$id.";"; +if(($chg == 2) && ($id <> "") && ($domain <> "") && ($ack == 'Save')) { + $sql = "UPDATE domains SET domain='".$domain."' WHERE id = ".$id.";"; $qry = query($sql); } ## Update User Query ## -if(($chg == 3) && ($id <> "") && ($domain <> "") && ($usr <> "") && ($pwd <> "") && ($ack == retAl('Save'))) { - $sql = "UPDATE ".$tbl_users." SET domain_id ='".$domain."', user ='".$usr."', password = '".pw_encode($pwd)."' WHERE id = ".$id.";"; +if(($chg == 3) && ($id <> "") && ($domain <> "") && ($usr <> "") && ($pwd <> "") && ($ack == 'Save')) { + $sql = "UPDATE accounts SET domain ='".$domain."', username ='".$usr."', password = '".pw_encode($pwd)."' WHERE id = ".$id.";"; $qry = query($sql); } -if($do) $qry = query($sql[$do]); -if($qry) $result = true; -else $result = false; +if($do) { $qry = query($sql[$do]); + if($qry) $result = true; + else $result = false; +} + + + /* Code */ ?> @@ -319,10 +253,10 @@ a:hover, a:focus { var inp = document.getElementById("pwdInput") if (inp.type == 'password') { inp.type = 'text'; - beh.innerHTML = ''; + beh.innerHTML = ''; } else { inp.type = 'password'; - beh.innerHTML = ''; + beh.innerHTML = ''; } }, setDomain: function(domain) { @@ -338,17 +272,17 @@ a:hover, a:focus {