Initial checkin of custom albums (not working)
This commit is contained in:
parent
7f0f225648
commit
86a988b16c
64
3.0/modules/custom_albums/helpers/custom_albums_event.php
Normal file
64
3.0/modules/custom_albums/helpers/custom_albums_event.php
Normal file
@ -0,0 +1,64 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2010 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class custom_albums_event_Core {
|
||||
static function item_edit_form($item, $form) {
|
||||
if ($item->is_album()) {
|
||||
$albumCustom = ORM::factory("custom_album")->where("album_id", "=", $item->id)->find();
|
||||
|
||||
$thumbdata = $form->edit_item->group("custom_album")->label("Custom Album");
|
||||
|
||||
if ($albumCustom->loaded()) {
|
||||
$thumbdata->input("thumbsize")->label(t("Thumbnail size (in pixels)"))->value($albumCustom->thumb_size);
|
||||
} else {
|
||||
$thumbdata->input("thumbsize")->label(t("Thumbnail size (in pixels)"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static function item_edit_form_completed($item, $form) {
|
||||
if ($item->is_album()) {
|
||||
$thumbChanged = false;
|
||||
|
||||
if ($form->edit_item->custom_album->thumbsize->value == "") {
|
||||
db::build()
|
||||
->delete("custom_album")
|
||||
->where("album_id", "=", $item->id)
|
||||
->execute();
|
||||
} else {
|
||||
$albumCustom = ORM::factory("custom_album")->where("album_id", "=", $item->id)->find();
|
||||
if (!$albumCustom->loaded()) {
|
||||
$albumCustom->album_id = $item->id;
|
||||
}
|
||||
$albumCustom->thumb_size = $form->edit_item->custom_album->thumbsize->value;
|
||||
$albumCustom->save();
|
||||
|
||||
$thumbChanged = true;
|
||||
}
|
||||
|
||||
if ($thumbChanged) {
|
||||
db::build()
|
||||
->update("items")
|
||||
->set("thumb_dirty", 1)
|
||||
->where("parent_id", "=", $item->id)
|
||||
->execute();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
57
3.0/modules/custom_albums/helpers/custom_albums_graphics.php
Normal file
57
3.0/modules/custom_albums/helpers/custom_albums_graphics.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2010 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class custom_albums_graphics_Core {
|
||||
/**
|
||||
* Resize an image. Valid options are width, height and master. Master is one of the Image
|
||||
* master dimension constants.
|
||||
*
|
||||
* @param string $input_file
|
||||
* @param string $output_file
|
||||
* @param array $options
|
||||
*/
|
||||
static function resize($input_file, $output_file, $options) {
|
||||
graphics::init_toolkit();
|
||||
|
||||
module::event("graphics_resize", $input_file, $output_file, $options);
|
||||
|
||||
if (@filesize($input_file) == 0) {
|
||||
throw new Exception("@todo EMPTY_INPUT_FILE");
|
||||
}
|
||||
|
||||
$albumCustom = ORM::factory("custom_album")->where("album_id", "=", $options["parent_id"])->find();
|
||||
|
||||
/*
|
||||
$dims = getimagesize($input_file);
|
||||
if (max($dims[0], $dims[1]) < min($options["width"], $options["height"])) {
|
||||
// Image would get upscaled; do nothing
|
||||
copy($input_file, $output_file);
|
||||
} else {
|
||||
$image = Image::factory($input_file)
|
||||
->resize($options["width"], $options["height"], $options["master"])
|
||||
->quality(module::get_var("gallery", "image_quality"));
|
||||
if (graphics::can("sharpen")) {
|
||||
$image->sharpen(module::get_var("gallery", "image_sharpen"));
|
||||
}
|
||||
$image->save($output_file);
|
||||
}
|
||||
*/
|
||||
module::event("graphics_resize_completed", $input_file, $output_file, $options);
|
||||
}
|
||||
}
|
@ -0,0 +1,54 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
/**
|
||||
* Gallery - a web based photo album viewer and editor
|
||||
* Copyright (C) 2000-2010 Bharat Mediratta
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
class custom_albums_installer {
|
||||
static function install() {
|
||||
// Add rules for generating our thumbnails and resizes
|
||||
graphics::add_rule(
|
||||
"gallery", "thumb", "custom_albums::resize",
|
||||
array("width" => 0, "height" => 0, "master" => Image::AUTO),
|
||||
200);
|
||||
graphics::add_rule(
|
||||
"gallery", "resize", "custom_albums::resize",
|
||||
array("width" => 0, "height" => 0, "master" => Image::AUTO),
|
||||
200);
|
||||
|
||||
// Create a table to store custom album info in.
|
||||
$db = Database::instance();
|
||||
|
||||
$db->query(
|
||||
"CREATE TABLE IF NOT EXISTS {custom_albums} (
|
||||
`id` int(9) NOT NULL auto_increment,
|
||||
`album_id` int(9) NOT NULL,
|
||||
`thumb_size` int(9) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `album_id` (`album_id`,`id`)
|
||||
) DEFAULT CHARSET=utf8;"
|
||||
);
|
||||
|
||||
module::set_version("custom_albums", 1);
|
||||
}
|
||||
|
||||
static function uninstall() {
|
||||
// Delete the custom album table before uninstalling.
|
||||
$db = Database::instance();
|
||||
$db->query("DROP TABLE IF EXISTS {custom_albums};");
|
||||
module::delete("custom_albums");
|
||||
}
|
||||
}
|
5
3.0/modules/custom_albums/models/custom_album.php
Normal file
5
3.0/modules/custom_albums/models/custom_album.php
Normal file
@ -0,0 +1,5 @@
|
||||
<?php defined("SYSPATH") or die("No direct script access.");
|
||||
class Custom_Album_Model extends ORM
|
||||
{
|
||||
}
|
||||
?>
|
3
3.0/modules/custom_albums/module.info
Normal file
3
3.0/modules/custom_albums/module.info
Normal file
@ -0,0 +1,3 @@
|
||||
name = "Custom Albums"
|
||||
description = "Lets you set custom thumbnail sizes for albums"
|
||||
version = 1
|
Reference in New Issue
Block a user