/** * Uses wp_ajax_(action). * * AJAX function to block a user's IP address. * * @since 2.0.0 * * @link http://codex.wordpress.org/Plugin_API/Action_Reference/wp_ajax_(action) */ public function wp_ajax_block_ip() { check_ajax_referer('zero-spam', 'security'); if (!$_POST['zerospam-type'] == 'temporary') { $start_date = false; $end_date = false; } else { $start_date = date('Y-m-d G:i:s', strtotime($_POST['zerospam-startdate-year'] . '-' . $_POST['zerospam-startdate-month'] . '-' . $_POST['zerospam-startdate-day'])); $end_date = date('Y-m-d G:i:s', strtotime($_POST['zerospam-enddate-year'] . '-' . $_POST['zerospam-enddate-month'] . '-' . $_POST['zerospam-enddate-day'])); } $reason = isset($_POST['zerospam-reason']) ? $_POST['zerospam-reason'] : NULL; // Add/update the blocked IP. zerospam_block_ip(array('ip' => $_POST['zerospam-ip'], 'type' => $_POST['zerospam-type'], 'start_date' => $start_date, 'end_date' => $end_date, 'reason' => $reason)); die; }
function zerospam_log_spam($key, $url = false) { global $wpdb; $settings = zerospam_settings(); $ip = zerospam_get_ip(); $url = $url ? $url : zerospam_get_url(); $table_name = $wpdb->prefix . 'zerospam_log'; switch ($key) { case 'registration': $key = 1; break; case 'comment': $key = 2; break; case 'cf7': $key = 3; break; case 'gf': $key = 4; break; case 'buddypress-registration': $key = 5; break; } $wpdb->insert($table_name, array('type' => $key, 'ip' => $ip, 'page' => $url), array('%s', '%s', '%s')); if (!empty($settings['auto_block']) && $settings['auto_block']) { zerospam_block_ip(array('ip' => $ip, 'type' => 'permanent', 'reason' => __('Auto block triggered on ', 'zerospam') . date('r') . '.')); } }