From 47aa65143060ff376d95ca182c55132d821917fb Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Sun, 13 Jun 2010 17:58:50 -0700 Subject: Fix problems ith IE and flex initialization when one of the flashvars contains a json encoded string. Also address the problem that IE returns the color values differently that Firefox and Chrome --- modules/organize/views/organize_dialog.html.php | 104 ++++++++++++------------ 1 file changed, 54 insertions(+), 50 deletions(-) (limited to 'modules/organize/views') diff --git a/modules/organize/views/organize_dialog.html.php b/modules/organize/views/organize_dialog.html.php index 2d340f13..8c5ba133 100644 --- a/modules/organize/views/organize_dialog.html.php +++ b/modules/organize/views/organize_dialog.html.php @@ -27,63 +27,76 @@ }); function closeOrganizeDialog() { - console.log("closeOrganizeDialog"); $("#g-dialog").dialog("close"); } function setTitle(title) { - $("#ui-dialog-title-g-dialog").text(for_js() ?> + title); + $("#ui-dialog-title-g-dialog").text(for_js() ?> + title); } function getOrganizeStyles() { - var styles = { - "color": colorToHex($("#g-organize").css("color")), - "backgroundColor": colorToHex($("#g-organize").css("backgroundColor")), - "borderColor": colorToHex($("#g-organize").css("borderLeftColor")), - "rollOverColor": colorToHex($("#g-organize-hover").css("backgroundColor")), - "selectionColor": colorToHex($("#g-organize-active").css("backgroundColor")) + return { + color: colorToHex($("#g-organize").css("color")), + backgroundColor: colorToHex($("#g-organize").css("backgroundColor")), + borderColor: colorToHex($("#g-organize").css("borderLeftColor")), + rollOverColor: colorToHex($("#g-organize-hover").css("backgroundColor")), + selectionColor: colorToHex($("#g-organize-active").css("backgroundColor")) }; - return styles; } function colorToHex(color) { - var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color); + // Surprising no one, the color extracted from the css is in a different format + // in IE than it is when extracted from FF or Chrome. FF and Chrome return + // the of "rgb(nn,nn,nn)". Where as IE returns it as #hhhhhh. - var red = parseInt(digits[2]); - var green = parseInt(digits[3]); - var blue = parseInt(digits[4]); + if (color.indexOf("#") === 0) { + return '0x' + color.substring(1); + } else { + var digits = /(.*?)rgb\((\d+), (\d+), (\d+)\)/.exec(color); - var rgb = blue | (green << 8) | (red << 16); - return digits[1] + '0x' + rgb.toString(16); + var red = parseInt(digits[2]); + var green = parseInt(digits[3]); + var blue = parseInt(digits[4]); + + var rgb = blue | (green << 8) | (red << 16); + return digits[1] + '0x' + rgb.toString(16); + } } function getTextStrings() { - var strings = { - "statusText": for_js() ?>, - "remoteError": + return { + statusText: for_js() ?>, + remoteError: for_js() ?>, - "addAlbumError": for_js() ?>, - "errorOccurred": for_js() ?>, - "addAlbum": for_js() ?>, - "addImages": for_js() ?>, - "deleteSelected": for_js() ?>, - "uploadedText": for_js() ?>, - "removeFileText": for_js() ?>, - "bytes": for_js() ?>, - "kilobytes": for_js() ?>, - "megabytes": for_js() ?>, - "gigabytes": for_js() ?>, - "progressLabel": for_js() ?>, - "uploadLabel": for_js() ?>, - "moveTitle": for_js() ?>, - "deleteTitle": for_js() ?>, - "uploadTitle": for_js() ?>, - "cancel": for_js() ?>, - "close": for_js() ?> + addAlbumError: for_js() ?>, + errorOccurred: for_js() ?>, + addAlbum: for_js() ?>, + addImages: for_js() ?>, + deleteSelected: for_js() ?>, + uploadedText: for_js() ?>, + removeFileText: for_js() ?>, + progressLabel: for_js() ?>, + uploadLabel: for_js() ?>, + moveTitle: for_js() ?>, + deleteTitle: for_js() ?>, + uploadTitle: for_js() ?>, + cancel: for_js() ?>, + close: for_js() ?> }; - return strings; } + function getGalleryParameters() { + return { + fileFilter: "", + domain: "", + sortOrder: "", + sortFields: "", + baseUrl: "", + accessKey: "", + albumId: "id ?>", + controller: "/" + }; + }; /* For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. @@ -91,16 +104,7 @@ var swfVersionStr = "0.0.0"; /* To use express install, set to playerProductInstall.swf, otherwise the empty string.*/ var xiSwfUrlStr = ""; - var flashvars = { - fileFilter: '', - domains: '[""]', - sortOrder: '', - sortFields: '', - baseUrl: '', - apiKey: '', - albumId: "id ?>", - controller: '/' - }; + var flashvars = {}; var size = $.gallery_get_viewport_size(); @@ -111,8 +115,8 @@ params.allowscriptaccess = "sameDomain"; params.allowfullscreen = "true"; var attributes = {}; - attributes.id = "g-organize-object"; - attributes.name = "organize"; + attributes.id = "Gallery3WebClient"; + attributes.name = "Gallery3WebClient"; attributes.align = "middle"; swfobject.embedSWF("", "flashContent", size.width() - 100, size.height() - 135, @@ -121,6 +125,6 @@
-

html::purify($album->title))) ?>

+

html::purify($album->title))) ?>

 
-- cgit v1.2.3