move all events into event.class.php for neatness and more controlled load order

git-svn-id: file:///home/shish/svn/shimmie2/trunk@627 7f39781d-f577-437e-ae19-be835c7a54ca
This commit is contained in:
shish 2007-12-06 10:21:23 +00:00
parent 3662b38db4
commit 87c31f432b
13 changed files with 233 additions and 226 deletions

View file

@ -4,12 +4,243 @@
* generic parent class
*/
class Event {
var $vetoed = false;
var $veto_reason;
var $vetoed = false, $veto_reason = null;
public function veto($reason="") {
$this->vetoed = true;
$this->veto_reason = $reason;
}
}
/*
* ConfigSaveEvent:
* Sent when the setup screen's 'set' button has been
* activated; new config options are in $_POST
*/
class ConfigSaveEvent extends Event {
var $config;
public function ConfigSaveEvent($config) {
$this->config = $config;
}
}
/*
* DataUploadEvent:
* $user -- the user uploading the data
* $tmpname -- the temporary file used for upload
* $metadata -- info about the file, should contain at least "filename", "extension", "tags" and "source"
*
* Some data is being uploaded. Should be caught by a file handler.
*/
class DataUploadEvent extends Event {
var $user, $tmpname, $metadata, $hash, $type;
public function DataUploadEvent($user, $tmpname, $metadata) {
$this->user = $user;
$this->tmpname = $tmpname;
$this->metadata = $metadata;
$this->metadata['hash'] = md5_file($tmpname);
$this->metadata['size'] = filesize($tmpname);
// useful for most file handlers, so pull directly into fields
$this->hash = $this->metadata['hash'];
$this->type = strtolower($metadata['extension']);
}
}
/*
* DisplayingImageEvent:
* $image -- the image being displayed
* $page -- the page to display on
*
* Sent when an image is ready to display. Extensions who
* wish to appear on the "view" page should listen for this,
* which only appears when an image actually exists.
*/
class DisplayingImageEvent extends Event {
var $image, $page;
public function DisplayingImageEvent($image, $page) {
$this->image = $image;
$this->page = $page;
}
public function get_image() {
return $this->image;
}
}
/*
* ImageAdditionEvent:
* $user -- the user adding the image
* $image -- the image being added
*
* An image is being added to the database
*/
class ImageAdditionEvent extends Event {
var $user, $image;
public function ImageAdditionEvent($user, $image) {
$this->image = $image;
$this->user = $user;
}
}
/*
* ImageDeletionEvent:
* $image -- the image being deleted
*
* An image is being deleted. Used by things like tags
* and comments handlers to clean out related rows in
* their tables
*/
class ImageDeletionEvent extends Event {
var $image;
public function ImageDeletionEvent($image) {
$this->image = $image;
}
}
/*
* InitExtEvent:
* A wake-up call for extensions
*/
class InitExtEvent extends Event {
public function InitExtEvent() {
}
}
/*
* PageRequestEvent:
* $page_name -- the main name of the page, eg "post"
* $args -- the arguments, eg "list"
* $page -- a page object to add things to
* $user -- the user requesting the page
* get_arg(int)
* count_args()
*
* User requests /view/42 -> an event is generated with
* $page_name="view" and $args=array("42");
*
* Used for initial page generation triggers
*/
class PageRequestEvent extends Event {
var $page_name, $args, $page, $user;
public function PageRequestEvent($page_name, $args, $page, $user) {
$this->page_name = $page_name;
$this->args = $args;
$this->page = $page;
$this->user = $user;
}
public function get_arg($n) {
return isset($this->args[$n]) ? $this->args[$n] : null;
}
public function count_args() {
return isset($this->args) ? count($this->args) : 0;
}
}
/*
* ParseLinkTemplateEvent:
* $link -- the formatted link
* $original -- the formatting string, for reference
* $image -- the image who's link is being parsed
*/
class ParseLinkTemplateEvent extends Event {
var $link, $original;
var $image;
public function ParseLinkTemplateEvent($link, $image) {
$this->link = $link;
$this->original = $link;
$this->image = $image;
}
public function replace($needle, $replace) {
$this->link = str_replace($needle, $replace, $this->link);
}
}
/*
* SourceSetEvent:
* $image_id
* $source
*
*/
class SourceSetEvent extends Event {
var $image_id;
var $source;
public function SourceSetEvent($image_id, $source) {
$this->image_id = $image_id;
$this->source = $source;
}
}
/*
* TagSetEvent:
* $image_id
* $tags
*
*/
class TagSetEvent extends Event {
var $image_id;
var $tags;
public function TagSetEvent($image_id, $tags) {
$this->image_id = $image_id;
$this->tags = $tags;
}
}
/*
* TextFormattingEvent:
* $original - for reference
* $formatted - with formatting applied
* $stripped - with formatting removed
*
*/
class TextFormattingEvent extends Event {
var $original;
var $formatted;
var $stripped;
public function TextFormattingEvent($text) {
$this->original = $text;
$this->formatted = $text;
$this->stripped = $text;
}
}
/*
* ThumbnailGenerationEvent:
* Request a thumb be made for an image
*/
class ThumbnailGenerationEvent extends Event {
var $hash;
var $type;
public function ThumbnailGenerationEvent($hash, $type) {
$this->hash = $hash;
$this->type = $type;
}
}
?>

