+/**
+ * Handler for updating the blog date when a post is published or an already published post is changed.
+ *
+ * @since 3.3.0
+ *
+ * @param string $new_status The new post status
+ * @param string $old_status The old post status
+ * @param object $post Post object
+ */
+function _update_blog_date_on_post_publish( $new_status, $old_status, $post ) {
+ $post_type_obj = get_post_type_object( $post->post_type );
+ if ( ! $post_type_obj->public )
+ return;
+
+ if ( 'publish' != $new_status && 'publish' != $old_status )
+ return;
+
+ // Post was freshly published, published post was saved, or published post was unpublished.
+
+ wpmu_update_blogs_date();
+}
+
+/**
+ * Handler for updating the blog date when a published post is deleted.
+ *
+ * @since 3.4.0
+ *
+ * @param int $post_id Post ID
+ */
+function _update_blog_date_on_post_delete( $post_id ) {
+ $post = get_post( $post_id );
+
+ $post_type_obj = get_post_type_object( $post->post_type );
+ if ( ! $post_type_obj->public )
+ return;
+
+ if ( 'publish' != $post->post_status )
+ return;
+
+ wpmu_update_blogs_date();
+}
+