Dotclear

Changeset 30:ea0c606bab6f


Ignore:
Timestamp:
04/27/11 21:45:55 (14 years ago)
Author:
Franck <carnet.franck.paul@…>
Branch:
userprefs
Message:

Mise en place de la gestion des favoris par défaut (super admin only)

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • admin/preferences.php

    r26 r30  
    3535$default_tab = 'user-profile'; 
    3636 
    37 if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder'])) { 
     37if (!empty($_GET['append']) || !empty($_GET['removed']) || !empty($_GET['neworder']) || !empty($_GET['replaced'])) { 
    3838     $default_tab = 'user-favorites'; 
    3939} elseif (!empty($_GET['updated'])) { 
     
    265265} 
    266266 
     267# Replace default favorites by current set (super admin only) 
     268if (!empty($_POST['replace']) && $core->auth->isSuperAdmin()) { 
     269     try { 
     270          $ws = $core->auth->user_prefs->addWorkspace('favorites'); 
     271          $user_favs = $ws->DumpLocalPrefs(); 
     272          $def_favs = $ws->DumpGlobalPrefs(); 
     273          foreach ($def_favs as $k => $v) 
     274          { 
     275               $core->auth->user_prefs->favorites->drop($k,true); 
     276          } 
     277          $count = 0; 
     278          foreach ($user_favs as $k => $v) 
     279          { 
     280               $uid = sprintf("g%03s",$count); 
     281               $f = unserialize($v['value']); 
     282               $fav = array('name' => $f['name'],'title' => $f['title'],'url' => $f['url'],'small-icon' => $f['small-icon'], 
     283                    'large-icon' => $f['large-icon'],'permissions' => $f['permissions'],'id' => $f['id'],'class' => $f['class']); 
     284               $core->auth->user_prefs->favorites->put($uid,serialize($fav),'string',null,null,true); 
     285               $count++; 
     286          } 
     287     } catch (Exception $e) { 
     288          $core->error->add($e->getMessage()); 
     289     } 
     290 
     291     if (!$core->error->flag()) { 
     292          http::redirect('preferences.php?&replaced=1'); 
     293     } 
     294} 
    267295 
    268296/* DISPLAY 
     
    292320if (!empty($_GET['removed'])) { 
    293321          echo '<p class="message">'.__('Favorites have been successfully removed.').'</p>'; 
     322} 
     323if (!empty($_GET['replaced'])) { 
     324          echo '<p class="message">'.__('Default favorites have been successfully updated.').'</p>'; 
    294325} 
    295326 
     
    444475     '<p class="col">'.form::hidden('favs_order',''). 
    445476     $core->formNonce(). 
    446      '<input type="submit" name="saveorder" value="'.__('Save order').'"></p>'. 
     477     '<input type="submit" name="saveorder" value="'.__('Save order').'">'. 
     478     ($core->auth->isSuperAdmin() ? ' <input type="submit" name="replace" value="'.__('Define as default favorites').'">' : ''). 
     479     '</p>'. 
    447480      
    448481     '<p class="right"><input type="submit" class="delete" name="removeaction"'. 
  • inc/core/class.dc.workspace.php

    r13 r30  
    264264      
    265265     @param    id        <b>string</b>       Pref ID 
    266      */ 
    267      public function drop($id) 
     266     @param    force_global   <b>boolean</b> Force global pref drop 
     267     */ 
     268     public function drop($id,$force_global=false) 
    268269     { 
    269270          if (!$this->ws) { 
     
    273274          $strReq = 'DELETE FROM '.$this->table.' '; 
    274275           
    275           if ($this->user_id === null) { 
     276          if (($force_global) || ($this->user_id === null)) { 
    276277               $strReq .= 'WHERE user_id IS NULL '; 
    277278               $global = true; 
  • locales/fr/main.po

    r27 r30  
    27222722msgid "Display quick entry form" 
    27232723msgstr "Afficher le formulaire de billet rapide" 
     2724 
     2725msgid "Default favorites have been successfully updated." 
     2726msgstr "Les favoris par défaut ont été enregistrés avec succès." 
     2727 
     2728msgid "Define as default favorites" 
     2729msgstr "Definir comme favoris par défaut" 
Note: See TracChangeset for help on using the changeset viewer.

Sites map