Dotclear


Ignore:
Timestamp:
09/26/15 09:59:43 (10 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

Add a search engine on media management page, closes #2138

File:
1 edited

Legend:

Unmodified
Added
Removed
  • admin/media.php

    r3094 r3099  
    5656} 
    5757 
     58# Get query in any 
     59$q = isset($_REQUEST['q']) ? $_REQUEST['q'] : null; 
     60 
    5861# Sort combo 
    5962$sort_combo = array( 
     
    8285     $page_url_params['plugin_id'] = $plugin_id; 
    8386} 
     87if ($q) { 
     88     $page_url_params['q'] = $q; 
     89} 
    8490 
    8591$core->callBehavior('adminMediaURLParams',$page_url_params); 
     
    100106          $core->media->setFileSort($file_sort); 
    101107     } 
    102      $core->media->chdir($d); 
    103      $core->media->getDir(); 
     108     $query = false; 
     109     if ($q) { 
     110          $query = $core->media->searchMedia($q); 
     111     } 
     112     if (!$query) { 
     113          $core->media->chdir($d); 
     114          $core->media->getDir(); 
     115     } else { 
     116          $d = null; 
     117          $core->media->chdir($d); 
     118     } 
    104119     $core_media_writable = $core->media->writable(); 
    105120     $dir =& $core->media->dir; 
     
    170185                    'name' => $upfile['name'], 
    171186                    'size' => $upfile['size'], 
    172                     'html' => mediaItemLine($core->media->getFile($new_file_id), 1) 
     187                    'html' => mediaItemLine($core->media->getFile($new_file_id),1,$query) 
    173188               ); 
    174189          } catch (Exception $e) { 
     
    187202               $f_private = (isset($_POST['upfilepriv']) ? $_POST['upfilepriv'] : false); 
    188203 
    189                $core->media->uploadFile($upfile['tmp_name'], $upfile['name'], $f_title, $f_private); 
     204               $core->media->uploadFile($upfile['tmp_name'],$upfile['name'],$f_title,$f_private); 
    190205 
    191206               dcPage::addSuccessNotice(__('Files have been successfully uploaded.')); 
     
    273288     ' &nbsp; <input type="submit" name="rmyes" value="'.__('Yes').'" />'. 
    274289     form::hidden('d',$d). 
     290     form::hidden('q',$q). 
    275291     $core->adminurl->getHiddenFormFields('admin.media',$page_url_params). 
    276292     $core->formNonce(). 
     
    296312     ); 
    297313} else { 
    298      $temp_params = $page_url_params; 
    299      $temp_params['d']='%s'; 
    300      $bc_template = $core->adminurl->get('admin.media',$temp_params,'&amp;',true); 
    301      $breadcrumb_media = $core->media->breadCrumb($bc_template,'<span class="page-title">%s</span>'); 
    302      if ($breadcrumb_media == '') { 
     314     if ($query || (!$query && $q)) { 
     315          $count = $query ? count($dir['files']) : 0; 
     316          $home_params = $page_url_params; 
     317          $home_params['d']=''; 
     318          $home_params['q']=''; 
    303319          $breadcrumb = dcPage::breadcrumb( 
    304320               array( 
    305321                    html::escapeHTML($core->blog->name) => '', 
    306                     __('Media manager') => '' 
     322                    __('Media manager') => $core->adminurl->get('admin.media',$home_params), 
     323                    __('Search:').' '.$q.' ('.sprintf(__('%s file found','%s files found',$count),$count).')' => '' 
    307324               ), 
    308325               array('home_link' => !$popup) 
    309326          ); 
    310327     } else { 
    311           $home_params = $page_url_params; 
    312           $home_params['d']=''; 
    313  
    314           $breadcrumb = dcPage::breadcrumb( 
    315                array( 
    316                     html::escapeHTML($core->blog->name) => '', 
    317                     __('Media manager') => $core->adminurl->get('admin.media',$home_params), 
    318                     $breadcrumb_media => '' 
    319                ), 
    320                array( 
    321                     'home_link' => !$popup, 
    322                     'hl' => false 
    323                ) 
    324           ); 
     328          $temp_params = $page_url_params; 
     329          $temp_params['d']='%s'; 
     330          $bc_template = $core->adminurl->get('admin.media',$temp_params,'&amp;',true); 
     331          $breadcrumb_media = $core->media->breadCrumb($bc_template,'<span class="page-title">%s</span>'); 
     332          if ($breadcrumb_media == '') { 
     333               $breadcrumb = dcPage::breadcrumb( 
     334                    array( 
     335                         html::escapeHTML($core->blog->name) => '', 
     336                         __('Media manager') => '' 
     337                    ), 
     338                    array('home_link' => !$popup) 
     339               ); 
     340          } else { 
     341               $home_params = $page_url_params; 
     342               $home_params['d']=''; 
     343 
     344               $breadcrumb = dcPage::breadcrumb( 
     345                    array( 
     346                         html::escapeHTML($core->blog->name) => '', 
     347                         __('Media manager') => $core->adminurl->get('admin.media',$home_params), 
     348                         $breadcrumb_media => '' 
     349                    ), 
     350                    array( 
     351                         'home_link' => !$popup, 
     352                         'hl' => false 
     353                    ) 
     354               ); 
     355          } 
    325356     } 
    326357} 
     
    402433$fmt_form_media = '<form action="'.$core->adminurl->get("admin.media").'" method="post" id="form-medias">'. 
    403434     '<div class="files-group">%s</div>'. 
    404      '<p class="hidden">'.$core->formNonce() . form::hidden(array('d'),$d).form::hidden(array('plugin_id'),$plugin_id).'</p>'; 
     435     '<p class="hidden">'.$core->formNonce(). 
     436     form::hidden(array('d'),$d). 
     437     form::hidden(array('q'),$q). 
     438     form::hidden(array('plugin_id'),$plugin_id). 
     439     '</p>'; 
    405440 
    406441if (!$popup) { 
     
    426461 
    427462     echo 
     463     '<form action="'.$core->adminurl->get("admin.media").'" method="get" id="search-form">'. 
     464     '<p><label for="search" class="classic">'.__('Search:').'</label> '. 
     465     form::field('q',20,255,$q).' '. 
     466     '<input type="submit" value="'.__('OK').'" />'.' '. 
     467     '<span class="form-note">'.__('Will search into media filename (including path), title and description').'</span>'. 
     468     form::hidden(array('popup'),$popup). 
     469     form::hidden(array('plugin_id'),$plugin_id). 
     470     form::hidden(array('post_id'),$post_id). 
     471     '</p>'. 
     472     '</form>'. 
    428473     '<form action="'.$core->adminurl->get("admin.media").'" method="get" id="filters-form">'. 
    429474     '<p class="two-boxes"><label for="file_sort" class="classic">'.__('Sort files:').'</label> '. 
     
    435480     form::hidden(array('plugin_id'),$plugin_id). 
    436481     form::hidden(array('post_id'),$post_id). 
     482     form::hidden(array('q'),$q). 
    437483     '</p>'. 
    438484     '</form>'. 
     
    444490     { 
    445491          if ($items[$i]->d) { 
    446                $dgroup .= mediaItemLine($items[$i],$j); 
     492               $dgroup .= mediaItemLine($items[$i],$j,$query); 
    447493          } else { 
    448                $fgroup .= mediaItemLine($items[$i],$j); 
     494               $fgroup .= mediaItemLine($items[$i],$j,$query); 
    449495          } 
    450496     } 
     
    466512     !(count($items) == 0 || (count($items) == 1 && $items[0]->parent)); 
    467513 
    468 if ($core_media_writable || $core_media_archivable) { 
     514if ((!$query) && ($core_media_writable || $core_media_archivable)) { 
    469515     echo 
    470516     '<div class="vertical-separator">'. 
     
    472518} 
    473519 
    474 if ($core_media_writable || $core_media_archivable) { 
     520if ((!$query) && ($core_media_writable || $core_media_archivable)) { 
    475521     echo 
    476522     '<div class="two-boxes odd">'; 
     
    508554} 
    509555 
    510 if ($core_media_writable) 
     556if (!$query && $core_media_writable) 
    511557{ 
    512558     echo 
     
    569615form::hidden('rmyes',1).form::hidden('d',html::escapeHTML($d)). 
    570616form::hidden(array('plugin_id'),$plugin_id).form::hidden('remove',''). 
     617form::hidden(array('q'),$q). 
    571618$core->formNonce(). 
    572619'</div>'. 
    573620'</form>'; 
    574621 
    575 if ($core_media_writable || $core_media_archivable) { 
     622if ((!$query) && ($core_media_writable || $core_media_archivable)) { 
    576623     echo 
    577624     '</div>'; 
     
    586633 
    587634/* ----------------------------------------------------- */ 
    588 function mediaItemLine($f,$i) 
     635function mediaItemLine($f,$i,$query) 
    589636{ 
    590637     global $core, $page_url, $popup, $post_id, $plugin_id,$page_url_params; 
    591638 
    592639     $fname = $f->basename; 
     640     $file = $query ? $f->relname : $f->basename; 
    593641 
    594642     $class = 'media-item media-col-'.($i%2); 
     
    625673     $res = 
    626674     '<div class="'.$class.'"><p><a class="media-icon media-link" href="'.rawurldecode($link).'">'. 
    627      '<img src="'.$f->media_icon.'" alt="" />'.$fname.'</a></p>'; 
     675     '<img src="'.$f->media_icon.'" alt="" />'.($query ? $file : $fname).'</a></p>'; 
    628676 
    629677     $lst = ''; 
     
    657705     if ($f->del) { 
    658706          if (!$popup && !$f->d) { 
    659                $act .= form::checkbox(array('medias[]', 'media_'.rawurlencode($f->basename)),rawurlencode($f->basename)); 
     707               $act .= form::checkbox(array('medias[]', 'media_'.rawurlencode($file)),$file); 
    660708          } else { 
    661709               $act .= '<a class="media-remove" '. 
    662                'href="'.html::escapeURL($page_url).'&amp;plugin_id='.$plugin_id.'&amp;d='. 
    663                rawurlencode($GLOBALS['d']).'&amp;remove='.rawurlencode($f->basename).'">'. 
     710               'href="'.html::escapeURL($page_url). 
     711               '&amp;plugin_id='.$plugin_id. 
     712               '&amp;d='.rawurlencode($GLOBALS['d']). 
     713               '&amp;q='.rawurlencode($GLOBALS['q']). 
     714               '&amp;remove='.rawurlencode($file).'">'. 
    664715               '<img src="images/trash.png" alt="'.__('Delete').'" title="'.__('delete').'" /></a>'; 
    665716          } 
Note: See TracChangeset for help on using the changeset viewer.

Sites map