Initial commit
This commit is contained in:
commit
529efd53a1
140 changed files with 10310 additions and 0 deletions
348
mail-users.php
Normal file
348
mail-users.php
Normal file
|
|
@ -0,0 +1,348 @@
|
|||
<?php
|
||||
|
||||
# vers. 20120622-01
|
||||
|
||||
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=8><font color=yellow><b>Mail Users</b></font></td>
|
||||
|
||||
<tr>
|
||||
<td align=left bgcolor=#dddddd colspan=8>
|
||||
|
||||
<FORM NAME=search ACTION=<?php echo $_SERVER["PHP_SELF"]; ?> METHOD=POST>
|
||||
Parametri di filtro:
|
||||
[ <a href=<?php echo $_SERVER["PHP_SELF"]; ?>>Reset to default</a> ]
|
||||
[ <a href='javascript:document.search.submit();'>Inizia ricerca </a> ]
|
||||
[ <a href=<?php echo $petar_webdir."/mail-adduser.php"; ?> >Nuova email</a> ]
|
||||
<p>
|
||||
|
||||
<select name=campo>
|
||||
<option value=email>email</option>
|
||||
<option value=login>login</option>
|
||||
<option value=domain>domain</option>
|
||||
</select>
|
||||
|
||||
|
||||
<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>
|
||||
|
||||
|
||||
<INPUT TYPE=TEXT NAME=filter SIZE=10 MAXLENGTH=18>
|
||||
|
||||
ordina per :
|
||||
<select name=sort>
|
||||
<option value=email>email</option>
|
||||
<option value=domain>domain</option>
|
||||
<option value=login>login</option>
|
||||
</select>
|
||||
|
||||
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 login, gid, shell, email, domain FROM mailuser $WHERE order by $SORT $LIMIT";
|
||||
$index=0;
|
||||
$result=$dbh->query($sql);
|
||||
$rows=$result->fetchAll();
|
||||
|
||||
if ( count($rows) == 0 ) {
|
||||
|
||||
echo "<tr bgcolor=yellow align=center>".
|
||||
"<td colspan=8><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>login</b></font></td>".
|
||||
"<td width=5%><font color=yellow><b>gid</b></font></td>".
|
||||
"<td width=10%><font color=yellow><b>shell</b></font></td>".
|
||||
"<td width=27%><font color=yellow><b>email</b></font></td>".
|
||||
"<td width=22%><font color=yellow><b>domain<b></font></td>".
|
||||
"<td width=8%><font color=yellow><b>x<b></font></td>";
|
||||
|
||||
|
||||
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=2&login=".$row['login'].">".
|
||||
$row['login']."</a>".
|
||||
"<td>".$row['gid'].
|
||||
"<td><a href=".$_SERVER["PHP_SELF"]."?step=5&login=".$row['login'].">".
|
||||
$row['shell']."</a>".
|
||||
"<td>".$row['email'].
|
||||
"<td>".$row['domain'].
|
||||
"<td>";
|
||||
|
||||
if ($admin_option){
|
||||
echo "<a href=".$_SERVER["PHP_SELF"]."?step=3&login=".$row['login'].">".
|
||||
"<img alt='burn it' src=pics/cut.gif border=0></a>";
|
||||
|
||||
echo "<a href=".$_SERVER["PHP_SELF"]."?step=2&login=".$row['login'].">".
|
||||
"<img alt='change pwd' src=pics/pwd.gif border=0></a>";
|
||||
|
||||
echo "<a href=".$_SERVER["PHP_SELF"]."?step=5&login=".$row['login'].">".
|
||||
"<img alt='change shell' src=pics/edit.gif border=0></a>";
|
||||
} else {
|
||||
echo "-";
|
||||
}
|
||||
|
||||
echo "</tr>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
### cambio pwd ###
|
||||
if ($_REQUEST["step"] == "2"){
|
||||
|
||||
$pwd=$_REQUEST["pwd"] ?? '';
|
||||
|
||||
if (isset($_REQUEST["vapor"])) {
|
||||
|
||||
if (strlen($_REQUEST["pwd"]) < "6"){
|
||||
|
||||
echo "<p><FONT color=red><b>Errore</b></FONT><p>".
|
||||
"La pwd <b>'".$_REQUEST["pwd"]."'</b> e' piu' corta di 6 caratteri".
|
||||
"<p>".
|
||||
"Nessuna modifica e' stata effettuata";
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
$sql = "update mailuser set pwd = '".crypt($pwd, '$6$')."' where login = '".$_REQUEST["login"]."'";
|
||||
$count = $dbh->exec($sql);
|
||||
|
||||
|
||||
|
||||
passthru("/usr/local/bin/sudo ".$mng_user." PWD ".$_REQUEST["login"]." ".$pwd, $retval);
|
||||
if ($retval != "0"){
|
||||
echo "Script to change PWD - Execution exited with status code:".$retval;
|
||||
} else {
|
||||
|
||||
echo "<p><FONT COLOR=red>Record felicemente modificati: ".$count.
|
||||
"<p><FONT COLOR=green>Nuova pwd: ".$pwd;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
$stringa = "1qaz2wsx3edc4rfv5tgb6yhn7ujm8ikolp";
|
||||
$pwd=substr(str_shuffle($stringa),0,6);
|
||||
|
||||
$sql = "SELECT email FROM mailuser where login = '".$_REQUEST["login"]."'";
|
||||
$result=$dbh->query($sql);
|
||||
$row=$result->fetch();
|
||||
|
||||
echo "<tr bgcolor=white align=center>".
|
||||
"<td colspan=7><b>Sei sicuro di voler cambiare la pwd di ".$_REQUEST["login"]." (".$row['email'].") ? </b>".
|
||||
"<font color=red><b>".$row["email"]."</b></font> ? <p>".
|
||||
"La nuova pwd suggerita e' : ".
|
||||
" ".
|
||||
"<FORM NAME=changepwd ACTION=".$_SERVER["PHP_SELF"]." METHOD=POST>".
|
||||
"<INPUT TYPE=TEXT NAME=pwd VALUE=".$pwd." SIZE=6 MAXLENGTH=15>".
|
||||
"<INPUT TYPE=HIDDEN NAME=step VALUE=2>".
|
||||
"<INPUT TYPE=HIDDEN NAME=vapor VALUE=yes>".
|
||||
"<INPUT TYPE=HIDDEN NAME=login VALUE=".$_REQUEST["login"].">".
|
||||
"<p>".
|
||||
"La tua risposta e' ".
|
||||
"[ <a href='javascript:document.changepwd.submit();'>".
|
||||
"Si, facciamolo impazzire !</a> | ".
|
||||
" <a href=".$_SERVER["PHP_SELF"].">No, che si tenga la vecchia !!</a> ]".
|
||||
"</FORM>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
### delete user ###
|
||||
if ($_REQUEST["step"] == "3"){
|
||||
|
||||
if (isset($_REQUEST["vapor"])) {
|
||||
|
||||
$sql = "DELETE from mailuser where login = '".$_REQUEST["login"]."'";
|
||||
$result=$dbh->exec($sql);
|
||||
|
||||
passthru("/usr/local/bin/sudo ".$mng_user." DEL ".$_REQUEST["login"], $retval);
|
||||
if ($retval != "0"){
|
||||
echo "Script to delete USER - Execution exited with status code:".$retval;
|
||||
} else {
|
||||
|
||||
echo "<p><FONT COLOR=red>DB record cancellati: ".$result."</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" />';
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
|
||||
$sql = "SELECT email, login FROM mailuser where login = '".$_REQUEST["login"]."'";
|
||||
$result=$dbh->query($sql);
|
||||
$row=$result->fetch();
|
||||
|
||||
echo "<tr bgcolor=white align=center>".
|
||||
"<td colspan=7><b>Sei sicuro di voler cancellare <font color=red>".$_REQUEST["login"]."</font> (".$row['email'].") ? </b>".
|
||||
"<p>".
|
||||
"La tua risposta e' [ <a href=".$_SERVER["PHP_SELF"]."?step=3&vapor=yes&login=".$row["login"].">Si, vaporizziamola !</a> | ".
|
||||
" <a href=".$_SERVER["PHP_SELF"].">No, oggi mi sento buono</a> ]";
|
||||
}
|
||||
}
|
||||
|
||||
####################################################################################
|
||||
|
||||
if ($_REQUEST["step"] == "5"){
|
||||
|
||||
$shell=$_REQUEST["shell"] ?? '';
|
||||
|
||||
if (isset($_REQUEST["vapor"])) {
|
||||
|
||||
if ($shell == "nologin"){
|
||||
$shell="/sbin/nologin";
|
||||
} else {
|
||||
$shell="/bin/sh";
|
||||
}
|
||||
|
||||
$sql = "update mailuser set shell = '".$shell."' where login = '".$_REQUEST["login"]."'";
|
||||
$count = $dbh->exec($sql);
|
||||
|
||||
passthru("/usr/local/bin/sudo ".$mng_user." SHL ".$_REQUEST["login"]." ".$shell, $retval);
|
||||
if ($retval != "0"){
|
||||
echo "Script to change SHELL - Execution exited with status code:".$retval;
|
||||
} else {
|
||||
echo "<p><FONT COLOR=red>Record felicemente modificati: ".$retval;
|
||||
"<p><FONT COLOR=green>Nuova shell: ".$shell;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
$sql = "SELECT shell,email FROM mailuser where login = '".$_REQUEST["login"]."'";
|
||||
$result=$dbh->query($sql);
|
||||
$row=$result->fetch();
|
||||
|
||||
echo "<tr bgcolor=white align=center>".
|
||||
"<td colspan=7><b>Sei sicuro di voler cambiare la shell di ".$_REQUEST["login"]." (".$row['email'].") ? </b>".
|
||||
"<br>Tipo di shell attualmente in uso <font color=red><b>".$row["shell"]."</b></font> ? <p>".
|
||||
"Possibili shell : ".
|
||||
" ".
|
||||
"<FORM NAME=changeshell ACTION=".$_SERVER["PHP_SELF"]." METHOD=POST>".
|
||||
"<SELECT NAME=shell>".
|
||||
"<OPTION value=nologin>nologin</option>".
|
||||
"<OPTION value=sh>sh</option>".
|
||||
"</SELECT>".
|
||||
"<INPUT TYPE=HIDDEN NAME=step VALUE=5>".
|
||||
"<INPUT TYPE=HIDDEN NAME=vapor VALUE=yes>".
|
||||
"<INPUT TYPE=HIDDEN NAME=login VALUE=".$_REQUEST["login"].">".
|
||||
"<p>".
|
||||
"La tua risposta e' ".
|
||||
"[ <a href='javascript:document.changeshell.submit();'>".
|
||||
"Si, facciamolo impazzire !</a> | ".
|
||||
" <a href=".$_SERVER["PHP_SELF"].">No, che si tenga la vecchia !!</a> ]".
|
||||
"</FORM>";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<!-- ------------------------------------------------------------------------ -->
|
||||
|
||||
<?php require 'include/inc-footer.php';?>
|
||||
|
||||
<!-- ------------------------------------------------------------------------ -->
|
||||
Loading…
Add table
Add a link
Reference in a new issue