Dotclear

Changeset 2202:beec29418927 for admin


Ignore:
Timestamp:
10/02/13 13:01:53 (12 years ago)
Author:
Nicolas <nikrou77@…>
Branch:
default
Message:

Allow to remove severals medias in one action. Addresses #399
Don't manage directories.

---
Fix indentation in lib.dc.page.php

Location:
admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • admin/js/_media.js

    r1952 r2202  
    6969                    if (data.result.files[0].html !==undefined) { 
    7070                         $('.media-list .files-group').append(data.result.files[0].html); 
     71                         $('#form-medias .hide').removeClass('hide'); 
    7172                    } 
    7273                    $('.button.clean',me).show(); 
     
    130131     $('#fileupload').enhancedUploader(); 
    131132 
     133     $('.checkboxes-helpers').each(function() { 
     134          dotclear.checkboxesHelpers(this); 
     135     }); 
     136 
     137     $('#form-medias').submit(function() { 
     138          var count_checked = $('input[name="medias[]"]:checked', $(this)).length; 
     139          console.log('count: ', count_checked); 
     140          if (count_checked==0) { 
     141               return false; 
     142          } 
     143 
     144          return window.confirm(dotclear.msg.confirm_delete_medias.replace('%d',count_checked)); 
     145     }); 
     146 
    132147     // Replace remove links by a POST on hidden form 
    133148     fileRemoveAct(); 
     
    135150     function fileRemoveAct() { 
    136151          $('body').on('click','a.media-remove',function() { 
    137                var m_name = $(this).parents('ul').find('li:first>a').text(); 
     152               var m_name = $(this).parents('.media-item').find('a.media-link').text(); 
    138153               if (window.confirm(dotclear.msg.confirm_delete_media.replace('%s',m_name))) { 
    139154                    var f = $('#media-remove-hide').get(0); 
  • admin/media.php

    r2167 r2202  
    180180} 
    181181 
    182 # Removing item 
     182# Removing items 
     183if ($dir && !empty($_POST['medias']) && !empty($_POST['delete_medias'])) { 
     184     try { 
     185          foreach ($_POST['medias'] as $media) { 
     186               $core->media->removeItem(rawurldecode($media)); 
     187          } 
     188          dcPage::addSuccessNotice( 
     189               sprintf(__('Successfully delete one media.', 
     190                            'Successfully delete %d medias.', 
     191                            count($_POST['medias']) 
     192                            ), 
     193                            count($_POST['medias']) 
     194               ) 
     195          ); 
     196          http::redirect($page_url.'&d='.rawurlencode($d)); 
     197     } catch (Exception $e) { 
     198          $core->error->add($e->getMessage()); 
     199     } 
     200} 
     201 
     202# Removing item from popup only 
    183203if ($dir && !empty($_POST['rmyes']) && !empty($_POST['remove'])) 
    184204{ 
     
    322342 
    323343$items = array_values(array_merge($dir['dirs'],$dir['files'])); 
     344 
     345$fmt_form_media = '<form action="media.php" method="post" id="form-medias">'. 
     346     '<div class="files-group">%s</div>'. 
     347     '<p>'.$core->formNonce() . form::hidden(array('d'),$d).'</p>'. 
     348     '<div class="two-cols%s">'. 
     349     '<p class="col checkboxes-helpers"></p>'. 
     350     '<p class="col right"><input type="submit" class="delete" name="delete_medias" value="'.__('Remove selected medias').'"/></p>'. 
     351     '</div>'. 
     352     '</form>'; 
     353 
    324354echo '<div class="media-list">'; 
    325355if (count($items) == 0) 
     
    327357     echo  
    328358     '<p>'.__('No file.').'</p>'. 
    329      '<div class="files-group"></div>'; // need for jsUpload to append new media  
     359     sprintf($fmt_form_media,'',' hide'); // need for jsUpload to append new media 
    330360} 
    331361else 
     
    356386          } 
    357387     } 
     388      
    358389     echo  
    359           ($dgroup != '' ? '<div class="folders-group">'.$dgroup.'</div>' : ''). 
    360           '<div class="files-group">'.$fgroup.'</div>'; 
     390     ($dgroup != '' ? '<div class="folders-group">'.$dgroup.'</div>' : ''). 
     391     sprintf($fmt_form_media,$fgroup,''); 
    361392      
    362393     echo $pager->getLinks(); 
     
    551582      
    552583     if ($f->del) { 
    553           $act .= '<a class="media-remove" '. 
    554           'href="'.html::escapeURL($page_url).'&amp;d='. 
    555           rawurlencode($GLOBALS['d']).'&amp;remove='.rawurlencode($f->basename).'">'. 
    556           '<img src="images/trash.png" alt="'.__('Delete').'" title="'.__('delete').'" /></a>'; 
     584          if (!$popup && !$f->d) { 
     585               $act .= form::checkbox(array('medias[]', 'media_'.rawurlencode($f->basename)),rawurlencode($f->basename)); 
     586          } else { 
     587               $act .= '<a class="media-remove" '. 
     588               'href="'.html::escapeURL($page_url).'&amp;d='. 
     589               rawurlencode($GLOBALS['d']).'&amp;remove='.rawurlencode($f->basename).'">'. 
     590               '<img src="images/trash.png" alt="'.__('Delete').'" title="'.__('delete').'" /></a>'; 
     591          } 
    557592     } 
    558593      
Note: See TracChangeset for help on using the changeset viewer.

Sites map