function lhg_sanity_ratings()
{
    global $lang;
    global $lhg_price_db;
    #write for com pages only
    if ($lang != "de") {
        $sql = "SELECT postid_com FROM `lhgtransverse_posts` WHERE `status_com` != 'draft'";
        $results = $lhg_price_db->get_results($sql);
        foreach ($results as $result) {
            if ($result->postid_com != 0) {
                # store ratings of ".com" articles
                #
                #
                $pid = intval($result->postid_com);
                $post_ratings_users = get_post_meta($result->postid_com, 'ratings_users');
                $post_ratings_score = get_post_meta($result->postid_com, 'ratings_score');
                $post_ratings_average = get_post_meta($result->postid_com, 'ratings_average');
                # ignore empty ratings
                if ($post_ratings_users[0] != 0 && $post_ratings_users[0] != "") {
                    print "Post ID " . $result->postid_com . " -> " . $post_ratings_users[0] . ", " . $post_ratings_score[0] . ", " . $post_ratings_average[0] . " -- ";
                    lhg_store_ratings($pid, $post_ratings_users[0], $post_ratings_score[0], $post_ratings_average[0]);
                }
                # store comments of ".com" articles
                lhg_store_comment_numbers_by_post_id($pid);
            }
        }
    }
    if ($lang == "de") {
        $sql = "SELECT postid_de FROM `lhgtransverse_posts` WHERE `status_com` != 'draft'";
        $results = $lhg_price_db->get_results($sql);
        foreach ($results as $result) {
            if ($result->postid_de != 0) {
                # store ratings of ".de" articles
                #
                #
                $pid = intval($result->postid_de);
                $post_ratings_users = get_post_meta($result->postid_de, 'ratings_users');
                $post_ratings_score = get_post_meta($result->postid_de, 'ratings_score');
                $post_ratings_average = get_post_meta($result->postid_de, 'ratings_average');
                # ignore empty ratings
                if ($post_ratings_users[0] != 0 && $post_ratings_users[0] != "") {
                    print "Post ID " . $result->postid_de . " -> " . $post_ratings_users[0] . ", " . $post_ratings_score[0] . ", " . $post_ratings_average[0] . "<br>";
                    lhg_store_ratings($pid, $post_ratings_users[0], $post_ratings_score[0], $post_ratings_average[0]);
                }
                # store comments of ".de" articles
                lhg_store_comment_numbers_by_post_id($pid);
            }
        }
    }
}
Пример #2
0
function process_ratings()
{
    global $wpdb, $user_identity, $user_ID;
    $rate = intval($_GET['rate']);
    $post_id = intval($_GET['pid']);
    if ($rate > 0 && $post_id > 0 && check_allowtorate()) {
        // Check For Bot
        $bots_useragent = array('googlebot', 'google', 'msnbot', 'ia_archiver', 'lycos', 'jeeves', 'scooter', 'fast-webcrawler', 'slurp@inktomi', 'turnitinbot', 'technorati', 'yahoo', 'findexa', 'findlinks', 'gaisbo', 'zyborg', 'surveybot', 'bloglines', 'blogsearch', 'ubsub', 'syndic8', 'userland', 'gigabot', 'become.com');
        $useragent = $_SERVER['HTTP_USER_AGENT'];
        foreach ($bots_useragent as $bot) {
            if (stristr($useragent, $bot) !== false) {
                return;
            }
        }
        header('Content-Type: text/html; charset=' . get_option('blog_charset') . '');
        postratings_textdomain();
        $rated = check_rated($post_id);
        // Check Whether Post Has Been Rated By User
        if (!$rated) {
            // Check Whether Is There A Valid Post
            $post = get_post($post_id);
            // If Valid Post Then We Rate It
            if ($post && !wp_is_post_revision($post)) {
                $ratings_max = intval(get_option('postratings_max'));
                $ratings_custom = intval(get_option('postratings_customrating'));
                $ratings_value = get_option('postratings_ratingsvalue');
                $post_title = addslashes($post->post_title);
                $post_ratings = get_post_custom($post_id);
                $post_ratings_users = intval($post_ratings['ratings_users'][0]);
                $post_ratings_score = intval($post_ratings['ratings_score'][0]);
                // Check For Ratings Lesser Than 1 And Greater Than $ratings_max
                if ($rate < 1 || $rate > $ratings_max) {
                    $rate = 0;
                }
                $post_ratings_users = $post_ratings_users + 1;
                $post_ratings_score = $post_ratings_score + intval($ratings_value[$rate - 1]);
                $post_ratings_average = round($post_ratings_score / $post_ratings_users, 2);
                if (!update_post_meta($post_id, 'ratings_users', $post_ratings_users)) {
                    add_post_meta($post_id, 'ratings_users', $post_ratings_users, true);
                }
                if (!update_post_meta($post_id, 'ratings_score', $post_ratings_score)) {
                    add_post_meta($post_id, 'ratings_score', $post_ratings_score, true);
                }
                if (!update_post_meta($post_id, 'ratings_average', $post_ratings_average)) {
                    add_post_meta($post_id, 'ratings_average', $post_ratings_average, true);
                }
                // Add Log
                if (!empty($user_identity)) {
                    $rate_user = addslashes($user_identity);
                } elseif (!empty($_COOKIE['comment_author_' . COOKIEHASH])) {
                    $rate_user = addslashes($_COOKIE['comment_author_' . COOKIEHASH]);
                } else {
                    $rate_user = __('Guest', 'wp-postratings');
                }
                $rate_userid = intval($user_ID);
                // Only Create Cookie If User Choose Logging Method 1 Or 3
                $postratings_logging_method = intval(get_option('postratings_logging_method'));
                if ($postratings_logging_method == 1 || $postratings_logging_method == 3) {
                    $rate_cookie = setcookie("rated_" . $post_id, $ratings_value[$rate - 1], time() + 30000000, COOKIEPATH);
                }
                // Log Ratings No Matter What
                $rate_log = $wpdb->query("INSERT INTO {$wpdb->ratings} VALUES (0, {$post_id}, '{$post_title}', " . $ratings_value[$rate - 1] . ",'" . current_time('timestamp') . "', '" . get_ipaddress() . "', '" . esc_attr(@gethostbyaddr(get_ipaddress())) . "' ,'{$rate_user}', {$rate_userid})");
                # store into transver LHG database
                lhg_store_ratings($post_id, $post_ratings_users, $post_ratings_score, $ratings_value[$rate - 1]);
                // Output AJAX Result
                //echo the_ratings_results($post_id, $post_ratings_users, $post_ratings_score, $post_ratings_average);
                //show my rating, not the average
                echo the_ratings_results($post_id, $post_ratings_users, $post_ratings_score, $ratings_value[$rate - 1]);
                exit;
            } else {
                printf(__('Invalid Post ID. Post ID #%s.', 'wp-postratings'), $post_id);
                exit;
            }
            // End if($post)
        } else {
            printf(__('You Had Already Rated This Post. Post ID #%s.', 'wp-postratings'), $post_id);
            exit;
        }
        // End if(!$rated)
    }
    // End if($rate && $post_id && check_allowtorate())
}