Пример #1
0
 /**
  * Ausführung des Lösch-/Markier-Vorgangs
  *
  * @since   0.1
  * @change  2.6.0
  *
  * @param   array    $comment  Unbehandelte Kommentardaten
  * @param   string   $reason   Verdachtsgrund
  * @param   boolean  $is_ping  Ping (ja oder nein) [optional]
  * @return  array    $comment  Behandelte Kommentardaten
  */
 private static function _handle_spam_request($comment, $reason, $is_ping = false)
 {
     /* Optionen */
     $options = self::get_options();
     /* Einstellungen */
     $spam_remove = !$options['flag_spam'];
     $spam_notice = !$options['no_notice'];
     /* Filter-Einstellungen */
     $ignore_filter = $options['ignore_filter'];
     $ignore_type = $options['ignore_type'];
     $ignore_reason = in_array($reason, (array) $options['ignore_reasons']);
     /* Spam merken */
     self::_update_spam_log($comment);
     self::_update_spam_count();
     self::_update_daily_stats();
     /* Spam löschen */
     if ($spam_remove) {
         self::_go_in_peace();
     }
     /* Typen behandeln */
     if ($ignore_filter && ($ignore_type == 1 && $is_ping or $ignore_type == 2 && !$is_ping)) {
         self::_go_in_peace();
     }
     /* Spamgrund */
     if ($ignore_reason) {
         self::_go_in_peace();
     }
     /* Spam-Grund */
     self::$_reason = $reason;
     /* Spam markieren */
     add_filter('pre_comment_approved', create_function('', 'return "spam";'));
     /* E-Mail senden */
     add_filter('trackback_post', array(__CLASS__, 'send_mail_notification'));
     add_filter('comment_post', array(__CLASS__, 'send_mail_notification'));
     /* Spam reason as comment meta */
     if ($spam_notice) {
         add_filter('comment_post', array(__CLASS__, 'add_spam_reason_to_comment'));
     }
     return $comment;
 }