RTMediaUploadShortcode::pre_render PHP Method

pre_render() static public method

Render the uploader shortcode and attach the uploader panel
static public pre_render ( mixed $attr ) : string | void
$attr mixed
return string | void
    static function pre_render($attr)
    {
        if (rtmedia_is_uploader_view_allowed(true, 'uploader_shortcode')) {
            global $post;
            global $rtmedia_query;
            if (!$rtmedia_query) {
                $rtmedia_query = new RTMediaQuery();
            }
            if (!isset($attr['is_up_shortcode']) || false !== $attr['is_up_shortcode']) {
                $rtmedia_query->is_upload_shortcode = true;
                // set is_upload_shortcode in rtmedia query as true
            } else {
                $rtmedia_query->is_upload_shortcode = false;
                // set is_upload_shortcode in rtmedia query as true
            }
            if (isset($attr['media_type'])) {
                global $rtmedia;
                $allowed_media_type = $rtmedia->allowed_types;
                if (isset($allowed_media_type[$attr['media_type']])) {
                    wp_localize_script('rtmedia-backbone', 'rtmedia_upload_type_filter', $allowed_media_type[$attr['media_type']]['extn']);
                }
            }
            if (isset($attr) && !empty($attr)) {
                if (!is_array($attr)) {
                    $attr = array();
                }
                if (!isset($attr['context']) && isset($post->post_type)) {
                    $attr['context'] = $post->post_type;
                }
            }
            $attr = apply_filters('rtmedia_media_uploader_attributes', $attr);
            if (self::display_allowed() || isset($attr['allow_anonymous']) && true === $attr['allow_anonymous']) {
                if (!_device_can_upload()) {
                    echo '<p>' . esc_html_e('The web browser on your device cannot be used to upload files.', 'buddypress-media') . '</p>';
                    return;
                }
                ob_start();
                self::$add_sc_script = true;
                RTMediaUploadTemplate::render($attr);
                self::$uploader_displayed = true;
                return ob_get_clean();
            }
        } else {
            echo "<div class='rtmedia-upload-not-allowed'>" . wp_kses(apply_filters('rtmedia_upload_not_allowed_message', esc_html__('You are not allowed to upload/attach media.', 'buddypress-media'), 'uploader_shortcode'), RTMediaUpload::$wp_kses_allowed_tags) . '</div>';
        }
    }

Usage Example

/**
 *
 * @param type $attr
 */
function rtmedia_uploader($attr = '')
{
    if (rtmedia_is_uploader_view_allowed(true, 'media_gallery')) {
        if (function_exists('bp_is_blog_page') && !bp_is_blog_page()) {
            if (function_exists('bp_is_user') && bp_is_user() && function_exists('bp_displayed_user_id') && bp_displayed_user_id() == get_current_user_id()) {
                echo RTMediaUploadShortcode::pre_render($attr);
            } else {
                if (function_exists('bp_is_group') && bp_is_group()) {
                    if (can_user_upload_in_group()) {
                        echo RTMediaUploadShortcode::pre_render($attr);
                    }
                }
            }
        }
    } else {
        echo "<div class='rtmedia-upload-not-allowed'>" . apply_filters('rtmedia_upload_not_allowed_message', __('You are not allowed to upload/attach media.', 'rtmedia'), 'media_gallery') . "</div>";
    }
}
All Usage Examples Of RTMediaUploadShortcode::pre_render