Example #1
0
 public function display_page(Image $image, $editor_parts)
 {
     global $page;
     $page->set_title("Image {$image->id}: " . html_escape($image->get_tag_list()));
     $page->set_heading(html_escape($image->get_tag_list()));
     $page->add_block(new Block(null, $this->build_info($image, $editor_parts), "main", 10));
 }
Example #2
0
 public function display_page(Image $image, $editor_parts)
 {
     global $page;
     $page->set_title("Image {$image->id}: " . html_escape($image->get_tag_list()));
     $page->set_heading(html_escape($image->get_tag_list()));
     $page->add_block(new Block("Navigation", $this->build_navigation($image), "left", 0));
     $page->add_block(new Block("Statistics", $this->build_stats($image), "left", 15));
     $page->add_block(new Block(null, $this->build_info($image, $editor_parts), "main", 10));
     $page->add_block(new Block(null, $this->build_pin($image), "main", 11));
 }
Example #3
0
 public function display_page(Page $page, Image $image, $editor_parts)
 {
     $metatags = str_replace(" ", ", ", html_escape($image->get_tag_list()));
     $page->set_title("Image {$image->id}: " . html_escape($image->get_tag_list()));
     $page->add_header("<meta name=\"keywords\" content=\"{$metatags}\">");
     $page->set_heading(html_escape($image->get_tag_list()));
     $page->add_block(new Block("Navigation", $this->build_navigation($image), "left", 0));
     $page->add_block(new Block(null, $this->build_info($image, $editor_parts), "main", 10));
     //$page->add_block(new Block(null, $this->build_pin($image), "main", 11));
 }
Example #4
0
 public function display_page(Image $image, $editor_parts)
 {
     global $page;
     $h_metatags = str_replace(" ", ", ", html_escape($image->get_tag_list()));
     $page->set_title("Image {$image->id}: " . html_escape($image->get_tag_list()));
     $page->add_html_header("<meta name=\"keywords\" content=\"{$h_metatags}\">");
     $page->add_html_header("<meta property=\"og:title\" content=\"{$h_metatags}\">");
     $page->add_html_header("<meta property=\"og:type\" content=\"article\">");
     $page->add_html_header("<meta property=\"og:image\" content=\"" . make_http($image->get_thumb_link()) . "\">");
     $page->add_html_header("<meta property=\"og:url\" content=\"" . make_http(make_link("post/view/{$image->id}")) . "\">");
     $page->set_heading(html_escape($image->get_tag_list()));
     $page->add_block(new Block(null, $this->build_pin($image), "subtoolbar", 0));
     $page->add_block(new Block(null, $this->build_info($image, $editor_parts), "left", 20));
 }
 /**
  * Generic thumbnail code; returns HTML rather than adding
  * a block since thumbs tend to go inside blocks...
  *
  * @param Image $image
  * @return string
  */
 public function build_thumb_html(Image $image)
 {
     global $config;
     $i_id = (int) $image->id;
     $h_view_link = make_link('post/view/' . $i_id);
     $h_thumb_link = $image->get_thumb_link();
     $h_tip = html_escape($image->get_tooltip());
     $h_tags = strtolower($image->get_tag_list());
     $extArr = array_flip(array('swf', 'svg', 'mp3'));
     //List of thumbless filetypes
     if (!isset($extArr[$image->ext])) {
         $tsize = get_thumbnail_size($image->width, $image->height);
     } else {
         //Use max thumbnail size if using thumbless filetype
         $tsize = get_thumbnail_size($config->get_int('thumb_width'), $config->get_int('thumb_height'));
     }
     $custom_classes = "";
     if (class_exists("Relationships")) {
         if (property_exists($image, 'parent_id') && $image->parent_id !== NULL) {
             $custom_classes .= "shm-thumb-has_parent ";
         }
         if (property_exists($image, 'has_children') && $image->has_children == TRUE) {
             $custom_classes .= "shm-thumb-has_child ";
         }
     }
     return "<a href='{$h_view_link}' class='thumb shm-thumb shm-thumb-link {$custom_classes}' data-tags='{$h_tags}' data-post-id='{$i_id}'>" . "<img id='thumb_{$i_id}' title='{$h_tip}' alt='{$h_tip}' height='{$tsize[1]}' width='{$tsize[0]}' src='{$h_thumb_link}'>" . "</a>\n";
 }
