function process() { $user_id = $this->interactor; if (!$user_id) { $user_id = -1; } $media_id = $this->action_query->id; $action = $this->action_query->action; $rtmediainteraction = new RTMediaInteractionModel(); $check_action = $rtmediainteraction->check($user_id, $media_id, $action); if ($check_action) { $results = $rtmediainteraction->get_row($user_id, $media_id, $action); $row = $results[0]; $curr_value = $row->value; $update_data = array('value' => ++$curr_value); $where_columns = array('user_id' => $user_id, 'media_id' => $media_id, 'action' => $action); $update = $rtmediainteraction->update($update_data, $where_columns); } else { $columns = array('user_id' => $user_id, 'media_id' => $media_id, 'action' => $action, 'value' => "1"); $insert_id = $rtmediainteraction->insert($columns); } global $rtmedia_points_media_id; $rtmedia_points_media_id = $this->action_query->id; do_action("rtmedia_after_view_media", $this); die; }
function process() { $user_id = $this->interactor; if (!$user_id) { $user_id = -1; } $media_id = $this->action_query->id; $action = $this->action_query->action; $rtmediainteraction = new RTMediaInteractionModel(); $check_action = $rtmediainteraction->check($user_id, $media_id, $action); if ($check_action) { $results = $rtmediainteraction->get_row($user_id, $media_id, $action); $row = $results[0]; $curr_value = $row->value; $update_data = array('value' => ++$curr_value); $where_columns = array('user_id' => $user_id, 'media_id' => $media_id, 'action' => $action); $update = $rtmediainteraction->update($update_data, $where_columns); } else { $columns = array('user_id' => $user_id, 'media_id' => $media_id, 'action' => $action, 'value' => '1'); $insert_id = $rtmediainteraction->insert($columns); } //todo update `views` column in media index table, might be need to write migration as well for old media global $rtmedia_points_media_id; $rtmedia_points_media_id = $this->action_query->id; do_action('rtmedia_after_view_media', $this); die; }
function is_like_migrated($media_id = false, $user_id = false) { $rtmediainteraction = new RTMediaInteractionModel(); if (!$user_id) { $user_id = $this->interactor; } if (!$media_id) { $media_id = $this->action_query->id; } $action = $this->action; return $rtmediainteraction->check($user_id, $media_id, $action); }
/** * Like/Unlike by media_id or activity_id * @global int $this->ec_server_error * @global type $this->msg_server_error * @global int $this->ec_invalid_media_id * @global type $this->msg_invalid_media_id */ function rtmedia_api_process_like_media_request() { $this->rtmediajsonapifunction->rtmedia_api_verfiy_token(); $this->rtmediajsonapifunction->rtmedia_api_media_activity_id_missing(); //Like errors $ec_already_liked = 900001; $msg_already_liked = __('unliked media', 'rtmedia'); $ec_liked_media = 900002; $msg_liked_media = __('liked media', 'rtmedia'); extract($_POST); if (class_exists('RTMediaInteractionModel')) { $rtmediainteraction = new RTMediaInteractionModel(); if (class_exists('RTMediaLike')) { $rtmedialike = new RTMediaLike(); } $action = 'like'; // Like or Unlike if (!rtmedia_media_id($media_id)) { echo $this->rtmedia_api_response_object('FALSE', $this->ec_invalid_media_id, $this->msg_invalid_media_id); exit; } $like_count_old = get_rtmedia_like(rtmedia_media_id($media_id)); $check_action = $rtmediainteraction->check($this->user_id, $media_id, $action); if ($check_action) { $results = $rtmediainteraction->get_row($this->user_id, $media_id, $action); $row = $results[0]; $curr_value = $row->value; if ($curr_value == "1") { $value = "0"; $increase = false; } else { $value = "1"; $increase = true; } $update_data = array('value' => $value); $where_columns = array('user_id' => $this->user_id, 'media_id' => $media_id, 'action' => $action); $update = $rtmediainteraction->update($update_data, $where_columns); } else { $value = "1"; $columns = array('user_id' => $this->user_id, 'media_id' => $media_id, 'action' => $action, 'value' => $value); $insert_id = $rtmediainteraction->insert($columns); $increase = true; } if ($increase) { $like_count_old++; } elseif (!$increase) { $like_count_old--; } if ($like_count_old < 0) { $like_count_old = 0; } $data = array('like_count' => $like_count_old); if (!empty($insert_id)) { $rtmedialike->model->update(array('likes' => $like_count_old), array('id' => $media_id)); echo $this->rtmedia_api_response_object('TRUE', $ec_liked_media, $msg_liked_media, $data); exit; } elseif (!empty($update)) { $rtmedialike->model->update(array('likes' => $like_count_old), array('id' => $media_id)); if ($value == 1) { echo $this->rtmedia_api_response_object('TRUE', $ec_liked_media, $msg_liked_media, $data); exit; } elseif ($value == 0) { echo $this->rtmedia_api_response_object('TRUE', $ec_already_liked, $msg_already_liked, $data); exit; } } else { echo $this->rtmedia_api_response_object('FALSE', $this->ec_server_error, $this->msg_server_error); exit; } } }
/** * Like/Unlike by media_id or activity_id * @global int $this ->ec_server_error * @global type $this ->msg_server_error * @global int $this ->ec_invalid_media_id * @global type $this ->msg_invalid_media_id */ function rtmedia_api_process_like_media_request() { $this->rtmediajsonapifunction->rtmedia_api_verfiy_token(); $this->rtmediajsonapifunction->rtmedia_api_media_activity_id_missing(); //Like errors $ec_already_liked = 900001; $msg_already_liked = esc_html__('unliked media', 'buddypress-media'); $ec_liked_media = 900002; $msg_liked_media = esc_html__('liked media', 'buddypress-media'); $media_id = filter_input(INPUT_POST, 'media_id', FILTER_SANITIZE_NUMBER_INT); if (class_exists('RTMediaInteractionModel')) { $rtmediainteraction = new RTMediaInteractionModel(); if (class_exists('RTMediaLike')) { $rtmedialike = new RTMediaLike(); } $action = 'like'; // Like or Unlike if (!rtmedia_media_id($media_id)) { wp_send_json($this->rtmedia_api_response_object('FALSE', $this->ec_invalid_media_id, $this->msg_invalid_media_id)); } $like_count_old = get_rtmedia_like(rtmedia_media_id($media_id)); $check_action = $rtmediainteraction->check($this->user_id, $media_id, $action); if ($check_action) { $results = $rtmediainteraction->get_row($this->user_id, $media_id, $action); $row = $results[0]; $curr_value = $row->value; if (1 === intval($curr_value)) { $value = '0'; $increase = false; } else { $value = '1'; $increase = true; } $update_data = array('value' => $value); $where_columns = array('user_id' => $this->user_id, 'media_id' => $media_id, 'action' => $action); $update = $rtmediainteraction->update($update_data, $where_columns); } else { $value = '1'; $columns = array('user_id' => $this->user_id, 'media_id' => $media_id, 'action' => $action, 'value' => $value); $insert_id = $rtmediainteraction->insert($columns); $increase = true; } if ($increase) { $like_count_old++; } elseif (!$increase) { $like_count_old--; } if ($like_count_old < 0) { $like_count_old = 0; } $data = array('like_count' => $like_count_old); if (!empty($insert_id) && isset($rtmedialike)) { $rtmedialike->model->update(array('likes' => $like_count_old), array('id' => $media_id)); wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_liked_media, $msg_liked_media, $data)); } elseif (!empty($update) && isset($rtmedialike)) { $rtmedialike->model->update(array('likes' => $like_count_old), array('id' => $media_id)); if (1 === intval($value)) { wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_liked_media, $msg_liked_media, $data)); } elseif (0 === intval($value)) { wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_already_liked, $msg_already_liked, $data)); } } else { wp_send_json($this->rtmedia_api_response_object('FALSE', $this->ec_server_error, $this->msg_server_error)); } } }
function is_like_migrated() { $rtmediainteraction = new RTMediaInteractionModel(); $user_id = $this->interactor; $media_id = $this->action_query->id; $action = $this->action; return $rtmediainteraction->check($user_id, $media_id, $action); }