function rtm_change_activity_privacy() { $data = $_POST; if (wp_verify_nonce($data['nonce'], 'rtmedia_activity_privacy_nonce')) { $rtm_activity_model = new RTMediaActivityModel(); $is_ac_privacy_exist = $rtm_activity_model->check($data['activity_id']); $privacy = intval($data['privacy']); $activity_id = intval($data['activity_id']); if (!$is_ac_privacy_exist) { // Very first privacy entry for this activity $status = $rtm_activity_model->insert(array('privacy' => $privacy, 'activity_id' => $activity_id, 'user_id' => get_current_user_id())); } else { // Just update the existing value $status = $rtm_activity_model->update(array('privacy' => $privacy), array('activity_id' => $activity_id)); } // update privacy of corresponding media $media_model = new RTMediaModel(); $activity_media = $media_model->get(array('activity_id' => $activity_id)); if (!empty($activity_media) && is_array($activity_media)) { foreach ($activity_media as $single_media) { $where = array('id' => $single_media->id); $columns = array('privacy' => $privacy); // update media privacy $media_model->update($columns, $where); } } if ($status === false) { $status = 'false'; } else { $status = 'true'; } echo $status; wp_die(); } }
function create_activity_html() { $html = ''; $html .= '<div class="rtmedia-activity-container">'; if (!empty($this->activity_text)) { $html .= '<div class="rtmedia-activity-text">'; $html .= $this->activity_text; $html .= '</div>'; } global $rtmedia; if (isset($rtmedia->options['buddypress_limitOnActivity'])) { $limitActivityFeed = $rtmedia->options['buddypress_limitOnActivity']; } else { $limitActivityFeed = 0; } $mediaObj = new RTMediaModel(); $media_details = $mediaObj->get(array('id' => $this->media)); if (intval($limitActivityFeed) > 0) { $media_details = array_slice($media_details, 0, $limitActivityFeed, true); } $rtmedia_activity_ul_class = apply_filters('rtmedia_activity_ul_class', 'large-block-grid-3'); $li_content = ''; $count = 0; foreach ($media_details as $media) { $li_content .= '<li class="rtmedia-list-item media-type-' . $media->media_type . '">'; if ('photo' == $media->media_type) { $li_content .= '<a href ="' . get_rtmedia_permalink($media->id) . '">'; } $li_content .= '<div class="rtmedia-item-thumbnail">'; $li_content .= $this->media($media); $li_content .= '</div>'; $li_content .= '<div class="rtmedia-item-title">'; $li_content .= '<h4 title="' . $media->media_title . '">'; if ('photo' != $media->media_type) { $li_content .= '<a href="' . get_rtmedia_permalink($media->id) . '">'; } $li_content .= $media->media_title; if ('photo' != $media->media_type) { $li_content .= '</a>'; } $li_content .= '</h4>'; $li_content .= '</div>'; if ('photo' == $media->media_type) { $li_content .= '</a>'; } $li_content .= '<div class="rtmedia-item-actions">'; $li_content .= $this->actions(); $li_content .= '</div>'; $li_content .= '</li>'; $count++; } $html .= '<ul class="rtmedia-list ' . $rtmedia_activity_ul_class . ' rtmedia-activity-media-length-' . $count . '">'; $html .= $li_content; $html .= '</ul>'; $html .= '</div>'; return bp_activity_filter_kses($html); }
function comment_sync($comment_id, $param) { $user_id = ''; $comment_author = ''; extract($param); if (!empty($user_id)) { $user_data = get_userdata($user_id); $comment_author = $user_data->data->user_login; } $mediamodel = new RTMediaModel(); $media = $mediamodel->get(array('activity_id' => $param['activity_id'])); // if there is only single media in activity if (sizeof($media) == 1 && isset($media[0]->media_id)) { $media_id = $media[0]->media_id; $comment = new RTMediaComment(); $id = $comment->add(array('comment_content' => $param['content'], 'comment_post_ID' => $media_id, 'user_id' => $user_id, 'comment_author' => $comment_author)); update_comment_meta($id, 'activity_id', $comment_id); } }
function remove($id) { do_action('rtmedia_before_remove_comment', $id); $comment = ''; if (!empty($id)) { $comment = get_comment($id); } if (isset($comment->comment_post_ID) && isset($comment->user_id)) { $model = new RTMediaModel(); //get the current media from the comment_post_ID $media = $model->get(array('media_id' => $comment->comment_post_ID)); // if user is comment creator, or media uploader or admin, allow to delete if (isset($media[0]->media_author) && (is_rt_admin() || intval($comment->user_id) === get_current_user_id() || intval($media[0]->media_author) === get_current_user_id())) { $comment_deleted = $this->rtmedia_comment_model->delete($id); do_action('rtmedia_after_remove_comment', $id); return $comment_deleted; } } return false; }
function rtm_change_activity_privacy() { $nonce = filter_input(INPUT_POST, 'nonce', FILTER_SANITIZE_STRING); $privacy = filter_input(INPUT_POST, 'privacy', FILTER_SANITIZE_NUMBER_INT); $activity_id = filter_input(INPUT_POST, 'activity_id', FILTER_SANITIZE_NUMBER_INT); if (wp_verify_nonce($nonce, 'rtmedia_activity_privacy_nonce')) { $rtm_activity_model = new RTMediaActivityModel(); $is_ac_privacy_exist = $rtm_activity_model->check($activity_id); $privacy = intval($privacy); $activity_id = intval($activity_id); if (!$is_ac_privacy_exist) { // Very first privacy entry for this activity $status = $rtm_activity_model->insert(array('privacy' => $privacy, 'activity_id' => $activity_id, 'user_id' => get_current_user_id())); } else { // Just update the existing value $status = $rtm_activity_model->update(array('privacy' => $privacy), array('activity_id' => $activity_id)); } // update privacy of corresponding media $media_model = new RTMediaModel(); $activity_media = $media_model->get(array('activity_id' => $activity_id)); if (!empty($activity_media) && is_array($activity_media)) { foreach ($activity_media as $single_media) { $where = array('id' => $single_media->id); $columns = array('privacy' => $privacy); // update media privacy $media_model->update($columns, $where); } } if (false === $status) { $status = 'false'; } else { $status = 'true'; } echo esc_html($status); wp_die(); } }
function check_return_comments() { global $rtmedia_query; if ('comment' !== $rtmedia_query->action_query->action) { return; } if (isset($rtmedia_query->action_query->id) && count($_POST)) { // @codingStandardsIgnoreLine /** * /media/comments [POST] * Post a comment to the album by post id */ $nonce = isset($_REQUEST['rtmedia_comment_nonce']) ? wp_unslash($_REQUEST['rtmedia_comment_nonce']) : ''; $comment_content = isset($_REQUEST['comment_content']) ? sanitize_text_field(wp_unslash($_REQUEST['comment_content'])) : ''; if (wp_verify_nonce($nonce, 'rtmedia_comment_nonce')) { if (empty($comment_content)) { return false; } $comment = new RTMediaComment(); $attr = $_POST; $media_model = new RTMediaModel(); $result = $media_model->get(array('id' => $rtmedia_query->action_query->id)); if (!isset($attr['comment_post_ID'])) { $attr['comment_post_ID'] = $result[0]->media_id; } $id = $comment->add($attr); if (!is_null($result[0]->activity_id)) { global $rtmedia_buddypress_activity; remove_action('bp_activity_comment_posted', array($rtmedia_buddypress_activity, 'comment_sync'), 10, 2); if (function_exists('bp_activity_new_comment')) { $comment_activity_id = bp_activity_new_comment(array('content' => $comment_content, 'activity_id' => $result[0]->activity_id)); do_action('rtm_bp_activity_comment_posted', $comment_activity_id, $result[0]); } } if (!empty($comment_activity_id)) { $rtmedia_activity_comment = rtmedia_activity_comment($comment_activity_id); if ($rtmedia_activity_comment['content']) { update_comment_meta($id, 'activity_comment_content', $rtmedia_activity_comment['content']); } update_comment_meta($id, 'activity_id', $comment_activity_id); } $_rt_ajax = filter_input(INPUT_POST, 'rtajax', FILTER_SANITIZE_STRING); if (!empty($_rt_ajax)) { global $wpdb; $comments = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d limit 100", $id), ARRAY_A); echo rmedia_single_comment($comments); // @codingStandardsIgnoreLine exit; } } else { esc_html_e('Ooops !!! Invalid access. No nonce was found !!', 'buddypress-media'); } } }
function bp_prefetch_activity_object_data($activities) { // If activities array is empty then return if (empty($activities)) { return; } // To store activity_id $activity_ids = array(); $activity_index_array = array(); foreach ($activities as $i => $activity) { // Checking if activity_type is of rtmedia and component must be profile if ($activity->type == 'rtmedia_update' && $activity->component == 'profile') { // Storing activity_id $activity_ids[] = $activity->id; // Storing index of activity from activities array $activity_index_array[] = $i; } } // Checking if media is linked with any of activity if (!empty($activity_ids)) { $rtmedia_model = new RTMediaModel(); // Where condition array to get media using activity_id from rtm_media table $rtmedia_media_where_array = array(); $rtmedia_media_where_array['activity_id'] = array('compare' => 'IN', 'value' => $activity_ids); $rtmedia_media_query = $rtmedia_model->get($rtmedia_media_where_array); // Array to store media_type in simplified manner with activity_id as key $rtmedia_media_type_array = array(); for ($i = 0; $i < sizeof($rtmedia_media_query); $i++) { // Storing media_type of uploaded media to check whether all media are of same type or different and key is activity_id // Making activity_id array because there might be more then 1 media linked with activity if (!isset($rtmedia_media_type_array[$rtmedia_media_query[$i]->activity_id]) || !is_array($rtmedia_media_type_array[$rtmedia_media_query[$i]->activity_id])) { $rtmedia_media_type_array[$rtmedia_media_query[$i]->activity_id] = array(); } array_push($rtmedia_media_type_array[$rtmedia_media_query[$i]->activity_id], $rtmedia_media_query[$i]->media_type); } // Updating action for ($a = 0; $a < sizeof($activity_ids); $a++) { // Getting index of activity which is being updated $index = $activity_index_array[$a]; //error_log( var_export( $activities[ $index ], true ) ); // This pattern is for getting name. User might have change display name as first name or something instead on nicename. $pattern = "/<a ?.*>(.*)<\\/a>/"; preg_match($pattern, $activities[$index]->action, $matches); // Generating user_link with name $user_link = '<a href="' . $activities[$index]->primary_link . '">' . $matches[1] . '</a>'; // Counting media linked with activity $count = sizeof($rtmedia_media_type_array[$activities[$index]->id]); // Getting constant with single label or plural label $media_const = 'RTMEDIA_' . strtoupper($rtmedia_media_type_array[$activities[$index]->id][0]); if ($count > 1) { $media_const .= '_PLURAL'; } $media_const .= '_LABEL'; if (defined($media_const)) { $media_str = constant($media_const); } else { $media_str = RTMEDIA_MEDIA_SLUG; } $action = ''; $user = get_userdata($activities[$index]->user_id); // Updating activity based on count if ($count == 1) { $action = sprintf(__('%s added a %s', 'buddypress-media'), $user_link, $media_str); } else { // Checking all the media linked with activity are of same type if (isset($rtmedia_media_type_array[$activities[$index]->id]) && !empty($rtmedia_media_type_array[$activities[$index]->id]) && count(array_unique($rtmedia_media_type_array[$activities[$index]->id])) == 1) { $action = sprintf(__('%s added %d %s', 'buddypress-media'), $user_link, $count, $media_str); } else { $action = sprintf(__('%s added %d %s', 'buddypress-media'), $user_link, $count, RTMEDIA_MEDIA_SLUG); } } $action = apply_filters('rtmedia_bp_activity_action_text', $action, $user_link, $count, $user, $rtmedia_media_type_array[$activities[$index]->id][0], $activities[$index]->id); $activities[$index]->action = $action; } } return $activities; }
function rtmedia_api_process_rtmedia_get_media_details_request() { $this->rtmediajsonapifunction->rtmedia_api_verfiy_token(); $this->rtmediajsonapifunction->rtmedia_api_media_activity_id_missing(); //Errors $ec_single_media = 150002; $msg_single_media = __('single media', 'rtmedia'); extract($_REQUEST); $id = rtmedia_media_id($media_id); if (empty($id)) { echo $this->rtmedia_api_response_object('TRUE', $this->ec_invalid_media_id, $this->msg_invalid_media_id); exit; } if (class_exists('RTMediaModel')) { $rtmediamodel = new RTMediaModel(); $args = array('media_id' => $id, 'id' => $media_id); $media = $rtmediamodel->get($args); } $activity_id = !empty($media) ? $media[0]->activity_id : ''; if (empty($activity_id)) { echo $this->rtmedia_api_response_object('FALSE', $this->ec_invalid_media_id, $this->msg_invalid_media_id); exit; } $media_single = $this->rtmediajsonapifunction->rtmedia_api_get_feed(FALSE, $activity_id); if ($media_single) { echo $this->rtmedia_api_response_object('TRUE', $ec_single_media, $msg_single_media, $media_single); exit; } }
function get_rtmedia_privacy_symbol($rtmedia_id = false) { $mediamodel = new RTMediaModel(); $actions = $mediamodel->get(array('id' => rtmedia_id($rtmedia_id))); $privacy = ""; if (isset($actions[0]->privacy) && $actions[0]->privacy != "") { $title = $icon = ""; switch ($actions[0]->privacy) { case 0: //public $title = __("Public", 'rtmedia'); $icon = 'rtmicon-globe'; break; case 20: //users $title = __("All members", 'rtmedia'); $icon = 'rtmicon-users'; break; case 40: // friends $title = __("Your friends", 'rtmedia'); $icon = 'rtmicon-users-1'; break; case 60: // private $title = __("Only you", 'rtmedia'); $icon = 'rtmicon-lock'; break; case 80: // private $title = __("Blocked Temperorily", 'rtmedia'); $icon = 'rtmicon-ban'; break; } if ($title != "" && $icon != "") { $privacy = "<i class='" . $icon . "' title='" . $title . "'></i>"; } } return $privacy; }
/** * Get the media privacy symbol * * @param bool|int $rtmedia_id * * @return string */ function get_rtmedia_privacy_symbol($rtmedia_id = false) { $mediamodel = new RTMediaModel(); $actions = $mediamodel->get(array('id' => rtmedia_id($rtmedia_id))); $privacy = ''; if (intval($actions[0]->privacy) >= 0) { $title = $icon = ''; switch ($actions[0]->privacy) { case 0: // public $title = esc_html__('Public', 'buddypress-media'); $icon = 'dashicons dashicons-admin-site rtmicon'; break; case 20: // users $title = esc_html__('All members', 'buddypress-media'); $icon = 'dashicons dashicons-groups rtmicon'; break; case 40: // friends $title = esc_html__('Your friends', 'buddypress-media'); $icon = 'dashicons dashicons-networking rtmicon'; break; case 60: // private $title = esc_html__('Only you', 'buddypress-media'); $icon = 'dashicons dashicons-lock rtmicon'; break; case 80: // private $title = esc_html__('Blocked temporarily', 'buddypress-media'); $icon = 'dashicons dashicons-dismiss rtmicon'; break; } if (!empty($title) && !empty($icon)) { $privacy = "<i class='" . esc_attr($icon) . "' title='" . esc_attr($title) . "'></i>"; } } return $privacy; }
function get_rtmedia_privacy_symbol($rtmedia_id = false) { $mediamodel = new RTMediaModel(); $actions = $mediamodel->get(array('id' => rtmedia_id($rtmedia_id))); $privacy = ""; if (isset($actions[0]->privacy) && $actions[0]->privacy != "") { $title = $icon = ""; switch ($actions[0]->privacy) { case 0: //public $title = __("Public", 'rtmedia'); $icon = 'dashicons dashicons-admin-site rtmicon'; break; case 20: //users $title = __("All members", 'rtmedia'); $icon = 'dashicons dashicons-groups rtmicon'; break; case 40: // friends $title = __("Your friends", 'rtmedia'); $icon = 'dashicons dashicons-networking rtmicon'; break; case 60: // private $title = __("Only you", 'rtmedia'); $icon = 'dashicons dashicons-lock rtmicon'; break; case 80: // private $title = __("Blocked temporarily", 'rtmedia'); $icon = 'dashicons dashicons-dismiss rtmicon'; break; } if ($title != "" && $icon != "") { $privacy = "<i class='" . $icon . "' title='" . $title . "'></i>"; } } return $privacy; }
function save_video_thumbnail($post, $attachment) { if (isset($post['rtmedia-thumbnail'])) { $rtmedia_model = new RTMediaModel(); $model = new RTMediaModel(); $media = $model->get(array('media_id' => $post['ID'])); $media_id = $media[0]->id; $rtmedia_model->update(array('cover_art' => $post['rtmedia-thumbnail']), array('media_id' => $post['ID'])); update_activity_after_thumb_set($media_id); } return $post; }
function rtmedia_wpseo_og_image($data) { global $wp_query; if (class_exists("BuddyPress")) { global $bp; if (bp_is_single_activity()) { $mediaObj = new RTMediaModel(); $media_details = $mediaObj->get(array('activity_id' => $bp->current_action)); foreach ($media_details as $media) { if ($media->media_type == 'photo') { $img = wp_get_attachment_image_src($media->media_id, "full"); if ($img && isset($img[0]) && $img[0] != "") { echo "<meta property='og:image' content='" . esc_url($img[0]) . "' />\n"; } } } } } if (array_key_exists('media', $wp_query->query_vars)) { global $rtmedia_query; if (isset($rtmedia_query->media) && $rtmedia_query->media && count($rtmedia_query->media) > 0) { foreach ($rtmedia_query->media as $media) { $img = wp_get_attachment_image_src($media->media_id, "full"); if ($img && isset($img[0]) && $img[0] != "") { echo "<meta property='og:image' content='" . esc_url($img[0]) . "' />\n"; } } } } return $data; }
/** * Remove activity when comment on media is deleted * * @param $comment_id */ function remove_activity_after_media_comment_delete($comment_id) { if (!empty($comment_id)) { // get comment details from comment id $comment = get_comment($comment_id); $user_id = $comment->user_id; if (isset($comment->comment_post_ID) && isset($comment->user_id)) { $model = new RTMediaModel(); $media_obj = $model->get(array('media_id' => $comment->comment_post_ID)); $media_obj = $media_obj[0]; if (!empty($media_obj)) { $meta_key = 'rtm-bp-media-comment-activity-' . $media_obj->id . '-' . $comment_id; // Delete activity when user remove his comment. $activity_id = get_user_meta($user_id, $meta_key, true); if (!empty($activity_id)) { if (bp_activity_delete(array('id' => $activity_id))) { delete_user_meta($user_id, $meta_key); } } } } } }
function rtmedia_api_process_rtmedia_get_media_details_request() { $this->rtmediajsonapifunction->rtmedia_api_verfiy_token(); $this->rtmediajsonapifunction->rtmedia_api_media_activity_id_missing(); //Errors $ec_single_media = 150002; $msg_single_media = esc_html__('single media', 'buddypress-media'); $media_id = filter_input(INPUT_POST, 'media_id', FILTER_SANITIZE_NUMBER_INT); $id = rtmedia_media_id($media_id); if (empty($id)) { wp_send_json($this->rtmedia_api_response_object('TRUE', $this->ec_invalid_media_id, $this->msg_invalid_media_id)); } if (class_exists('RTMediaModel')) { $rtmediamodel = new RTMediaModel(); $args = array('media_id' => $id, 'id' => $media_id); $media = $rtmediamodel->get($args); } $activity_id = !empty($media) ? $media[0]->activity_id : ''; if (empty($activity_id)) { wp_send_json($this->rtmedia_api_response_object('FALSE', $this->ec_invalid_media_id, $this->msg_invalid_media_id)); } $media_single = $this->rtmediajsonapifunction->rtmedia_api_get_feed(false, $activity_id); if ($media_single) { wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_single_media, $msg_single_media, $media_single)); } }
/** * @param $album_id * * @return array */ function rtm_get_album_media_count($album_id) { global $rtmedia_query; $args = array(); if (isset($album_id) && $album_id) { $args['album_id'] = $album_id; } if (isset($rtmedia_query->query['context']) && $rtmedia_query->query['context']) { $args['context'] = $rtmedia_query->query['context']; } if (isset($rtmedia_query->query['context_id']) && $rtmedia_query->query['context_id']) { $args['context_id'] = $rtmedia_query->query['context_id']; } $rtmedia_model = new RTMediaModel(); if ($args) { $count = $rtmedia_model->get($args, false, false, 'media_id desc', true); } return $count; }
/** * Fix for rtAmazon S3 addon * When rtAmazon S3 is disabled we need to restore/replace the attachment URLS with the * original WordPress URL structure * * @since 1.0.1 * * @param string $content HTML contents of the activity * @param object $activity Activity object * * @return string */ function replace_aws_img_urls_from_activities($content, $activity = '') { if (empty($content) || empty($activity)) { return $content; } /** * Allow users/plugins to prevent replacing of URL from activty * * @var boolean Boolean false is passed as a parameter. * @var object $activity Object of activity. */ if (apply_filters('replace_aws_img_urls_from_activities', false, $activity)) { return $content; } $rt_model = new RTMediaModel(); $all_media = $rt_model->get(array('activity_id' => $activity->id)); $is_img = false; $url = ''; $is_img = strpos($content, '<img '); $search = '/<img.+src=["]([^"]+)["]/'; preg_match_all($search, $content, $url); if (!empty($is_img) && !empty($url) && !empty($url[1])) { /** * Iterate through each image URL found in regex */ foreach ($url[1] as $key => $url) { if (!class_exists('RTAWSS3_Class') && !class_exists('AS3CF_Utils')) { /* for WordPress backward compatibility */ if (function_exists('wp_get_upload_dir')) { $uploads = wp_get_upload_dir(); } else { $uploads = wp_upload_dir(); } $baseurl = $uploads['baseurl']; if (0 === strpos($url, $uploads['baseurl'])) { $thumbnail_url = $url; } else { $rtmedia_folder_name = apply_filters('rtmedia_upload_folder_name', 'rtMedia'); $thumbnail_url = explode($rtmedia_folder_name, $url); if (is_array($thumbnail_url) && !empty($thumbnail_url[1])) { $thumbnail_url = $baseurl . '/' . $rtmedia_folder_name . '/' . ltrim($thumbnail_url[1], '/'); } else { $thumbnail_url = $url; } } if (!empty($thumbnail_url)) { $content = str_replace($url, $thumbnail_url, $content); } } else { /** * Sometimes there's no attachment ID for the URL assigned, so we pass MD5 hash of the URL as a attachment ID */ $attachment_id = md5($url); if (!empty($all_media) && !empty($all_media[0]->media_id)) { $attachment_id = $all_media[0]->media_id; } $image_url = apply_filters('rtmedia_filtered_photo_url', $url, $attachment_id); $content = str_replace($url, $image_url, $content); } // End if(). } // End foreach(). } // End if(). return $content; }
function filter_image_sizes_details($sizes) { if (isset($_REQUEST['post_id'])) { $sizes = $this->unset_bp_media_image_sizes_details($sizes); } elseif (isset($_REQUEST['id'])) { //For Regenerate Thumbnails Plugin $model = new RTMediaModel(); $result = $model->get(array('media_id' => intval(wp_unslash($_REQUEST['id'])))); if (!empty($result)) { $bp_media_sizes = $this->image_sizes(); $sizes = array('rt_media_thumbnail' => $bp_media_sizes['thumbnail'], 'rt_media_activity_image' => $bp_media_sizes['activity'], 'rt_media_single_image' => $bp_media_sizes['single'], 'rt_media_featured_image' => $bp_media_sizes['featured']); } else { $sizes = $this->unset_bp_media_image_sizes_details($sizes); } } return $sizes; }
function rtmedia_api_album_media($album_id) { if (empty($album_id)) { return false; } $rtmediamodel = new RTMediaModel(); $args = array('album_id' => $album_id); $media_list = $rtmediamodel->get($args); $media_data = array(); if (!empty($media_list) && is_array($media_list)) { foreach ($media_list as $media) { $media_data[] = array('id' => $media->id, 'media_title' => $media->media_title, 'media_url' => get_rtmedia_permalink($media->media_id), 'media_author' => $media->media_author, 'cover' => rtmedia_image('rt_media_thumbnail', $media->media_id, FALSE)); } } return $media_data; }
function check_return_comments() { global $rtmedia_query; if ($rtmedia_query->action_query->action != 'comment') { return; } if (isset($rtmedia_query->action_query->id) && count($_POST)) { /** * /media/comments [POST] * Post a comment to the album by post id */ $nonce = $_REQUEST['rtmedia_comment_nonce']; if (wp_verify_nonce($nonce, 'rtmedia_comment_nonce')) { if (empty($_POST['comment_content'])) { return false; } $comment = new RTMediaComment(); $attr = $_POST; $mediaModel = new RTMediaModel(); $result = $mediaModel->get(array('id' => $rtmedia_query->action_query->id)); if (!isset($attr['comment_post_ID'])) { $attr['comment_post_ID'] = $result[0]->media_id; } $id = $comment->add($attr); if ($result[0]->activity_id != null) { global $rtmedia_buddypress_activity; remove_action("bp_activity_comment_posted", array($rtmedia_buddypress_activity, "comment_sync"), 10, 2); if (function_exists('bp_activity_new_comment')) { $comment_activity_id = bp_activity_new_comment(array('content' => $_POST['comment_content'], 'activity_id' => $result[0]->activity_id)); } } if (!empty($comment_activity_id)) { update_comment_meta($id, 'activity_id', $comment_activity_id); } if (isset($_POST["rtajax"])) { global $wpdb; $comments = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->comments} WHERE comment_ID = %d", $id), ARRAY_A); echo rmedia_single_comment($comments); exit; } } else { _e('Ooops !!! Invalid access. No nonce was found !!', 'buddypress-media'); } } }
/** * * @param type $uploaded * @param type $file_object * * @return type */ function generate_post_array($uploaded, $file_object) { if ($uploaded['album_id']) { $model = new RTMediaModel(); $parent_details = $model->get(array('id' => $uploaded['album_id'])); if (is_array($parent_details) && count($parent_details) > 0) { $album_id = $parent_details[0]->media_id; } else { $album_id = 0; } } else { $album_id = 0; } if (!in_array($uploaded['context'], array('profile', 'group'), true)) { $album_id = $uploaded['context_id']; } $attachments = array(); foreach ($file_object as $index => $file) { $uploaded['title'] = wp_kses($uploaded['title'], wp_kses_allowed_html()); // filter description for allowed html tags $uploaded['description'] = wp_kses($uploaded['description'], wp_kses_allowed_html()); $attachments[$index] = array('post_mime_type' => $file['type'], 'guid' => esc_url_raw($file['url']), 'post_title' => sanitize_text_field($uploaded['title'] ? $uploaded['title'] : preg_replace('/\\.[^.\\s]{3,4}$/', '', $file['name'])), 'post_content' => $uploaded['description'] ? $uploaded['description'] : '', 'post_parent' => intval($album_id), 'post_author' => intval($uploaded['media_author'])); if (!empty($uploaded['date'])) { $attachments[$index]['post_date'] = $uploaded['date']; } } return $attachments; }
public function reencoding($attachment, $autoformat = true) { $rtmedia_model = new RTMediaModel(); $media_array = $rtmedia_model->get(array("media_id" => $attachment)); $media_id = $media_array[0]->id; $attached_file = get_post_meta($attachment, '_wp_attached_file'); $upload_path = trim(get_option('upload_path')); if (empty($upload_path) || 'wp-content/uploads' == $upload_path) { $dir = WP_CONTENT_DIR . '/uploads'; } elseif (0 !== strpos($upload_path, ABSPATH)) { // $dir is absolute, $upload_path is (maybe) relative to ABSPATH $dir = path_join(ABSPATH, $upload_path); } else { $dir = $upload_path; } $file = trailingslashit($dir) . $attached_file[0]; $url = wp_get_attachment_url($attachment); $file_name_array = explode("/", $url); $file_name = $file_name_array[sizeof($file_name_array) - 1]; $file_object = array(); $media_type = get_post_field('post_mime_type', $attachment); $media_type_array = explode("/", $media_type); if ($media_type_array[0] == "video") { $file_object[] = array("file" => $file, "url" => $url, "name" => $file_name, "type" => $media_type); $this->encoding(array($media_id), $file_object, array(), $autoformat); } }
/** * * @param type $uploaded * @param type $file_object * * @return type */ function generate_post_array($uploaded, $file_object) { if ($uploaded['album_id']) { $model = new RTMediaModel(); $parent_details = $model->get(array('id' => $uploaded['album_id'])); if (is_array($parent_details) && sizeof($parent_details) > 0) { $album_id = $parent_details[0]->media_id; } else { $album_id = 0; } } else { $album_id = 0; } if (!in_array($uploaded["context"], array("profile", "group"))) { $album_id = $uploaded["context_id"]; } $attachments = array(); foreach ($file_object as $index => $file) { $uploaded['title'] = wp_kses($uploaded['title'], wp_kses_allowed_html()); $uploaded['description'] = sanitize_text_field($uploaded['description']); $attachments[$index] = array('post_mime_type' => $file['type'], 'guid' => $file['url'], 'post_title' => $uploaded['title'] ? $uploaded['title'] : preg_replace("/\\.[^.\\s]{3,4}\$/", "", $file['name']), 'post_content' => $uploaded['description'] ? $uploaded['description'] : '', 'post_parent' => $album_id, 'post_author' => $uploaded['media_author']); if (!empty($uploaded['date'])) { $attachments[$index]['post_date'] = $uploaded['date']; } } return $attachments; }