get_row() public method

get a array of media details.
public get_row ( integer $user_id = '', integer $media_id = '', type $action = '' ) : type
$user_id integer
$media_id integer
$action type
return type $results
コード例 #1
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);
     }
     global $rtmedia_points_media_id;
     $rtmedia_points_media_id = $this->action_query->id;
     do_action("rtmedia_after_view_media", $this);
     die;
 }
コード例 #2
0
ファイル: RTMediaViewCount.php プロジェクト: rtCamp/rtMedia
 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;
 }
コード例 #3
0
ファイル: RTMediaLike.php プロジェクト: umeshnevase/rtMedia
 function get_like_value($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;
     $results = $rtmediainteraction->get_row($user_id, $media_id, $action);
     $row = $results[0];
     if ($row->value == "1") {
         $this->increase = false;
         return true;
     } else {
         $this->increase = true;
         return false;
     }
 }
コード例 #4
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 = __('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;
         }
     }
 }
コード例 #5
0
 /**
  * Accepts a rtmedia media object and returns a array of media details
  */
 function rtmedia_api_media_details($media_list)
 {
     global $rtmediajsonapi;
     if (empty($media_list)) {
         return false;
     }
     $result = array();
     if (is_array($media_list)) {
         foreach ($media_list as $media) {
             //Media likes
             $rtmediainteraction = new RTMediaInteractionModel();
             $action = 'like';
             $results = $rtmediainteraction->get_row($rtmediajsonapi->user_id, $media['id'], $action);
             $row = !empty($results) ? $results[0] : '';
             $current_user = !empty($row) && $row->value == 1 ? 'TRUE' : 'FALSE';
             $result[] = array('id' => $media['id'], 'title' => $media['media_title'], 'src' => rtmedia_image('rt_media_activity_image', $media["id"], false), 'likes' => $media['likes'], 'current_user' => $current_user);
         }
     }
     return $result;
 }
コード例 #6
0
ファイル: RTMediaJsonApi.php プロジェクト: rtCamp/rtMedia
 /**
  * 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));
         }
     }
 }