func_combine_css(array('id'=>'dst','path'=>ANTIASPI_PATH.'antiaspi.css'));
$tabsheet = new tabsheet();
$tabsheet->add('ipban', ' '.l10n('IP addresses'), ANTIASPI_ADMIN . '-ipban');
$tabsheet->add('ipconfig', ' '.l10n('Configuration'), ANTIASPI_ADMIN . '-ipconfig ');
$tabsheet->select($page['tab']);
$tabsheet->assign();
if ('ipban' == $page['tab'])
{
$template->assign(
'ipbangest',
array(
'A' => 'a',
)
);
$query = '
SELECT
*,
IF (date > SUBTIME(NOW(), "'.$conf['antiaspi']['banned during'].'"), "active", "deprecated") AS status
FROM '.ANTIASPI_TABLE.'
ORDER BY id DESC
;';
$ipban = pwg_query($query);
$antiaspi = safe_unserialize($conf['antiaspi']);
$admin_base_url = ANTIASPI_ADMIN . '-ipban';
if (pwg_db_num_rows($ipban))
{
while ($ipban2 = pwg_db_fetch_assoc($ipban))
{
$items = array(
'ID' => $ipban2['id'],
'IP' => $ipban2['ip'],
'DATE' => $ipban2['date'],
'STATUS' => $ipban2['status'],
'STATUS_LABEL' => l10n('status-'.$ipban2['status']),
'U_DELETE' => $admin_base_url . '&delete=' . $ipban2['id'],
);
$template->append('ipban2', $items);
}
}
if (isset($_GET['delete']))
{
check_input_parameter('delete', $_GET, false, PATTERN_ID);
$query = 'DELETE FROM ' . ANTIASPI_TABLE . ' WHERE id = ' . $_GET['delete'] . ';';
pwg_query($query);
$_SESSION['page_infos'] = array(l10n('IP ban deleted'));
redirect($admin_base_url);
}
if (isset($_POST['submitdeleteall']))
{
$query = 'DELETE FROM ' . ANTIASPI_TABLE . ';';
pwg_query($query);
redirect($admin_base_url);
}
if (isset($_POST['submitdeletedeprecated']))
{
$query = 'DELETE FROM ' . ANTIASPI_TABLE . ' WHERE date < ADDTIME(NOW(), "-' . $antiaspi['banned during'] . '");';
pwg_query($query);
redirect($admin_base_url);
}
$i = 0;
while ($i < count($antiaspi['allowed ip']))
{
$items = array(
'IP' => $antiaspi['allowed ip'][$i],
'U_DELETE' => $admin_base_url . '&deleteallowed='.$i ,
);
$template->append('allowip', $items);
$i++;
}
if (isset($_POST['submitaddipallowed']))
{
$i = 0;
while ($i < count($antiaspi['allowed ip']))
{
if ($_POST['insipallowed']==$antiaspi['allowed ip'][$i])
{
$_SESSION['page_errors'] = array(l10n('IP already allowed'));
redirect($admin_base_url);
}
$i++;
}
$antiaspi['allowed ip'][] = $_POST['insipallowed'];
conf_update_param('antiaspi', $antiaspi, true);
redirect($admin_base_url);
}
if (isset($_GET['deleteallowed']))
{
check_input_parameter('deleteallowed', $_GET, false, PATTERN_ID);
unset($antiaspi['allowed ip'][ $_GET['deleteallowed'] ]);
$antiaspi['allowed ip'] = array_values($antiaspi['allowed ip']);
conf_update_param('antiaspi', $antiaspi);
redirect($admin_base_url);
}
}
if ('ipconfig' == $page['tab'])
{
antiaspi_check_old_conf();
$admin_base_url = ANTIASPI_ADMIN . '-ipconfig';
$antiaspi = safe_unserialize($conf['antiaspi']);
$diff = explode(" pages in ", $antiaspi['diff']);
$tempsdiff= explode(":", $diff[1]);
$tempsdiffsec=$tempsdiff[2]+($tempsdiff[1]*60)+($tempsdiff[0]*60*60);
$same = explode(" pages in ", $antiaspi['same']);
$tempssame= explode(":", $same[1]);
$tempssamesec=$tempssame[2]+($tempssame[1]*60)+($tempssame[0]*60*60);
$template->assign(
'ipconfiggest',
array(
'DIFFA' => $diff[0],
'DIFFB' => $tempsdiffsec,
'SAMEA' => $same[0],
'SAMEB' => $tempssamesec,
'ONLYGUEST' => $antiaspi['only guest'],
'ONLYPICTURE' => $antiaspi['only picture'],
)
);
if (isset($_POST['submitconfban']))
{
/*$time = date('h:i:s', $_POST['insdiffb']); revoir fonction date HS ?*/
$antiaspi['diff'] = $_POST['insdiffa'].' pages in '.date('00:i:s', ($_POST['insdiffb']));
$antiaspi['same'] = $_POST['inssamea'].' pages in '.date('00:i:s', ($_POST['inssameb']));
$antiaspi['only guest'] = isset($_POST['insonlyguest']);
$antiaspi['only picture'] = isset($_POST['insonlypicture']);
conf_update_param('antiaspi', $antiaspi);
redirect($admin_base_url);
}
}
$template->set_filenames(array('plugin_admin_content' => dirname(__FILE__) . '/admin.tpl'));
$template->assign_var_from_handle('ADMIN_CONTENT', 'plugin_admin_content');
?>