Commit cfbdcffb authored by Canek Peláez's avatar Canek Peláez
Browse files

Fix counting-all error and normalize queries.

parent ad70ae0b
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -3,15 +3,15 @@ $wc_page = !empty($_GET["wc-$post_type-page"]) ?
    intval($_GET["wc-$post_type-page"]) : 0;

$sql = $wpdb->prepare("
    SELECT wp_posts.id AS id,
           wp_posts.post_date AS date,
           wp_posts.post_title AS title,
           CAST(wp_postmeta.meta_value AS UNSIGNED) AS word_count
    FROM wp_posts, wp_postmeta
    WHERE wp_posts.id = wp_postmeta.post_id AND
          wp_posts.post_status = 'publish' AND
          wp_postmeta.meta_key = 'word-count' AND
          wp_posts.post_type = %s
    SELECT {$wpdb->posts}.id AS id,
           {$wpdb->posts}.post_date AS date,
           {$wpdb->posts}.post_title AS title,
           CAST({$wpdb->postmeta}.meta_value AS UNSIGNED) AS word_count
    FROM {$wpdb->posts}, {$wpdb->postmeta}
    WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
          {$wpdb->posts}.post_status = 'publish' AND
          {$wpdb->postmeta}.meta_key = 'word-count' AND
          {$wpdb->posts}.post_type = %s
    ORDER BY post_date", $post_type);
$results = $wpdb->get_results($sql);

+7 −7
Original line number Diff line number Diff line
<?php
$base_url = get_site_url() . '/wp-content/plugins/word-count';

$sql = $wpdb->prepare("SELECT SUM(CAST(wp_postmeta.meta_value AS UNSIGNED)) AS total
                       FROM wp_posts, wp_postmeta
                       WHERE wp_posts.id = wp_postmeta.post_id AND
                             wp_posts.post_status = 'publish' AND
                             wp_postmeta.meta_key = 'word-count' AND
                            (wp_posts.post_type = 'page' OR
                             wp_posts.post_type = 'post')");
$sql = $wpdb->prepare("SELECT SUM(CAST({$wpdb->postmeta}.meta_value AS UNSIGNED)) AS total
                       FROM {$wpdb->posts}, {$wpdb->postmeta}
                       WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
                             {$wpdb->posts}.post_status = 'publish' AND
                             {$wpdb->postmeta}.meta_key = 'word-count' AND
                            ({$wpdb->posts}.post_type = 'page' OR
                             {$wpdb->posts}.post_type = 'post')");
$results = $wpdb->get_results($sql);
$wc_total_all = $results[0]->total;
?>
+26 −26
Original line number Diff line number Diff line
@@ -8,22 +8,22 @@ $wc_filter = !empty($_GET["wc-$post_type-filter"]) ?
$sql = '';
if ($wc_filter == '') {
    $sql = $wpdb->prepare("
        SELECT COUNT(wp_posts.id) AS count
        SELECT COUNT({$wpdb->posts}.id) AS count
        FROM {$wpdb->posts}, {$wpdb->postmeta}
        WHERE wp_posts.id = wp_postmeta.post_id AND
              wp_posts.post_status = 'publish' AND
              wp_postmeta.meta_key = 'word-count' AND
              wp_posts.post_type = %s", $post_type);
        WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
              {$wpdb->posts}.post_status = 'publish' AND
              {$wpdb->postmeta}.meta_key = 'word-count' AND
              {$wpdb->posts}.post_type = %s", $post_type);
} else {
    $f = '%' . $wc_filter . '%';
    $sql = $wpdb->prepare("
        SELECT COUNT(wp_posts.id) AS count
        SELECT COUNT({$wpdb->posts}.id) AS count
        FROM {$wpdb->posts}, {$wpdb->postmeta}
        WHERE wp_posts.id = wp_postmeta.post_id AND
              wp_posts.post_status = 'publish' AND
              wp_postmeta.meta_key = 'word-count' AND
              wp_posts.post_type = %s AND
              wp_posts.post_title LIKE %s", $post_type, $f);
        WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
              {$wpdb->posts}.post_status = 'publish' AND
              {$wpdb->postmeta}.meta_key = 'word-count' AND
              {$wpdb->posts}.post_type = %s AND
              {$wpdb->posts}.post_title LIKE %s", $post_type, $f);
}
$results = $wpdb->get_results($sql);
$wc_bar_total = $results[0]->count;
@@ -38,28 +38,28 @@ if ($wc_pages < 2) {

if ($wc_filter == '') {
    $sql = $wpdb->prepare("
        SELECT wp_posts.id AS id,
               CAST(wp_postmeta.meta_value AS UNSIGNED) AS word_count,
               wp_posts.post_title AS title
        SELECT {$wpdb->posts}.id AS id,
               CAST({$wpdb->postmeta}.meta_value AS UNSIGNED) AS word_count,
               {$wpdb->posts}.post_title AS title
        FROM {$wpdb->posts}, {$wpdb->postmeta}
        WHERE wp_posts.id = wp_postmeta.post_id AND
              wp_posts.post_status = 'publish' AND
              wp_postmeta.meta_key = 'word-count' AND
              wp_posts.post_type = %s
        WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
              {$wpdb->posts}.post_status = 'publish' AND
              {$wpdb->postmeta}.meta_key = 'word-count' AND
              {$wpdb->posts}.post_type = %s
        ORDER by word_count DESC
        LIMIT %d, %d", $post_type, $wc_page * WC_ROWS_PER_PAGE, WC_ROWS_PER_PAGE);
} else {
    $f = '%' . $wc_filter . '%';
    $sql = $wpdb->prepare("
        SELECT wp_posts.id AS id,
               CAST(wp_postmeta.meta_value AS UNSIGNED) AS word_count,
               wp_posts.post_title AS title
        SELECT {$wpdb->posts}.id AS id,
               CAST({$wpdb->postmeta}.meta_value AS UNSIGNED) AS word_count,
               {$wpdb->posts}.post_title AS title
        FROM {$wpdb->posts}, {$wpdb->postmeta}
        WHERE wp_posts.id = wp_postmeta.post_id AND
              wp_posts.post_status = 'publish' AND
              wp_postmeta.meta_key = 'word-count' AND
              wp_posts.post_type = %s AND
              wp_posts.post_title LIKE %s
        WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
              {$wpdb->posts}.post_status = 'publish' AND
              {$wpdb->postmeta}.meta_key = 'word-count' AND
              {$wpdb->posts}.post_type = %s AND
              {$wpdb->posts}.post_title LIKE %s
        ORDER by word_count DESC
        LIMIT %d, %d", $post_type, $f, $wc_page * WC_ROWS_PER_PAGE, WC_ROWS_PER_PAGE);
}
+26 −26
Original line number Diff line number Diff line
@@ -10,22 +10,22 @@ $base_url = get_site_url() . '/wp-content/plugins/word-count';
$sql = '';
if ($wc_filter == '') {
    $sql = $wpdb->prepare("
        SELECT COUNT(wp_posts.id) AS count
        SELECT COUNT({$wpdb->posts}.id) AS count
        FROM {$wpdb->posts}, {$wpdb->postmeta}
        WHERE wp_posts.id = wp_postmeta.post_id AND
              wp_posts.post_status = 'publish' AND
              wp_postmeta.meta_key = 'word-count' AND
              wp_posts.post_type = %s", $post_type);
        WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
              {$wpdb->posts}.post_status = 'publish' AND
              {$wpdb->postmeta}.meta_key = 'word-count' AND
              {$wpdb->posts}.post_type = %s", $post_type);
} else {
    $f = '%' . $wc_filter . '%';
    $sql = $wpdb->prepare("
        SELECT COUNT(wp_posts.id) AS count
        SELECT COUNT({$wpdb->posts}.id) AS count
        FROM {$wpdb->posts}, {$wpdb->postmeta}
        WHERE wp_posts.id = wp_postmeta.post_id AND
              wp_posts.post_status = 'publish' AND
              wp_postmeta.meta_key = 'word-count' AND
              wp_posts.post_type = %s AND
              wp_posts.post_title LIKE %s", $post_type, $f);
        WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
              {$wpdb->posts}.post_status = 'publish' AND
              {$wpdb->postmeta}.meta_key = 'word-count' AND
              {$wpdb->posts}.post_type = %s AND
              {$wpdb->posts}.post_title LIKE %s", $post_type, $f);
}
$results = $wpdb->get_results($sql);
$wc_pie_total = $results[0]->count;
@@ -40,28 +40,28 @@ if ($wc_pages < 2) {

if ($wc_filter == '') {
    $sql = $wpdb->prepare("
        SELECT wp_posts.id AS id,
               CAST(wp_postmeta.meta_value AS UNSIGNED) AS word_count,
               wp_posts.post_title AS title
        SELECT {$wpdb->posts}.id AS id,
               CAST({$wpdb->postmeta}.meta_value AS UNSIGNED) AS word_count,
               {$wpdb->posts}.post_title AS title
        FROM {$wpdb->posts}, {$wpdb->postmeta}
        WHERE wp_posts.id = wp_postmeta.post_id AND
              wp_posts.post_status = 'publish' AND
              wp_postmeta.meta_key = 'word-count' AND
              wp_posts.post_type = %s
        WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
              {$wpdb->posts}.post_status = 'publish' AND
              {$wpdb->postmeta}.meta_key = 'word-count' AND
              {$wpdb->posts}.post_type = %s
        ORDER by word_count DESC
        LIMIT %d, %d", $post_type, $wc_page * WC_ROWS_PER_PAGE, WC_ROWS_PER_PAGE);
} else {
    $f = '%' . $wc_filter . '%';
    $sql = $wpdb->prepare("
        SELECT wp_posts.id AS id,
               CAST(wp_postmeta.meta_value AS UNSIGNED) AS word_count,
               wp_posts.post_title AS title
        SELECT {$wpdb->posts}.id AS id,
               CAST({$wpdb->postmeta}.meta_value AS UNSIGNED) AS word_count,
               {$wpdb->posts}.post_title AS title
        FROM {$wpdb->posts}, {$wpdb->postmeta}
        WHERE wp_posts.id = wp_postmeta.post_id AND
              wp_posts.post_status = 'publish' AND
              wp_postmeta.meta_key = 'word-count' AND
              wp_posts.post_type = %s AND
              wp_posts.post_title LIKE %s
        WHERE {$wpdb->posts}.id = {$wpdb->postmeta}.post_id AND
              {$wpdb->posts}.post_status = 'publish' AND
              {$wpdb->postmeta}.meta_key = 'word-count' AND
              {$wpdb->posts}.post_type = %s AND
              {$wpdb->posts}.post_title LIKE %s
        ORDER by word_count DESC
        LIMIT %d, %d", $post_type, $f, $wc_page * WC_ROWS_PER_PAGE, WC_ROWS_PER_PAGE);
}
+2 −2
Original line number Diff line number Diff line
@@ -18,9 +18,9 @@ if ($key == $wc_options['key'] &&
    global $wpdb;
    $results = $wpdb->get_results("
        SELECT id, post_content
        FROM $wpdb->posts
        FROM {$wpdb->posts}
        WHERE post_status = 'publish' AND id > $last
        ORDER BY post_date LIMIT 10", OBJECT);
        ORDER BY id LIMIT 10", OBJECT);
    $n = $wpdb->num_rows;
    if ($n > 0) {
        for ($i = 0; $i < $n; $i++) {