Dotclear

Changeset 3245:7d3b802b2f51


Ignore:
Timestamp:
05/28/16 18:51:14 (8 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Message:

User can now add one or more media folders to its favorites (displayed at top of the recent folder list combobox)

Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • admin/media.php

    r3212 r3245  
    142142} 
    143143 
     144# Cope with fav/unfav dir 
     145$fav_dirs = null; 
     146if (!empty($_GET['fav'])) { 
     147     if (!$q) { // Ignore search results 
     148          $fav_dir = rtrim($d,'/'); 
     149          $core->auth->user_prefs->addWorkspace('interface'); 
     150          $nb_last_dirs = (integer)($core->auth->user_prefs->interface->media_nb_last_dirs); 
     151          if ($nb_last_dirs > 0) { 
     152               $fav_dirs = $core->auth->user_prefs->interface->media_fav_dirs; 
     153               if (!is_array($fav_dirs)) { 
     154                    $fav_dirs = array(); 
     155               } 
     156               if (!in_array($fav_dir,$fav_dirs) && $_GET['fav'] == 'y') { 
     157                    // Add directory in favorites 
     158                    array_unshift($fav_dirs,$fav_dir); 
     159               } elseif (in_array($fav_dir,$fav_dirs) && $_GET['fav'] == 'n') { 
     160                    // Remove directory from favorites 
     161                    unset($fav_dirs[array_search($fav_dir,$fav_dirs)]); 
     162               } 
     163               // Store new list 
     164               $core->auth->user_prefs->interface->put('media_fav_dirs',$fav_dirs,'array'); 
     165               $core->adminurl->redirect('admin.media',$page_url_params); 
     166          } 
     167     } 
     168} 
     169 
    144170# Recent media dirs 
    145171$last_dirs = null; 
    146172if (!$q) {     // Ignore search results 
    147      $recent_dir = rtrim($d,'/');; 
     173     $recent_dir = rtrim($d,'/'); 
    148174     $core->auth->user_prefs->addWorkspace('interface'); 
    149175     $nb_last_dirs = (integer)($core->auth->user_prefs->interface->media_nb_last_dirs); 
     
    404430$last_folders = ''; 
    405431$last_folders_item = ''; 
     432$fav_url = ''; 
     433$fav_img = ''; 
     434$fav_alt = ''; 
    406435$nb_last_dirs = (integer)($core->auth->user_prefs->interface->media_nb_last_dirs); 
    407436if ($nb_last_dirs > 0) { 
     437     // Favorites directories 
     438     $fav_dirs = $core->auth->user_prefs->interface->media_fav_dirs; 
     439     if (!is_array($fav_dirs)) { 
     440          $fav_dirs = array(); 
     441     } 
     442     foreach ($fav_dirs as $ld) { 
     443          // Add favorites dirs on top of combo 
     444          $ld_params = $page_url_params; 
     445          $ld_params['d'] = $ld; 
     446          $ld_params['q'] = '';    // Reset search 
     447          $last_folders_item .= 
     448               '<option value="'.urldecode($core->adminurl->get('admin.media',$ld_params)).'"'. 
     449               ($ld == rtrim($d,'/') ? ' selected="selected"' : '').'>'. 
     450               '/'.$ld.'</option>'."\n"; 
     451          if ($ld == rtrim($d,'/')) { 
     452               // Current directory is a favorite → button will un-fav 
     453               $ld_params['fav'] = 'n'; 
     454               $fav_url = urldecode($core->adminurl->get('admin.media',$ld_params)); 
     455               unset($ld_params['fav']); 
     456               $fav_img = 'images/fav-on.png'; 
     457               $fav_alt = __('Remove this folder from your favorites'); 
     458          } 
     459     } 
     460     if ($last_folders_item != '') { 
     461          // add a separator between favorite dirs and recent dirs 
     462          $last_folders_item .= '<option disabled>_________</option>'; 
     463     } 
     464     // Recent directories 
    408465     if (!is_array($last_dirs)) { 
    409466          $last_dirs = $core->auth->user_prefs->interface->media_last_dirs; 
     
    411468     if (is_array($last_dirs)) { 
    412469          foreach ($last_dirs as $ld) { 
    413                $ld_params = $page_url_params; 
    414                $ld_params['d'] = $ld; 
    415                $ld_params['q'] = '';    // Reset search 
    416                $last_folders_item .= 
    417                     '<option value="'.urldecode($core->adminurl->get('admin.media',$ld_params)).'"'. 
    418                     ($ld == rtrim($d,'/') ? ' selected="selected"' : '').'>'. 
    419                     '/'.$ld.'</option>'."\n"; 
    420           } 
    421           if ($last_folders_item != '') { 
    422                $last_folders = 
    423                     '<p class="media-recent hidden-if-no-js">'. 
    424                     '<label class="classic" for="switchfolder">'.__('Goto recent folder:').'</label> '. 
    425                     '<select name="switchfolder" id="switchfolder">'. 
    426                     $last_folders_item. 
    427                     '</select>'. 
    428                     '<script type="text/javascript">var urlmenu = document.getElementById(\'switchfolder\'); 
    429                      urlmenu.onchange = function() { window.location = this.options[this.selectedIndex].value; }; 
    430                     </script>'. 
    431                     '</p>'; 
    432           } 
     470               if (!in_array($ld,$fav_dirs)) { 
     471                    $ld_params = $page_url_params; 
     472                    $ld_params['d'] = $ld; 
     473                    $ld_params['q'] = '';    // Reset search 
     474                    $last_folders_item .= 
     475                         '<option value="'.urldecode($core->adminurl->get('admin.media',$ld_params)).'"'. 
     476                         ($ld == rtrim($d,'/') ? ' selected="selected"' : '').'>'. 
     477                         '/'.$ld.'</option>'."\n"; 
     478                    if ($ld == rtrim($d,'/')) { 
     479                         // Current directory is not a favorite → button will fav 
     480                         $ld_params['fav'] = 'y'; 
     481                         $fav_url = urldecode($core->adminurl->get('admin.media',$ld_params)); 
     482                         unset($ld_params['fav']); 
     483                         $fav_img = 'images/fav-off.png'; 
     484                         $fav_alt = __('Add this folder to your favorites'); 
     485                    } 
     486               } 
     487          } 
     488     } 
     489     if ($last_folders_item != '') { 
     490          $last_folders = 
     491               '<p class="media-recent hidden-if-no-js">'. 
     492               '<label class="classic" for="switchfolder">'.__('Goto recent folder:').'</label> '. 
     493               '<select name="switchfolder" id="switchfolder">'. 
     494               $last_folders_item. 
     495               '</select>'. 
     496               '<script type="text/javascript">var urlmenu = document.getElementById(\'switchfolder\'); 
     497                urlmenu.onchange = function() { window.location = this.options[this.selectedIndex].value; }; 
     498               </script>'. 
     499               ' <a id="media-fav-dir" href="'.$fav_url.'" title="'.$fav_alt.'"><img src="'.$fav_img.'" alt="'.$fav_alt.'" /></a>'. 
     500               '</p>'; 
    433501     } 
    434502} 
  • admin/preferences.php

    r3238 r3245  
    195195          $core->auth->user_prefs->interface->put('media_nb_last_dirs',(integer)$_POST['user_ui_media_nb_last_dirs'],'integer'); 
    196196          $core->auth->user_prefs->interface->put('media_last_dirs',array(),'array',null,false); 
     197          $core->auth->user_prefs->interface->put('media_fav_dirs',array(),'array',null,false); 
    197198 
    198199          # Update user 
  • admin/style/default.css

    r3207 r3245  
    19351935     margin-right: 2em; 
    19361936} 
     1937#media-fav-dir { 
     1938     border-bottom: none; 
     1939} 
     1940#media-fav-dir img { 
     1941     vertical-align: middle; 
     1942} 
    19371943/* upload multiple */ 
    19381944.enhanced_uploader .choose_files, .enhanced_uploader .cancel, 
  • locales/fr/main.po

    r3239 r3245  
    14541454msgstr "Aller au dossier récent :" 
    14551455 
     1456msgid "Add this folder to your favorites" 
     1457msgstr "Ajouter ce dossier à vos favoris" 
     1458 
     1459msgid "Remove this folder from your favorites" 
     1460msgstr "Retirer ce dossier de vos favoris" 
     1461 
    14561462#, php-format 
    14571463msgid "In %s:" 
Note: See TracChangeset for help on using the changeset viewer.

Sites map