Example #1
0
/**
 * Add the content for the image editor tab
 *
 * @global      RTMediaQuery    $rtmedia_query
 *
 * @param       string          $type
 */
function rtmedia_image_editor_content($type = 'photo')
{
    global $rtmedia_query;
    if (isset($rtmedia_query->media) && is_array($rtmedia_query->media) && isset($rtmedia_query->media[0]->media_type) && 'photo' === $rtmedia_query->media[0]->media_type && 'photo' === $type) {
        $media_id = $rtmedia_query->media[0]->media_id;
        $id = $rtmedia_query->media[0]->id;
        $modify_button = $nonce = '';
        if (current_user_can('edit_posts')) {
            include_once ABSPATH . 'wp-admin/includes/image-edit.php';
            $nonce = wp_create_nonce("image_editor-{$media_id}");
            $modify_button = '<p><input type="button" class="button rtmedia-image-edit" id="imgedit-open-btn-' . esc_attr($media_id) . '" onclick="imageEdit.open( \'' . esc_attr($media_id) . '\', \'' . esc_attr($nonce) . '\' )" value="' . esc_attr__('Modify Image', 'buddypress-media') . '"> <span class="spinner"></span></p>';
        }
        $image_path = rtmedia_image('rt_media_activity_image', $id, false);
        echo '<div class="content" id="panel2">';
        echo '<div class="rtmedia-image-editor-cotnainer" id="rtmedia-image-editor-cotnainer" >';
        echo '<input type="hidden" id="rtmedia-filepath-old" name="rtmedia-filepath-old" value="' . esc_url($image_path) . '" />';
        echo '<div class="rtmedia-image-editor" id="image-editor-' . esc_attr($media_id) . '"></div>';
        $thumb_url = wp_get_attachment_image_src($media_id, 'thumbnail', true);
        echo '<div id="imgedit-response-' . esc_attr($media_id) . '"></div>';
        echo '<div class="wp_attachment_image" id="media-head-' . esc_attr($media_id) . '">' . '<p id="thumbnail-head-' . esc_attr($id) . '"><img class="thumbnail" src="' . esc_url(set_url_scheme($thumb_url[0])) . '" alt="" /></p>' . $modify_button . '</div>';
        // @codingStandardsIgnoreLine
        echo '</div>';
        echo '</div>';
    }
}
}
?>

<li class="rtmedia-list-item">

	<a href ="<?php 
rtmedia_permalink();
?>
" title="<?php 
echo rtmedia_title();
?>
">

		<div class="rtmedia-item-thumbnail">
            <img src="<?php 
rtmedia_image('rt_media_thumbnail');
?>
" alt="<?php 
echo rtmedia_title();
?>
">
		</div>

		<?php 
