Author: ritz
Inheritance: extends RTDBModel
 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;
 }
Example #2
0
 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;
 }
Example #3
0
 function migrate_likes($like_media)
 {
     $rtmediainteraction = new RTMediaInteractionModel();
     $user_id = $this->interactor;
     $media_id = $this->action_query->id;
     $action = $this->action;
     $value = "1";
     $columns = array('user_id' => $user_id, 'media_id' => $media_id, 'action' => $action, 'value' => $value);
     $insert_id = $rtmediainteraction->insert($columns);
     $like_media = trim(str_replace("," . $this->action_query->id . ",", ",", "," . $like_media . ","), ",");
     update_user_meta($this->interactor, 'rtmedia_liked_media', $like_media);
     return $insert_id;
 }
 /**
  * Get like count of a media
  *
  * @param   int $media_id MediaID to count likes
  *
  * @return  int                 Total like count on success or false
  */
 function fetch_media_like_stats($media_id)
 {
     if (empty($media_id)) {
         return false;
     }
     $rtmediainteractionmodel = new RTMediaInteractionModel();
     $media_like_cols = array('media_id' => $media_id, 'action' => 'like', 'value' => 1);
     $media_likes = $rtmediainteractionmodel->get($media_like_cols, false, false, 'action_date');
     if (0 === count($media_likes)) {
         return false;
     }
     return $media_likes;
 }
 /**
  * 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;
         }
     }
 }
Example #6
0
 /**
  * Method to reassign media to another user while deleting user
  *
  * @param type $user_id, $reassign
  *
  */
 public function reassign_wordpress_user($user_id, $reassign)
 {
     if ($reassign != null || $reassign != '') {
         // Updating media author
         $rtmedia_model = new RTMediaModel();
         $rtmedia_model->update(array('media_author' => $reassign), array('media_author' => $user_id));
         // Updating user id from interaction
         $rtmediainteraction = new RTMediaInteractionModel();
         $rtmediainteraction->update(array('user_id' => $reassign), array('user_id' => $user_id));
     }
 }
 function rtmedia_api_media_liked_by_user($media_id)
 {
     $rtmediainteractionmodel = new RTMediaInteractionModel();
     $media_like_cols = array('media_id' => $media_id, 'action' => 'like', 'value' => 1);
     $likers = $rtmediainteractionmodel->get($media_like_cols, FALSE, FALSE, 'action_date');
     return $likers;
 }
Example #8
0
 /**
  * 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));
         }
     }
 }