Source View: akismet_optimize_table

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

  • Action hooks look like this: do_action( "hook_name" )
  • Filter hooks look like this: apply_filters( "hook_name", "what_to_filter" ).

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 2 times in this file.

Line Code
266
267                $comma_comment_ids = implode( ', ', array_map('intval', $comment_ids) );
268
269                $wpdb->query("DELETE FROM {$wpdb->comments} WHERE comment_id IN ( $comma_comment_ids )");
270                $wpdb->query("DELETE FROM {$wpdb->commentmeta} WHERE comment_id IN ( $comma_comment_ids )");
271
272                clean_comment_cache( $comment_ids );
273           }
274
275           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->comments ) ) // lucky number
276                $wpdb->query("OPTIMIZE TABLE {$wpdb->comments}");
277      }
278
279      public static function delete_old_comments_meta() {
280           global $wpdb;
281
282           $interval = apply_filters( 'akismet_delete_commentmeta_interval', 15 );
283
284           # enfore a minimum of 1 day
 
Line Code
293                     return;
294
295                $wpdb->queries = array();
296
297                foreach ( $comment_ids as $comment_id ) {
298                     delete_comment_meta( $comment_id, 'akismet_as_submitted' );
299                }
300           }
301
302           if ( apply_filters( 'akismet_optimize_table', ( mt_rand(1, 5000) == 11), $wpdb->commentmeta ) ) // lucky number
303                $wpdb->query("OPTIMIZE TABLE {$wpdb->commentmeta}");
304      }
305
306      // how many approved comments does this author have?
307      public static function get_user_comments_approved( $user_id, $comment_author_email, $comment_author, $comment_author_url ) {
308           global $wpdb;
309
310           if ( !empty( $user_id ) )
311                return (int) $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM {$wpdb->comments} WHERE user_id = %d AND comment_approved = 1", $user_id ) );