Changeset 1159:887a30463ee0
- Timestamp:
- 06/20/13 13:58:24 (12 years ago)
- Branch:
- default
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/js/_media.js
r1144 r1159 1 1 $(function() { 2 $('#fileupload') 3 .fileupload({ 4 url: $('#fileupload').attr('action'), 5 autoUpload: false 6 }); 2 var jqXHR = null; 3 $('#fileupload').fileupload({ 4 url: $('#fileupload').attr('action'), 5 autoUpload: false, 6 disabled: true 7 }).bind('fileuploaddone', function(e, data) { 8 if (data.result.files[0].html !==undefined) { 9 $('.media-list').append(data.result.files[0].html); 10 } 11 }); 7 12 8 // Load existing files: 9 $('#fileupload').addClass('fileupload-processing'); 10 $.ajax({ 11 url: $('#fileupload').fileupload('option', 'url'), 12 dataType: 'json', 13 context: $('#fileupload')[0] 14 }).always(function (result) { 15 $(this).removeClass('fileupload-processing'); 16 }).done(function (result) { 17 $(this).fileupload('option', 'done') 18 .call(this, null, {result: result}); 19 }); 13 if (!$.browser.opera) { 14 var $container = $('#fileupload').parent().parent(); 15 var $msg; 16 17 if ($container.hasClass('enhanced_uploader')) { 18 $msg = dotclear.msg.enhanced_uploader_disable; 19 $('#fileupload').fileupload({disabled:false}); 20 } else { 21 $msg = dotclear.msg.enhanced_uploader_activate; 22 } 23 24 $('<div><a href="#">' + $msg + '</a></div>').click( function() { 25 if ($container.hasClass('enhanced_uploader')) { 26 $msg = dotclear.msg.enhanced_uploader_activate; 27 $('#upfile').attr('multiple', false); 28 29 // when a user has clicked enhanced_uploader, and has added files 30 // We must remove files in table 31 $('.table-files tr', '#fileupload').remove(); 32 $('#fileupload').fileupload({disabled:true}); 33 } else { 34 $msg = dotclear.msg.enhanced_uploader_disable; 35 $('#upfile').attr('multiple', true); 36 $('#fileupload').fileupload({disabled:false}); 37 } 38 $(this).find('a').text($msg); 39 40 $container.toggleClass('enhanced_uploader'); 41 }).appendTo($('#fileupload')); 42 } 20 43 21 44 // Replace remove links by a POST on hidden form … … 23 46 24 47 function fileRemoveAct() { 25 $('a.media-remove'). click(function() {48 $('a.media-remove').live('click', function() { 26 49 var m_name = $(this).parents('ul').find('li:first>a').text(); 27 50 if (window.confirm(dotclear.msg.confirm_delete_media.replace('%s',m_name))) { -
admin/media.php
r1145 r1159 132 132 133 133 # Adding a file 134 if ($dir && !empty($_FILES['upfile'])) 135 { 134 if ($dir && !empty($_FILES['upfile'])) { 135 // only one file per request : @see option singleFileUploads in admin/js/jsUpload/jquery.fileupload 136 136 $upfile = array('name' => $_FILES['upfile']['name'][0], 137 137 'type' => $_FILES['upfile']['type'][0], … … 141 141 ); 142 142 143 try{144 files::uploadStatus($upfile);145 146 $core->media->uploadFile($upfile['tmp_name'],$upfile['name']); 147 148 if (!empty($_SERVER['HTTP_X_REQUESTED_WITH'])) {149 header('Content-type: application/json');150 $message = array(); 143 if (!empty($_SERVER['HTTP_X_REQUESTED_WITH'])) { 144 header('Content-type: application/json'); 145 $message = array(); 146 147 try { 148 files::uploadStatus($upfile); 149 $new_file_id = $core->media->uploadFile($upfile['tmp_name'], $upfile['name']); 150 151 151 $message['files'][] = array('name' => $upfile['name'], 152 'size' => $upfile['size'] 152 'size' => $upfile['size'], 153 'html' => mediaItemLine($core->media->getFile($new_file_id), count($dir['files'])) 153 154 ); 154 155 echo json_encode($message); 156 exit(); 157 } else { 158 http::redirect($page_url.'&d='.rawurlencode($d).'&upok=1'); 159 } 160 } catch (Exception $e) { 161 if (!empty($_SERVER['HTTP_X_REQUESTED_WITH'])) { 162 header('Content-type: application/json'); 163 $message = array(); 155 } catch (Exception $e) { 164 156 $message['files'][] = array('name' => $upfile['name'], 165 157 'error' => $e->getMessage() 166 158 ); 167 echo json_encode($message); 168 exit(); 169 } else { 159 } 160 echo json_encode($message); 161 exit(); 162 } else { 163 try { 164 files::uploadStatus($upfile); 165 166 $f_title = (isset($_POST['upfiletitle']) ? $_POST['upfiletitle'] : ''); 167 $f_private = (isset($_POST['upfilepriv']) ? $_POST['upfilepriv'] : false); 168 169 $core->media->uploadFile($upfile['tmp_name'], $upfile['name'], $f_title, $f_private); 170 http::redirect($page_url.'&d='.rawurlencode($d).'&upok=1'); 171 } catch (Exception $e) { 170 172 $core->error->add($e->getMessage()); 171 173 } 172 174 } 173 175 } 174 176 … … 319 321 echo '<div class="two-cols">'; 320 322 321 echo 322 '<div class="col">'. 323 if ($user_ui_enhanceduploader) { 324 echo 325 '<div class="col enhanced_uploader">'; 326 } else { 327 echo 328 '<div class="col">'; 329 } 330 331 echo 323 332 '<fieldset id="add-file-f"><legend>'.__('Add files').'</legend>'. 324 333 '<p>'.__('Please take care to publish media that you own and that are not protected by copyright.').'</p>'. 325 334 ' <form id="fileupload" action="'.html::escapeURL($page_url).'" method="POST" enctype="multipart/form-data">'. 326 335 '<div>'.form::hidden(array('MAX_FILE_SIZE'),DC_MAX_UPLOAD_SIZE). 327 $core->formNonce().'</div>'. 336 $core->formNonce().'</div>'; 337 338 echo 328 339 '<div class="fileupload-buttonbar">'. 329 340 '<label class="button-add button" for="upfile">'.__('Add files'). 330 '<input type="file" id="upfile" name="upfile[]" multiple="multiple" data-url="'.html::escapeURL($page_url).'" />'. 341 '<span class="one-file"> ('.sprintf(__('Maximum size %s'),files::size(DC_MAX_UPLOAD_SIZE)).')</span>'. 342 '<input type="file" id="upfile" name="upfile[]"'.($user_ui_enhanceduploader?' multiple="mutiple"':'').' data-url="'.html::escapeURL($page_url).'" />'. 331 343 '</label>'. 332 '</span>'. 344 '</span>'; 345 346 echo 347 '<p class="one-file"><label for="upfiletitle">'.__('Title:').form::field(array('upfiletitle','upfiletitle'),35,255).'</label></p>'. 348 '<p class="one-file"><label for="upfilepriv" class="classic">'.form::checkbox(array('upfilepriv','upfilepriv'),1).' '. 349 __('Private').'</label></p>'; 350 351 if (!$user_ui_enhanceduploader) { 352 echo 353 '<p class="one-file form-help info">'.__('To send several files at the same time, you can activate the enhanced uploader in'). 354 ' <a href="preferences.php?tab=user-options">'.__('My preferences').'</a></p>'; 355 } 356 357 echo 333 358 '<input class="button start" type="submit" value="'.__('Send').'"/>'. 334 '</div>'. 335 '<table role="presentation" class="table table-striped"><tbody class="files" data-toggle="modal-gallery" data-target="#modal-gallery"></tbody></table>'. 336 form::hidden(array('d'),$d).'</p>'. 359 '</div>'; 360 361 362 echo 363 '<table role="presentation" class="table-files table table-striped"><tbody class="files" data-toggle="modal-gallery" data-target="#modal-gallery"></tbody></table>'. 364 '<div>'.form::hidden(array('d'),$d).'</div>'. 337 365 '</fieldset>'. 338 366 '</form>'. -
admin/style/jsUpload/style.css
r1145 r1159 1 . button {1 .enhanced_uploader .button { 2 2 display: inline-block; 3 3 *display: inline; … … 16 16 } 17 17 18 . button-add {18 .enhanced_uploader .button-add { 19 19 position: relative; 20 20 } 21 21 22 . button:hover {22 .enhanced_uploader .button:hover { 23 23 background: #2373A8; 24 24 border: 1px solid #2C8FD1; 25 25 } 26 26 27 . button-add input {27 .enhanced_uploader .button-add input { 28 28 position: absolute; 29 29 top: 0; … … 35 35 } 36 36 37 . progress .bar {37 .enhanced_uploader .progress .bar { 38 38 background: transparent url('loader.png') repeat left top; 39 39 } 40 40 41 . upload-status {41 .enhanced_uploader .upload-status { 42 42 margin-top: 3px; 43 43 width: 13px; … … 46 46 } 47 47 48 . upload-status.ok {48 .enhanced_uploader .upload-status.ok { 49 49 background: transparent url('../../images/check-on.png') no-repeat left top; 50 50 } 51 51 52 . upload-status.error {52 .enhanced_uploader .upload-status.error { 53 53 background: transparent url('../../images/check-off.png') no-repeat left top; 54 54 } 55 56 .enhanced_uploader .one-file { 57 display: none; 58 } 59 60 .table-files { 61 display: none; 62 } 63 64 .enhanced_uploader .table-files { 65 display: block; 66 } 67 68 label span.one-file { 69 display: inline; 70 } -
inc/admin/lib.dc.page.php
r1145 r1159 758 758 "dotclear.jsUpload = {};\n". 759 759 "dotclear.jsUpload.msg = {};\n". 760 self::jsVar('dotclear.msg.enhanced_uploader_activate',__('Temporarily activate enhanced uploader')). 761 self::jsVar('dotclear.msg.enhanced_uploader_disable',__('Temporarily disable enhanced uploader')). 760 762 self::jsVar('dotclear.jsUpload.msg.limit_exceeded',__('Limit exceeded.')). 761 763 self::jsVar('dotclear.jsUpload.msg.size_limit_exceeded',__('File size exceeds allowed limit.')).
Note: See TracChangeset
for help on using the changeset viewer.