Advertisement
Guest User

handlelikedata.php - 5/2/13

a guest
May 2nd, 2013
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.32 KB | None | 0 0
  1. <?php
  2. /**
  3.  * Used for the like/unlike function.
  4.  *
  5.  * @package memepls
  6.  * @since memepls 1.0
  7.  */
  8.  
  9. require_once '../../../wp-config.php';
  10.  
  11. global $wpdb;
  12.  
  13. //get request data
  14. $post_id = (int)$_POST['post_id'];
  15. $author_post = $_POST['user_id']; //only use this var to get $user_id
  16. $task = $_POST['task'];
  17. $ip = $_SERVER['REMOTE_ADDR'];
  18.  
  19. $author = get_user_by('login', $author_post);
  20. $author_id = $author->ID; //used in db
  21.  
  22.  
  23. //messages
  24. $memepls_like_dislike_login_message = 'You are required to login to vote.';
  25. $memepls_like_dislike_voted_message = 'You\'ve voted already.';
  26. $memepls_like_dislike_thank_message = 'Thank you for voting';
  27.  
  28. //get setting data
  29. $is_logged_in = is_user_logged_in();
  30. $can_vote = false;
  31.  
  32. if(!$is_logged_in) {
  33.     //user needs to login to vote but has not logged in
  34.     $error = 1;
  35.     $msg = $memepls_like_dislike_login_message;
  36. } else {
  37.     $has_already_voted = HasUserAlreadyVoted($post_id, $ip);
  38.     $datetime_now = date('Y-m-d H:i:s');
  39.    
  40.     if($has_already_voted) {
  41.         //user can vote only once and has already voted.
  42.         $error = 1;
  43.         $msg = $memepls_like_dislike_voted_message;
  44.     } else {
  45.         if(!$has_already_voted) {
  46.             //never voted befor so can vote
  47.             $can_vote = true;
  48.         }
  49.     }
  50. }
  51.  
  52. if($can_vote) {
  53.     $current_user = wp_get_current_user();
  54.     $user_id = (int)$current_user->ID;
  55.    
  56.     if($task == "like") {      
  57.         if(!$has_already_voted) {  
  58.             $query = "INSERT INTO {$wpdb->prefix}memepls_like_dislike SET ";
  59.             $query .= "post_id = '" . $post_id . "', ";
  60.             $query .= "value = '1', ";
  61.             $query .= "date_time = '" . date('Y-m-d H:i:s') . "', ";
  62.             $query .= "ip = '$ip'";
  63.         }
  64.     } else {
  65.         if(!$has_already_voted) {  
  66.             $query = "INSERT INTO {$wpdb->prefix}memepls_like_dislike SET ";
  67.             $query .= "post_id = '" . $post_id . "', ";
  68.             $query .= "value = '-1', ";
  69.             $query .= "date_time = '" . date('Y-m-d H:i:s') . "', ";
  70.             $query .= "ip = '$ip'";
  71.         }
  72.     }
  73.     //echo $query;
  74.     $success = $wpdb->query($query);
  75.    
  76.     if($success) {
  77.         $error = 0;
  78.         $msg = $memepls_like_dislike_thank_message;
  79.     } else {
  80.         $error = 1;
  81.         $msg = __('Could not process your vote.', 'memepls_like_dislike');
  82.     }
  83. }
  84.  
  85. $like_count = GetLikeCount($post_id);
  86. $unlike_count = GetUnlikeCount($post_id);
  87.  
  88. $result = array("msg" => $msg, "error" => $error, "like" => $like_count, "unlike" => $unlike_count);
  89.  
  90. echo json_encode($result);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement