Turn the QR Code extension into a SimpleExtension, trim the boilerplate
This commit is contained in:
parent
4ad7232abd
commit
5ddaed8e28
@ -6,34 +6,9 @@
|
|||||||
* Based on Artanis's Link to Image Extension <artanis.00@gmail.com>
|
* Based on Artanis's Link to Image Extension <artanis.00@gmail.com>
|
||||||
* Includes QRcode Perl CGI & PHP scripts ver. 0.50 [http://www.swetake.com/qr/qr_cgi_e.html]
|
* Includes QRcode Perl CGI & PHP scripts ver. 0.50 [http://www.swetake.com/qr/qr_cgi_e.html]
|
||||||
*/
|
*/
|
||||||
class QRImage implements Extension {
|
class QRImage extends SimpleExtension {
|
||||||
var $theme;
|
public function onDisplayingImage($event) {
|
||||||
|
$this->theme->links_block(make_http(make_link('image/'.$event->image->id)));
|
||||||
public function receive_event(Event $event) {
|
|
||||||
global $config, $database, $page, $user;
|
|
||||||
if(is_null($this->theme)) $this->theme = get_theme_object($this);
|
|
||||||
if(($event instanceof DisplayingImageEvent)) {
|
|
||||||
$this->theme->links_block($page, $this->data($event->image));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
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;
|
|
||||||
$i_image_id = int_escape($image->id);
|
|
||||||
return array(
|
|
||||||
'image_src' => $this->hostify('/image/'.$i_image_id));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
add_event_listener(new QRImage());
|
|
||||||
?>
|
?>
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
<?php
|
<?php
|
||||||
class QRImageTheme extends Themelet {
|
class QRImageTheme extends Themelet {
|
||||||
public function links_block(Page $page, $data) {
|
public function links_block($link) {
|
||||||
$image_src = $data['image_src'];
|
global $page;
|
||||||
global $config, $user;
|
$base_href = get_base_href();
|
||||||
$base_href = $config->get_string('base_href');
|
|
||||||
$data_href = get_base_href();
|
|
||||||
$page->add_block( new Block(
|
$page->add_block( new Block(
|
||||||
"QR Code","<img src='".$data_href."/ext/qr_code/qr_img.php?d=".$image_src."&s=3' />","left",50));
|
"QR Code","<img src='$base_href/ext/qr_code/qr_img.php?d=$link&s=3' />","left",50));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user