Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Function: Process Ratings
- process_ratings();
- 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);
- }
- // Clear cache
- wp_cache_post_change($post_id);
- // 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)");
- // Output AJAX Result
- echo the_ratings_results($post_id, $post_ratings_users, $post_ratings_score, $post_ratings_average);
- 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())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement