1 | {include file='include/colorbox.inc.tpl'} |
---|
2 | {include file='include/add_album.inc.tpl'} |
---|
3 | {combine_script id='jquery.ajaxmanager' load='footer' path='themes/default/js/plugins/jquery.ajaxmanager.js'} |
---|
4 | {combine_script id='jquery.jgrowl' load='footer' require='jquery' path='themes/default/js/plugins/jquery.jgrowl_minimized.js'} |
---|
5 | {combine_css path="admin/themes/default/uploadify.jGrowl.css"} |
---|
6 | |
---|
7 | {footer_script require='jquery.ajaxmanager,jquery.jgrowl'} |
---|
8 | /* global vars */ |
---|
9 | var errorHead = '{'ERROR'|@translate|@escape:'javascript'}'; |
---|
10 | var errorMsg = '{'an error happened'|@translate|@escape:'javascript'}'; |
---|
11 | var successHead = '{'Success'|@translate|@escape:'javascript'}'; |
---|
12 | |
---|
13 | var import_done = 0; |
---|
14 | var import_selected = {$nb_elements}; |
---|
15 | var queuedManager = jQuery.manageAjax.create('queued', {ldelim} |
---|
16 | queue: true, |
---|
17 | maxRequests: 1 |
---|
18 | }); |
---|
19 | |
---|
20 | {literal} |
---|
21 | /* import queue */ |
---|
22 | function performImport(photo, album, fills) { |
---|
23 | queuedManager.add({ |
---|
24 | type: 'GET', |
---|
25 | dataType: 'json', |
---|
26 | url: 'ws.php', |
---|
27 | data: { method: 'pwg.images.addFlickr', id: photo, category: album, fills: fills, format: 'json' }, |
---|
28 | success: function(data) { |
---|
29 | if (data['stat'] == 'ok') { |
---|
30 | jQuery.jGrowl(data['result'], { theme: 'success', header: successHead, life: 4000, sticky: false }); |
---|
31 | jQuery("#photo-"+photo.id).fadeOut(function(){ $(this).remove(); }); |
---|
32 | } else { |
---|
33 | jQuery.jGrowl(data['result'], { theme: 'error', header: errorHead, sticky: true }); |
---|
34 | } |
---|
35 | |
---|
36 | import_done++; |
---|
37 | $("#progress").html(import_done +"/"+ import_selected); |
---|
38 | |
---|
39 | if (import_done == import_selected) { |
---|
40 | $("#import_form").append('<input type="hidden" name="done" value="' + import_done + '">'); |
---|
41 | $("#import_form").submit(); |
---|
42 | } |
---|
43 | }, |
---|
44 | error: function(data) { |
---|
45 | jQuery.jGrowl(errorMsg, { theme: 'error', header: errorHead, sticky: true }); |
---|
46 | } |
---|
47 | }); |
---|
48 | } |
---|
49 | |
---|
50 | |
---|
51 | $(document).ready(function() { |
---|
52 | //var all_elements = jQuery.parseJSON('{/literal}{$all_elements}{literal}'); |
---|
53 | var all_elements = {/literal}{$all_elements}{literal}; |
---|
54 | |
---|
55 | /* begin import */ |
---|
56 | jQuery('#beginImport').click(function() { |
---|
57 | $("#loader_import").fadeIn(); |
---|
58 | |
---|
59 | if ($("input[name='album_mode']:checked").val() == 'identical') { |
---|
60 | var album = 0; |
---|
61 | } else { |
---|
62 | var album = $("#albumSelect option:selected").val(); |
---|
63 | } |
---|
64 | |
---|
65 | var fills = ''; |
---|
66 | $("input[name^='fill_']:checked").each(function() { |
---|
67 | fills+= $(this).attr("name") +','; |
---|
68 | }); |
---|
69 | |
---|
70 | import_selected = all_elements.length; |
---|
71 | $("#progress").html("0/"+ import_selected); |
---|
72 | |
---|
73 | for (var i in all_elements) { |
---|
74 | if (album == 0) this_album = all_elements[i]['albums']; |
---|
75 | else this_album = album; |
---|
76 | |
---|
77 | performImport(all_elements[i]['id'], this_album, fills); |
---|
78 | } |
---|
79 | |
---|
80 | return false; |
---|
81 | }); |
---|
82 | |
---|
83 | /* album mode */ |
---|
84 | $("input[name='album_mode']").change(function() { |
---|
85 | if ($(this).val() == 'one_album') { |
---|
86 | $("#albumSelectWrapper").slideDown(); |
---|
87 | } else { |
---|
88 | $("#albumSelectWrapper").slideUp(); |
---|
89 | } |
---|
90 | }); |
---|
91 | }); |
---|
92 | {/literal} |
---|
93 | {/footer_script} |
---|
94 | |
---|
95 | <form action="{$F_ACTION}" method="post" id="import_form"> |
---|
96 | |
---|
97 | <fieldset> |
---|
98 | <legend>{'Selection'|@translate}</legend> |
---|
99 | |
---|
100 | {if $nb_elements} |
---|
101 | {'%d elements ready for importation'|@translate|@sprintf:$nb_elements} |
---|
102 | {else} |
---|
103 | <div>{'No photo in the current set.'|@translate}</div> |
---|
104 | {/if} |
---|
105 | </fieldset> |
---|
106 | |
---|
107 | <fieldset> |
---|
108 | <legend>{'Import options'|@translate}</legend> |
---|
109 | |
---|
110 | <p> |
---|
111 | <label><input type="radio" name="album_mode" value="identical" checked="checked"> {'Reproduce flickr albums'|@translate}</label><br> |
---|
112 | <label><input type="radio" name="album_mode" value="one_album"> {'Import all photos in this album'|@translate} :</label> |
---|
113 | </p> |
---|
114 | |
---|
115 | <p id="albumSelectWrapper" style="display:none;"> |
---|
116 | <select style="width:400px" name="associate" id="albumSelect" size="1"> |
---|
117 | {html_options options=$category_parent_options} |
---|
118 | </select> |
---|
119 | {'... or '|@translate}<a href="#" class="addAlbumOpen" title="{'create a new album'|@translate}">{'create a new album'|@translate}</a> |
---|
120 | </p> |
---|
121 | |
---|
122 | <p> |
---|
123 | <b>{'Fill these fields from Flickr datas'|@translate}:</b> |
---|
124 | <label><input type="checkbox" name="fill_name" checked="checked"> {'Photo name'|@translate}</label> |
---|
125 | <label><input type="checkbox" name="fill_author" checked="checked"> {'Author'|@translate}</label> |
---|
126 | <label><input type="checkbox" name="fill_tags" checked="checked"> {'Tags'|@translate}</label> |
---|
127 | <label><input type="checkbox" name="fill_taken" checked="checked"> {'Creation date'|@translate}</label> |
---|
128 | <label><input type="checkbox" name="fill_posted"> {'Post date'|@translate}</label> |
---|
129 | </p> |
---|
130 | |
---|
131 | <p> |
---|
132 | <input type="submit" name="import_set" id="beginImport" value="{'Begin transfer'|@translate}" {if not $nb_elements}style="display:none;"{/if}> |
---|
133 | <span id="loader_import" style="display:none;"><img src="admin/themes/default/images/ajax-loader.gif"> <i>{'Processing...'|@translate}</i> <span id="progress"></span></span> |
---|
134 | </p> |
---|
135 | </fieldset> |
---|
136 | </form> |
---|