petar.company/mail-users-fwd.php

226 lines
6 KiB
PHP
Raw Normal View History

2025-03-01 00:58:18 +01:00
<?php
# vers. 20120622-01
# email,fwdaddr,domain
include_once("./include/cfg-petar.php");
include_once("./include/layout.php");
include_once("./include/users.php");
include_once("./include/db.php");
include_once("./include/cfg-mail.php");
?>
<!-- ------------------------------------------------------------------------ -->
<?php require 'include/inc-header.php';?>
<!-- ------------------------------------------------------------------------ -->
<?php require 'include/inc-top.php';?>
<!-- ------------------------------------------------------------------------ -->
<tr bgcolor=navy align=center>
<td colspan=5><font color=yellow><b>Mail Users</b></font></td>
<tr>
<td align=left bgcolor=#dddddd colspan=5>
<FORM NAME=search ACTION=<?php echo $_SERVER["PHP_SELF"]; ?> METHOD=POST>
Parametri di filtro:
&nbsp; [ <a href=<?php echo $_SERVER["PHP_SELF"]; ?>>Reset to default</a> ]
&nbsp; [ <a href='javascript:document.search.submit();'>Inizia ricerca </a> ]
<p>
<select name=campo>
<option value=email>email</option>
<option value=fwdaddr>fwdaddr</option>
<option value=domain>domain</option>
</select>
&nbsp;
<select name=relazione>
<option value=contiene>contiene</option>
<option value=noncontiene>non contiene</option>
<option value=uguale>uguale</option>
<option value=diverso>diverso</option>
<option value=inizia>inizia</option>
<option value=noninizia>non inizia</option>
<option value=finisce>finisce</option>
<option value=nonfinisce>non finisce</option>
</select>
&nbsp;
<INPUT TYPE=TEXT NAME=filter SIZE=18 MAXLENGTH=18>
&nbsp; ordina per :
<select name=sort>
<option value=email>email</option>
<option value=domain>domain</option>
<option value=fwdaddr>fwdaddr</option>
</select>
&nbsp; max :
<select name=nrmax>
<option value=10>10</option>
<option value=30>30</option>
<option value=50>50</option>
<option value=100>100</option>
<option value=300>300</option>
<option value=500>500</option>
<option value=1500>1500</option>
<option value=15000 selected>All</option>
</select>
<INPUT TYPE=HIDDEN name=step value=1>
</FORM>
<?php
$_REQUEST["step"] = $_REQUEST["step"] ?? '';
if ($_REQUEST["step"] == "1"){
switch ($_REQUEST["relazione"]) {
case "contiene":
$RELAZIONE = " like '%".$_REQUEST["filter"]."%'";
break;
case "noncontiene":
$RELAZIONE = " not like '%".$_REQUEST["filter"]."%'";
break;
case "uguale":
$RELAZIONE = " = '".$_REQUEST["filter"]."'";
break;
case "diverso":
$RELAZIONE = " != '".$_REQUEST["filter"]."'";
break;
case "inizia":
$RELAZIONE = " like '".$_REQUEST["filter"]."%'";
break;
case "noninizia":
$RELAZIONE = " not like '".$_REQUEST["filter"]."%'";
break;
case "finisce":
$RELAZIONE = " like '%".$_REQUEST["filter"]."'";
break;
case "nonfinisce":
$RELAZIONE = " not like '%".$_REQUEST["filter"]."'";
break;
}
if (!isset($_REQUEST["startrec"]) ) { $_REQUEST["startrec"]=0; }
$LIMIT = " limit ".$_REQUEST["startrec"].",".$_REQUEST["nrmax"];
$WHERE = " where ".$_REQUEST["campo"].$RELAZIONE;
$SORT = $_REQUEST["sort"];
$sql = "SELECT email, fwdaddr, domain FROM FWDUSER $WHERE order by $SORT $LIMIT";
$result=$dbh->query($sql);
$rows=$result->fetchAll();
if ( count($rows) == 0 ) {
echo "<tr bgcolor=yellow align=center>".
"<td colspan=5><font color=red><b>Nessun record trovato</b></font></td>";
} else {
echo "<tr bgcolor=navy align=center>".
"<td width=4%><font color=yellow><b>nr</b></font></td>".
"<td width=20%><font color=yellow><b>internet email</b></font></td>".
"<td width=22%><font color=yellow><b>indirizzo di inoltro</b></font></td>".
"<td width=22%><font color=yellow><b>dominio<b></font></td>".
"<td width=8%><font color=yellow><b>x<b></font></td>";
$index = 0;
foreach($rows as $row){
$index = $index+1;
if (($index % 2) == 0){
$bgcolor = $bgcolora;
} else {
$bgcolor = $bgcolorb;
}
echo "<tr align=left bgcolor=$bgcolor>".
"<td>".$index.
"<td><a href=".$_SERVER["PHP_SELF"]."?step=3&email=".$row['email'].">".
$row['email']."</a>".
"<td>".$row['fwdaddr'].
"<td>".$row['domain'].
"<td>";
if ($admin_option){
echo "<a href=".$_SERVER["PHP_SELF"]."?step=3&email=".$row['email'].">".
"<img alt='burn it' src=pics/cut.gif border=0></a>";
} else {
echo "-";
}
echo "</tr>";
}
}
}
if ($_REQUEST["step"] == "3"){
if (isset($_REQUEST["vapor"])) {
$sql = "DELETE from FWDUSER where email = '".$_REQUEST["email"]."'";
$result=$dbh->exec($sql);
echo "<p><FONT COLOR=red>Record felicemente cancellati: ".$result."</font>";
passthru("/usr/local/bin/sudo ".$mng_user." FWD ", $retval);
if ($retval != "0"){
echo "Script to generate MAIL FILES - Execution exited with status code:".$retval;
} else {
echo "<p><FONT COLOR=green>Mail DB files OK </font>";
}
$output = shell_exec("/usr/local/bin/sudo ".$mng_user." SRV ");
echo "<p>".
"<pre>$output</pre>".
"<p><FONT COLOR=green>SRV restart ... OK</font><br>";
echo "</td></tr>";
} else {
$sql = "SELECT email, fwdaddr FROM FWDUSER where email = '".($_REQUEST["email"] ?? '')."'";
$result=$dbh->query($sql);
$row=$result->fetch();
echo "<tr bgcolor=white align=center>".
"<td colspan=5><b>Sei sicuro di voler cancellare questo inoltro di posta: </b><p>".
"<font color=red><b>".$row["email"]."</b></font> --> ".$row["fwdaddr"]."? <p>".
"La tua risposta e' [ <a href=".$_SERVER["PHP_SELF"]."?step=3&vapor=yes&email=".$row["email"].">Si, vaporizziamola !</a> | ".
"&nbsp;&nbsp;<a href=".$_SERVER["PHP_SELF"].">No, oggi mi sento buono</a> ]";
}
}
?>
<!-- ------------------------------------------------------------------------ -->
<?php require 'include/inc-footer.php';?>
<!-- ------------------------------------------------------------------------ -->