summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartek Przybylski <bart.p.pl@gmail.com>2012-03-04 00:35:37 +0100
committerBartek Przybylski <bart.p.pl@gmail.com>2012-03-04 00:35:37 +0100
commitc411826fe5e7662fb0f6dc5fbcb074c68b467ea4 (patch)
treeda23da095fcc3e034d09ab978337265c26e043ff
parentf06858689f9709d3859f814ca57dfa54b9ed0865 (diff)
downloadnextcloud-server-c411826fe5e7662fb0f6dc5fbcb074c68b467ea4.tar.gz
nextcloud-server-c411826fe5e7662fb0f6dc5fbcb074c68b467ea4.zip
moving gallery op to one file, migrate gallery dialogs to oc dialogs
-rw-r--r--apps/gallery/ajax/galleryOp.php19
-rw-r--r--apps/gallery/ajax/getAlbums.php41
-rw-r--r--apps/gallery/js/album_cover.js92
-rw-r--r--apps/gallery/lib/scanner.php2
-rw-r--r--core/js/oc-dialogs.js28
5 files changed, 66 insertions, 116 deletions
diff --git a/apps/gallery/ajax/galleryOp.php b/apps/gallery/ajax/galleryOp.php
index c19344c0fbb..e768ce00c17 100644
--- a/apps/gallery/ajax/galleryOp.php
+++ b/apps/gallery/ajax/galleryOp.php
@@ -88,6 +88,22 @@ function handleStoreSettings($root, $order) {
OC_JSON::success(array('rescan' => $rescan));
}
+
+function handleGetGalleries() {
+ $a = array();
+
+ $result = OC_Gallery_Album::find(OC_User::getUser());
+
+ while ($r = $result->fetchRow()) {
+ $album_name = $r['album_name'];
+ $tmp_res = OC_Gallery_Photo::find($r['album_id']);
+
+ $a[] = array('name' => utf8_encode($album_name), 'numOfItems' => min($tmp_res->numRows(), 10), 'bgPath' => OC::$WEBROOT.'/data/'.OC_User::getUser().'/gallery/'.$album_name.'.png');
+ }
+
+ OC_JSON::success(array('albums'=>$a));
+}
+
if ($_GET['operation']) {
switch($_GET['operation']) {
case 'rename':
@@ -113,6 +129,9 @@ if ($_GET['operation']) {
case 'store_settings':
handleStoreSettings($_GET['root'], $_GET['order']);
break;
+ case 'get_galleries':
+ handleGetGalleries();
+ break;
default:
OC_JSON::error(array('cause' => 'Unknown operation'));
}
diff --git a/apps/gallery/ajax/getAlbums.php b/apps/gallery/ajax/getAlbums.php
deleted file mode 100644
index be87af2abd3..00000000000
--- a/apps/gallery/ajax/getAlbums.php
+++ /dev/null
@@ -1,41 +0,0 @@
-<?php
-
-/**
-* ownCloud - gallery application
-*
-* @author Bartek Przybylski
-* @copyright 2012 Bartek Przybylski bart.p.pl@gmail.com
-*
-* This library is free software; you can redistribute it and/or
-* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
-* License as published by the Free Software Foundation; either
-* version 3 of the License, or any later version.
-*
-* This library is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this library. If not, see <http://www.gnu.org/licenses/>.
-*
-*/
-
-require_once('../../../lib/base.php');
-OC_JSON::checkLoggedIn();
-OC_JSON::checkAppEnabled('gallery');
-
-$a = array();
-
-$result = OC_Gallery_Album::find(OC_User::getUser());
-
-while ($r = $result->fetchRow()) {
- $album_name = $r['album_name'];
- $tmp_res = OC_Gallery_Photo::find($r['album_id']);
-
- $a[] = array('name' => utf8_encode($album_name), 'numOfItems' => min($tmp_res->numRows(), 10), 'bgPath' => OC::$WEBROOT.'/data/'.OC_User::getUser().'/gallery/'.$album_name.'.png');
-}
-
-OC_JSON::success(array('albums'=>$a));
-
-?>
diff --git a/apps/gallery/js/album_cover.js b/apps/gallery/js/album_cover.js
index d328a2d58e5..e63bed05fe4 100644
--- a/apps/gallery/js/album_cover.js
+++ b/apps/gallery/js/album_cover.js
@@ -1,6 +1,6 @@
var actual_cover;
$(document).ready(function() {
- $.getJSON('ajax/getAlbums.php', function(r) {
+ $.getJSON('ajax/galleryOp.php', {operation: 'get_galleries'}, function(r) {
if (r.status == 'success') {
for (var i in r.albums) {
var a = r.albums[i];
@@ -81,71 +81,39 @@ function scanForAlbums(cleanup) {
}
function galleryRemove(albumName) {
- // a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
- $( "#dialog:ui-dialog" ).dialog( "destroy" );
- $('#albumName', $("#dialog-confirm")).text(albumName);
-
- $( '#dialog-confirm' ).dialog({
- resizable: false,
- height:150,
- buttons: [{
- text: t('gallery', 'OK'),
- click: function() {
- $.getJSON("ajax/galleryOp.php", {operation: "remove", name: albumName}, function(r) {
- if (r.status == "success") {
- $(".gallery_album_box").filterAttr('data-album',albumName).remove();
- Albums.remove(albumName);
- } else {
- alert("Error: " + r.cause);
- }
- $('#dialog-confirm').dialog('close');
- });
- }},
- {
- text: t('gallery', 'Cancel'),
- click: function() {
- $( this ).dialog( 'close' );
- }}]
+ OC.dialogs.confirm(t('gallery', 'Do you want to remove album ') + decodeURIComponent(escape(albumName)),
+ t('gallery', 'Remove confirmation'),
+ function(decision) {
+ if (decision) {
+ $.getJSON("ajax/galleryOp.php", {operation: "remove", name: decodeURIComponent(escape(albumName))}, function(r) {
+ if (r.status == "success") {
+ $(".gallery_album_box").filterAttr('data-album',albumName).remove();
+ Albums.remove(albumName);
+ } else {
+ OC.dialogs.alert(r.cause, "Error");
+ }
+ });
+ }
});
}
function galleryRename(name) {
- $('#name', $('#dialog-form')).val(name);
- $( "#dialog-form" ).dialog({
- height: 140,
- width: 350,
- modal: false,
- buttons: [{
- text: t('gallery', 'Change name'),
- click: function() {
- var newname = $('#name', $('#dialog-form')).val();
- if (newname == name || newname == '') {
- $(this).dialog("close");
- return;
- }
- if (Albums.find(newname)) {
- alert("Album ", newname, " exists");
- $(this).dialog("close");
- return;
- }
- $.getJSON('ajax/galleryOp.php', {operation: 'rename', oldname: name, newname: newname}, function(r) {
- if (r.status == "success") {
- Albums.rename($(".gallery_album_box").filterAttr('data-album',name), newname);
- } else {
- alert("Error: " + r.cause);
- }
- $('#dialog-form').dialog('close');
- });
-
- }
- },
- {
- text: t('gallery', 'Cancel'),
- click: function() {
- $( this ).dialog('close');
- }
- }
- ],
+ OC.dialogs.prompt(t('gallery', 'New album name'),
+ t('gallery', 'Change name'),
+ name,
+ function(newname) {
+ if (newname == name || newname == '') return;
+ if (Albums.find(newname)) {
+ OC.dialogs.alert('Album ' + newname + ' exists', 'Alert');
+ return;
+ }
+ $.getJSON('ajax/galleryOp.php', {operation: 'rename', oldname: name, newname: newname}, function(r) {
+ if (r.status == 'success') {
+ Albums.rename($(".gallery_album_box").filterAttr('data-album',name), newname);
+ } else {
+ OC.dialogs.alert('Error: ' + r.cause, 'Error');
+ }
+ });
});
}
diff --git a/apps/gallery/lib/scanner.php b/apps/gallery/lib/scanner.php
index 9c381acf389..19906c07152 100644
--- a/apps/gallery/lib/scanner.php
+++ b/apps/gallery/lib/scanner.php
@@ -64,7 +64,7 @@ class OC_Gallery_Scanner {
}
$current_album['imagesCount'] = count($current_album['images']);
$albums['imagesCount'] = $current_album['imagesCount'];
- $albums['albumName'] = $current_album['name'];
+ $albums['albumName'] = utf8_encode($current_album['name']);
$result = OC_Gallery_Album::find(OC_User::getUser(), /*$current_album['name']*/ null, $path);
// don't duplicate galleries with same path (bug oc-33)
diff --git a/core/js/oc-dialogs.js b/core/js/oc-dialogs.js
index de67c342a71..9ce2bae1642 100644
--- a/core/js/oc-dialogs.js
+++ b/core/js/oc-dialogs.js
@@ -52,7 +52,7 @@ OCdialogs = {
*/
confirm:function(text, title, callback) {
var content = '<p><span class="ui-icon ui-icon-notice"></span>'+text+'</p>';
- OCdialogs.message(content, title, OCdialogs.ALERT_DIALOG, OCdialogs.YES_NO_BUTTON, callback);
+ OCdialogs.message(content, title, OCdialogs.ALERT_DIALOG, OCdialogs.YES_NO_BUTTONS, callback);
},
/**
* prompt for user input
@@ -60,8 +60,8 @@ OCdialogs = {
* @param title dialog title
* @param callback which will be triggered when user press OK (input text will be passed to callback)
*/
- prompt:function(text, title, callback) {
- var content = '<p><span class="ui-icon ui-icon-pencil"></span>'+text+':<br/><input type="text" id="oc-dialog-prompt-input" style="width:90%"></p>';
+ prompt:function(text, title, default_value, callback) {
+ var content = '<p><span class="ui-icon ui-icon-pencil"></span>'+text+':<br/><input type="text" id="oc-dialog-prompt-input" value="'+default_value+'" style="width:90%"></p>';
OCdialogs.message(content, title, OCdialogs.PROMPT_DIALOG, OCdialogs.OK_CANCEL_BUTTONS, callback);
},
/**
@@ -131,15 +131,19 @@ OCdialogs = {
}
return $(element).val();
},
- prompt_ok_handler: function(callback, c_id){callback(true, $(c_id + " input#oc-dialog-prompt-input").val()); $(c_id).dialog('close');},
+ prompt_ok_handler: function(callback, c_id) { $(c_id).dialog('close'); if (callback != undefined) callback($(c_id + " input#oc-dialog-prompt-input").val()); },
form_ok_handler: function(callback, c_id) {
- var r = [];
- var c = 0;
- $(c_id + ' input').each(function(i, elem) {
- r[c] = {name: $(elem).attr('name'), value: OCdialogs.determineValue(elem)};
- c++;
- });
- $(c_id).dialog('close');
- callback(r);
+ if (callback != undefined) {
+ var r = [];
+ var c = 0;
+ $(c_id + ' input').each(function(i, elem) {
+ r[c] = {name: $(elem).attr('name'), value: OCdialogs.determineValue(elem)};
+ c++;
+ });
+ $(c_id).dialog('close');
+ callback(r);
+ } else {
+ $(c_id).dialog('close');
+ }
}
};