Example #6
0
 public function build_thumb_html(Image $image, $query = null)
 {
     global $config;
     //Aargh I don't want to copy/past
     $tags = $image->get_tag_list();
     $tags = str_replace("/", "", $tags);
     $tags = str_replace(" ", "-", $tags);
     $tags = preg_replace("/^\\.+/", "", $tags);
     $h_view_link = make_link("post/view/{$image->id}/{$tags}", $query);
     $h_thumb_link = $image->get_thumb_link();
     // Removes the size tag if the file is an mp3
     if ($image->ext == 'mp3') {
         $iitip = $image->get_tooltip();
         $mp3tip = array("0x0");
         $h_tip = str_replace($mp3tip, " ", $iitip);
         // Makes it work with a variation of the default tooltips (I.E $tags // $filesize // $size)
         $justincase = array("   //", "//   ", "  //", "//  ", "  ");
         if (strstr($h_tip, "  ")) {
             $h_tip = html_escape(str_replace($justincase, "", $h_tip));
         } else {
             $h_tip = html_escape($h_tip);
         }
     } else {
         $h_tip = html_escape($image->get_tooltip());
     }
     // If file is flash or svg then sets thumbnail to max size.
     if ($image->ext == 'swf' || $image->ext == 'svg') {
         $tsize = get_thumbnail_size($config->get_int('thumb_width'), $config->get_int('thumb_height'));
     } else {
         $tsize = get_thumbnail_size($image->width, $image->height);
     }
     return "<a href='{$h_view_link}'><img title='{$h_tip}' alt='{$h_tip}' " . "width='{$tsize[0]}' height='{$tsize[1]}' src='{$h_thumb_link}' /></a>";
 }
Example #7
0
 public function get_tag_editor_html(Image $image)
 {
     global $user;
     $tag_links = array();
     foreach ($image->get_tag_array() as $tag) {
         $h_tag = html_escape($tag);
         $u_tag = url_escape($tag);
         $h_link = make_link("post/list/{$u_tag}/1");
         $tag_links[] = "<a href='{$h_link}'>{$h_tag}</a>";
     }
     $h_tag_links = implode(" ", $tag_links);
     $h_tags = html_escape($image->get_tag_list());
     return "\n\t\t\t<tr>\n\t\t\t\t<th width='50px'>Tags</th>\n\t\t\t\t<td>\n\t\t" . ($user->can("edit_image_tag") ? "\n\t\t\t\t\t<span class='view'>{$h_tag_links}</span>\n\t\t\t\t\t<input class='edit autocomplete_tags' type='text' name='tag_edit__tags' value='{$h_tags}' id='tag_editor' autocomplete='off'>\n\t\t" : "\n\t\t\t\t\t{$h_tag_links}\n\t\t") . "\n\t\t\t\t</td>\n\t\t\t</tr>\n\t\t";
 }
Example #8
0
 /**
  * @param Image $image
  * @return string
  */
 private function thumb(Image $image)
 {
     global $database;
     $cached = $database->cache->get("rss-thumb:{$image->id}");
     if ($cached) {
         return $cached;
     }
     $link = make_http(make_link("post/view/{$image->id}"));
     $tags = html_escape($image->get_tag_list());
     $owner = $image->get_owner();
     $thumb_url = $image->get_thumb_link();
     $image_url = $image->get_image_link();
     $posted = date(DATE_RSS, $image->posted_timestamp);
     $content = html_escape("<p>" . $this->theme->build_thumb_html($image) . "</p>" . "<p>Uploaded by " . html_escape($owner->name) . "</p>");
     $data = "\n\t\t<item>\n\t\t\t<title>{$image->id} - {$tags}</title>\n\t\t\t<link>{$link}</link>\n\t\t\t<guid isPermaLink=\"true\">{$link}</guid>\n\t\t\t<pubDate>{$posted}</pubDate>\n\t\t\t<description>{$content}</description>\n\t\t\t<media:thumbnail url=\"{$thumb_url}\"/>\n\t\t\t<media:content url=\"{$image_url}\"/>\n\t\t</item>\n\t\t";
     $database->cache->set("rss-thumb:{$image->id}", $data, 3600);
     return $data;
 }
