Merge pull request #76 from tkorpe/master

Bulk add faster
This commit is contained in:
Shish Moom 2012-01-16 12:41:56 -08:00
commit 40c3861bc9
4 changed files with 19 additions and 5 deletions

View File

@ -18,7 +18,7 @@ class RegenThumb extends SimpleExtension {
if($event->page_matches("regen_thumb") && $user->is_admin() && isset($_POST['image_id'])) {
$image = Image::by_id(int_escape($_POST['image_id']));
send_event(new ThumbnailGenerationEvent($image->hash, $image->ext));
send_event(new ThumbnailGenerationEvent($image->hash, $image->ext, true));
$this->theme->display_results($page, $image);
}
}

View File

@ -194,8 +194,13 @@ abstract class DataHandlerExtension implements Extension {
}
if(($event instanceof ThumbnailGenerationEvent) && $this->supported_ext($event->type)) {
if (method_exists($this, 'create_thumb_force') && $event->force == true) {
$this->create_thumb_force($event->hash);
}
else {
$this->create_thumb($event->hash);
}
}
if(($event instanceof DisplayingImageEvent) && $this->supported_ext($event->image->ext)) {
global $page;

View File

@ -48,6 +48,14 @@ class PixelFileHandler extends DataHandlerExtension {
}
protected function create_thumb($hash) {
$outname = warehouse_path("thumbs", $hash);
if(file_exists($outname)) {
return true;
}
return $this->create_thumb_force($hash);
}
protected function create_thumb_force($hash) {
$inname = warehouse_path("images", $hash);
$outname = warehouse_path("thumbs", $hash);
global $config;

View File

@ -89,7 +89,7 @@ class ImageReplaceException extends SCoreException {
* Request a thumbnail be made for an image object.
*/
class ThumbnailGenerationEvent extends Event {
var $hash, $type;
var $hash, $type, $force;
/**
* Request a thumbnail be made for an image object
@ -97,9 +97,10 @@ class ThumbnailGenerationEvent extends Event {
* @param $hash The unique hash of the image
* @param $type The type of the image
*/
public function ThumbnailGenerationEvent($hash, $type) {
public function ThumbnailGenerationEvent($hash, $type, $force=false) {
$this->hash = $hash;
$this->type = $type;
$this->force = $force;
}
}