Seditio Source
Root |
./othercms/Cotonti-0.6.25/system/core/admin/admin.banlist.inc.php
<?php
/**
 * Administration panel - Banlist manager
 *
 * @package Cotonti
 * @version 0.1.0
 * @author Neocrome, Cotonti Team
 * @copyright Copyright (c) Cotonti Team 2008-2009
 * @license BSD
 */

(defined('SED_CODE') && defined('SED_ADMIN')) or die('Wrong URL.');

list(
$usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = sed_auth('users', 'a');
sed_block($usr['isadmin']);

$t = new XTemplate(sed_skinfile('admin.banlist.inc', false, true));

$adminpath[] = array(sed_url('admin', 'm=other'), $L['Other']);
$adminpath[] = array(sed_url('admin', 'm=banlist'), $L['Banlist']);
$adminhelp = $L['adm_help_banlist'];

$d = sed_import('d', 'G', 'INT');
$d = empty($d) ? 0 : (int) $d;
$ajax = sed_import('ajax', 'G', 'INT');
$ajax = empty($ajax) ? 0 : (int) $ajax;

/* === Hook === */
$extp = sed_getextplugins('admin.banlist.first');
if(
is_array($extp))
{
    foreach(
$extp as $k => $pl)
    {
        include_once(
$cfg['plugins_dir'].'/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php');
    }
}
/* ===== */

if($a == 'update')
{
   
$id = sed_import('id', 'G', 'INT');
   
$rbanlistip = sed_import('rbanlistip', 'P', 'TXT');
   
$rbanlistemail = sed_sql_prep(sed_import('rbanlistemail', 'P', 'TXT'));
   
$rbanlistreason = sed_sql_prep(sed_import('rbanlistreason', 'P', 'TXT'));

   
$sql = (!empty($rbanlistip) || !empty($rbanlistemail)) ? sed_sql_query("UPDATE $db_banlist SET banlist_ip='$rbanlistip', banlist_email='$rbanlistemail', banlist_reason='$rbanlistreason' WHERE banlist_id='$id'") : '';

   
$adminwarnings = ($sql) ? $L['alreadyupdatednewentry'] : $L['Error'];
}
elseif(
$a == 'add')
{
   
$nbanlistip = sed_import('nbanlistip', 'P', 'TXT');
   
$nbanlistemail = sed_sql_prep(sed_import('nbanlistemail', 'P', 'TXT'));
   
$nbanlistreason = sed_sql_prep(sed_import('nbanlistreason', 'P', 'TXT'));
   
$nexpire = sed_import('nexpire', 'P', 'INT');

   
$nbanlistip_cnt = explode('.', $nbanlistip);
   
$nbanlistip = (count($nbanlistip_cnt)==4) ? $nbanlistip : '';

    if(
$nexpire > 0)
    {
       
$nexpire += $sys['now'];
    }
   
$sql = (!empty($nbanlistip) || !empty($nbanlistemail)) ? sed_sql_query("INSERT INTO $db_banlist (banlist_ip, banlist_email, banlist_reason, banlist_expire) VALUES ('$nbanlistip', '$nbanlistemail', '$nbanlistreason', ".(int)$nexpire.")") : '';

   
$adminwarnings = ($sql) ? $L['alreadyaddnewentry'] : $L['Error'];
}
elseif(
$a == 'delete')
{
   
sed_check_xg();
   
$id = sed_import('id', 'G', 'INT');

   
$sql = sed_sql_query("DELETE FROM $db_banlist WHERE banlist_id='$id'");

   
$adminwarnings = ($sql) ? $L['alreadydeletednewentry'] : $L['Error'];
}

$is_adminwarnings = isset($adminwarnings);

$totalitems = sed_sql_rowcount($db_banlist);
if(
$cfg['jquery'] AND $cfg['turnajax'])
{
   
$pagnav = sed_pagination(sed_url('admin','m=banlist'), $d, $totalitems, $cfg['maxrowsperpage'], 'd', 'ajaxSend', "url: '".sed_url('admin','m=banlist&ajax=1')."', divId: 'pagtab', errMsg: '".$L['ajaxSenderror']."'");
    list(
$pagination_prev, $pagination_next) = sed_pagination_pn(sed_url('admin', 'm=banlist'), $d, $totalitems, $cfg['maxrowsperpage'], TRUE, 'd', 'ajaxSend', "url: '".sed_url('admin','m=banlist&ajax=1')."', divId: 'pagtab', errMsg: '".$L['ajaxSenderror']."'");
}
else
{
   
$pagnav = sed_pagination(sed_url('admin','m=banlist'), $d, $totalitems, $cfg['maxrowsperpage']);
    list(
$pagination_prev, $pagination_next) = sed_pagination_pn(sed_url('admin', 'm=banlist'), $d, $totalitems, $cfg['maxrowsperpage'], TRUE);
}

$sql = sed_sql_query("SELECT * FROM $db_banlist ORDER by banlist_expire DESC, banlist_ip LIMIT $d, ".$cfg['maxrowsperpage']);

$ii = 0;

/* === Hook - Part1 : Set === */
$extp = sed_getextplugins('admin.banlist.loop');
/* ===== */

while($row = sed_sql_fetcharray($sql))
{
   
$t -> assign(array(
       
"ADMIN_BANLIST_ID_ROW" => $row['banlist_id'],
       
"ADMIN_BANLIST_URL" => sed_url('admin', 'm=banlist&a=update&id='.$row['banlist_id'].'&d='.$d),
       
"ADMIN_BANLIST_URL_AJAX" => ($cfg['jquery'] AND $cfg['turnajax']) ? " onsubmit=\"return ajaxSend({method: 'POST', formId: 'savebanlist_".$row['banlist_id']."', url: '".sed_url('admin','m=banlist&a=update&ajax=1&id='.$row['banlist_id'].'&d='.$d)."', divId: 'pagtab', errMsg: '".$L['ajaxSenderror']."'});\"" : "",
       
"ADMIN_BANLIST_DELURL" => sed_url('admin', 'm=banlist&a=delete&id='.$row['banlist_id'].'&'.sed_xg()),
       
"ADMIN_BANLIST_DELURL_AJAX" => ($cfg['jquery'] AND $cfg['turnajax']) ? " onclick=\"return ajaxSend({url: '".sed_url('admin','m=banlist&ajax=1&a=delete&id='.$row['banlist_id'].'&'.sed_xg())."', divId: 'pagtab', errMsg: '".$L['ajaxSenderror']."'});\"" : "",
       
"ADMIN_BANLIST_EXPIRE" => ($row['banlist_expire']>0) ? date($cfg['dateformat'],$row['banlist_expire'])." GMT" : $L['adm_neverexpire'],
       
"ADMIN_BANLIST_IP" => $row['banlist_ip'],
       
"ADMIN_BANLIST_EMAIL" => $row['banlist_email'],
       
"ADMIN_BANLIST_REASON" => $row['banlist_reason'],
       
"ADMIN_BANLIST_ODDEVEN" => sed_build_oddeven($ii)
    ));

   
/* === Hook - Part2 : Include === */
   
if(is_array($extp))
    {
        foreach(
$extp as $k => $pl)
        {
            include(
$cfg['plugins_dir'].'/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php');
        }
    }
   
/* ===== */

   
$t -> parse("BANLIST.ADMIN_BANLIST_ROW");
   
$ii++;
}

$t -> assign(array(
   
"ADMIN_BANLIST_ADMINWARNINGS" => $adminwarnings,
   
"ADMIN_BANLIST_PAGINATION_PREV" => $pagination_prev,
   
"ADMIN_BANLIST_PAGNAV" => $pagnav,
   
"ADMIN_BANLIST_PAGINATION_NEXT" => $pagination_next,
   
"ADMIN_BANLIST_TOTALITEMS" => $totalitems,
   
"ADMIN_BANLIST_COUNTER_ROW" => $ii,
   
"ADMIN_BANLIST_INC_URLFORMADD" => sed_url('admin', 'm=banlist&a=add'),
   
"ADMIN_BANLIST_INC_URLFORMADD_AJAX" => ($cfg['jquery'] AND $cfg['turnajax']) ? " onsubmit=\"return ajaxSend({method: 'POST', formId: 'addbanlist', url: '".sed_url('admin','m=banlist&ajax=1&a=add')."', divId: 'pagtab', errMsg: '".$L['ajaxSenderror']."'});\"" : ""
));

/* === Hook  === */
$extp = sed_getextplugins('admin.banlist.tags');
if(
is_array($extp))
{
    foreach(
$extp as $k => $pl)
    {
        include_once(
$cfg['plugins_dir'].'/'.$pl['pl_code'].'/'.$pl['pl_file'].'.php');
    }
}
/* ===== */

$t -> parse("BANLIST");
$adminmain = $t -> text("BANLIST");

if(
$ajax)
{
   
sed_sendheaders();
    echo
$adminmain;
    exit;
}

?>