forked from Cavemanon/cavepaintings
more tests, and make link to image work better
This commit is contained in:
@@ -1,41 +0,0 @@
|
||||
/*
|
||||
* This file may not be distributed without its readme.txt
|
||||
**/
|
||||
|
||||
/* * * Link to Image * * */
|
||||
#Link_to_Image {
|
||||
/* allows borders to encompass the content; */
|
||||
overflow:hidden;
|
||||
}
|
||||
|
||||
#Link_to_Image fieldset {
|
||||
width: 32%;
|
||||
float:left;
|
||||
min-width:25em;
|
||||
}
|
||||
|
||||
#Link_to_Image input, #Link_to_Image label {
|
||||
display:block;
|
||||
width:66%;
|
||||
float:left;
|
||||
margin-bottom:2.5px;
|
||||
}
|
||||
|
||||
#Link_to_Image label {
|
||||
width:30%;
|
||||
text-align:left;
|
||||
padding-right:2%;
|
||||
cursor:pointer;
|
||||
}
|
||||
#Link_to_Image input {
|
||||
font-size:0.7em;
|
||||
font-family:courier, fixed, monospace;
|
||||
}
|
||||
|
||||
#Link_to_Image br {
|
||||
clear:both;
|
||||
}
|
||||
|
||||
#Link_to_Image label:hover {
|
||||
border-bottom:1px dashed;
|
||||
}
|
@@ -12,9 +12,6 @@ class LinkImage implements Extension {
|
||||
if(is_null($this->theme)) $this->theme = get_theme_object($this);
|
||||
|
||||
if(($event instanceof DisplayingImageEvent)) {
|
||||
$data_href = get_base_href();
|
||||
$page->add_header("<link rel='stylesheet' href='$data_href/ext/link_image/_style.css' type='text/css'>",0);
|
||||
|
||||
$this->theme->links_block($page, $this->data($event->image));
|
||||
}
|
||||
if($event instanceof SetupBuildingEvent) {
|
||||
@@ -28,17 +25,27 @@ class LinkImage implements Extension {
|
||||
'$title - $id ($ext $size $filesize)');
|
||||
}
|
||||
}
|
||||
|
||||
private function hostify($str) {
|
||||
$str = str_replace(" ", "%20", $str);
|
||||
if(strpos($str, "ttp://") > 0) {
|
||||
return $str;
|
||||
}
|
||||
else {
|
||||
return "http://" . $_SERVER["HTTP_HOST"] . $str;
|
||||
}
|
||||
}
|
||||
private function data($image) {
|
||||
global $config;
|
||||
|
||||
$text_link = $image->parse_link_template($config->get_string("ext_link-img_text-link_format"));
|
||||
$text_link = $text_link==" "? null : $text_link; // null blank setting so the url gets filled in on the text links.
|
||||
$text_link = trim($text_link) == "" ? null : $text_link; // null blank setting so the url gets filled in on the text links.
|
||||
|
||||
return array(
|
||||
'thumb_src' => $image->get_thumb_link(),
|
||||
'image_src' => $image->get_image_link(),
|
||||
'post_link' => $image->get_short_link(),
|
||||
'text_link' => $text_link);
|
||||
'thumb_src' => $this->hostify($image->get_thumb_link()),
|
||||
'image_src' => $this->hostify($image->get_image_link()),
|
||||
'post_link' => $this->hostify($_SERVER["REQUEST_URI"]),
|
||||
'text_link' => $text_link);
|
||||
}
|
||||
}
|
||||
add_event_listener(new LinkImage());
|
||||
|
@@ -4,36 +4,55 @@ class LinkImageTheme extends Themelet {
|
||||
$thumb_src = $data['thumb_src'];
|
||||
$image_src = $data['image_src'];
|
||||
$post_link = $data['post_link'];
|
||||
$text_link = $data['text_link'];
|
||||
$text_link = $data['text_link'];
|
||||
|
||||
|
||||
$page->add_block( new Block(
|
||||
"Link to Image",
|
||||
"<fieldset>".
|
||||
"<legend><a href='http://en.wikipedia.org/wiki/Bbcode' target='_blank'>BBCode</a></legend>".
|
||||
$this->link_code("Text Link",$this->url($post_link, $text_link,"ubb"),"ubb_text-link").
|
||||
$this->link_code("Thumbnail Link",$this->url($post_link, $this->img($thumb_src,"ubb"),"ubb"),"ubb_thumb-link").
|
||||
$this->link_code("Inline Image", $this->img($image_src,"ubb"), "ubb_full-img").
|
||||
"</fieldset>".
|
||||
"
|
||||
<table><tr>
|
||||
|
||||
"<fieldset>".
|
||||
"<legend><a href='http://en.wikipedia.org/wiki/Html' target='_blank'>HTML</a></legend>".
|
||||
$this->link_code("Text Link", $this->url($post_link, $text_link,"html"), "html_text-link").
|
||||
$this->link_code("Thumbnail Link", $this->url($post_link,$this->img($thumb_src,"html"),"html"), "html_thumb-link").
|
||||
$this->link_code("Inline Image", $this->img($image_src,"html"), "html_full-image").
|
||||
"</fieldset>".
|
||||
<td><fieldset>
|
||||
<legend><a href='http://en.wikipedia.org/wiki/Bbcode' target='_blank'>BBCode</a></legend>
|
||||
<table>
|
||||
".
|
||||
$this->link_code("Link",$this->url($post_link, $text_link,"ubb"),"ubb_text-link").
|
||||
$this->link_code("Thumb",$this->url($post_link, $this->img($thumb_src,"ubb"),"ubb"),"ubb_thumb-link").
|
||||
$this->link_code("Image", $this->img($image_src,"ubb"), "ubb_full-img").
|
||||
"
|
||||
</table>
|
||||
</fieldset></td>
|
||||
|
||||
"<fieldset>".
|
||||
"<legend>Plain Text</legend>".
|
||||
$this->link_code("Post URL",$post_link,"text_post-link").
|
||||
$this->link_code("Thumbnail URL",$thumb_src,"text_thumb-url").
|
||||
$this->link_code("Image URL",$image_src,"text_image-src").
|
||||
"</fieldset>",
|
||||
<td><fieldset>
|
||||
<legend><a href='http://en.wikipedia.org/wiki/Html' target='_blank'>HTML</a></legend>
|
||||
<table>
|
||||
".
|
||||
$this->link_code("Link", $this->url($post_link, $text_link,"html"), "html_text-link").
|
||||
$this->link_code("Thumb", $this->url($post_link,$this->img($thumb_src,"html"),"html"), "html_thumb-link").
|
||||
$this->link_code("Image", $this->img($image_src,"html"), "html_full-image").
|
||||
"
|
||||
</table>
|
||||
</fieldset></td>
|
||||
|
||||
<td><fieldset>
|
||||
<legend>Plain Text</legend>
|
||||
<table>
|
||||
".
|
||||
$this->link_code("Link",$post_link,"text_post-link").
|
||||
$this->link_code("Thumb",$thumb_src,"text_thumb-url").
|
||||
$this->link_code("Image",$image_src,"text_image-src").
|
||||
"
|
||||
</table>
|
||||
</fieldset></td>
|
||||
|
||||
</tr></table>
|
||||
",
|
||||
"main",
|
||||
50));
|
||||
}
|
||||
|
||||
protected function url ($url,$content,$type) {
|
||||
if ($content == NULL) {$content=$url;}
|
||||
if ($content == NULL) {$content=$url;}
|
||||
|
||||
switch ($type) {
|
||||
case "html":
|
||||
@@ -62,9 +81,14 @@ class LinkImageTheme extends Themelet {
|
||||
return $text;
|
||||
}
|
||||
|
||||
protected function link_code($label,$content,$id=NULL) {
|
||||
return "<label for='".$id."' title='Click to select the textbox'>$label</label>\n".
|
||||
"<input type='text' readonly='readonly' id='".$id."' name='".$id."' value='".html_escape($content)."' onfocus='this.select();'></input>\n<br/>\n";
|
||||
protected function link_code($label,$content,$id=NULL) {
|
||||
return "
|
||||
<tr>
|
||||
<td><label for='".$id."' title='Click to select the textbox'>$label</label></td>
|
||||
<td><input type='text' readonly='readonly' id='".$id."' name='".$id."'
|
||||
value='".html_escape($content)."' onfocus='this.select();'></input></td>
|
||||
</tr>
|
||||
";
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
Reference in New Issue
Block a user