Kleinere Bugfixes und Maillistenadministration (über virtualalias) hinzugefügt.
This commit is contained in:
parent
54cd16953b
commit
cb81230798
|
@ -8,3 +8,4 @@ dbname =
|
|||
mailfolderpath =
|
||||
maildirencryption =
|
||||
captcha =
|
||||
allowregistration =
|
|
@ -77,6 +77,7 @@ if ($_SESSION['log'] == 1 and $_SESSION['admin'] == 1) {
|
|||
echo '</select></label>
|
||||
<input type="submit" name="submit" value="ENTFERNEN"/>
|
||||
</form>
|
||||
<a href="bin/maillistsettings.php"><h3>Maillisten Einstellungen</h3></a>
|
||||
</body>
|
||||
</html>';
|
||||
exit;
|
||||
|
|
|
@ -22,7 +22,7 @@ try {
|
|||
echo 'Connection failed';
|
||||
}
|
||||
session_start();
|
||||
if ($_SESSION['log'] == 1) {
|
||||
if ($_SESSION['log'] == 1 && $_SESSION['admin']) {
|
||||
$mailuserID = $_POST['mailuserID'];
|
||||
$eintrag = "UPDATE `mailserver`.`virtual_users` SET `active`='1' WHERE `id` LIKE :mailuserID";
|
||||
$sth = $dbh->prepare($eintrag);
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/* Mailadminscript
|
||||
Copyright (C) 2019 Paul Schürholz contact AT roteserver . de
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
$config = parse_ini_file('../../private/config.ini');
|
||||
try {
|
||||
$dbh = new PDO('mysql:host=' . $config['dbservername'] . ';dbname=' . $config['dbname'], $config['dbusername'], $config['dbpassword'], array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
|
||||
} catch (PDOException $e) {
|
||||
//echo 'Connection failled: '. $e->getMessage(); // Errormessage kann Sicherheitsrelevantes enthalen
|
||||
echo 'Connection failed';
|
||||
}
|
||||
session_start();
|
||||
if ($_SESSION['log'] == 1 && $_SESSION['admin']) {
|
||||
$eintrag = "INSERT INTO `virtual_aliases` (`domain_id`, `source`, `destination`, `owner`, `private`, `name`) VALUES (1, :source, :destination, :owner, :private, :name)"; // Aliasdaten in MailServer DB eintragen
|
||||
$sth = $dbh->prepare($eintrag);
|
||||
$sth->execute(array('source' => $_POST['maillistsource'], 'destination' => $_POST['maillistadresses'], 'owner' => $_POST['maillistownerid'], 'private' => $_POST['listprivate'], 'name' => $_POST['maillistname']));
|
||||
}
|
||||
header("Location: maillistsettings.php");
|
||||
exit;
|
||||
?>
|
|
@ -42,7 +42,6 @@ if ($_SESSION['log'] == 1) {
|
|||
$eintrag = "UPDATE `virtual_users` SET `password` = :newmailpwhashed WHERE `email` LIKE :mailusername";
|
||||
$sth = $dbh->prepare($eintrag);
|
||||
$sth->execute(array('newmailpwhashed' => $newmailpwhashed, 'mailusername' => $mailusername));
|
||||
$eintragen = mysqli_query($link, $eintrag);
|
||||
if ($config['maildirencryption']) {
|
||||
if ($_POST['forcekeyregen']) {
|
||||
exec('sudo -u vmail /usr/bin/doveadm -o stats_writer_socket_path= -o plugin/mail_crypt_private_password=' . escapeshellarg($newmailpw) . ' mailbox cryptokey generate -U -f -u ' . escapeshellarg($mailusername));
|
||||
|
|
|
@ -22,6 +22,7 @@ try {
|
|||
echo 'Connection failed';
|
||||
}
|
||||
session_start();
|
||||
if ($config['allowregistration']) {
|
||||
if (!isset($_SESSION['log']) or $_SESSION['log'] != 1) {
|
||||
echo' <h3>Emailadresse hinzufügen:</h3>
|
||||
';
|
||||
|
@ -56,4 +57,8 @@ if (!isset($_SESSION['log']) or $_SESSION['log'] != 1) {
|
|||
else {
|
||||
header("Location: ../settings.php");
|
||||
}
|
||||
}
|
||||
else {
|
||||
header("Location: ../index.php");
|
||||
}
|
||||
?>
|
|
@ -21,6 +21,8 @@ try {
|
|||
//echo 'Connection failled: '. $e->getMessage(); // Errormessage kann Sicherheitsrelevantes enthalen
|
||||
echo 'Connection failed';
|
||||
}
|
||||
if ($config['allowregistration']) {
|
||||
|
||||
function createmailuser($newmailusername, $newmailpw, $newmailpwrep, $admin) {
|
||||
global $dbh;
|
||||
global $config;
|
||||
|
@ -35,6 +37,11 @@ function createmailuser($newmailusername, $newmailpw, $newmailpwrep, $admin) {
|
|||
$pattern[7] = 'webmaster';
|
||||
$newmailusername = str_replace($pattern, "", $newmailusername);
|
||||
$newmailusernamefull = $newmailusername . '@roteserver.de';
|
||||
if (!filter_var($newmailuserfull, FILTER_VALIDATE_EMAIL)) {
|
||||
// nicht ordentliche EmailAdresse
|
||||
header("Location: createmailpre.php?wrongsymbols=1");
|
||||
exit;
|
||||
}
|
||||
if(strpos($newmailusername, "'") !== false) {
|
||||
if ($admin == 1) {
|
||||
header("Location: ../admin.php?fehler=Falsche Zeichen in Adresse");
|
||||
|
@ -135,4 +142,8 @@ elseif ($_POST['captchacode'] != $_SESSION['captchacode']) {
|
|||
exit;
|
||||
}
|
||||
header("Location: ../index.php");
|
||||
}
|
||||
else {
|
||||
header("Location: ../index.php");
|
||||
}
|
||||
?>
|
|
@ -22,7 +22,7 @@ try {
|
|||
echo 'Connection failed';
|
||||
}
|
||||
session_start();
|
||||
if ($_SESSION['log'] == 1) {
|
||||
if ($_SESSION['log'] == 1 && $_SESSION['admin']) {
|
||||
$mailuserID = $_POST['mailuserID'];
|
||||
$eintrag = "UPDATE `mailserver`.`virtual_users` SET `active`='0' WHERE `id` LIKE :mailuserID";
|
||||
$sth = $dbh->prepare($eintrag);
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/* Mailadminscript
|
||||
Copyright (C) 2019 Paul Schürholz contact AT roteserver . de
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
$config = parse_ini_file('../../private/config.ini');
|
||||
try {
|
||||
$dbh = new PDO('mysql:host=' . $config['dbservername'] . ';dbname=' . $config['dbname'], $config['dbusername'], $config['dbpassword'], array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
|
||||
} catch (PDOException $e) {
|
||||
//echo 'Connection failled: '. $e->getMessage(); // Errormessage kann Sicherheitsrelevantes enthalen
|
||||
echo 'Connection failed';
|
||||
}
|
||||
session_start();
|
||||
if ($_SESSION['log'] == 1 && $_SESSION['admin']) {
|
||||
$eintrag = "DELETE FROM `mailserver`.`virtual_aliases` WHERE `id` LIKE :maillistid";
|
||||
$sth = $dbh->prepare($eintrag);
|
||||
$sth->execute(array(':maillistid' => $_GET['dellistid']));
|
||||
header("Location: maillistsettings.php");
|
||||
exit;
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
/* Mailadminscript
|
||||
Copyright (C) 2019 Paul Schürholz contact AT roteserver . de
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
$config = parse_ini_file('../../private/config.ini');
|
||||
try {
|
||||
$dbh = new PDO('mysql:host=' . $config['dbservername'] . ';dbname=' . $config['dbname'], $config['dbusername'], $config['dbpassword'], array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
|
||||
} catch (PDOException $e) {
|
||||
//echo 'Connection failled: '. $e->getMessage(); // Errormessage kann Sicherheitsrelevantes enthalen
|
||||
echo 'Connection failed';
|
||||
}
|
||||
session_start();
|
||||
if ($_SESSION['log'] == 1 && $_SESSION['admin']) {
|
||||
$eintrag = "UPDATE `virtual_aliases` SET `source` = :newsource, `destination` = :newdestination, `owner` = :newowner, `private` = :newprivate, `name` = :newname WHERE `id` LIKE :editlistid";
|
||||
$sth = $dbh->prepare($eintrag);
|
||||
$sth->execute(array('newsource' => $_POST['newlistsource'], 'newdestination' => $_POST['newlistdestination'], 'newowner' => $_POST['newlistownerid'], 'newprivate' => $_POST['newlistprivate'], 'newname' => $_POST['newlistname'], 'editlistid' => $_POST['editlistid']));
|
||||
header("Location: maillistsettings.php");
|
||||
exit;
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,67 @@
|
|||
<?php
|
||||
/* Mailadminscript
|
||||
Copyright (C) 2019 Paul Schürholz contact AT roteserver . de
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
$config = parse_ini_file('../../private/config.ini');
|
||||
try {
|
||||
$dbh = new PDO('mysql:host=' . $config['dbservername'] . ';dbname=' . $config['dbname'], $config['dbusername'], $config['dbpassword'], array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
|
||||
} catch (PDOException $e) {
|
||||
//echo 'Connection failled: '. $e->getMessage(); // Errormessage kann Sicherheitsrelevantes enthalen
|
||||
echo 'Connection failed';
|
||||
}
|
||||
session_start();
|
||||
if ($_SESSION['log'] == 1 && $_SESSION['admin']) {
|
||||
echo '<html>
|
||||
<head>
|
||||
<title>Mailliste editieren</title>
|
||||
</head>
|
||||
<body>
|
||||
<a href="maillistsettings.php"><h3>Zurück zur Maillistoberfläche (Editieren abbrechen)</h3></a><br>';
|
||||
$abfrage = "SELECT `source`, `destination`, `owner`, `private`, `name` FROM `virtual_aliases` WHERE `id` LIKE :editlistid";
|
||||
$result = $dbh->prepare($abfrage);
|
||||
$result->execute(array('editlistid' => $_GET['editlistid']));
|
||||
while ($lists = $result->fetch()) {
|
||||
echo'
|
||||
<form name="editlist" method=POST action="editlist.php">
|
||||
<label>Listenname:<input name="newlistname" type="text" placeholder="Listenname" value="' . $lists['name'] . '"/></label>
|
||||
<label>Listenadresse:<input name="newlistsource" type="text" placeholder="Listenadresse" value="' . $lists['source'] . '"/></label>
|
||||
<label>Listenbesitzer:<select name="newlistownerid">';
|
||||
$abfrage = "SELECT `id`, `email` FROM `virtual_users`";
|
||||
$result = $dbh->query($abfrage);
|
||||
while ($emails = $result->fetch()) {
|
||||
echo '<option value="' . $emails['id'] . '" ';
|
||||
if ($emails['id'] == $lists['owner']) echo ' selected';
|
||||
echo '>' . $emails['email'] . '</option>';
|
||||
}
|
||||
echo '</select></label><br>
|
||||
<label>Listenempfänger (durch Leerzeichen getrennt):<br><textarea rows="4" cols="50" name="newlistdestination">' . $lists['destination'] . '</textarea></label>
|
||||
<label>Listensicherheitseinstellungen:<select name="newlistprivate">
|
||||
<option value="0"';
|
||||
if ($lists['private'] == 0) echo ' selected';
|
||||
echo '>0 (Jeder kann Mails an die Liste schicken)</option>
|
||||
<option value="1"';
|
||||
if ($lists['private'] == 1) echo ' selected';
|
||||
echo '>1 (Mitglieder der Liste können Mails an die Liste schicken)</option>
|
||||
<option value="2"';
|
||||
if ($lists['private'] == 2) echo ' selected';
|
||||
echo '>2 (Der Besitzer der Liste kann Mails an die Liste schicken)</option>
|
||||
</select></label><br>
|
||||
<input type="hidden" name="editlistid" value="' . $_GET['editlistid'] . '"/>
|
||||
<input type="submit" name="submit" value="Editieren"/>
|
||||
</body>
|
||||
</html>';
|
||||
}
|
||||
}
|
||||
?>
|
|
@ -0,0 +1,67 @@
|
|||
<?php
|
||||
/* Mailadminscript
|
||||
Copyright (C) 2019 Paul Schürholz contact AT roteserver . de
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
$config = parse_ini_file('../../private/config.ini');
|
||||
try {
|
||||
$dbh = new PDO('mysql:host=' . $config['dbservername'] . ';dbname=' . $config['dbname'], $config['dbusername'], $config['dbpassword'], array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
|
||||
} catch (PDOException $e) {
|
||||
//echo 'Connection failled: '. $e->getMessage(); // Errormessage kann Sicherheitsrelevantes enthalen
|
||||
echo 'Connection failed';
|
||||
}
|
||||
session_start();
|
||||
if ($_SESSION['log'] == 1 && $_SESSION['admin']) {
|
||||
echo '<html>
|
||||
<head>
|
||||
<title>Maillist Einstellung</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Maillinglisten Einstellungen</h2>
|
||||
<a href="../admin.php"><h3>Zurück zur Adminoberfläche</h3></a><br>
|
||||
<form name="addmaillist" method=POST action="addmaillist.php">
|
||||
<label>Listenname:<input name="maillistname" type="text" placeholder="Listenname"/></label>
|
||||
<label>Listenadresse:<input name="maillistsource" type="text" placeholder="Listenadresse"/></label>
|
||||
<label>Listenbesitzer:<select name="maillistownerid">';
|
||||
$abfrage = "SELECT `id`, `email` FROM `virtual_users`";
|
||||
$result = $dbh->query($abfrage);
|
||||
while ($emails = $result->fetch()) {
|
||||
echo '<option value="' . $emails['id'] . '">' . $emails['email'] . '</option>';
|
||||
}
|
||||
echo '</select></label><br>
|
||||
<label>Listenempfänger (durch Leerzeichen getrennt):<br><textarea rows="4" cols="50" name="maillistadresses"></textarea></label>
|
||||
<label>Listensicherheitseinstellungen:<select name="listprivate">
|
||||
<option value="0">0 (Jeder kann Mails an die Liste schicken)</option>
|
||||
<option value="1">1 (Mitglieder der Liste können Mails an die Liste schicken)</option>
|
||||
<option value="2">2 (Der Besitzer der Liste kann Mails an die Liste schicken)</option>
|
||||
</select></label><br>
|
||||
<input type="submit" name="submit" value="Hinzufügen"/>
|
||||
<br>
|
||||
<h3>Bestehende Listen:</h3>
|
||||
';
|
||||
$abfrage = "SELECT `id`, `source`, `destination`, `owner`, `private`, `name` FROM `virtual_aliases`";
|
||||
$result = $dbh->query($abfrage);
|
||||
echo '<table style="text-align: center; vertical-align: middle;"><tr><th>Listenname</th><th>Listenadresse</th><th>Listenempfänger</th><th>Listenbesitzer</th><th>Listensicherheit</th><th>Optionen</th></tr>';
|
||||
while ($lists = $result->fetch()) {
|
||||
$abfrage2 = "SELECT `email` FROM `virtual_users` WHERE `id` LIKE :ownerid";
|
||||
$sth = $dbh->prepare($abfrage2);
|
||||
$sth->execute(array('ownerid' => $lists['owner']));
|
||||
$result2 = $sth->fetchAll();
|
||||
echo '<tr><td>' . $lists['name'] . '</td><td>' . $lists['source'] . '</td><td>' . $lists['destination'] . '</td><td>' . $result2[0]['email'] . '</td><td>' . $lists['private'] . '</td><td><a href="dellist.php?dellistid=' . $lists['id'] . '">Löschen</a><br><a href="editlistpre.php?editlistid=' . $lists['id'] . '">Editieren</a></td></tr>';
|
||||
}
|
||||
echo '</table>';
|
||||
echo '</body>
|
||||
</html>';
|
||||
}
|
||||
?>
|
|
@ -15,6 +15,7 @@
|
|||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
session_start();
|
||||
$config = parse_ini_file('../private/config.ini');
|
||||
if (!isset($_SESSION['log']) OR $_SESSION['log'] != 1) {
|
||||
echo '<html>
|
||||
<head>
|
||||
|
@ -29,9 +30,12 @@ if (!isset($_SESSION['log']) OR $_SESSION['log'] != 1) {
|
|||
<label>Nutzername<input name="username" type="text"/></label>
|
||||
<label>Passwort<input name="password" type="password"/></label>
|
||||
<input name="Submit" type="submit" value="Einloggen"/>
|
||||
</form>
|
||||
<h3>Neues Konto erstellen:</h3>
|
||||
<a href="bin/createmailpre.php"><button>Kontoerstellung</button></a>
|
||||
</form>';
|
||||
if ($config['allowregistration']) {
|
||||
echo '<h3>Neues Konto erstellen:</h3>
|
||||
<a href="bin/createmailpre.php"><button>Kontoerstellung</button></a>';
|
||||
}
|
||||
echo '
|
||||
</body>
|
||||
</html>
|
||||
';
|
||||
|
|
Loading…
Reference in New Issue