if (apply_filters('rtmedia_media_gallery_show_media_title', true)) {
    ?>
			<div class="rtmedia-item-title">
				<h4><?php 
    echo rtmedia_title();
    ?>
</h4>
 function json_output()
 {
     global $rtmedia_query, $rtmedia;
     $options = $rtmedia->options;
     $media_array = array();
     if ($rtmedia_query->media) {
         foreach ($rtmedia_query->media as $key => $media) {
             $media_array[$key] = $media;
             $media_array[$key]->guid = rtmedia_image('rt_media_thumbnail', $media->id, false);
             $media_array[$key]->rt_permalink = get_rtmedia_permalink($media->id);
             $media_array[$key]->duration = rtmedia_duration($media->id);
             $media_array[$key] = apply_filters('rtmedia_media_array_backbone', $media_array[$key]);
         }
     }
     $return_array['data'] = $media_array;
     $return_array['prev'] = rtmedia_page() - 1;
     $return_array['next'] = rtmedia_offset() + rtmedia_per_page_media() < rtmedia_count() ? rtmedia_page() + 1 : -1;
     if (isset($rtmedia->options['general_display_media']) && $options['general_display_media'] == 'pagination') {
         $return_array['pagination'] = rtmedia_get_pagination_values();
     }
     echo json_encode($return_array);
     die;
 }
?>
">
	<?php 
do_action('rtmedia_before_item');
?>
	<a href ="<?php 
rtmedia_permalink();
?>
" title="<?php 
echo rtmedia_title();
?>
">
		<div class="rtmedia-item-thumbnail">

            <img src="<?php 
rtmedia_image("rt_media_thumbnail");
?>
" alt="<?php 
rtmedia_image_alt();
?>
" >

		</div>

		<div class="rtmedia-item-title">
			<h4 title="<?php 
echo rtmedia_title();
?>
">

 function rtmedia_api_process_rtmedia_gallery_request()
 {
     $this->rtmediajsonapifunction->rtmedia_api_verfiy_token();
     //Errors
     $ec_media = 160002;
     $msg_media = __('media list', 'rtmedia');
     $ec_no_media = 160003;
     $msg_no_media = __('no media found for requested media type', 'rtmedia');
     $ec_invalid_media_type = 160004;
     $msg_invalid_media_type = __('media_type not allowed', 'rtmedia');
     global $rtmedia;
     $rtmediamodel = new RTMediaModel();
     //Media type to fetch
     $media_type = $allowed_types = array_keys($rtmedia->allowed_types);
     $media_type[] = 'album';
     $allowed_types[] = 'album';
     if (!empty($_REQUEST['media_type'])) {
         if (!is_array($_REQUEST['media_type'])) {
             $media_type = explode(',', $_REQUEST['media_type']);
         } else {
             $media_type = $_REQUEST['media_type'];
         }
         //Check array for currently allowed media types
         $media_type = array_intersect($media_type, $allowed_types);
     }
     //Args for fetching media
     $args = array('media_type' => $media_type);
     //global
     if (isset($_REQUEST['global'])) {
         if ($_REQUEST['global'] == 'false') {
             $args['context'] = array('compare' => 'IS NOT', 'value' => 'NULL');
         }
     }
     //context
     if (isset($_REQUEST['context'])) {
         $args['context'] = $_REQUEST['context'];
     }
     //context Id
     if (isset($_POST['context_id'])) {
         $args['context_id'] = $_REQUEST['context_id'];
     }
     //Media Author
     $media_author = '';
     if (!is_super_admin()) {
         $media_author = $this->user_id;
         $args['media_author'] = $media_author;
     }
     if (!empty($_REQUEST['media_author'])) {
         if (is_super_admin($this->user_id)) {
             $media_author = (int) $_REQUEST['media_author'];
             $args['media_author'] = $media_author;
         }
     }
     $offset = !empty($_REQUEST['page']) ? (int) $_REQUEST['page'] : 0;
     $per_page = isset($_REQUEST['per_page']) ? (int) $_REQUEST['per_page'] : 10;
     $order_by = !empty($_REQUEST['order_by']) ? $_REQUEST['order_by'] : 'media_id desc';
     $media_list = $rtmediamodel->get($args, $offset, $per_page, $order_by);
     $media_result = array();
     foreach ($media_list as $media) {
         $data = array('id' => $media->id, 'media_title' => $media->media_title, 'album_id' => $media->album_id, 'media_type' => $media->media_type, 'media_author' => $media->media_author, 'url' => get_rtmedia_permalink($media->id), 'cover' => rtmedia_image('rt_media_thumbnail', $media->media_id, FALSE));
         //for album list all medias
         if ($media->media_type == 'album') {
             $data['media'] = $this->rtmediajsonapifunction->rtmedia_api_album_media($media->id);
         }
         $media_result[] = $data;
     }
     if (!empty($media_result)) {
         echo $this->rtmedia_api_response_object("TRUE", $ec_media, $msg_media, $media_result);
     } else {
         echo $this->rtmedia_api_response_object("FALSE", $ec_no_media, $msg_no_media);
     }
 }
Example #6
0
/**
 * Get album image
 *
 * @global      object          $rtmedia_media
 * @global      RTMediaQuery    $rtmedia_query
 * @global      RTMedia         $rtmedia
 *
 * @param       string          $size
 * @param       bool|int        $id
 *
 * @return      string
 */
function rtmedia_album_image($size = 'thumbnail', $id = false)
{
    global $rtmedia_media, $rtmedia_query;
    if (false === $id) {
        $id = $rtmedia_media->id;
    }
    $model = new RTMediaModel();
    if (isset($rtmedia_query->query['context_id']) && isset($rtmedia_query->query['context']) && 'group' !== $rtmedia_query->query['context']) {
        if ('profile' === $rtmedia_query->query['context']) {
            $media = $model->get_media(array('album_id' => $id, 'media_type' => 'photo', 'media_author' => $rtmedia_query->query['context_id'], 'context' => 'profile', 'context_id' => $rtmedia_query->query['context_id']), 0, 1);
        } else {
            $media = $model->get_media(array('album_id' => $id, 'media_type' => 'photo', 'media_author' => $rtmedia_query->query['context_id']), 0, 1);
        }
    } else {
        if (isset($rtmedia_query->query['context_id']) && isset($rtmedia_query->query['context']) && 'group' === $rtmedia_query->query['context']) {
            $media = $model->get_media(array('album_id' => $id, 'media_type' => 'photo', 'context_id' => $rtmedia_query->query['context_id']), 0, 1);
        } else {
            $media = $model->get_media(array('album_id' => $id, 'media_type' => 'photo'), 0, 1);
        }
    }
    if ($media) {
        $src = rtmedia_image($size, $media[0]->id, false);
    } else {
        global $rtmedia;
        $src = $rtmedia->allowed_types['photo']['thumbnail'];
    }
    return $src;
}
Example #7
0
 function template_redirect($create_activity = true)
 {
     ob_start();
     if (!count($_POST)) {
         // @codingStandardsIgnoreLine
         include get_404_template();
     } else {
         $nonce = $mode = '';
         $_activity_id = -1;
         if (isset($_REQUEST['rtmedia_upload_nonce'])) {
             $nonce = sanitize_text_field(wp_unslash($_REQUEST['rtmedia_upload_nonce']));
         }
         if (isset($_REQUEST['mode'])) {
             $mode = sanitize_text_field(wp_unslash($_REQUEST['mode']));
         }
         if (isset($_REQUEST['activity_id'])) {
             $_activity_id = sanitize_text_field($_REQUEST['activity_id']);
         }
         $_redirect_url = filter_input(INPUT_POST, 'redirect', FILTER_SANITIZE_NUMBER_INT);
         $rtupload = false;
         $activity_id = -1;
         $redirect_url = '';
         if (wp_verify_nonce($nonce, 'rtmedia_upload_nonce')) {
             $model = new RTMediaUploadModel();
             do_action('rtmedia_upload_set_post_object');
             $this->upload = $model->set_post_object();
             if (-1 !== $_activity_id) {
                 $this->upload['activity_id'] = $_activity_id;
                 $activity_id = $_activity_id;
             }
             //if media upload is being made for a group, identify the group privacy and set media privacy accordingly
             if (isset($this->upload['context']) && isset($this->upload['context_id']) && 'group' === $this->upload['context'] && function_exists('groups_get_group')) {
                 $group = groups_get_group(array('group_id' => $this->upload['context_id']));
                 if (isset($group->status) && 'public' !== $group->status) {
                     // if group is not public, then set media privacy as 20, so only the group members can see the images
                     $this->upload['privacy'] = '20';
                 } else {
                     // if group is public, then set media privacy as 0
                     $this->upload['privacy'] = '0';
                 }
             }
             $this->upload = apply_filters('rtmedia_media_param_before_upload', $this->upload);
             $rtupload = new RTMediaUpload($this->upload);
             $media_obj = new RTMediaMedia();
             $media = $media_obj->model->get(array('id' => $rtupload->media_ids[0]));
             $rtmedia_nav = new RTMediaNav();
             $perma_link = '';
             if (isset($media) && count($media) > 0) {
                 $perma_link = get_rtmedia_permalink($media[0]->id);
                 if ('photo' === $media[0]->media_type) {
                     $thumb_image = rtmedia_image('rt_media_thumbnail', $rtupload->media_ids[0], false);
                 } elseif ('music' === $media[0]->media_type) {
                     $thumb_image = $media[0]->cover_art;
                 } else {
                     $thumb_image = '';
                 }
                 if ('group' === $media[0]->context) {
                     $rtmedia_nav->refresh_counts($media[0]->context_id, array('context' => $media[0]->context, 'context_id' => $media[0]->context_id));
                 } else {
                     $rtmedia_nav->refresh_counts($media[0]->media_author, array('context' => 'profile', 'media_author' => $media[0]->media_author));
                 }
                 if (false !== $create_activity && class_exists('BuddyPress') && bp_is_active('activity')) {
                     $allow_single_activity = apply_filters('rtmedia_media_single_activity', false);
                     // Following will not apply to activity uploads. For first time activity won't be generated.
                     // Create activity first and pass activity id in response.
                     // todo fixme rtmedia_media_single_activity filter. It will create 2 activity with same media if uploaded from activity page.
                     $_rtmedia_update = filter_input(INPUT_POST, 'rtmedia_update', FILTER_SANITIZE_STRING);
                     if (-1 === intval($activity_id) && !(isset($_rtmedia_update) && 'true' === $_rtmedia_update) || $allow_single_activity) {
                         $activity_id = $media_obj->insert_activity($media[0]->media_id, $media[0]);
                     } else {
                         $media_obj->model->update(array('activity_id' => $activity_id), array('id' => $rtupload->media_ids[0]));
                         //
                         $same_medias = $media_obj->model->get(array('activity_id' => $activity_id));
                         $update_activity_media = array();
                         foreach ($same_medias as $a_media) {
                             $update_activity_media[] = $a_media->id;
                         }
                         $privacy = filter_input(INPUT_POST, 'privacy', FILTER_SANITIZE_NUMBER_INT);
                         if (empty($privacy)) {
                             $privacy = 0;
                         }
                         $obj_activity = new RTMediaActivity($update_activity_media, $privacy, false);
                         global $wpdb, $bp;
                         $user = get_userdata($same_medias[0]->media_author);
                         $username = '******' . esc_url(get_rtmedia_user_link($same_medias[0]->media_author)) . '">' . esc_html($user->user_nicename) . '</a>';
                         $action = sprintf(esc_html__('%s added %d %s', 'buddypress-media'), $username, count($same_medias), RTMEDIA_MEDIA_SLUG);
                         $action = apply_filters('rtmedia_buddypress_action_text_fitler_multiple_media', $action, $username, count($same_medias), $user->user_nicename);
                         $wpdb->update($bp->activity->table_name, array('type' => 'rtmedia_update', 'content' => $obj_activity->create_activity_html(), 'action' => $action), array('id' => $activity_id));
                     }
                     // update group last active
                     if ('group' === $media[0]->context) {
                         RTMediaGroup::update_last_active($media[0]->context_id);
                     }
                 }
             }
             if (isset($this->upload['rtmedia_simple_file_upload']) && true == $this->upload['rtmedia_simple_file_upload']) {
                 if (isset($media) && count($media) > 0) {
                     if (isset($_redirect_url)) {
                         if (intval($_redirect_url) > 1) {
                             //bulkurl
                             if ('group' === $media[0]->context) {
                                 $redirect_url = trailingslashit(get_rtmedia_group_link($media[0]->context_id)) . RTMEDIA_MEDIA_SLUG;
                             } else {
                                 $redirect_url = trailingslashit(get_rtmedia_user_link($media[0]->media_author)) . RTMEDIA_MEDIA_SLUG;
                             }
                         } else {
                             $redirect_url = get_rtmedia_permalink($media[0]->id);
                         }
                         $redirect_url = apply_filters('rtmedia_simple_file_upload_redirect_url_filter', $redirect_url);
                         wp_safe_redirect(esc_url_raw($redirect_url));
                         die;
                     }
                     return $media;
                 }
                 return false;
             }
         }
         $redirect_url = '';
         if (isset($_redirect_url) && is_numeric($_redirect_url)) {
             if (intval($_redirect_url) > 1) {
                 //bulkurl
                 if ('group' === $media[0]->context) {
                     $redirect_url = trailingslashit(get_rtmedia_group_link($media[0]->context_id)) . RTMEDIA_MEDIA_SLUG;
                 } else {
                     $redirect_url = trailingslashit(get_rtmedia_user_link($media[0]->media_author)) . RTMEDIA_MEDIA_SLUG;
                 }
             } else {
                 $redirect_url = get_rtmedia_permalink($media[0]->id);
             }
         }
         // Ha ha ha
         ob_end_clean();
         //check for simpe
         $rtmedia_update = filter_input(INPUT_POST, 'rtmedia_update', FILTER_SANITIZE_STRING);
         $_user_agent = rtm_get_server_var('HTTP_USER_AGENT', 'FILTER_SANITIZE_STRING');
         /**
          * if(redirect)
          *
          */
         if (!empty($rtmedia_update) && 'true' === $rtmedia_update) {
             if (preg_match('/(?i)msie [1-9]/', $_user_agent)) {
                 // if IE(<=9) set content type = text/plain
                 header('Content-type: text/plain');
             } else {
                 header('Content-type: application/json');
             }
             echo wp_json_encode($rtupload->media_ids);
         } else {
             // Media Upload Case - on album/post/profile/group
             if (isset($media[0])) {
                 $data = array('media_id' => $media[0]->id, 'activity_id' => $activity_id, 'redirect_url' => $redirect_url, 'permalink' => $perma_link, 'cover_art' => $thumb_image);
             } else {
                 $data = array();
             }
             if (preg_match('/(?i)msie [1-9]/', $_user_agent)) {
                 // if IE(<=9) set content type = text/plain
                 header('Content-type: text/plain');
             } else {
                 header('Content-type: application/json');
             }
             echo wp_json_encode(apply_filters('rtmedia_upload_endpoint_response', $data));
         }
         die;
     }
 }
 /**
  *
  */
 function template_redirect($create_activity = true)
 {
     ob_start();
     if (!count($_POST)) {
         include get_404_template();
     } else {
         $nonce = $_REQUEST['rtmedia_upload_nonce'];
         if (isset($_REQUEST['mode'])) {
             $mode = $_REQUEST['mode'];
         }
         $rtupload = false;
         $activity_id = -1;
         $redirect_url = "";
         if (wp_verify_nonce($nonce, 'rtmedia_upload_nonce')) {
             $model = new RTMediaUploadModel();
             do_action('rtmedia_upload_set_post_object');
             $this->upload = $model->set_post_object();
             if (isset($_POST['activity_id']) && $_POST['activity_id'] != -1) {
                 $this->upload['activity_id'] = $_POST['activity_id'];
                 $activity_id = $_POST['activity_id'];
             }
             //                ////if media upload is being made for a group, identify the group privacy and set media privacy accordingly
             if (isset($this->upload['context']) && isset($this->upload['context_id']) && $this->upload['context'] == 'group' && function_exists('groups_get_group')) {
                 $group = groups_get_group(array('group_id' => $this->upload['context_id']));
                 if (isset($group->status) && $group->status != 'public') {
                     // if group is not public, then set media privacy as 20, so only the group members can see the images
                     $this->upload['privacy'] = '20';
                 } else {
                     // if group is public, then set media privacy as 0
                     $this->upload['privacy'] = '0';
                 }
             }
             $this->upload = apply_filters('rtmedia_media_param_before_upload', $this->upload);
             $rtupload = new RTMediaUpload($this->upload);
             $mediaObj = new RTMediaMedia();
             $media = $mediaObj->model->get(array('id' => $rtupload->media_ids[0]));
             $rtMediaNav = new RTMediaNav();
             $perma_link = "";
             if (isset($media) && sizeof($media) > 0) {
                 $perma_link = get_rtmedia_permalink($media[0]->id);
                 if ($media[0]->media_type == "photo") {
                     $thumb_image = rtmedia_image("rt_media_thumbnail", $rtupload->media_ids[0], false);
                 } elseif ($media[0]->media_type == "music") {
                     $thumb_image = $media[0]->cover_art;
                 } else {
                     $thumb_image = "";
                 }
                 if ($media[0]->context == "group") {
                     $rtMediaNav->refresh_counts($media[0]->context_id, array("context" => $media[0]->context, 'context_id' => $media[0]->context_id));
                 } else {
                     $rtMediaNav->refresh_counts($media[0]->media_author, array("context" => "profile", 'media_author' => $media[0]->media_author));
                 }
                 if ($create_activity !== false && class_exists('BuddyPress')) {
                     $allow_single_activity = apply_filters('rtmedia_media_single_activity', false);
                     // Following will not apply to activity uploads. For first time activity won't be generated.
                     // Create activity first and pass activity id in response.
                     // todo fixme rtmedia_media_single_activity filter. It will create 2 activity with same media if uploaded from activity page.
                     if ($activity_id == -1 && !(isset($_POST["rtmedia_update"]) && $_POST["rtmedia_update"] == "true") || $allow_single_activity) {
                         $activity_id = $mediaObj->insert_activity($media[0]->media_id, $media[0]);
                     } else {
                         $mediaObj->model->update(array('activity_id' => $activity_id), array('id' => $rtupload->media_ids[0]));
                         //
                         $same_medias = $mediaObj->model->get(array('activity_id' => $activity_id));
                         $update_activity_media = array();
                         foreach ($same_medias as $a_media) {
                             $update_activity_media[] = $a_media->id;
                         }
                         $privacy = 0;
                         if (isset($_POST["privacy"])) {
                             $privacy = $_POST["privacy"];
                         }
                         $objActivity = new RTMediaActivity($update_activity_media, $privacy, false);
                         global $wpdb, $bp;
                         $user = get_userdata($same_medias[0]->media_author);
                         $username = '******' . get_rtmedia_user_link($same_medias[0]->media_author) . '">' . $user->user_nicename . '</a>';
                         $action = sprintf(__('%s added %d %s', 'buddypress-media'), $username, sizeof($same_medias), RTMEDIA_MEDIA_SLUG);
                         $action = apply_filters('rtmedia_buddypress_action_text_fitler_multiple_media', $action, $username, sizeof($same_medias), $user->user_nicename);
                         $wpdb->update($bp->activity->table_name, array("type" => "rtmedia_update", "content" => $objActivity->create_activity_html(), 'action' => $action), array("id" => $activity_id));
                     }
                     // update group last active
                     if ($media[0]->context == "group") {
                         RTMediaGroup::update_last_active($media[0]->context_id);
                     }
                 }
             }
             if (isset($this->upload['rtmedia_simple_file_upload']) && $this->upload['rtmedia_simple_file_upload'] == true) {
                 if (isset($media) && sizeof($media) > 0) {
                     if (isset($_POST["redirect"])) {
                         if (intval($_POST["redirect"]) > 1) {
                             //bulkurl
                             if ($media[0]->context == "group") {
                                 $redirect_url = trailingslashit(get_rtmedia_group_link($media[0]->context_id)) . RTMEDIA_MEDIA_SLUG;
                             } else {
                                 $redirect_url = trailingslashit(get_rtmedia_user_link($media[0]->media_author)) . RTMEDIA_MEDIA_SLUG;
                             }
                         } else {
                             $redirect_url = get_rtmedia_permalink($media[0]->id);
                         }
                         $redirect_url = apply_filters("rtmedia_simple_file_upload_redirect_url_filter", $redirect_url);
                         wp_safe_redirect(esc_url_raw($redirect_url));
                         die;
                     }
                     return $media;
                 }
                 return false;
             }
         }
         $redirect_url = "";
         if (isset($_POST["redirect"]) && is_numeric($_POST["redirect"])) {
             if (intval($_POST["redirect"]) > 1) {
                 //bulkurl
                 if ($media[0]->context == "group") {
                     $redirect_url = trailingslashit(get_rtmedia_group_link($media[0]->context_id)) . RTMEDIA_MEDIA_SLUG;
                 } else {
                     $redirect_url = trailingslashit(get_rtmedia_user_link($media[0]->media_author)) . RTMEDIA_MEDIA_SLUG;
                 }
             } else {
                 $redirect_url = get_rtmedia_permalink($media[0]->id);
             }
         }
         // Ha ha ha
         ob_end_clean();
         //check for simpe
         /**
          * if(redirect)
          *
          */
         if (isset($_POST["rtmedia_update"]) && $_POST["rtmedia_update"] == "true") {
             if (preg_match('/(?i)msie [1-9]/', $_SERVER['HTTP_USER_AGENT'])) {
                 // if IE(<=9) set content type = text/plain
                 header('Content-type: text/plain');
             } else {
                 header('Content-type: application/json');
             }
             echo json_encode($rtupload->media_ids);
         } else {
             // Media Upload Case - on album/post/profile/group
             if (isset($media[0])) {
                 $data = array('media_id' => $media[0]->id, 'activity_id' => $activity_id, 'redirect_url' => $redirect_url, 'permalink' => $perma_link, 'cover_art' => $thumb_image);
             } else {
                 $data = array();
             }
             if (preg_match('/(?i)msie [1-9]/', $_SERVER['HTTP_USER_AGENT'])) {
                 // if IE(<=9) set content type = text/plain
                 header('Content-type: text/plain');
             } else {
                 header('Content-type: application/json');
             }
             echo json_encode(apply_filters('rtmedia_upload_endpoint_response', $data));
         }
         die;
     }
 }
 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;
 }
