Dotclear


Ignore:
Timestamp:
06/20/13 13:58:24 (12 years ago)
Author:
Nicolas <nikrou77@…>
Branch:
default
Message:

Improve upload multiple
Restore option to enable/disable enhanced interface

File:
1 edited

Legend:

Unmodified
Added
Removed
  • admin/media.php

    r1145 r1159  
    132132 
    133133# Adding a file 
    134 if ($dir && !empty($_FILES['upfile'])) 
    135 { 
     134if ($dir && !empty($_FILES['upfile'])) { 
     135  // only one file per request : @see option singleFileUploads in admin/js/jsUpload/jquery.fileupload 
    136136  $upfile = array('name' => $_FILES['upfile']['name'][0], 
    137137                  'type' => $_FILES['upfile']['type'][0], 
     
    141141                  ); 
    142142 
    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 
    151151      $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'])) 
    153154                                  ); 
    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) { 
    164156      $message['files'][] = array('name' => $upfile['name'], 
    165157                                  'error' => $e->getMessage() 
    166158                                  ); 
    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) { 
    170172      $core->error->add($e->getMessage()); 
    171173    } 
    172      } 
     174  } 
    173175} 
    174176 
     
    319321     echo '<div class="two-cols">'; 
    320322      
    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 
    323332  '<fieldset id="add-file-f"><legend>'.__('Add files').'</legend>'. 
    324333  '<p>'.__('Please take care to publish media that you own and that are not protected by copyright.').'</p>'. 
    325334  ' <form id="fileupload" action="'.html::escapeURL($page_url).'" method="POST" enctype="multipart/form-data">'. 
    326335  '<div>'.form::hidden(array('MAX_FILE_SIZE'),DC_MAX_UPLOAD_SIZE). 
    327     $core->formNonce().'</div>'. 
     336  $core->formNonce().'</div>'; 
     337 
     338  echo 
    328339  '<div class="fileupload-buttonbar">'. 
    329340  '<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).'" />'. 
    331343  '</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 
    333358  '<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>'. 
    337365  '</fieldset>'. 
    338366  '</form>'. 
Note: See TracChangeset for help on using the changeset viewer.

Sites map