From 6dcfdb6432d556f43736d60de8f310f247868bfa Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Fri, 28 Aug 2009 12:42:37 -0700 Subject: Fix a bug in notification where were using get() instead of current() to get the first item in an ORM result set. --- modules/notification/helpers/notification.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/notification/helpers/notification.php b/modules/notification/helpers/notification.php index 92c40d4f..d95b3060 100644 --- a/modules/notification/helpers/notification.php +++ b/modules/notification/helpers/notification.php @@ -153,7 +153,7 @@ class notification { ->where("email", $email) ->find_all(); if ($result->count() == 1) { - $pending = $result->get(); + $pending = $result->current(); Sendmail::factory() ->to($email) ->subject($pending->subject) -- cgit v1.2.3 From 94b5749d4604dc0d6b7a057d48a0f9d733e035ea Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Fri, 28 Aug 2009 13:42:45 -0600 Subject: Convert tabs to spaces. --- lib/gallery.common.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/gallery.common.js b/lib/gallery.common.js index a959d90d..c6a619c1 100644 --- a/lib/gallery.common.js +++ b/lib/gallery.common.js @@ -140,19 +140,18 @@ /* after scaling the width, check that the height fits */ if (imageHeight > height) { - ratio = height / imageHeight; - imageWidth *= ratio; - imageHeight *= ratio; + ratio = height / imageHeight; + imageWidth *= ratio; + imageHeight *= ratio; } // handle the case where the calculation is almost zero (2.14e-14) return { - top: Number((height - imageHeight) / 2), - left: Number((width - imageWidth) / 2), - width: Number(imageWidth), - height: Number(imageHeight) + top: Number((height - imageHeight) / 2), + left: Number((width - imageWidth) / 2), + width: Number(imageWidth), + height: Number(imageHeight) }; }; })(jQuery); - -- cgit v1.2.3 From f1e008a14f2dfb51d1204dad3deb19e2e3df16c8 Mon Sep 17 00:00:00 2001 From: Chad Kieffer Date: Fri, 28 Aug 2009 13:47:35 -0600 Subject: Don't clone hover item, apply styles to the original container. Contextual menu rotates are now immediately visible. Fixes ticket 667. --- themes/default/css/screen.css | 23 +++++------------ themes/default/js/ui.init.js | 60 ++++++++++++++++++++++--------------------- 2 files changed, 37 insertions(+), 46 deletions(-) diff --git a/themes/default/css/screen.css b/themes/default/css/screen.css index 55839c57..cc5f6bcb 100644 --- a/themes/default/css/screen.css +++ b/themes/default/css/screen.css @@ -406,7 +406,6 @@ form .gError, } #gSidebar { - background-color: #fff; font-size: .9em; padding: 0 20px; width: 220px; @@ -492,23 +491,13 @@ form .gError, width: 16px; } -#gContent #gAlbumGrid #gHoverItem { +#gContent #gAlbumGrid .gHoverItem { background-color: #fff; border: 1px solid #000; - display: none; - height: auto; - padding: 0; - position: absolute; - width: auto; - z-index: 100; -} - -#gContent #gAlbumGrid #gHoverItem .gItem { - border: none; } -#gContent #gHoverItem .gItem h2, -#gContent #gHoverItem .gItem .gMetadata { +#gContent .gHoverItem h2, +#gContent .gHoverItem .gMetadata { display: block; } @@ -647,15 +636,15 @@ form .gError, line-height: 1.6em; } -#gHoverItem .gContextMenu { +.gHoverItem .gContextMenu { display: block; } -#gHoverItem .gContextMenu li { +.gHoverItem .gContextMenu li { text-align: left; } -#gHoverItem .gContextMenu a:hover { +.gHoverItem .gContextMenu a:hover { text-decoration: none; } diff --git a/themes/default/js/ui.init.js b/themes/default/js/ui.init.js index 2391f638..006d74bb 100644 --- a/themes/default/js/ui.init.js +++ b/themes/default/js/ui.init.js @@ -62,39 +62,41 @@ $(document).ready(function() { // Initialize context menus $(".gItem").hover( function(){ + // Insert invisible placeholder to hold the item's position in the grid + var placeHolder = $(this).clone(); + $(placeHolder).attr("id", "gPlaceHolder"); + $(placeHolder).css("visibility", "hidden"); + $(this).after($(placeHolder)); + // Style and position the item + $(this).addClass("gHoverItem"); var position = $(this).position(); - var item_classes = $(this).attr("class"); - var bg_color = $(this).css("background-color"); - var container = $(this).parent(); - $("#gHoverItem").remove(); - container.append("
" - + $(this).html() + "
"); - $("#gHoverItem").css("top", position.top); - $("#gHoverItem").css("left", position.left); - $("#gHoverItem").css("background-color", bg_color); - $.fn.gallery_hover_init(); - var v_align = $(this).find(".gValign"); + $(this).css("position", "absolute"); + $(this).css("top", position.top); + $(this).css("left", position.left); + $(this).css("z-index", "1000"); + // Initialize the contextual menu + $(this).gallery_context_menu(); + // Set height based on height of descendents var title = $(this).find("h2"); var meta = $(this).find(".gMetadata"); - var context = $(this).find(".gContextMenu"); var context_label = $(this).find(".gContextMenu li:first"); - $("#gHoverItem .gItem").height( - $(v_align).gallery_height() - + $(title).gallery_height() - + $(meta).gallery_height() - + parseInt($(context).css("margin-top").replace("px","")) - + $(context_label).gallery_height() - ); - - $("#gHoverItem").fadeIn("fast"); - $("#gHoverItem").hover( - function(){ - $(this).gallery_context_menu(); - }, - function() { - $(this).hide(); - } - ); + var item_ht = $(this).height(); + var title_ht = $(title).gallery_height(); + var meta_ht = $(meta).gallery_height(); + var context_label_ht = $(context_label).gallery_height(); + $(this).height(item_ht + title_ht + meta_ht + context_label_ht); + }, + function() { + // Reset item height, position, and z-index + var sib_height = $(this).next().height(); + $(this).css("height", sib_height); + $(this).css("position", "relative"); + $(this).css("top", null); + $(this).css("left", null); + $(this).css("z-index", null); + // Remove the placeholder and hover class from the item + $("#gPlaceHolder").remove(); + $(this).removeClass("gHoverItem"); } ); } -- cgit v1.2.3 From 1855642bd169a1cae69cd9efb8da4458ea6e4a3c Mon Sep 17 00:00:00 2001 From: jhilden Date: Fri, 28 Aug 2009 16:19:41 -0400 Subject: improved UI for the languages admin this should take care of bug #329 --- modules/gallery/controllers/admin_languages.php | 52 +++++++----------- modules/gallery/views/admin_languages.html.php | 71 ++++++++++++++++++++++--- themes/admin_default/css/admin_screen.css | 18 +++++-- 3 files changed, 97 insertions(+), 44 deletions(-) diff --git a/modules/gallery/controllers/admin_languages.php b/modules/gallery/controllers/admin_languages.php index ae90ad07..6dc242c6 100644 --- a/modules/gallery/controllers/admin_languages.php +++ b/modules/gallery/controllers/admin_languages.php @@ -21,7 +21,10 @@ class Admin_Languages_Controller extends Admin_Controller { public function index($share_translations_form=null) { $v = new Admin_View("admin.html"); $v->content = new View("admin_languages.html"); - $v->content->settings_form = $this->_languages_form(); + $v->content->available_locales = locales::available(); + $v->content->installed_locales = locales::installed(); + $v->content->default_locale = module::get_var("gallery", "default_locale"); + if (empty($share_translations_form)) { $share_translations_form = $this->_share_translations_form(); } @@ -32,14 +35,21 @@ class Admin_Languages_Controller extends Admin_Controller { public function save() { access::verify_csrf(); - - $form = $this->_languages_form(); - if ($form->validate()) { - module::set_var("gallery", "default_locale", $form->choose_language->locale->value); - locales::update_installed($form->choose_language->installed_locales->value); - message::success(t("Settings saved")); - } - url::redirect("admin/languages"); + + locales::update_installed($this->input->post("installed_locales")); + + $installed_locales = array_keys(locales::installed()); + $new_default_locale = $this->input->post("default_locale"); + if (!in_array($new_default_locale, $installed_locales)) { + if (!empty($installed_locales)) { + $new_default_locale = $installed_locales[0]; + } else { + $new_default_locale = "en_US"; + } + } + module::set_var("gallery", "default_locale", $new_default_locale); + + print json_encode(array("result" => "success")); } public function share() { @@ -88,30 +98,6 @@ class Admin_Languages_Controller extends Admin_Controller { } } - private function _languages_form() { - $all_locales = locales::available(); - $installed_locales = locales::installed(); - $form = new Forge("admin/languages/save", "", "post", array("id" => "gLanguageSettingsForm")); - $group = $form->group("choose_language") - ->label(t("Language settings")); - $group->dropdown("locale") - ->options($installed_locales) - ->selected(module::get_var("gallery", "default_locale")) - ->label(t("Default language")) - ->rules('required'); - - $installation_options = array(); - foreach ($all_locales as $code => $display_name) { - $installation_options[$code] = array($display_name, isset($installed_locales->$code)); - } - $group->checklist("installed_locales") - ->label(t("Installed Languages")) - ->options($installation_options) - ->rules("required"); - $group->submit("save")->value(t("Save settings")); - return $form; - } - private function _outgoing_translations_count() { return ORM::factory("outgoing_translation")->count_all(); } diff --git a/modules/gallery/views/admin_languages.html.php b/modules/gallery/views/admin_languages.html.php index f41694b4..fc3a87dc 100644 --- a/modules/gallery/views/admin_languages.html.php +++ b/modules/gallery/views/admin_languages.html.php @@ -1,14 +1,69 @@
-

+

+

+ +

- - -

- " - class="gDialogLink"> - - +
"> + + + + + + + + + $display_name): ?> + + +
+ + + + + + + + "> + + + + + + + +
+ +
+ " /> +
+ +

diff --git a/themes/admin_default/css/admin_screen.css b/themes/admin_default/css/admin_screen.css index d408acf0..913631dc 100644 --- a/themes/admin_default/css/admin_screen.css +++ b/themes/admin_default/css/admin_screen.css @@ -451,8 +451,20 @@ li.gDefaultGroup h4, li.gDefaultGroup .gUser { cursor: pointer; } -#gLanguageSettingsForm .checklist li { - width: 150px; - overflow: hidden; +#gLanguagesForm table { + width: 400px; + float: left; + margin: 0 3em 1em 0; +} +#gLanguagesForm .installed { + background-color: #EEEEEE; } +#gLanguagesForm .default { + background-color: #C5DBEC; + font-weight: bold; +} +#gLanguagesForm input, #gShareTranslationsForm, #gLanguages h2 { + clear: both; +} + -- cgit v1.2.3