Skip to content

Commit

Permalink
Merge branch 'master' into bharat_dev
Browse files Browse the repository at this point in the history
  • Loading branch information
bharat committed Sep 30, 2009
2 parents a7c04d0 + 39cd84d commit 15422e4
Show file tree
Hide file tree
Showing 20 changed files with 408 additions and 368 deletions.
6 changes: 3 additions & 3 deletions installer/install.sql
Expand Up @@ -88,8 +88,8 @@ CREATE TABLE {graphics_rules} (
PRIMARY KEY (`id`)
) AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;
INSERT INTO {graphics_rules} VALUES (1,1,'a:3:{s:5:\"width\";i:200;s:6:\"height\";i:200;s:6:\"master\";i:2;}','gallery','resize',100,'thumb');
INSERT INTO {graphics_rules} VALUES (2,1,'a:3:{s:5:\"width\";i:640;s:6:\"height\";i:480;s:6:\"master\";i:2;}','gallery','resize',100,'resize');
INSERT INTO {graphics_rules} VALUES (1,1,'a:3:{s:5:\"width\";i:200;s:6:\"height\";i:200;s:6:\"master\";i:2;}','gallery','gallery_graphics::resize',100,'thumb');
INSERT INTO {graphics_rules} VALUES (2,1,'a:3:{s:5:\"width\";i:640;s:6:\"height\";i:480;s:6:\"master\";i:2;}','gallery','gallery_graphics::resize',100,'resize');
DROP TABLE IF EXISTS {groups};
SET @saved_cs_client = @@character_set_client;
SET character_set_client = utf8;
Expand Down Expand Up @@ -228,7 +228,7 @@ CREATE TABLE {modules} (
UNIQUE KEY `name` (`name`)
) AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;
INSERT INTO {modules} VALUES (1,1,'gallery',13);
INSERT INTO {modules} VALUES (1,1,'gallery',14);
INSERT INTO {modules} VALUES (2,1,'user',1);
INSERT INTO {modules} VALUES (3,1,'comment',2);
INSERT INTO {modules} VALUES (4,1,'organize',1);
Expand Down
12 changes: 12 additions & 0 deletions lib/gallery.common.js
Expand Up @@ -6,6 +6,18 @@
});
};

// Make the height of all items the same as the tallest item within the set
$.fn.equal_heights = function() {
var tallest_height = 0;
$(this).each(function(){
if ($(this).height() > tallest_height) {
tallest_height = $(this).height();
}
});
return $(this).height(tallest_height);
};