Example #9
0
 /**
  * Constructor
  * @param Image $img
  */
 function __construct(Image $img)
 {
     global $config;
     // author
     $author = $img->get_owner();
     $this->author = $author->name;
     $this->creator_id = intval($author->id);
     // file
     $this->height = intval($img->height);
     $this->width = intval($img->width);
     $this->file_ext = $img->ext;
     $this->file_size = intval($img->filesize);
     $this->file_url = make_http($img->get_image_link());
     $this->md5 = $img->hash;
     // meta
     $this->change = intval($img->id);
     //DaFug is this even supposed to do? ChangeID?
     // Should be JSON specific, just strip this when converting to XML
     $this->created_at = array('n' => 123456789, 's' => strtotime($img->posted), 'json_class' => 'Time');
     $this->id = intval($img->id);
     $this->parent_id = null;
     if (defined('ENABLED_EXTS')) {
         if (strstr(ENABLED_EXTS, 'rating') !== false) {
             // 'u' is not a "valid" rating
             if ($img->rating == 's' || $img->rating == 'q' || $img->rating == 'e') {
                 $this->rating = $img->rating;
             }
         }
         if (strstr(ENABLED_EXTS, 'numeric_score') !== false) {
             $this->score = $img->numeric_score;
         }
     }
     $this->source = $img->source;
     $this->status = 'active';
     //not supported in Shimmie... yet
     $this->tags = $img->get_tag_list();
     $this->has_children = false;
     $this->has_comments = false;
     $this->has_notes = false;
     // thumb
     $this->preview_height = $config->get_int('thumb_height');
     $this->preview_width = $config->get_int('thumb_width');
     $this->preview_url = make_http($img->get_thumb_link());
     // sample (use the full image here)
     $this->sample_height = intval($img->height);
     $this->sample_width = intval($img->width);
     $this->sample_url = make_http($img->get_image_link());
 }
Example #10
0
 public function get_tag_editor_html(Image $image)
 {
     $script = "\n\t\t\t<script type='text/javascript'>\n\t\t\t\$().ready(function() {\n\t\t\t\t\$('#tag_editor').autocomplete('" . make_link("api/internal/tag_list/complete") . "', {\n\t\t\t\t\twidth: 320,\n\t\t\t\t\tmax: 15,\n\t\t\t\t\thighlight: false,\n\t\t\t\t\tmultiple: true,\n\t\t\t\t\tmultipleSeparator: ' ',\n\t\t\t\t\tscroll: true,\n\t\t\t\t\tscrollHeight: 300,\n\t\t\t\t\tselectFirst: false\n\t\t\t\t});\n\t\t\t});\n\t\t\t</script>\n\t\t";
     $h_tags = html_escape($image->get_tag_list());
     return "\n\t\t\t<tr>\n\t\t\t\t<td width='50px'>Tags</td>\n\t\t\t\t<td width='300px'><input type='text' name='tag_edit__tags' value='{$h_tags}' id='tag_editor'></td>\n\t\t\t</tr>\n\t\t\t{$script}\n\t\t";
 }
Example #11
0
 public function get_tag_editor_html(Image $image)
 {
     $h_tags = html_escape($image->get_tag_list());
     return "<tr><td width='50px'>Tags</td><td width='300px'><input type='text' name='tag_edit__tags' value='{$h_tags}'></td></tr>";
 }