Dotclear

source: admin/js/_media.js @ 0:54703be25dd6

Revision 0:54703be25dd6, 2.5 KB checked in by Dsls <dsls@…>, 14 years ago (diff)

2.3 branch (trunk) first checkin

Line 
1$(function() {
2     // Replace remove links by a POST on hidden form
3     fileRemoveAct();
4     
5     function fileRemoveAct() {
6          $('a.media-remove').click(function() {
7               var m_name = $(this).parents('ul').find('li:first>a').text();
8               if (window.confirm(dotclear.msg.confirm_delete_media.replace('%s',m_name))) {
9                    var f = $('#media-remove-hide').get(0);
10                    f.elements['remove'].value = this.href.replace(/^(.*)&remove=(.*?)(&|$)/,'$2');
11                    this.href = '';
12                    f.submit();
13               }
14               return false;
15          });
16     }
17     
18     if (!$.browser.opera) {
19          var upldr = $('<a href="#">' + dotclear.msg.activate_enhanced_uploader + '</a>')
20          .click(function() {
21               candyUploadInit();
22               return false;
23          });
24          $('#media-upload>fieldset').append($('<div></div>').append(upldr));
25         
26          if ($.cookie('dc_candy_upl') == 1) {
27               candyUploadInit();
28          }
29     }
30     
31     function candyUploadInit()
32     {
33          var candy_upload_success = false;
34          var candy_upload_form_url = $('#media-upload').attr('action') + '&file_sort=date-desc&d=' + $('#media-upload input[name=d]').val();
35          var candy_upload_limit = $('#media-upload input[name=MAX_FILE_SIZE]').val();
36          $('#media-upload').candyUpload({
37               upload_url: dotclear.candyUpload.base_url + '/media.php',
38               flash_movie: dotclear.candyUpload.movie_url,
39               file_size_limit: candy_upload_limit + 'b',
40               params: 'swfupload=1&amp;' + dotclear.candyUpload.params,
41               
42               callbacks: {
43                    createControls: function() {
44                         var _this = this;
45                         var l = $('<a href="#">' + dotclear.msg.disable_enhanced_uploader + '</a>').click(function() {
46                              _this.upldr.destroy();
47                              _this.ctrl.block.empty().remove();
48                              $('#media-upload').show();
49                              delete _this;
50                              $.cookie('dc_candy_upl','',{expires: -1});
51                              return false;
52                         });
53                         this.ctrl.disable = $('<div class="cu-disable"></div>').append(l).appendTo(this.ctrl.block);
54                    },
55                    flashReady: function() {
56                         this.ctrl.btn_browse.addClass('button');
57                         this.ctrl.block.append(this.ctrl.disable);
58                    },
59                    uploadSuccess: function(o,data) {
60                         if (data == 'ok') {
61                              candy_upload_success = true;
62                              this.fileMsg(o.id,this.locales.file_uploaded);
63                         } else {
64                              this.fileErrorMsg(o.id,data);
65                         }
66                         
67                         // uploads finished and at least one success
68                         if (candy_upload_success && $('div.cu-file:has(span.cu-filecancel a)',this.ctrl.files).length == 0) {
69                              $.cookie('dc_candy_upl','1',{expires: 30});
70                              $.get(candy_upload_form_url,function(data) {
71                                   var media = $('div.media-list');
72                                   media.after($('div.media-list',data)).remove();
73                                   fileRemoveAct();
74                              });
75                         }
76                    }
77               }
78          });
79     }
80});
Note: See TracBrowser for help on using the repository browser.

Sites map