<?PHP
/* ====================
Seditio - Website engine
Copyright Neocrome & Seditio Team
https://seditio.org
[BEGIN_SED]
File=admin.banlist.inc.php
Version=179
Updated=2022-jul-15
Type=Core.admin
Author=Seditio Team
Description=Banlist
[END_SED]
==================== */
if (!defined('SED_CODE') || !defined('SED_ADMIN')) { die('Wrong URL.'); }
list($usr['auth_read'], $usr['auth_write'], $usr['isadmin']) = sed_auth('users', 'a');
sed_block($usr['isadmin']);
// ---------- Breadcrumbs
$urlpaths = array();
$urlpaths[sed_url("admin", "m=users")] = $L['Users'];
$urlpaths[sed_url("admin", "m=banlist")] = $L['Banlist'];
$admintitle = $L['Banlist'];
$adminhelp = $L['adm_help_banlist'];
if ($a=='update')
{
sed_check_xg();
$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 = sed_sql_query("UPDATE $db_banlist SET banlist_ip='$rbanlistip', banlist_email='$rbanlistemail', banlist_reason='$rbanlistreason' WHERE banlist_id='$id'");
sed_redirect(sed_url("admin", "m=banlist", "", true));
exit;
}
elseif ($a=='add')
{
sed_check_xg();
$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 = sed_sql_query("INSERT INTO $db_banlist (banlist_ip, banlist_email, banlist_reason, banlist_expire) VALUES ('$nbanlistip', '$nbanlistemail', '$nbanlistreason', ".(int)$nexpire.")");
sed_log("Banlist : New line for IP ".$nbanlistip." / Email ".$nbanlistemail,'adm');
sed_redirect(sed_url("admin", "m=banlist", "", true));
exit;
}
elseif ($a=='delete')
{
sed_check_xg();
$id = sed_import('id', 'G', 'INT');
$sql = sed_sql_query("DELETE FROM $db_banlist WHERE banlist_id='$id'");
sed_log("Banlist : Deleted line ".$id,'adm');
sed_redirect(sed_url("admin", "m=banlist", "", true));
exit;
}
$t = new XTemplate(sed_skinfile('admin.banlist', false, true));
$sql = sed_sql_query("SELECT * FROM $db_banlist ORDER by banlist_expire DESC");
while ($row = sed_sql_fetchassoc($sql))
{
$banlist_id = $row['banlist_id'];
$banlist_ip = $row['banlist_ip'];
$banlist_email = $row['banlist_email'];
$banlist_reason = $row['banlist_reason'];
$banlist_expire = $row['banlist_expire'];
$t->assign(array(
"BANLIST_EDIT_ID" => $banlist_id,
"BANLIST_EDIT_SEND_URL" => sed_url("admin", "m=banlist&a=update&id=".$banlist_id."&".sed_xg()),
"BANLIST_EDIT_DELETE_URL" => sed_url("admin", "m=banlist&a=delete&id=".$banlist_id."&".sed_xg()),
"BANLIST_EDIT_EXPIRE" => ($banlist_expire > 0) ? date($cfg['dateformat'], $banlist_expire)." GMT" : $L['adm_neverexpire'],
"BANLIST_EDIT_IP" => sed_textbox('rbanlistip', $banlist_ip, 14, 16),
"BANLIST_EDIT_EMAIL_MASK" => sed_textbox('rbanlistemail', $banlist_email, 24, 64),
"BANLIST_EDIT_REASON" => sed_textbox('rbanlistreason', $banlist_reason, 48, 64)
));
$t -> parse("ADMIN_BANLIST.BANLIST_EDIT_LIST");
}
$expire_arr = array(0 => $L['adm_neverexpire'], 3600 => '1 hour', 7200 => '2 hours', 14400 => '4 hours', 28800 => '8 hours',
57600 => '16 hours', 86400 => '1 day', 172800 => '2 days', 345600 => '4 days',
604800 => '1 week', 1209600 => '2 weeks', 1814400 => '3 weeks', 2592000 => '1 month');
$t->assign(array(
"BANLIST_ADD_SEND_URL" => sed_url("admin", "m=banlist&a=add&".sed_xg()),
"BANLIST_ADD_NEXPIRE" => sed_selectbox(0, 'nexpire', $expire_arr, false),
"BANLIST_ADD_IP" => sed_textbox('nbanlistip', isset($nbanlistip)?$nbanlistip:'', 14, 16),
"BANLIST_ADD_EMAIL_MASK" => sed_textbox('nbanlistemail', isset($nbanlistemail)?$nbanlistemail:'', 24, 64),
"BANLIST_ADD_REASON" => sed_textbox('nbanlistreason', isset($nbanlistreason)?$nbanlistreason:'', 48, 64)
));
$t->assign("ADMIN_BANLIST_TITLE", $admintitle);
$t -> parse("ADMIN_BANLIST");
$adminmain .= $t -> text("ADMIN_BANLIST");
?>