2009-07-10 11:48:20 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
class ComicPressComicPost {
|
|
|
|
var $post;
|
2009-07-11 00:27:36 +00:00
|
|
|
var $attachments = null;
|
2009-07-10 11:48:20 +00:00
|
|
|
var $comicpress;
|
|
|
|
|
|
|
|
function ComicPressComicPost($post = null, $comicpress = null) {
|
|
|
|
if (!is_null($post)) { $this->post = $post; }
|
|
|
|
if (!is_null($comicpress)) { $this->comicpress = $comicpress; }
|
|
|
|
}
|
|
|
|
|
|
|
|
function get_comic_image_attachments() {
|
2009-07-11 00:27:36 +00:00
|
|
|
if (is_null($this->attachments)) {
|
2009-07-10 11:48:20 +00:00
|
|
|
$this->attachments = get_children(array(
|
|
|
|
'post_parent' => $this->post->ID,
|
|
|
|
'post_type' => 'attachment',
|
|
|
|
'post_mime_type' => 'image'
|
|
|
|
));
|
|
|
|
}
|
|
|
|
return $this->attachments;
|
|
|
|
}
|
|
|
|
|
2009-07-13 02:31:14 +00:00
|
|
|
function display_attached_images($type = "comic", $limit = null, $size_type = null) {
|
|
|
|
if (is_null($size_type)) { $size_type = $type; }
|
|
|
|
$found = false;
|
|
|
|
if (is_array($this->get_comic_image_attachments())) {
|
2009-07-11 00:27:36 +00:00
|
|
|
foreach ($this->get_comic_image_attachments() as $attachment) {
|
2009-07-13 02:31:14 +00:00
|
|
|
if (get_post_meta($attachment->ID, "comic_image_type", true) == $type) {
|
2009-07-13 08:22:50 +00:00
|
|
|
$title = (!empty($attachment->post_excerpt) ? $attachment->post_excerpt : $attachment->post_title);
|
|
|
|
echo $this->get_comic_img_tag(wp_get_attachment_url($attachment->ID, ''), $size_type, array('title' => $title));
|
2009-07-13 02:41:36 +00:00
|
|
|
echo "<br />";
|
2009-07-13 02:31:14 +00:00
|
|
|
$found = true;
|
|
|
|
|
|
|
|
if (!is_null($limit)) {
|
|
|
|
if (--$limit == 0) { break; }
|
|
|
|
}
|
|
|
|
}
|
2009-07-11 00:27:36 +00:00
|
|
|
}
|
2009-07-13 02:31:14 +00:00
|
|
|
}
|
|
|
|
return $found;
|
2009-07-10 11:48:20 +00:00
|
|
|
}
|
|
|
|
|
2009-07-13 02:31:14 +00:00
|
|
|
function display_comics() { $this->display_attached_images(); }
|
|
|
|
|
|
|
|
function display_archive() {
|
|
|
|
if (!$this->display_attached_images('archive', 1)) {
|
|
|
|
$this->display_attached_images('comic', 1, 'archive');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
function display_rss() {
|
|
|
|
if (!$this->display_attached_images('rss')) {
|
|
|
|
$this->display_attached_images('comic', null, 'rss');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2009-07-10 11:48:20 +00:00
|
|
|
function get_comic_img_tag($url, $type, $additional_parameters = array()) {
|
|
|
|
$dimensions = array();
|
2009-07-13 02:31:14 +00:00
|
|
|
|
2009-07-10 11:48:20 +00:00
|
|
|
if (isset($this->comicpress->comicpress_options["${type}_dimensions"])) {
|
|
|
|
list($width, $height) = explode("x", $this->comicpress->comicpress_options["${type}_dimensions"]);
|
|
|
|
$dimensions = compact('width', 'height');
|
|
|
|
}
|
|
|
|
|
|
|
|
$output = '<img src="' . $url . '" ';
|
|
|
|
foreach (array('width', 'height') as $field) {
|
|
|
|
if (!empty($dimensions[$field])) {
|
|
|
|
$output .= $field . '="' . $dimensions[$field] . '" ';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (is_array($additional_parameters)) {
|
|
|
|
foreach ($additional_parameters as $parameter => $value) {
|
|
|
|
$output .= $parameter . '="' . $value . '" ';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$output .= "/>";
|
|
|
|
|
|
|
|
return $output;
|
|
|
|
}
|
|
|
|
|
|
|
|
function normalize_attachment_sorting() {
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|