Initial commit
This commit is contained in:
commit
529efd53a1
140 changed files with 10310 additions and 0 deletions
225
mail-adduser-fwd.php
Normal file
225
mail-adduser-fwd.php
Normal file
|
|
@ -0,0 +1,225 @@
|
|||
<?php
|
||||
|
||||
# vers. 20120625-01
|
||||
# CREATE TABLE FWDUSER (email varchar(100) primary key, fwdaddr varchar(100), domain varchar(100));
|
||||
|
||||
include_once("./include/cfg-petar.php");
|
||||
include_once("./include/cfg-mail.php");
|
||||
include_once("./include/layout.php");
|
||||
include_once("./include/users.php");
|
||||
include_once("./include/db.php");
|
||||
|
||||
?>
|
||||
|
||||
<script data-require="jquery" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
|
||||
<script src="./duplicate_fill.js"></script>
|
||||
|
||||
<!-- ------------------------------------------------------------------------ -->
|
||||
|
||||
<?php require 'include/inc-header.php';?>
|
||||
|
||||
<!-- ------------------------------------------------------------------------ -->
|
||||
|
||||
<?php require 'include/inc-top.php';?>
|
||||
|
||||
<!-- ------------------------------------------------------------------------ -->
|
||||
|
||||
|
||||
<tr bgcolor=navy align=center>
|
||||
<td colspan=4><font color=yellow><b>Email</b></font></td>
|
||||
|
||||
<?php
|
||||
|
||||
echo "<tr align=left valign=top>".
|
||||
"<td colspan=4>";
|
||||
|
||||
|
||||
$_REQUEST["step"] = $_REQUEST["step"] ?? '';
|
||||
$_REQUEST["fwdaddr1"] = $_REQUEST["fwdaddr1"] ?? '';
|
||||
$_REQUEST["fwdaddr2"] = $_REQUEST["fwdaddr2"] ?? '';
|
||||
$_REQUEST["email"] = $_REQUEST["email"] ?? '';
|
||||
|
||||
if (!$_REQUEST["step"]){
|
||||
|
||||
$sql="SELECT domain FROM FWDUSER group by domain order by domain";
|
||||
$result=$dbh->query($sql);
|
||||
$rows=$result->fetchAll();
|
||||
|
||||
echo "<b>email in nuovo dominio</b>".
|
||||
"<FORM NAME=ndomain ACTION=".$_SERVER["PHP_SELF"]." METHOD=POST>".
|
||||
"[ <a href='javascript:document.ndomain.submit();'>Inizializza il dominio</a> ]: ".
|
||||
"<INPUT TYPE=TEXT NAME=domain SIZE=40 MAXLENGTH=40>".
|
||||
" ".
|
||||
"<INPUT TYPE=HIDDEN name=step value=1></FORM>";
|
||||
|
||||
if ( count($rows) > 0 ) {
|
||||
|
||||
echo "<b>email in dominio esistente</b>".
|
||||
"<FORM NAME=edomain ACTION=".$_SERVER["PHP_SELF"]." METHOD=POST>".
|
||||
"[ <a href='javascript:document.edomain.submit();'>Crea nuova email nel seguente dominio</a> ]:".
|
||||
"<select name=domain>";
|
||||
|
||||
foreach($rows as $row){
|
||||
echo "<option value=".$row["domain"].">".$row["domain"]."</option>";
|
||||
}
|
||||
|
||||
echo "</select>".
|
||||
" ".
|
||||
"<INPUT TYPE=HIDDEN name=step value=1></FORM>".
|
||||
"<p>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($_REQUEST["step"] == "1"){
|
||||
|
||||
if ($_REQUEST["domain"]){
|
||||
|
||||
$_REQUEST["domain"] = preg_replace("/[^A-Za-z0-9.-]/", '', $_REQUEST["domain"]);
|
||||
|
||||
echo "Ultima email del dominio: <strong>".$_REQUEST["domain"]."</strong>".
|
||||
"<br><FORM NAME=creamail ACTION=".$_SERVER["PHP_SELF"]." METHOD=POST>";
|
||||
|
||||
echo "<tr bgcolor=navy>".
|
||||
"<td><font color=yellow>nr".
|
||||
"<td><font color=yellow>email".
|
||||
"<td><font color=yellow>fwd".
|
||||
"<td><font color=yellow>domain";
|
||||
|
||||
# Contiamo quante email per prenderne poi le ultime "1".
|
||||
$sql="SELECT email FROM FWDUSER where domain = '".$_REQUEST["domain"]."'";
|
||||
$result=$dbh->query($sql);
|
||||
$rows=$result->fetchAll();
|
||||
|
||||
$LIMIT = "LIMIT ".(count($rows) - 1).",30";
|
||||
|
||||
# Troviamo le ultime "1" email del dominio
|
||||
|
||||
$sql = "SELECT email,fwdaddr,domain FROM FWDUSER where domain = '".$_REQUEST["domain"]."' order by email ".$LIMIT;
|
||||
$result=$dbh->query($sql);
|
||||
$rows=$result->fetchAll();
|
||||
$index=0;
|
||||
|
||||
if ( count($rows) > 0) {
|
||||
|
||||
foreach($rows as $row){
|
||||
$index += 1;
|
||||
echo "<tr>".
|
||||
"<td width=5%>".$index.
|
||||
"<td width=46%>".$row["email"].
|
||||
"<td width=23%>".$row["fwdaddr"].
|
||||
"<td width=23%>".$row["domain"];
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
echo "<tr>".
|
||||
"<td colspan=4 align=center><font color=red>no email found</font>";
|
||||
|
||||
}
|
||||
|
||||
echo "<tr bgcolor=yellow>".
|
||||
"<td colspan=4>".
|
||||
"Dati nuovo utente:".
|
||||
"<p>".
|
||||
"email internet: ";
|
||||
|
||||
?>
|
||||
|
||||
<INPUT id='ip1' onkeyup='updateOther(this);'
|
||||
TYPE='TEXT' NAME='email' SIZE='30' MAXLENGTH='50'>
|
||||
|
||||
<?php
|
||||
|
||||
echo
|
||||
"@".$_REQUEST["domain"].
|
||||
" ".
|
||||
" - - >> ".
|
||||
"alias o email di inoltro: <INPUT id=ip2 TYPE=TEXT NAME=fwdaddr1 SIZE=30 MAXLENGTH=50>".
|
||||
" @ ".
|
||||
"<select name=fwdaddr2>".
|
||||
"<option value=".$def_fwd_server.">".$def_fwd_server."</option>".
|
||||
"<option value=''>alias locale</option>".
|
||||
"</select>".
|
||||
"<p>".
|
||||
"<br><strong><font color=red>email</font></strong>:<br>".
|
||||
"<ul>".
|
||||
"<li><strong>la prima parte della mail</strong> (il dominio e' gia' aggiunto in automatico)".
|
||||
"<li><strong>*</strong> (per indicare un collettore)".
|
||||
"</ul>".
|
||||
"<p>".
|
||||
"<br><strong><font color=red>alias o email di inoltro</font></strong>:<br>".
|
||||
"<ul>".
|
||||
"<li><strong>una email completa diversa</strong>, es: diversa_email@differente_dominio.it<br>".
|
||||
"<li><strong>la prima parte della mail</strong> (il server di inoltro e' selezionato in automatico)".
|
||||
"<li><strong>un alias locale</strong> (selezionare apposita voce dal menu a tendina)".
|
||||
"</ul>".
|
||||
"<p>".
|
||||
" [ <a href='javascript:document.creamail.submit();'>crea questa email</a> ]".
|
||||
" ".
|
||||
" [ <a href='".$_SERVER["PHP_SELF"]."'>annulla</a> ]".
|
||||
"<INPUT TYPE=HIDDEN name=domain value=".$_REQUEST["domain"].">".
|
||||
"<INPUT TYPE=HIDDEN name=step value=2></FORM>".
|
||||
"</tr></table>";
|
||||
|
||||
} else { // $_REQUEST["domain"] = "";
|
||||
echo "<font color=red><b>Errore</b></font><p>".
|
||||
"Campo nuovo dominio vuoto".
|
||||
"<p><a href='javascript:history.back();'>Correzione</a>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($_REQUEST["step"] == "2"){
|
||||
|
||||
$_REQUEST["fwdaddr1"] = filter_var($_REQUEST["fwdaddr1"], FILTER_SANITIZE_EMAIL);
|
||||
if (filter_var($_REQUEST["fwdaddr1"], FILTER_VALIDATE_EMAIL) || ( $_REQUEST["fwdaddr2"] == '') ) {
|
||||
|
||||
$fwdaddr=strtolower($_REQUEST["fwdaddr1"]);
|
||||
|
||||
} else {
|
||||
|
||||
$fwdaddr=strtolower($_REQUEST["fwdaddr1"]."@".$_REQUEST["fwdaddr2"]);
|
||||
|
||||
}
|
||||
|
||||
$email=strtolower($_REQUEST["email"]."@".$_REQUEST["domain"]);
|
||||
$errore=false;
|
||||
|
||||
$sql = "SELECT email FROM FWDUSER where email = '".$email."'";
|
||||
$result=$dbh->query($sql);
|
||||
$rows=$result->fetchAll();
|
||||
|
||||
if ( count($rows) > 0 ) {
|
||||
$errore .= "email $email presente<p>";
|
||||
}
|
||||
|
||||
if (strlen($_REQUEST["fwdaddr1"]) < "3" && ($_REQUEST["fwdaddr1"] !="*") ){
|
||||
$errore .= "email <b>".$email."</b> troppo corta<p>";
|
||||
}
|
||||
|
||||
if ($errore){
|
||||
|
||||
echo "<font color=red><b>Errore</b></font><p>".
|
||||
$errore.
|
||||
"<p><a href='javascript:history.back();'>Correzione</a>";
|
||||
|
||||
} else {
|
||||
|
||||
$sql = "insert into FWDUSER (email,fwdaddr,domain) VALUES ('".$email."','".$fwdaddr."','".$_REQUEST["domain"]."')";
|
||||
$count = $dbh->exec($sql);
|
||||
|
||||
echo "<p><FONT COLOR=green>MAIL DB ... OK</font><br>".
|
||||
"[ <a href=mail-restart.sh>Sincronizza</a> ] o aspetta 2s per la procedura automatica";
|
||||
|
||||
echo '<meta http-equiv="refresh" content="2;url=mail-restart.php" />';
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<!-- ------------------------------------------------------------------------ -->
|
||||
|
||||
<?php require 'include/inc-footer.php';?>
|
||||
|
||||
<!-- ------------------------------------------------------------------------ -->
|
||||
Loading…
Add table
Add a link
Reference in a new issue