Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Used for the like/unlike function.
- *
- * @package memepls
- * @since memepls 1.0
- */
- require_once '../../../wp-config.php';
- global $wpdb;
- //get request data
- $post_id = (int)$_POST['post_id'];
- $author_post = $_POST['user_id']; //only use this var to get $user_id
- $task = $_POST['task'];
- $ip = $_SERVER['REMOTE_ADDR'];
- $author = get_user_by('login', $author_post);
- $author_id = $author->ID; //used in db
- //messages
- $memepls_like_dislike_login_message = 'You are required to login to vote.';
- $memepls_like_dislike_voted_message = 'You\'ve voted already.';
- $memepls_like_dislike_thank_message = 'Thank you for voting';
- //get setting data
- $is_logged_in = is_user_logged_in();
- $can_vote = false;
- if(!$is_logged_in) {
- //user needs to login to vote but has not logged in
- $error = 1;
- $msg = $memepls_like_dislike_login_message;
- } else {
- $has_already_voted = HasUserAlreadyVoted($post_id, $ip);
- $datetime_now = date('Y-m-d H:i:s');
- if($has_already_voted) {
- //user can vote only once and has already voted.
- $error = 1;
- $msg = $memepls_like_dislike_voted_message;
- } else {
- if(!$has_already_voted) {
- //never voted befor so can vote
- $can_vote = true;
- }
- }
- }
- if($can_vote) {
- $current_user = wp_get_current_user();
- $user_id = (int)$current_user->ID;
- if($task == "like") {
- if(!$has_already_voted) {
- $query = "INSERT INTO {$wpdb->prefix}memepls_like_dislike SET ";
- $query .= "post_id = '" . $post_id . "', ";
- $query .= "value = '1', ";
- $query .= "date_time = '" . date('Y-m-d H:i:s') . "', ";
- $query .= "ip = '$ip'";
- }
- } else {
- if(!$has_already_voted) {
- $query = "INSERT INTO {$wpdb->prefix}memepls_like_dislike SET ";
- $query .= "post_id = '" . $post_id . "', ";
- $query .= "value = '-1', ";
- $query .= "date_time = '" . date('Y-m-d H:i:s') . "', ";
- $query .= "ip = '$ip'";
- }
- }
- //echo $query;
- $success = $wpdb->query($query);
- if($success) {
- $error = 0;
- $msg = $memepls_like_dislike_thank_message;
- } else {
- $error = 1;
- $msg = __('Could not process your vote.', 'memepls_like_dislike');
- }
- }
- $like_count = GetLikeCount($post_id);
- $unlike_count = GetUnlikeCount($post_id);
- $result = array("msg" => $msg, "error" => $error, "like" => $like_count, "unlike" => $unlike_count);
- echo json_encode($result);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement