144 lines
6.1 KiB
PHP
144 lines
6.1 KiB
PHP
<?php
|
|
if(!defined('OSTADMININC') || !$thisuser->isadmin()) die('Zugriff verweigert');
|
|
|
|
$select='SELECT * ';
|
|
$from='FROM '.BANLIST_TABLE;
|
|
$where='';
|
|
//make sure the search query is 3 chars min...defaults to no query with warning message
|
|
if($_REQUEST['a']=='search') {
|
|
if(!$_REQUEST['query'] || strlen($_REQUEST['query'])<3) {
|
|
$errors['err']='Suchbegriff muss mehr als 3 Zeichen lang sein.';
|
|
}else{
|
|
//Do the search
|
|
$search=true;
|
|
$qstr.='&a='.urlencode($_REQUEST['a']);
|
|
$qstr.='&query='.urlencode($_REQUEST['query']);
|
|
$searchTerm=trim($_REQUEST['query']);
|
|
if(strpos($searchTerm,'@') && Validator::is_email($searchTerm)){ //pulling all tricks!
|
|
$where=' WHERE email='.db_input($searchTerm);
|
|
}else{
|
|
$where=' WHERE email LIKE \'%'.db_real_escape($searchTerm,false).'%\'';
|
|
}
|
|
}
|
|
}
|
|
//I admit this crap sucks...but who cares??
|
|
$sortOptions=array('date'=>'added','email'=>'email');
|
|
$orderWays=array('DESC'=>'DESC','ASC'=>'ASC');
|
|
//Sorting options...
|
|
if($_REQUEST['sort']) {
|
|
$order_column =$sortOptions[$_REQUEST['sort']];
|
|
}
|
|
|
|
if($_REQUEST['order']) {
|
|
$order=$orderWays[$_REQUEST['order']];
|
|
}
|
|
|
|
|
|
$order_column=$order_column?$order_column:'added';
|
|
$order=$order?$order:'DESC';
|
|
|
|
$order_by=" ORDER BY $order_column $order ";
|
|
|
|
$total=db_count('SELECT count(*) '.$from.' '.$where);
|
|
$pagelimit=$thisuser->getPageLimit();
|
|
$pagelimit=$pagelimit?$pagelimit:PAGE_LIMIT; //true default...if all fails.
|
|
$page=($_GET['p'] && is_numeric($_GET['p']))?$_GET['p']:1;
|
|
$pageNav=new Pagenate($total,$page,$pagelimit);
|
|
$pageNav->setURL('admin.php',$qstr.'&sort='.urlencode($_REQUEST['sort']).'&order='.urlencode($_REQUEST['order']));
|
|
//Ok..lets roll...create the actual query
|
|
$query="$select $from $where $order_by LIMIT ".$pageNav->getStart().",".$pageNav->getLimit();
|
|
//echo $query;
|
|
$banlist = db_query($query);
|
|
$showing=db_num_rows($banlist)?$pageNav->showing():'';
|
|
$result_type=($search)?'Suchergebnisse':'gesperrte Emailadressen';
|
|
$negorder=$order=='DESC'?'ASC':'DESC'; //Negate the sorting..
|
|
$showadd=($errors && $_POST['a']=='add')?true:false;
|
|
?>
|
|
<div id='search' align="left" style="display:<?=$showadd?'none':'block'?>;">
|
|
<form action="admin.php?t=settings" method="GET" >
|
|
<input type='hidden' name='t' value='banlist'>
|
|
<input type='hidden' name='a' value='search'>
|
|
Abfrage: <input type="text" name="query" value="<?=Format::htmlchars($_REQUEST['query'])?>">
|
|
|
|
<input type="submit" name="search" class="button" value="Suche">
|
|
<a href="#" class="msg" onClick="showHide('add','search'); return false;">(Hinzufügen)</a>
|
|
</form>
|
|
</div>
|
|
<div id='add' style="display:<?=$showadd?'block':'none'?>;" align="left">
|
|
<form action="admin.php?t=settings" method="POST" >
|
|
<input type='hidden' name='t' value='banlist'>
|
|
<input type='hidden' name='a' value='add'>
|
|
Email: <input type="text" name="email" value="<?=$_POST['email']?>">
|
|
|
|
<input type="submit" name="add" class="button" value="Add">
|
|
<a href="#" class="msg" onClick="showHide('add','search'); return false;">(Suche)</a>
|
|
</form>
|
|
</div>
|
|
<div class="msg"><?=$result_type?>: <?=$showing?></div>
|
|
<table width="92%" border="0" cellspacing=1 cellpadding=2>
|
|
<form action="admin.php?t=banlist" method="POST" name="banlist" onSubmit="return checkbox_checker(document.forms['banlist'],1,0);">
|
|
<input type=hidden name='t' value='banlist'>
|
|
<input type=hidden name='a' value='remove'>
|
|
<tr><td>
|
|
<table border="0" cellspacing=0 cellpadding=2 class="dtable" align="center" width="100%">
|
|
<tr>
|
|
<th width="7px"> </th>
|
|
<th width=250>
|
|
<a href="admin.php?t=banlist&sort=email&order=<?=$negorder?><?=$qstr?>" title="Sortiere nach Email <?=$negorder?>">Email</a></th>
|
|
<th width=200 >Übermittler</th>
|
|
<th width=150 nowrap>
|
|
<a href="admin.php?t=banlist&sort=date&order=<?=$negorder?><?=$qstr?>" title="Sortiere nach Erstellungsdatum <?=$negorder?>">Datum hinzugefügt</a></th>
|
|
</tr>
|
|
<?
|
|
$class = 'row1';
|
|
$total=0;
|
|
$sids=($errors && is_array($_POST['ids']))?$_POST['ids']:null;
|
|
if($banlist && db_num_rows($banlist)):
|
|
while ($row = db_fetch_array($banlist)) {
|
|
$sel=false;
|
|
if($sids && in_array($row['id'],$sids)){
|
|
$class="$class highlight";
|
|
$sel=true;
|
|
}
|
|
?>
|
|
<tr class="<?=$class?>" id="<?=$row['id']?>">
|
|
<td width=7px>
|
|
<input type="checkbox" name="ids[]" value="<?=$row['id']?>" <?=$sel?'checked':''?>
|
|
onClick="highLight(this.value,this.checked);">
|
|
<td><?=$row['email']?></td>
|
|
<td><?=$row['submitter']?></td>
|
|
<td><?=Format::db_datetime($row['added'])?></td>
|
|
</tr>
|
|
<?
|
|
$class = ($class =='row2') ?'row1':'row2';
|
|
} //end of while.
|
|
else: //nothin' found!! ?>
|
|
<tr class="<?=$class?>"><td colspan=4><b>Abfrage ergab 0 Ergebnisse</b> <a href="admin.php?t=banlist">Index Liste</a></td></tr>
|
|
<?
|
|
endif; ?>
|
|
</table>
|
|
</td></tr>
|
|
<?
|
|
if(db_num_rows($banlist)>0): //Show options..
|
|
?>
|
|
<tr>
|
|
<td style="padding-left:20px">
|
|
Auswahl:
|
|
<a href="#" onclick="return select_all(document.forms['banlist'],true)">Alle auswählen</a>
|
|
<a href="#" onclick="return toogle_all(document.forms['banlist'],true)">Auswahl umkehren</a>
|
|
<a href="#" onclick="return reset_all(document.forms['banlist'])">Nichts auswählen</a>
|
|
Seite:<?=$pageNav->getPageLinks()?>
|
|
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="center">
|
|
<input class="button" type="submit" name="delete" value="Von der liste entfernen"
|
|
onClick='return confirm("Sind Sie sicher, dass Sie die gewählten Emails von der Bannliste entfernen wollen?");'>
|
|
</td>
|
|
</tr>
|
|
<?
|
|
endif;
|
|
?>
|
|
</form>
|
|
</table>
|