/**
  * Retrieve a media item by ID
  *
  * @since 3.1.0
  *
  * @param array $args Method parameters. Contains:
  *  - blog_id
  *  - username
  *  - password
  *  - attachment_id
  * @return array. Associative array containing:
  *  - 'date_created_gmt'
  *  - 'parent'
  *  - 'link'
  *  - 'thumbnail'
  *  - 'title'
  *  - 'caption'
  *  - 'description'
  *  - 'metadata'
  */
 function nxt_getMediaItem($args)
 {
     $this->escape($args);
     $blog_id = (int) $args[0];
     $username = $args[1];
     $password = $args[2];
     $attachment_id = (int) $args[3];
     if (!($user = $this->login($username, $password))) {
         return $this->error;
     }
     if (!current_user_can('upload_files')) {
         return new IXR_Error(403, __('You are not allowed to upload files to this site.'));
     }
     do_action('xmlrpc_call', 'nxt.getMediaItem');
     if (!($attachment = get_post($attachment_id))) {
         return new IXR_Error(404, __('Invalid attachment ID.'));
     }
     // Format page date.
     $attachment_date = mysql2date('Ymd\\TH:i:s', $attachment->post_date, false);
     $attachment_date_gmt = mysql2date('Ymd\\TH:i:s', $attachment->post_date_gmt, false);
     $link = nxt_get_attachment_url($attachment->ID);
     $thumbnail_link = nxt_get_attachment_thumb_url($attachment->ID);
     $attachment_struct = array('date_created_gmt' => new IXR_Date($attachment_date_gmt), 'parent' => $attachment->post_parent, 'link' => $link, 'thumbnail' => $thumbnail_link, 'title' => $attachment->post_title, 'caption' => $attachment->post_excerpt, 'description' => $attachment->post_content, 'metadata' => nxt_get_attachment_metadata($attachment->ID));
     return $attachment_struct;
 }
Exemple #2
0
/**
 * Retrieve icon URL and Path.
 *
 * @since 2.1.0
 * @deprecated 2.5.0
 * @deprecated Use nxt_get_attachment_image_src()
 * @see nxt_get_attachment_image_src()
 *
 * @param int $id Optional. Post ID.
 * @param bool $fullsize Optional, default to false. Whether to have full image.
 * @return array Icon URL and full path to file, respectively.
 */
function get_attachment_icon_src($id = 0, $fullsize = false)
{
    _deprecated_function(__FUNCTION__, '2.5', 'nxt_get_attachment_image_src()');
    $id = (int) $id;
    if (!($post =& get_post($id))) {
        return false;
    }
    $file = get_attached_file($post->ID);
    if (!$fullsize && ($src = nxt_get_attachment_thumb_url($post->ID))) {
        // We have a thumbnail desired, specified and existing
        $src_file = basename($src);
        $class = 'attachmentthumb';
    } elseif (nxt_attachment_is_image($post->ID)) {
        // We have an image without a thumbnail
        $src = nxt_get_attachment_url($post->ID);
        $src_file =& $file;
        $class = 'attachmentimage';
    } elseif ($src = nxt_mime_type_icon($post->ID)) {
        // No thumb, no image. We'll look for a mime-related icon instead.
        $icon_dir = apply_filters('icon_dir', get_template_directory() . '/images');
        $src_file = $icon_dir . '/' . basename($src);
    }
    if (!isset($src) || !$src) {
        return false;
    }
    return array($src, $src_file);
}