Example #10
0
 function rtmedia_api_process_rtmedia_gallery_request()
 {
     $this->rtmediajsonapifunction->rtmedia_api_verfiy_token();
     //Errors
     $ec_media = 160002;
     $msg_media = esc_html__('media list', 'buddypress-media');
     $ec_no_media = 160003;
     $msg_no_media = esc_html__('no media found for requested media type', 'buddypress-media');
     $ec_invalid_media_type = 160004;
     $msg_invalid_media_type = esc_html__('media_type not allowed', 'buddypress-media');
     global $rtmedia;
     $rtmediamodel = new RTMediaModel();
     //Media type to fetch
     $media_type = $allowed_types = array_keys($rtmedia->allowed_types);
     $media_type[] = 'album';
     $allowed_types[] = 'album';
     $media_type_temp = filter_input(INPUT_POST, 'media_type', FILTER_SANITIZE_STRING);
     $media_type_array = filter_input(INPUT_POST, 'media_type', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY);
     if (!empty($media_type_temp) || !empty($media_type_array)) {
         if (!is_array($media_type_array)) {
             $media_type = explode(',', $media_type_array);
         } else {
             $media_type = $media_type_temp;
         }
         //Check array for currently allowed media types
         $media_type = array_intersect($media_type, $allowed_types);
     }
     //Args for fetching media
     $args = array('media_type' => $media_type);
     //global
     $global = filter_input(INPUT_POST, 'global', FILTER_SANITIZE_STRING);
     if (isset($global)) {
         if ('false' === $global) {
             $args['context'] = array('compare' => 'IS NOT', 'value' => 'NULL');
         }
     }
     //context
     $context = filter_input(INPUT_POST, 'context', FILTER_SANITIZE_STRING);
     if (isset($context)) {
         $args['context'] = $context;
     }
     //context Id
     $context_id = filter_input(INPUT_POST, 'context_id', FILTER_SANITIZE_NUMBER_INT);
     if (isset($context_id)) {
         $args['context_id'] = $context_id;
     }
     //album id
     $album_id = filter_input(INPUT_POST, 'album_id', FILTER_SANITIZE_NUMBER_INT);
     if (!empty($album_id)) {
         $args['album_id'] = $album_id;
     }
     //Media Author
     if (!is_super_admin()) {
         $media_author = $this->user_id;
         $args['media_author'] = $media_author;
     }
     $media_author = filter_input(INPUT_POST, 'media_author', FILTER_SANITIZE_NUMBER_INT);
     if (!empty($media_author)) {
         if (is_super_admin($this->user_id)) {
             $args['media_author'] = (int) $media_author;
         }
     }
     $page = filter_input(INPUT_POST, 'page', FILTER_SANITIZE_NUMBER_INT, FILTER_NULL_ON_FAILURE);
     $per_page = filter_input(INPUT_POST, 'per_page', FILTER_SANITIZE_NUMBER_INT, FILTER_NULL_ON_FAILURE);
     $order_by = filter_input(INPUT_POST, 'order_by', FILTER_SANITIZE_STRING, FILTER_NULL_ON_FAILURE);
     $offset = !empty($page) ? (int) $page : 0;
     $per_page = isset($per_page) && !is_null($per_page) ? (int) $per_page : 10;
     $order_by = !empty($order_by) ? $order_by : 'media_id desc';
     $media_list = $rtmediamodel->get($args, $offset, $per_page, $order_by);
     $media_result = array();
     foreach ($media_list as $media) {
         $data = array('id' => $media->id, 'media_title' => $media->media_title, 'album_id' => $media->album_id, 'media_type' => $media->media_type, 'media_author' => $media->media_author, 'url' => esc_url(get_rtmedia_permalink($media->id)), 'cover' => rtmedia_image('rt_media_thumbnail', $media->media_id, false));
         //for album list all medias
         if ('album' === $media->media_type) {
             $data['media'] = $this->rtmediajsonapifunction->rtmedia_api_album_media($media->id);
         }
         $media_result[] = $data;
     }
     if (!empty($media_result)) {
         wp_send_json($this->rtmedia_api_response_object('TRUE', $ec_media, $msg_media, $media_result));
     } else {
         wp_send_json($this->rtmedia_api_response_object('FALSE', $ec_no_media, $msg_no_media));
     }
 }
