summaryrefslogtreecommitdiff
path: root/modules/gallery/views
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2010-08-30 22:19:57 -0700
committerBharat Mediratta <bharat@menalto.com>2010-08-30 22:19:57 -0700
commit953d63555c0ddc387eed08af7f23e4180c13ecc6 (patch)
tree3612db7ef14c1485c05dc675f01a0b8cde291e8e /modules/gallery/views
parentd5ebcb91ad8401df8a393f84ade82150467dbf33 (diff)
Detect Flash and put up a reasonable message if your browser doesn't
have Flash installed. Fixes ticket #1268.
Diffstat (limited to 'modules/gallery/views')
-rw-r--r--modules/gallery/views/form_uploadify.html.php230
-rw-r--r--modules/gallery/views/form_uploadify_buttons.html.php12
2 files changed, 131 insertions, 111 deletions
diff --git a/modules/gallery/views/form_uploadify.html.php b/modules/gallery/views/form_uploadify.html.php
index 96cc0e26..2ed7912f 100644
--- a/modules/gallery/views/form_uploadify.html.php
+++ b/modules/gallery/views/form_uploadify.html.php
@@ -2,126 +2,144 @@
<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" ?>
$("#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;*.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);
- 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")) {
+ 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);
- $("#g-upload-done")
+ 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);
+ 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")) {
+ $("#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 ($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 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 ?>
- <? 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>
+ <? 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>
+ <div id="g-add-photos-status">
+ <ul id="g-action-status" class="g-message-block">
+ </ul>
+ </div>
</div>
-<? endif ?>
-<div>
+<div class="no-flash" style="display: none">
<p>
- <?= t("Photos will be uploaded to album: ") ?>
+ <?= 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>
- <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>
-<div id="g-add-photos-status">
- <ul id="g-action-status" class="g-message-block">
- </ul>
+ <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 98729bd7..ce4d989c 100644
--- a/modules/gallery/views/form_uploadify_buttons.html.php
+++ b/modules/gallery/views/form_uploadify_buttons.html.php
@@ -1,8 +1,10 @@
<?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">
+ </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>
+ </button>
+</div>