View file

@ -1,14 +0,0 @@
<?php
/*
* ConfigSaveEvent:
* Sent when the setup screen's 'set' button has been
* activated; new config options are in $_POST
*/
class ConfigSaveEvent extends Event {
var $config;
public function ConfigSaveEvent($config) {
$this->config = $config;
}
}
?>

View file

@ -1,23 +0,0 @@
<?php
/*
* DataUploadEvent:
*
* Some data is being uploaded.
*/
class DataUploadEvent extends Event {
var $user, $tmpname, $metadata, $hash, $type;
public function DataUploadEvent($user, $tmpname, $metadata) {
$this->user = $user;
$this->tmpname = $tmpname;
$this->metadata = $metadata;
$this->metadata['hash'] = md5_file($tmpname);
$this->metadata['size'] = filesize($tmpname);
// useful for most file handlers, so pull directly into fields
$this->hash = $this->metadata['hash'];
$this->type = strtolower($metadata['extension']);
}
}
?>

View file

@ -1,23 +0,0 @@
<?php
/*
* DisplayingImageEvent:
* $image
*
* Sent when an image is ready to display. Extensions who
* wish to appear on the "view" page should listen for this,
* which only appears when an image actually exists.
*/
class DisplayingImageEvent extends Event {
var $image;
var $page;
public function DisplayingImageEvent($image, $page) {
$this->image = $image;
$this->page = $page;
}
public function get_image() {
return $this->image;
}
}
?>

View file

@ -1,16 +0,0 @@
<?php
/*
* ImageAdditionEvent:
*
* An image is being added to the database
*/
class ImageAdditionEvent extends Event {
var $image;
var $user;
public function ImageAdditionEvent($user, $image) {
$this->image = $image;
$this->user = $user;
}
}
?>

View file

@ -1,17 +0,0 @@
<?php
/*
* ImageDeletionEvent:
* $image_id
*
* An image is being deleted. Used by things like tags
* and comments handlers to clean out related rows in
* their tables
*/
class ImageDeletionEvent extends Event {
var $image;
public function ImageDeletionEvent($image) {
$this->image = $image;
}
}
?>

View file

@ -1,10 +0,0 @@
<?php
/*
* InitExtEvent:
* Get extensions to load themselves
*/
class InitExtEvent extends Event {
public function InitExtEvent() {
}
}
?>

View file

@ -1,35 +0,0 @@
<?php
/*
* PageRequestEvent:
* $page
* $args
* get_arg(int)
* count_args()
*
* User requests /view/42 -> an event is generated with
* $page="view" and $args=array("42");
*
* Used for initial page generation triggers
*/
class PageRequestEvent extends Event {
var $page_name;
var $args;
var $page;
var $user;
public function PageRequestEvent($page_name, $args, $page, $user) {
$this->page_name = $page_name;
$this->args = $args;
$this->page = $page;
$this->user = $user;
}
public function get_arg($n) {
return isset($this->args[$n]) ? $this->args[$n] : null;
}
public function count_args() {
return isset($this->args) ? count($this->args) : 0;
}
}
?>

View file

@ -1,17 +0,0 @@
<?php
class ParseLinkTemplateEvent extends Event {
var $link;
var $original;
var $image;
public function ParseLinkTemplateEvent($link, $image) {
$this->link = $link;
$this->original = $link;
$this->image = $image;
}
public function replace($needle, $replace) {
$this->link = str_replace($needle, $replace, $this->link);
}
}
?>

View file

@ -1,17 +0,0 @@
<?php
/*
* SourceSetEvent:
* $image_id
* $source
*
*/
class SourceSetEvent extends Event {
var $image_id;
var $source;
public function SourceSetEvent($image_id, $source) {
$this->image_id = $image_id;
$this->source = $source;
}
}
?>

View file

@ -1,17 +0,0 @@
<?php
/*
* TagSetEvent:
* $image_id
* $tags
*
*/
class TagSetEvent extends Event {
var $image_id;
var $tags;
public function TagSetEvent($image_id, $tags) {
$this->image_id = $image_id;
$this->tags = $tags;
}
}
?>

View file

@ -1,20 +0,0 @@
<?php
/*
* TextFormattingEvent:
* $original - for reference
* $formatted - with formatting applied
* $stripped - with formatting removed
*
*/
class TextFormattingEvent extends Event {
var $original;
var $formatted;
var $stripped;
public function TextFormattingEvent($text) {
$this->original = $text;
$this->formatted = $text;
$this->stripped = $text;
}
}
?>

View file

@ -1,15 +0,0 @@
<?php
/*
* ThumbnailGenerationEvent:
* Request a thumb be made for an image
*/
class ThumbnailGenerationEvent extends Event {
var $hash;
var $type;
public function ThumbnailGenerationEvent($hash, $type) {
$this->hash = $hash;
$this->type = $type;
}
}
?>