142 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
/**
 | 
						|
 * An image is being added to the database.
 | 
						|
 */
 | 
						|
class ImageAdditionEvent extends Event {
 | 
						|
	/** @var User */
 | 
						|
	public $user;
 | 
						|
 | 
						|
	/** @var Image */
 | 
						|
	public $image;
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Inserts a new image into the database with its associated
 | 
						|
	 * information. Also calls TagSetEvent to set the tags for
 | 
						|
	 * this new image.
 | 
						|
	 *
 | 
						|
	 * @see TagSetEvent
 | 
						|
	 * @param Image $image The new image to add.
 | 
						|
	 */
 | 
						|
	public function __construct(Image $image) {
 | 
						|
		$this->image = $image;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
class ImageAdditionException extends SCoreException {
 | 
						|
	public $error;
 | 
						|
 | 
						|
	public function __construct(string $error) {
 | 
						|
		$this->error = $error;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * An image is being deleted.
 | 
						|
 */
 | 
						|
class ImageDeletionEvent extends Event {
 | 
						|
	/** @var \Image */
 | 
						|
	public $image;
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Deletes an image.
 | 
						|
	 *
 | 
						|
	 * Used by things like tags and comments handlers to
 | 
						|
	 * clean out related rows in their tables.
 | 
						|
	 *
 | 
						|
	 * @param Image $image The image being deleted.
 | 
						|
	 */
 | 
						|
	public function __construct(Image $image) {
 | 
						|
		$this->image = $image;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * An image is being replaced.
 | 
						|
 */
 | 
						|
class ImageReplaceEvent extends Event {
 | 
						|
	/** @var int */
 | 
						|
	public $id;
 | 
						|
	/** @var \Image */
 | 
						|
	public $image;
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Replaces an image.
 | 
						|
	 *
 | 
						|
	 * Updates an existing ID in the database to use a new image
 | 
						|
	 * file, leaving the tags and such unchanged. Also removes
 | 
						|
	 * the old image file and thumbnail from the disk.
 | 
						|
	 *
 | 
						|
	 * @param int $id The ID of the image to replace.
 | 
						|
	 * @param Image $image The image object of the new image to use.
 | 
						|
	 */
 | 
						|
	public function __construct(int $id, Image $image) {
 | 
						|
		$this->id = $id;
 | 
						|
		$this->image = $image;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
class ImageReplaceException extends SCoreException {
 | 
						|
	/** @var string */
 | 
						|
	public $error;
 | 
						|
 | 
						|
	public function __construct(string $error) {
 | 
						|
		$this->error = $error;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
/**
 | 
						|
 * Request a thumbnail be made for an image object.
 | 
						|
 */
 | 
						|
class ThumbnailGenerationEvent extends Event {
 | 
						|
	/** @var string */
 | 
						|
	public $hash;
 | 
						|
	/** @var string */
 | 
						|
	public $type;
 | 
						|
	/** @var bool */
 | 
						|
	public $force;
 | 
						|
 | 
						|
	/**
 | 
						|
	 * Request a thumbnail be made for an image object
 | 
						|
	 *
 | 
						|
	 * @param string $hash The unique hash of the image
 | 
						|
	 * @param string $type The type of the image
 | 
						|
	 * @param bool $force Regenerate the thumbnail even if one already exists
 | 
						|
	 */
 | 
						|
	public function __construct(string $hash, string $type, bool $force=false) {
 | 
						|
		$this->hash = $hash;
 | 
						|
		$this->type = $type;
 | 
						|
		$this->force = $force;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
/*
 | 
						|
 * 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 string */
 | 
						|
	public $link;
 | 
						|
	/** @var string */
 | 
						|
	public $original;
 | 
						|
	/** @var \Image */
 | 
						|
	public $image;
 | 
						|
 | 
						|
	/**
 | 
						|
	 * @param string $link The formatted link
 | 
						|
	 * @param Image $image The image who's link is being parsed
 | 
						|
	 */
 | 
						|
	public function __construct(string $link, Image $image) {
 | 
						|
		$this->link = $link;
 | 
						|
		$this->original = $link;
 | 
						|
		$this->image = $image;
 | 
						|
	}
 | 
						|
 | 
						|
	public function replace(string $needle, string $replace) {
 | 
						|
		$this->link = str_replace($needle, $replace, $this->link);
 | 
						|
	}
 | 
						|
}
 |