Turn the QR Code extension into a SimpleExtension, trim the boilerplate

This commit is contained in:
Shish
2010-01-26 13:38:08 +00:00
parent 4ad7232abd
commit 5ddaed8e28
2 changed files with 7 additions and 34 deletions

View File

@ -6,34 +6,9 @@
* 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]
*/
class QRImage implements Extension {
var $theme;
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));
class QRImage extends SimpleExtension {
public function onDisplayingImage($event) {
$this->theme->links_block(make_http(make_link('image/'.$event->image->id)));
}
}
add_event_listener(new QRImage());
?>