Example #11
0
/**
 * [rtmedia_edit_media_on_database]
 * Update Media details on database while admin edit reported media
 * @param  [Array]  $data	     Image Details
 * @param  [Number] $post_ID     Media ID
 * @return [array]  $data
 */
function rtmedia_edit_media_on_database($data, $post_ID)
{
    $post = get_post($post_ID);
    if ($_REQUEST) {
        if (isset($_REQUEST['postid']) && 'image-editor' == $_REQUEST['action'] && 'edit-attachment' == $_REQUEST['context']) {
            $media = new RTMediaModel();
            $media_available = $media->get_media(array('media_id' => $_REQUEST['postid']), 0, 1);
            $media_id = $media_available[0]->id;
            if (!empty($media_available)) {
                $rtmedia_filepath_old = rtmedia_image('rt_media_activity_image', $media_id, false);
                if (isset($rtmedia_filepath_old)) {
                    $is_valid_url = preg_match("/\\b(?:(?:https?|ftp):\\/\\/|www\\.)[-a-z0-9+&@#\\/%?=~_|!:,.;]*[-a-z0-9+&@#\\/%=~_|]/i", $rtmedia_filepath_old);
                    if ($is_valid_url && function_exists('bp_is_active') && bp_is_active('activity')) {
                        $thumbnailinfo = wp_get_attachment_image_src($post_ID, 'rt_media_activity_image');
                        $activity_id = rtmedia_activity_id($media_id);
                        if ($post_ID && !empty($activity_id)) {
                            global $wpdb, $bp;
                            if (!empty($bp->activity)) {
                                $media->model = new RTMediaModel();
                                $related_media_data = $media->model->get(array('activity_id' => $activity_id));
                                $related_media = array();
                                foreach ($related_media_data as $activity_media) {
                                    $related_media[] = $activity_media->id;
                                }
                                $activity_text = bp_activity_get_meta($activity_id, 'bp_activity_text');
                                $activity = new RTMediaActivity($related_media, 0, $activity_text);
                                $activity_content_new = $activity->create_activity_html();
                                $activity_content = str_replace($rtmedia_filepath_old, wp_get_attachment_url($post_ID), $activity_content_new);
                                $wpdb->update($bp->activity->table_name, array('content' => $activity_content), array('id' => $activity_id));
                            }
                        }
                    }
                }
            }
        }
    }
    return $data;
}
    /**
     *
     * Outputs the HTML code of this widget.
     *
     * @param array An array of standard parameters for widgets in this theme
     * @param array An array of settings for this widget instance
     * @return void
     *
     **/
    function widget($args, $instance)
    {
        global $bp;
        global $rtmedia_query, $rtmedia_interaction, $rtmedia_media;
        global $rtmedia_backbone;
        $cache = get_transient(md5($this->id));
        $data_source_type = '';
        // the part with the title and widget wrappers cannot be cached!
        // in order to avoid problems with the calculating columns
        //
        extract($args, EXTR_SKIP);
        $title = apply_filters('widget_title', empty($instance['title']) ? __('Latest Photos', GKTPLNAME) : $instance['title'], $instance, $this->id_base);
        echo $before_widget;
        echo $before_title;
        echo $title;
        echo $after_title;
        if ($cache) {
            echo $cache;
            echo $after_widget;
            return;
        }
        ob_start();
        //
        $user_id = empty($instance['user_id']) ? '' : $instance['user_id'];
        $offset = empty($instance['offset']) ? 0 : $instance['offset'];
        $columns = empty($instance['columns']) ? 5 : $instance['columns'];
        $rows = empty($instance['rows']) ? 2 : $instance['rows'];
        $cache = empty($instance['cache']) ? 60 : $instance['cache'];
        if (!is_numeric($offset)) {
            $offset = 0;
        } else {
            $offset = intval($offset);
        }
        if (!is_numeric($rows)) {
            $rows = 0;
        } else {
            $rows = intval($rows);
        }
        if (!is_numeric($columns)) {
            $columns = 0;
        } else {
            $columns = intval($columns);
        }
        $model = new RTMediaModel();
        if ($data_source_type == 'user') {
            $media = $model->get_media(array('media_type' => 'photo', 'media_author' => $user_id), $offset, $columns * $rows);
        } else {
            $media = $model->get_media(array('media_type' => 'photo'), $offset, $columns * $rows);
        }
        if ($media == null) {
            echo __('There has been no recent activity.', GKTPLNAME);
        } else {
            ?>
			<div class="gk-bp-latest-photos" data-cols="<?php 
            echo $columns;
            ?>
">
				<div>
					<?php 
            foreach ($media as $img) {
                ?>
					<a href ="<?php 
                echo get_rtmedia_permalink(rtmedia_id($img->media_id));
                ?>
">
						<img src="<?php 
                rtmedia_image("rt_media_thumbnail", rtmedia_id($img->media_id));
                ?>
" alt="<?php 
                _e('View full image', GKTPLNAME);
                ?>
" />
					</a>
					<?php 
            }
            ?>
				</div>
			</div>
		<?php 
        }
        // save the cache results
        $cache_output = ob_get_flush();
        if (is_numeric($cache) && $cache > 0) {
            set_transient(md5($this->id), $cache_output, 60 * $cache);
        } else {
            delete_transient(md5($this->id));
        }
        //
        echo $after_widget;
    }
    /**
     *
     * Outputs the HTML code of this widget.
     *
     * @param array An array of standard parameters for widgets in this theme
     * @param array An array of settings for this widget instance
     * @return void
     *
     **/
    function widget($args, $instance)
    {
        global $bp;
        global $rtmedia_query, $rtmedia_interaction, $rtmedia_media;
        global $rtmedia_backbone;
        $cache = get_transient(md5($this->id));
        // the part with the title and widget wrappers cannot be cached!
        // in order to avoid problems with the calculating columns
        //
        extract($args, EXTR_SKIP);
        $title = apply_filters('widget_title', empty($instance['title']) ? __('BuddyPress Activity', GKTPLNAME) : $instance['title'], $instance, $this->id_base);
        echo $before_widget;
        echo $before_title;
        echo $title;
        echo $after_title;
        if ($cache) {
            echo $cache;
            echo $after_widget;
            return;
        }
        ob_start();
        //
        $data_source_type = empty($instance['data_source_type']) ? 'latest' : $instance['data_source_type'];
        $user_id = empty($instance['user_id']) ? '' : $instance['user_id'];
        $total_amount = empty($instance['total_amount']) ? 8 : $instance['total_amount'];
        $show_username = empty($instance['show_username']) ? 'enable' : $instance['show_username'];
        $show_readmore = empty($instance['show_readmore']) ? 'enable' : $instance['show_readmore'];
        $amount_page = empty($instance['amount_page']) ? 4 : $instance['amount_page'];
        $autoanimation = empty($instance['autoanimation']) ? 'disable' : $instance['autoanimation'];
        $photo_width = empty($instance['photo_width']) ? 310 : $instance['photo_width'];
        $offset = empty($instance['offset']) ? 0 : $instance['offset'];
        if (!is_numeric($offset)) {
            $offset = 0;
        } else {
            $offset = intval($offset);
        }
        if (!is_numeric($total_amount)) {
            $total_amount = 0;
        } else {
            $total_amount = intval($total_amount);
        }
        $width = 3000;
        $new_width = $total_amount * $photo_width;
        if ($new_width > 3000) {
            $width = $new_width;
        }
        $model = new RTMediaModel();
        if ($data_source_type == 'user') {
            $media = $model->get_media(array('media_type' => 'photo', 'media_author' => $user_id), $offset, $total_amount);
        } else {
            $media = $model->get_media(array('media_type' => 'photo'), $offset, $total_amount);
        }
        ?>
		
		<div data-cols="<?php 
        echo $amount_page;
        ?>
" style="width: <?php 
        echo $width;
        ?>
px" <?php 
        if ($autoanimation == 'enabled') {
            echo 'class="animate"';
        }
        ?>
>
		
		<?php 
        if ($media == null) {
            ?>
 
			<h4> <?php 
            echo __('GK BuddyPress Gallery: There has been no recent activity.', GKTPLNAME);
            ?>
</h4>
		<?php 
        } else {
            ?>
		
			<?php 
            foreach ($media as $img) {
                ?>
			<figure style="width: <?php 
                echo $photo_width;
                ?>
px">
				<img src="<?php 
                rtmedia_image("rt_media_activity_image", rtmedia_id($img->media_id));
                ?>
" alt="<?php 
                _e('View full image', GKTPLNAME);
                ?>
" />
				<figcaption>
					<?php 
                if ($show_username == 'enabled') {
                    ?>
						<small><?php 
                    echo rtmedia_get_author_name($img->media_author);
                    ?>
</small>
					<?php 
                }
                ?>
					
					<p><?php 
                echo $this->activity_text($this->gk_activity_content($img->activity_id), 15, false);
                ?>
</p>
					
					<?php 
                if ($show_readmore == 'enabled') {
                    ?>
						<a href ="<?php 
                    echo get_rtmedia_permalink(rtmedia_id($img->media_id));
                    ?>
"><?php 
                    _e('Read more...', GKTPLNAME);
                    ?>
</a>
					<?php 
                }
                ?>
				</figcaption>
			</figure>
			<?php 
            }
            ?>
		
		<?php 
        }
        ?>
		</div>
 
		
		<?php 
        // save the cache results
        $cache_output = ob_get_flush();
        set_transient(md5($this->id), $cache_output, 3 * 60 * 60);
        //
        echo $after_widget;
    }
 function json_output()
 {
     global $rtmedia_query;
     $media_array = array();
     if ($rtmedia_query->media) {
         foreach ($rtmedia_query->media as $key => $media) {
             $media_array[$key] = $media;
             $media_array[$key]->guid = rtmedia_image('rt_media_thumbnail', $media->id, false);
             $media_array[$key]->rt_permalink = get_rtmedia_permalink($media->id);
         }
     }
     $return_array['data'] = $media_array;
     $return_array['prev'] = rtmedia_page() - 1;
     $return_array['next'] = rtmedia_offset() + rtmedia_per_page_media() < rtmedia_count() ? rtmedia_page() + 1 : -1;
     echo json_encode($return_array);
     die;
 }