// Vertically align a block element's content
$.fn.gallery_valign = function(container) {
return this.each(function(i){
Expand Down
8 changes: 4 additions & 4 deletions modules/gallery/controllers/admin_theme_options.php
Expand Up @@ -35,9 +35,9 @@ public function save() {
$thumb_size = $form->edit_theme->thumb_size->value;
$thumb_dirty = false;
if (module::get_var("gallery", "thumb_size") != $thumb_size) {
graphics::remove_rule("gallery", "thumb", "resize");
graphics::remove_rule("gallery", "thumb", "gallery_graphics::resize");
graphics::add_rule(
"gallery", "thumb", "resize",
"gallery", "thumb", "gallery_graphics::resize",
array("width" => $thumb_size, "height" => $thumb_size, "master" => Image::AUTO),
100);
module::set_var("gallery", "thumb_size", $thumb_size);
Expand All @@ -46,9 +46,9 @@ public function save() {
$resize_size = $form->edit_theme->resize_size->value;
$resize_dirty = false;
if (module::get_var("gallery", "resize_size") != $resize_size) {
graphics::remove_rule("gallery", "resize", "resize");
graphics::remove_rule("gallery", "resize", "gallery_graphics::resize");
graphics::add_rule(
"gallery", "resize", "resize",
"gallery", "resize", "gallery_graphics::resize",
array("width" => $resize_size, "height" => $resize_size, "master" => Image::AUTO),
100);
module::set_var("gallery", "resize_size", $resize_size);
Expand Down
261 changes: 10 additions & 251 deletions modules/gallery/helpers/gallery.php
Expand Up @@ -80,264 +80,23 @@ static function time($timestamp) {
}

/**
* Provide a wrapper function for Kohana::find_file, that first strips the extension and
* then calls the Kohana::find_file supply that extension
* Provide a wrapper function for Kohana::find_file that first strips the extension and
* then calls the Kohana::find_file and supplies the extension as the type.
* @param string directory to search in
* @param string filename to look for (without extension)
* @param boolean file required
* @return the file relative to the DOCROOT
* @param string filename to look for
* @param boolean file required (optional: default false)
* @return array if the extension is config, i18n or l10n
* @return string if the file is found (relative to the DOCROOT)
* @return false if the file is not found
*/
static function find_file($directory, $file, $required=false) {
$file_name = substr($file, 0, -strlen($ext = strrchr($file, '.')));
$file_name = Kohana::find_file($directory, $file_name, $required, substr($ext, 1));
return substr($file_name, strlen(DOCROOT));
}

static function site_menu($menu, $theme) {
if ($theme->page_type != "login") {
$menu->append(Menu::factory("link")
->id("home")
->label(t("Home"))
->url(item::root()->url()));

$item = $theme->item();

$can_edit = $item && access::can("edit", $item);
$can_add = $item && access::can("add", $item);

if ($can_add) {
$menu->append($add_menu = Menu::factory("submenu")
->id("add_menu")
->label(t("Add")));
$is_album_writable =
is_writable($item->is_album() ? $item->file_path() : $item->parent()->file_path());
if ($is_album_writable) {
$add_menu->append(Menu::factory("dialog")
->id("add_photos_item")
->label(t("Add photos"))
->url(url::site("simple_uploader/app/$item->id")));
if ($item->is_album()) {
$add_menu->append(Menu::factory("dialog")
->id("add_album_item")
->label(t("Add an album"))
->url(url::site("form/add/albums/$item->id?type=album")));
}
} else {
message::warning(t("The album '%album_name' is not writable.",
array("album_name" => $item->title)));
}
}

switch ($item->type) {
case "album":
$option_text = t("Album options");
$edit_text = t("Edit album");
break;
case "movie":
$option_text = t("Movie options");
$edit_text = t("Edit movie");
break;
default:
$option_text = t("Photo options");
$edit_text = t("Edit photo");
}

$menu->append($options_menu = Menu::factory("submenu")
->id("options_menu")
->label($option_text));
if ($item && ($can_edit || $can_add)) {
if ($can_edit) {
$options_menu->append(Menu::factory("dialog")
->id("edit_item")
->label($edit_text)
->url(url::site("form/edit/{$item->type}s/$item->id")));
}

if ($item->is_album()) {
if ($can_edit) {
$options_menu->append(Menu::factory("dialog")
->id("edit_permissions")
->label(t("Edit permissions"))
->url(url::site("permissions/browse/$item->id")));
}
}
}

if (user::active()->admin) {
$menu->append($admin_menu = Menu::factory("submenu")
->id("admin_menu")
->label(t("Admin")));
gallery::admin_menu($admin_menu, $theme);
module::event("admin_menu", $admin_menu, $theme);
}

module::event("site_menu", $menu, $theme);
if (!$file_name && file_exists(DOCROOT . "lib/$file")) {
return "lib/$file";
}
}

static function admin_menu($menu, $theme) {
$menu
->append(Menu::factory("link")
->id("dashboard")
->label(t("Dashboard"))
->url(url::site("admin")))
->append(Menu::factory("submenu")
->id("settings_menu")
->label(t("Settings"))
->append(Menu::factory("link")
->id("graphics_toolkits")
->label(t("Graphics"))
->url(url::site("admin/graphics")))
->append(Menu::factory("link")
->id("languages")
->label(t("Languages"))
->url(url::site("admin/languages")))
->append(Menu::factory("link")
->id("advanced")
->label(t("Advanced"))
->url(url::site("admin/advanced_settings"))))
->append(Menu::factory("link")
->id("modules")
->label(t("Modules"))
->url(url::site("admin/modules")))
->append(Menu::factory("submenu")
->id("content_menu")
->label(t("Content")))
->append(Menu::factory("submenu")
->id("appearance_menu")
->label(t("Appearance"))
->append(Menu::factory("link")
->id("themes")
->label(t("Theme Choice"))
->url(url::site("admin/themes")))
->append(Menu::factory("link")
->id("theme_options")
->label(t("Theme Options"))
->url(url::site("admin/theme_options"))))
->append(Menu::factory("submenu")
->id("statistics_menu")
->label(t("Statistics")))
->append(Menu::factory("link")
->id("maintenance")
->label(t("Maintenance"))
->url(url::site("admin/maintenance")));
return $menu;
return is_string($file_name) ? substr($file_name, strlen(DOCROOT)) : $file_name;
}

static function context_menu($menu, $theme, $item, $thumb_css_selector) {
$menu->append($options_menu = Menu::factory("submenu")
->id("options_menu")
->label(t("Options"))
->css_class("ui-icon-carat-1-n"));

if (access::can("edit", $item)) {
$page_type = $theme->page_type();
switch ($item->type) {
case "movie":
$edit_title = t("Edit this movie");
$delete_title = t("Delete this movie");
break;

case "album":
$edit_title = t("Edit this album");
$delete_title = t("Delete this album");
break;

default:
$edit_title = t("Edit this photo");
$delete_title = t("Delete this photo");
break;
}
$cover_title = t("Choose as the album cover");
$move_title = t("Move to another album");

$csrf = access::csrf_token();

$options_menu->append(Menu::factory("dialog")
->id("edit")
->label($edit_title)
->css_class("ui-icon-pencil")
->url(url::site("quick/form_edit/$item->id?page_type=$page_type")));


if ($item->is_photo() && graphics::can("rotate")) {
$options_menu
->append(
Menu::factory("ajax_link")
->id("rotate_ccw")
->label(t("Rotate 90° counter clockwise"))
->css_class("ui-icon-rotate-ccw")
->ajax_handler("function(data) { " .
"\$.gallery_replace_image(data, \$('$thumb_css_selector')) }")
->url(url::site("quick/rotate/$item->id/ccw?csrf=$csrf&page_type=$page_type")))
->append(
Menu::factory("ajax_link")
->id("rotate_cw")
->label(t("Rotate 90° clockwise"))
->css_class("ui-icon-rotate-cw")
->ajax_handler("function(data) { " .
"\$.gallery_replace_image(data, \$('$thumb_css_selector')) }")
->url(url::site("quick/rotate/$item->id/cw?csrf=$csrf&page_type=$page_type")));
}

// Don't move photos from the photo page; we don't yet have a good way of redirecting after
// move
if ($page_type == "album") {
$options_menu
->append(Menu::factory("dialog")
->id("move")
->label($move_title)
->css_class("ui-icon-folder-open")
->url(url::site("move/browse/$item->id")));
}

$parent = $item->parent();
if (access::can("edit", $parent)) {
// We can't make this item the highlight if it's an album with no album cover, or if it's
// already the album cover.
if (($item->type == "album" && empty($item->album_cover_item_id)) ||
($item->type == "album" && $parent->album_cover_item_id == $item->album_cover_item_id) ||
$parent->album_cover_item_id == $item->id) {
$disabledState = " ui-state-disabled";
} else {
$disabledState = " ";
}
if ($item->parent()->id != 1) {
$options_menu
->append(Menu::factory("ajax_link")
->id("make_album_cover")
->label($cover_title)
->css_class("ui-icon-star")
->ajax_handler("function(data) { window.location.reload() }")
->url(url::site("quick/make_album_cover/$item->id?csrf=$csrf")));
}
$options_menu
->append(Menu::factory("dialog")
->id("delete")
->label($delete_title)
->css_class("ui-icon-trash")
->css_id("gQuickDelete")
->url(url::site("quick/form_delete/$item->id?csrf=$csrf&page_type=$page_type")));
}

if ($item->is_album()) {
$options_menu
->append(Menu::factory("dialog")
->id("add_item")
->label(t("Add a photo"))
->css_class("ui-icon-plus")
->url(url::site("simple_uploader/app/$item->id")))
->append(Menu::factory("dialog")
->id("add_album")
->label(t("Add an album"))
->css_class("ui-icon-note")
->url(url::site("form/add/albums/$item->id?type=album")))
->append(Menu::factory("dialog")
->id("edit_permissions")
->label(t("Edit permissions"))
->css_class("ui-icon-key")
->url(url::site("permissions/browse/$item->id")));
}
}
}
}

0 comments on commit 15422e4

Please sign in to comment.