[ Index ]

PHP Cross Reference of WordPress

title

Body

[close]

/wp-admin/ -> media-upload.php (source)

   1  <?php
   2  /**
   3   * Manage media uploaded file.
   4   *
   5   * There are many filters in here for media. Plugins can extend functionality
   6   * by hooking into the filters.
   7   *
   8   * @package WordPress
   9   * @subpackage Administration
  10   */
  11  
  12  if ( ! isset( $_GET['inline'] ) )
  13      define( 'IFRAME_REQUEST' , true );
  14  
  15  /** Load WordPress Administration Bootstrap */
  16  require_once ('./admin.php');
  17  
  18  if (!current_user_can('upload_files'))
  19      wp_die(__('You do not have permission to upload files.'));
  20  
  21  wp_enqueue_script('plupload-handlers');
  22  wp_enqueue_script('image-edit');
  23  wp_enqueue_script('set-post-thumbnail' );
  24  wp_enqueue_style('imgareaselect');
  25  wp_enqueue_script( 'media-gallery' );
  26  
  27  @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
  28  
  29  // IDs should be integers
  30  $ID = isset($ID) ? (int) $ID : 0;
  31  $post_id = isset($post_id)? (int) $post_id : 0;
  32  
  33  // Require an ID for the edit screen
  34  if ( isset($action) && $action == 'edit' && !$ID )
  35      wp_die( __( 'Cheatin&#8217; uh?' ) );
  36  
  37  if ( isset($_GET['inline']) ) {
  38      $errors = array();
  39  
  40      if ( isset($_POST['html-upload']) && !empty($_FILES) ) {
  41          check_admin_referer('media-form');
  42          // Upload File button was clicked
  43          $id = media_handle_upload('async-upload', $_REQUEST['post_id']);
  44          unset($_FILES);
  45          if ( is_wp_error($id) ) {
  46              $errors['upload_error'] = $id;
  47              $id = false;
  48          }
  49      }
  50  
  51      if ( isset($_GET['upload-page-form']) ) {
  52          $errors = array_merge($errors, (array) media_upload_form_handler());
  53  
  54          $location = 'upload.php';
  55          if ( $errors )
  56              $location .= '?message=3';
  57  
  58          wp_redirect( admin_url($location) );
  59          exit;
  60      }
  61  
  62      $title = __('Upload New Media');
  63      $parent_file = 'upload.php';
  64      get_current_screen()->add_help_tab( array(
  65      'id'        => 'overview',
  66      'title'        => __('Overview'),
  67      'content'    =>
  68          '<p>' . __('You can upload media files here without creating a post first. This allows you to upload files to use with posts and pages later and/or to get a web link for a particular file that you can share. There are three options for uploading files:') . '</p>' .
  69          '<ul>' .
  70              '<li>' . __('<strong>Drag and drop</strong> your files into the area below. Multiple files are allowed.') . '</li>' .
  71              '<li>' . __('Clicking <strong>Select Files</strong> opens a navigation window showing you files in your operating system. Selecting <strong>Open</strong> after clicking on the file you want activates a progress bar on the uploader screen.') . '</li>' .
  72              '<li>' . __('Revert to the <strong>Browser Uploader</strong> by clicking the link below the drag and drop box.') . '</li>' .
  73          '</ul>' .
  74          '<p>' . __('Basic image editing is available after upload is complete. Make sure you click Save before leaving this screen.') . '</p>'
  75      ) );
  76      get_current_screen()->set_help_sidebar(
  77          '<p><strong>' . __('For more information:') . '</strong></p>' .
  78          '<p>' . __('<a href="http://codex.wordpress.org/Media_Add_New_Screen" target="_blank">Documentation on Uploading Media Files</a>') . '</p>' .
  79          '<p>' . __('<a href="http://wordpress.org/support/" target="_blank">Support Forums</a>') . '</p>'
  80      );
  81  
  82      require_once ('./admin-header.php');
  83  
  84      $form_class = 'media-upload-form type-form validate';
  85  
  86      if ( get_user_setting('uploader') )
  87          $form_class .= ' html-uploader';
  88      ?>
  89      <div class="wrap">
  90      <?php screen_icon(); ?>
  91      <h2><?php echo esc_html( $title ); ?></h2>
  92  
  93      <form enctype="multipart/form-data" method="post" action="<?php echo admin_url('media-upload.php?inline=&amp;upload-page-form='); ?>" class="<?php echo $form_class; ?>" id="file-form">
  94  
  95      <?php media_upload_form(); ?>
  96  
  97      <script type="text/javascript">
  98      jQuery(function($){
  99          var preloaded = $(".media-item.preloaded");
 100          if ( preloaded.length > 0 ) {
 101              preloaded.each(function(){prepareMediaItem({id:this.id.replace(/[^0-9]/g, '')},'');});
 102          }
 103          updateMediaForm();
 104          post_id = 0;
 105          shortform = 1;
 106      });
 107      </script>
 108      <input type="hidden" name="post_id" id="post_id" value="0" />
 109      <?php wp_nonce_field('media-form'); ?>
 110      <div id="media-items" class="hide-if-no-js"></div>
 111      <?php submit_button( __( 'Save all changes' ), 'button savebutton hidden', 'save' ); ?>
 112      </form>
 113      </div>
 114  
 115  <?php
 116      include ('./admin-footer.php');
 117  
 118  } else {
 119  
 120      // upload type: image, video, file, ..?
 121      if ( isset($_GET['type']) )
 122          $type = strval($_GET['type']);
 123      else
 124          $type = apply_filters('media_upload_default_type', 'file');
 125  
 126      // tab: gallery, library, or type-specific
 127      if ( isset($_GET['tab']) )
 128          $tab = strval($_GET['tab']);
 129      else
 130          $tab = apply_filters('media_upload_default_tab', 'type');
 131  
 132      $body_id = 'media-upload';
 133  
 134      // let the action code decide how to handle the request
 135      if ( $tab == 'type' || $tab == 'type_url' || ! array_key_exists( $tab , media_upload_tabs() ) )
 136          do_action("media_upload_$type");
 137      else
 138          do_action("media_upload_$tab");
 139  }


Generated: Fri May 25 03:56:23 2012 Hosted by follow the white rabbit.