connect(MEMCACHE_HOST, MEMCACHE_PORT)) { $memcache_id = 'impress_'.$key; $m->get($memcache_id); } } function impress_cache_store( $key, $val ) { if(!ENABLE_MEMCACHE) return false; $m = new Memcache(); if($m->connect(MEMCACHE_HOST, MEMCACHE_PORT)) { $memcache_id = 'impress_'.$key; $m->set($memcache_id, $val, false, MEMCACHE_TIME); } } function impress_wpdb_query($statement) { global $wpdb; $results = $wpdb->get_col($statement); return number_format($results[0]); } function impress_users() { global $wpdb; return impress_wpdb_query("SELECT COUNT(ID) as counter FROM $wpdb->users"); } function impress_posts() { global $wpdb; return impress_wpdb_query("SELECT COUNT(ID) as counter FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'post'"); } function impress_pages() { global $wpdb; return impress_wpdb_query("SELECT COUNT(ID) as counter FROM $wpdb->posts WHERE post_status = 'publish' AND post_type = 'page'"); } function impress_comments() { global $wpdb; return impress_wpdb_query("SELECT COUNT(comment_ID) as counter FROM $wpdb->comments WHERE comment_approved = '1'"); } function impress_categories() { global $wpdb; return impress_wpdb_query("SELECT COUNT(cat_ID) as counter FROM $wpdb->categories"); } function impress_post_wordcount() { global $wpdb; $now = gmdate('Y-m-d H:i:s', time()); $words = $wpdb->get_results("SELECT post_content FROM $wpdb->posts WHERE post_status='publish' AND post_type='post' AND post_date < '$now'"); $count = 0; foreach($words as $word) { $count += impress_html_wordcount($word->post_content); } return number_format( $count ); } function impress_page_wordcount() { global $wpdb; $now = gmdate('Y-m-d H:i:s', time()); $words = $wpdb->get_results("SELECT post_content FROM $wpdb->posts WHERE post_status='publish' AND post_type='page' AND post_date < '$now'"); $count = 0; foreach($words as $word) { $count += impress_html_wordcount($word->post_content); } return number_format( $count ); } function impress_comment_wordcount() { global $wpdb; $words = $wpdb->get_results("SELECT comment_content FROM $wpdb->comments WHERE comment_approved = '1'"); $count = 0; foreach($words as $word) { $count += impress_html_wordcount($word->comment_content); } return number_format($count); } function impress_html_wordcount( $string ) { // str_word_count turns out to be quite a bit slower than this regex return count(preg_split('/\W+/', strip_tags($string))); }