diff options
Diffstat (limited to 'modules/gallery/views')
-rw-r--r-- | modules/gallery/views/admin_theme_options.html.php | 31 | ||||
-rw-r--r-- | modules/gallery/views/form_uploadify.html.php | 241 | ||||
-rw-r--r-- | modules/gallery/views/form_uploadify_buttons.html.php | 15 | ||||
-rw-r--r-- | modules/gallery/views/move_browse.html.php | 50 | ||||
-rw-r--r-- | modules/gallery/views/move_tree.html.php | 19 |
5 files changed, 156 insertions, 200 deletions
diff --git a/modules/gallery/views/admin_theme_options.html.php b/modules/gallery/views/admin_theme_options.html.php index b4a90682..e452913e 100644 --- a/modules/gallery/views/admin_theme_options.html.php +++ b/modules/gallery/views/admin_theme_options.html.php @@ -1,35 +1,4 @@ <?php defined("SYSPATH") or die("No direct script access.") ?> -<script type="text/javascript"> - $("#g-theme-options-form").ready(function() { - var contents = $("#g-theme-options-form fieldset:not(:last-child)"); - if (contents.length > 1) { - $("<div id='g-theme-options-form-tabs'>" + - " <ul class='tabnav'></ul>" + - "</div>").insertBefore("#g-theme-options-form fieldset:last-child"); - $(contents).each(function(index) { - var text = $("legend", this).text(); - var tabId = "tab_" + index; - var tabContentId = "tab_content_" + index; - if (text == "") { - text = <?= t("Tab_")->for_js() ?> + index; - } - $(".tabnav").append( - "<li><a id='" + tabId + "' href='#" + tabContentId + "'>" + text + "</a></li>"); - $("#g-theme-options-form-tabs").append( - "<div id='" + tabContentId + "' class='tabdiv'></div>"); - if ($("li.g-error", this).length > 0) { - $("#" + tabId).addClass("g-error"); - } - $("#" + tabContentId).append($("ul", this)); - $(this).remove(); - }); - $("#g-theme-options-form-tabs").tabs({}); - } else { - $("#g-theme-options-form fieldset:first legend").hide(); - } - }); -</script> - <div class="g-block"> <h1> <?= t("Theme options") ?> </h1> <div class="g-block-content"> diff --git a/modules/gallery/views/form_uploadify.html.php b/modules/gallery/views/form_uploadify.html.php index 4f564b07..36f5f284 100644 --- a/modules/gallery/views/form_uploadify.html.php +++ b/modules/gallery/views/form_uploadify.html.php @@ -2,109 +2,162 @@ <script type="text/javascript" src="<?= url::file("lib/swfobject.js") ?>"></script> <script type="text/javascript" src="<?= url::file("lib/uploadify/jquery.uploadify.min.js") ?>"></script> <script type="text/javascript"> + <? $flash_minimum_version = "9.0.24" ?> + var success_count = 0; + var error_count = 0; + var updating = 0; $("#g-add-photos-canvas").ready(function () { - $("#g-uploadify").uploadify({ - width: 150, - height: 33, - uploader: "<?= url::file("lib/uploadify/uploadify.swf") ?>", - script: "<?= url::site("uploader/add_photo/{$album->id}") ?>", - scriptData: <?= json_encode($script_data) ?>, - fileExt: "*.gif;*.jpg;*.jpeg;*.png;*.flv;*.mp4;*.m4v;*.GIF;*.JPG;*.JPEG;*.PNG;*.FLV;*.MP4;*.M4V", - fileDesc: <?= t("Photos and movies")->for_js() ?>, - cancelImg: "<?= url::file("lib/uploadify/cancel.png") ?>", - simUploadLimit: <?= $simultaneous_upload_limit ?>, - wmode: "transparent", - hideButton: true, /* should be true */ - auto: true, - multi: true, - onAllComplete: function(filesUploaded, errors, allbytesLoaded, speed) { - $("#g-upload-cancel-all") - .addClass("ui-state-disabled") - .attr("disabled", "disabled"); - return true; - }, - onClearQueue: function(event) { - $("#g-upload-cancel-all") - .addClass("ui-state-disabled") - .attr("disabled", "disabled"); - return true; - }, - onComplete: function(event, queueID, fileObj, response, data) { - var re = /^error: (.*)$/i; - var msg = re.exec(response); - if (msg) { - $("#g-add-photos-status ul").append( - "<li class=\"g-error\">" + fileObj.name + " - " + msg[1] + "</li>"); - } else { - $("#g-add-photos-status ul").append( - "<li class=\"g-success\">" + fileObj.name + " - " + <?= t("Completed")->for_js() ?> + "</li>"); - } - return true; - }, - onError: function(event, queueID, fileObj, errorObj) { - var msg = " - "; - if (errorObj.type == "HTTP") { - if (errorObj.info == "500") { - msg += <?= t("Unable to process this file")->for_js() ?>; - // Server error - check server logs - } else if (errorObj.info == "404") { - msg += <?= t("The upload script was not found.")->for_js() ?>; - // Server script not found - } else { - // Server Error: status: errorObj.info - msg += (<?= t("Server error: __INFO__")->for_js() ?>.replace("__INFO__", errorObj.info)); - } - } else if (errorObj.type == "File Size") { - var sizelimit = $("#g-uploadify").uploadifySettings(sizeLimit); - msg += fileObj.name+' '+errorObj.type+' Limit: '+Math.round(d.sizeLimit/1024)+'KB'; - } else { - msg += (<?= t("Server error: __INFO__ (__TYPE__)")->for_js() ?> - .replace("__INFO__", errorObj.info) - .replace("__TYPE__", errorObj.type)); - } - $("#g-add-photos-status ul").append( - "<li class=\"g-error\">" + fileObj.name + msg + "</li>"); - $("#g-uploadify" + queueID).remove(); - }, - onSelect: function(event) { - if ($("#g-upload-cancel-all").hasClass("ui-state-disabled")) { + var update_status = function() { + if (updating) { + // poor man's mutex + setTimeout(function() { update_status(); }, 500); + } + updating = 1; + $.get("<?= url::site("uploader/status/_S/_E") ?>" + .replace("_S", success_count).replace("_E", error_count), + function(data) { + $("#g-add-photos-status-message").html(data); + updating = 0; + }); + }; + + if (swfobject.hasFlashPlayerVersion("<?= $flash_minimum_version ?>")) { + $("#g-uploadify").uploadify({ + width: 150, + height: 33, + uploader: "<?= url::file("lib/uploadify/uploadify.swf") ?>", + script: "<?= url::site("uploader/add_photo/{$album->id}") ?>", + scriptData: <?= json_encode($script_data) ?>, + fileExt: "*.gif;*.jpg;*.jpeg;*.png;*.GIF;*.JPG;*.JPEG;*.PNG<? if ($movies_allowed): ?>;*.flv;*.mp4;*.m4v;*.FLV;*.MP4;*.M4V<? endif ?>", + fileDesc: <?= t("Photos and movies")->for_js() ?>, + cancelImg: "<?= url::file("lib/uploadify/cancel.png") ?>", + simUploadLimit: <?= $simultaneous_upload_limit ?>, + wmode: "transparent", + hideButton: true, /* should be true */ + auto: true, + multi: true, + onAllComplete: function(filesUploaded, errors, allbytesLoaded, speed) { + $("#g-upload-cancel-all") + .addClass("ui-state-disabled") + .attr("disabled", "disabled"); + $("#g-upload-done") + .removeClass("ui-state-disabled") + .attr("disabled", null); + return true; + }, + onClearQueue: function(event) { $("#g-upload-cancel-all") + .addClass("ui-state-disabled") + .attr("disabled", "disabled"); + $("#g-upload-done") .removeClass("ui-state-disabled") .attr("disabled", null); + return true; + }, + onComplete: function(event, queueID, fileObj, response, data) { + var re = /^error: (.*)$/i; + var msg = re.exec(response); + $("#g-add-photos-status ul").append( + "<li id=\"q" + queueID + "\" class=\"g-success\">" + fileObj.name + " - " + + <?= t("Completed")->for_js() ?> + "</li>"); + setTimeout(function() { $("#q" + queueID).slideUp("slow") }, 5000); + success_count++; + update_status(); + return true; + }, + onError: function(event, queueID, fileObj, errorObj) { + var msg = " - "; + if (errorObj.type == "HTTP") { + if (errorObj.info == "500") { + msg += <?= t("Unable to process this file")->for_js() ?>; + // Server error - check server logs + } else if (errorObj.info == "404") { + msg += <?= t("The upload script was not found.")->for_js() ?>; + // Server script not found + } else { + // Server Error: status: errorObj.info + msg += (<?= t("Server error: __INFO__")->for_js() ?>.replace("__INFO__", errorObj.info)); + } + } else if (errorObj.type == "File Size") { + var sizelimit = $("#g-uploadify").uploadifySettings(sizeLimit); + msg += fileObj.name+' '+errorObj.type+' Limit: '+Math.round(d.sizeLimit/1024)+'KB'; + } else { + msg += (<?= t("Server error: __INFO__ (__TYPE__)")->for_js() ?> + .replace("__INFO__", errorObj.info) + .replace("__TYPE__", errorObj.type)); + } + $("#g-add-photos-status ul").append( + "<li class=\"g-error\">" + fileObj.name + msg + "</li>"); + $("#g-uploadify" + queueID).remove(); + error_count++; + update_status(); + }, + onSelect: function(event) { + if ($("#g-upload-cancel-all").hasClass("ui-state-disabled")) { + $("#g-upload-cancel-all") + .removeClass("ui-state-disabled") + .attr("disabled", null); + $("#g-upload-done") + .addClass("ui-state-disabled") + .attr("disabled", "disabled"); + } + return true; } - return true; - } - }); + }); + } else { + $(".requires-flash").hide(); + $(".no-flash").show(); + } }); </script> -<? if (ini_get("suhosin.session.encrypt")): ?> -<ul id="g-action-status" class="g-message-block"> - <li class="g-error"> - <?= t("Error: your server is configured to use the <a href=\"%encrypt_url\"><code>suhosin.session.encrypt</code></a> setting from <a href=\"%suhosin_url\">Suhosin</a>. You must disable this setting to upload photos.", - array("encrypt_url" => "http://www.hardened-php.net/suhosin/configuration.html#suhosin.session.encrypt", - "suhosin_url" => "http://www.hardened-php.net/suhosin/")) ?> - </li> -</ul> -<? endif ?> +<div class="requires-flash"> + <? if ($suhosin_session_encrypt || !$movies_allowed): ?> + <div class="g-message-block g-info"> + <? if ($suhosin_session_encrypt): ?> + <p class="g-error"> + <?= t("Error: your server is configured to use the <a href=\"%encrypt_url\"><code>suhosin.session.encrypt</code></a> setting from <a href=\"%suhosin_url\">Suhosin</a>. You must disable this setting to upload photos.", + array("encrypt_url" => "http://www.hardened-php.net/suhosin/configuration.html#suhosin.session.encrypt", + "suhosin_url" => "http://www.hardened-php.net/suhosin/")) ?> + </p> + <? endif ?> -<div> - <p> - <?= t("Photos will be uploaded to album: ") ?> - </p> - <ul class="g-breadcrumbs ui-helper-clearfix"> - <? foreach ($album->parents() as $i => $parent): ?> - <li<? if ($i == 0) print " class=\"g-first\"" ?>> <?= html::clean($parent->title) ?> </li> - <? endforeach ?> - <li class="g-active"> <?= html::purify($album->title) ?> </li> - </ul> -</div> + <? if (!$movies_allowed): ?> + <p class="g-warning"> + <?= t("Can't find <i>ffmpeg</i> on your system. Movie uploading disabled. <a href=\"%help_url\">Help!</a>", array("help_url" => "http://codex.gallery2.org/Gallery3:FAQ#Why_does_it_say_I.27m_missing_ffmpeg.3F")) ?> + </p> + <? endif ?> + </div> + <? endif ?> + + <div> + <p> + <?= t("Photos will be uploaded to album: ") ?> + </p> + <ul class="g-breadcrumbs ui-helper-clearfix"> + <? foreach ($album->parents() as $i => $parent): ?> + <li<? if ($i == 0) print " class=\"g-first\"" ?>> <?= html::clean($parent->title) ?> </li> + <? endforeach ?> + <li class="g-active"> <?= html::purify($album->title) ?> </li> + </ul> + </div> -<div id="g-add-photos-canvas"> - <button id="g-add-photos-button" class="g-button ui-state-default ui-corner-all" href="#"><?= t("Select photos...") ?></button> - <span id="g-uploadify"></span> + <div id="g-add-photos-canvas"> + <button id="g-add-photos-button" class="g-button ui-state-default ui-corner-all" href="#"><?= t("Select photos...") ?></button> + <span id="g-uploadify"></span> + </div> + <div id="g-add-photos-status"> + <ul id="g-action-status" class="g-message-block"> + </ul> + </div> </div> -<div id="g-add-photos-status"> - <ul id="g-action-status" class="g-message-block"> - </ul> + +<div class="no-flash" style="display: none"> + <p> + <?= t("Your browser must have Adobe Flash Player version %flash_minimum_version or greater installed to use this feature.", array("flash_minimum_version" => $flash_minimum_version)) ?> + </p> + <a href="http://www.adobe.com/go/getflashplayer"> + <img src="<?= request::protocol() ?>://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" + alt=<?= t("Get Adobe Flash Player")->for_js() ?> /> + </a> </div> diff --git a/modules/gallery/views/form_uploadify_buttons.html.php b/modules/gallery/views/form_uploadify_buttons.html.php index d88bb6aa..e002d82d 100644 --- a/modules/gallery/views/form_uploadify_buttons.html.php +++ b/modules/gallery/views/form_uploadify_buttons.html.php @@ -1,8 +1,11 @@ <?php defined("SYSPATH") or die("No direct script access.") ?> -<!-- Proxy the done request back to our form, since its been ajaxified --> -<button id="g-upload-done" class="ui-state-default ui-corner-all" onclick="$('#g-add-photos-form').submit();return false;"> +<div class="requires-flash"> + <!-- Proxy the done request back to our form, since its been ajaxified --> + <button id="g-upload-done" class="ui-state-default ui-corner-all" onclick="$('#g-add-photos-form').submit();return false;"> <?= t("Done") ?> -</button> -<button id="g-upload-cancel-all" class="ui-state-default ui-corner-all ui-state-disabled" onclick="$('#g-uploadify').uploadifyClearQueue();return false;" disabled="disabled"> - <?= t("Cancel All") ?> -</button> + </button> + <button id="g-upload-cancel-all" class="ui-state-default ui-corner-all ui-state-disabled" onclick="$('#g-uploadify').uploadifyClearQueue();return false;" disabled="disabled"> + <?= t("Cancel uploads") ?> + </button> + <span id="g-add-photos-status-message" /> +</div> diff --git a/modules/gallery/views/move_browse.html.php b/modules/gallery/views/move_browse.html.php deleted file mode 100644 index f77c724c..00000000 --- a/modules/gallery/views/move_browse.html.php +++ /dev/null @@ -1,50 +0,0 @@ -<?php defined("SYSPATH") or die("No direct script access.") ?> -<div> -<script type="text/javascript"> - var load_tree = function(target_id, locked) { - var load_url = "<?= url::site("move/show_sub_tree/{$source->id}/__TARGETID__") ?>"; - var node = $("#node_" + target_id); - $("#g-move .node a").removeClass("selected"); - node.find("a:first").addClass("selected"); - if (locked) { - $("#g-move-button").attr("disabled", "disabled"); - $("#g-move form input[name=target_id]").attr("value", ""); - } else { - $("#g-move-button").removeAttr("disabled"); - $("#g-move form input[name=target_id]").attr("value", target_id); - } - var sub_tree = $("#tree_" + target_id); - if (sub_tree.length) { - sub_tree.toggle(); - } else { - $.get(load_url.replace("__TARGETID__", target_id), {}, - function(data) { - node.html(data); - node.find("a:first").addClass("selected"); - }); - } - } -</script> -<h1 style="display:none" > - <? if ($source->type == "photo"): ?> - <?= t("Move this photo to a new album") ?> - <? elseif ($source->type == "movie"): ?> - <?= t("Move this movie to a new album") ?> - <? elseif ($source->type == "album"): ?> - <?= t("Move this album to a new album") ?> - <? endif ?> -</h1> -<div id="g-move"> - <ul id="tree_0"> - <li id="node_1" class="node"> - <?= $tree ?> - </li> - </ul> - <form method="post" action="<?= url::site("move/save/$source->id") ?>"> - <?= access::csrf_form_field() ?> - <input type="hidden" name="target_id" value="" /> - <input type="submit" id="g-move-button" value="<?= t("Move")->for_html_attr() ?>" - disabled="disabled" class="submit" /> - </form> -</div> -</div> diff --git a/modules/gallery/views/move_tree.html.php b/modules/gallery/views/move_tree.html.php deleted file mode 100644 index e629e1bb..00000000 --- a/modules/gallery/views/move_tree.html.php +++ /dev/null @@ -1,19 +0,0 @@ -<?php defined("SYSPATH") or die("No direct script access.") ?> -<?= $parent->thumb_img(array(), 25); ?> -<? if (!access::can("edit", $parent) || $source->contains($parent)): ?> -<a href="javascript:load_tree('<?= $parent->id ?>',1)"> <?= html::clean($parent->title) ?> <?= t("(locked)") ?> </a> -<? else: ?> -<a href="javascript:load_tree('<?= $parent->id ?>',0)"> <?= html::clean($parent->title) ?></a> -<? endif ?> -<ul id="tree_<?= $parent->id ?>"> - <? foreach ($children as $child): ?> - <li id="node_<?= $child->id ?>" class="node"> - <?= $child->thumb_img(array(), 25); ?> - <? if (!access::can("edit", $child) || $source->contains($child)): ?> - <a href="javascript:load_tree('<?= $child->id ?>',1)"> <?= html::clean($child->title) ?> <?= t("(locked)") ?></a> - <? else: ?> - <a href="javascript:load_tree('<?= $child->id ?>',0)"> <?= html::clean($child->title) ?> </a> - <? endif ?> - </li> - <? endforeach ?> -</ul> |