requireAdminLogin() ->setPageTitle(WT_I18N::translate('Manage sites')) ->pageHeader(); require_once WT_ROOT.'includes/functions/functions.php'; require_once WT_ROOT.'includes/functions/functions_edit.php'; require_once WT_ROOT.'includes/functions/functions_import.php'; $action = safe_GET('action'); if (empty($action)) $action = safe_POST('action'); $address = safe_GET('address'); if (empty($address)) $address = safe_POST('address'); $comment = safe_GET('comment'); if (empty($comment)) $comment = safe_POST('comment'); $comment = str_replace(array("\\", "\$", "\""), array("\\\\", "\\\$", "\\\""), $comment); $deleteBanned = safe_POST('deleteBanned'); if (!empty($deleteBanned)) { // A "remove banned IP" button was pushed $action = 'deleteBanned'; $address = $deleteBanned; } $deleteSearch = safe_POST('deleteSearch'); if (!empty($deleteSearch)) { // A "remove search engine IP" button was pushed $action = 'deleteSearch'; $address = $deleteSearch; } if (empty($action)) $action = 'showForm'; /* * Validate input string to be an IP address */ function validIP($address) { if (!preg_match('/^\d{1,3}\.(\d{1,3}|\*)\.(\d{1,3}|\*)\.(\d{1,3}|\*)$/', $address)) return false; $pieces = explode('.', $address); foreach ($pieces as $number) { if ($number!="*" && $number>255) return false; } return true; } if ($action=='addBanned' || $action=='addSearch' || $action=='deleteBanned' || $action=='deleteSearch') { if (validIP($address)) { // Even if we are adding a new record, we must delete the existing one first. WT_DB::prepare( "DELETE FROM `##ip_address` WHERE ip_address=?" )->execute(array($address)); if ($action=='addBanned') { WT_DB::prepare( "INSERT INTO `##ip_address` (ip_address, category, comment) VALUES (?, ?, ?)" )->execute(array($address, 'banned', $comment)); } if ($action=='addSearch') { WT_DB::prepare( "INSERT INTO `##ip_address` (ip_address, category, comment) VALUES (?, ?, ?)" )->execute(array($address, 'search-engine', $comment)); } } else { if ($action=='addBanned') { $errorBanned=WT_I18N::translate('Invalid IP address.'); } if ($action=='addSearch') { $errorSearch=WT_I18N::translate('Invalid IP address.'); } } $action='showForm'; } // Search Engine IP address table echo '
| ', ' |