/**
  * Render the uploader shortcode and attach the uploader panel
  *
  * @param type $attr
  */
 static function pre_render($attr)
 {
     $allow_upload = apply_filters('rtmedia_allow_uploader_view', true, 'uploader_shortcode');
     if ($allow_upload) {
         global $post;
         global $rtmedia_query;
         if (!$rtmedia_query) {
             $rtmedia_query = new RTMediaQuery();
         }
         if (!isset($attr['is_up_shortcode']) || $attr['is_up_shortcode'] !== false) {
             $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_id"]) && isset($post->ID)) {
                 $attr["context_id"] = $post->ID;
             }
             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']) && $attr['allow_anonymous'] === true) {
             if (!_device_can_upload()) {
                 echo '<p>' . __('The web browser on your device cannot be used to upload files.', 'rtmedia') . '</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'>" . apply_filters('rtmedia_upload_not_allowed_message', __('You are not allowed to upload/attach media.', 'rtmedia'), 'uploader_shortcode') . "</div>";
     }
 }