Dotclear


Ignore:
Timestamp:
04/27/11 11:15:56 (14 years ago)
Author:
franckpaul
Branch:
userprefs
Children:
14:123684795ed0, 15:85c31814ef71
Message:

Mise en place des options d'affichage des modules du dashboard
Fix de la gestion des préférences utilisateur (onglets User profile et User options)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • admin/index.php

    r3 r13  
    4343$plugins_install = $core->plugins->installModules(); 
    4444 
     45# Check dashboard module prefs 
     46$core->auth->user_prefs->addWorkspace('dashboard'); 
     47if (!$core->auth->user_prefs->dashboard->prefExists('doclinks')) { 
     48     if (!$core->auth->user_prefs->dashboard->prefExists('doclinks',true)) { 
     49          $core->auth->user_prefs->dashboard->put('doclinks',true,'boolean','',null,true); 
     50     } 
     51     $core->auth->user_prefs->dashboard->put('doclinks',true,'boolean'); 
     52} 
     53if (!$core->auth->user_prefs->dashboard->prefExists('dcnews')) { 
     54     if (!$core->auth->user_prefs->dashboard->prefExists('dcnews',true)) { 
     55          $core->auth->user_prefs->dashboard->put('dcnews',true,'boolean','',null,true); 
     56     } 
     57     $core->auth->user_prefs->dashboard->put('dcnews',true,'boolean'); 
     58} 
     59if (!$core->auth->user_prefs->dashboard->prefExists('quickentry')) { 
     60     if (!$core->auth->user_prefs->dashboard->prefExists('quickentry',true)) { 
     61          $core->auth->user_prefs->dashboard->put('quickentry',true,'boolean','',null,true); 
     62     } 
     63     $core->auth->user_prefs->dashboard->put('quickentry',true,'boolean'); 
     64} 
     65 
    4566# Dashboard icons 
    4667$__dashboard_icons = new ArrayObject(); 
     
    91112 
    92113# Documentation links 
    93 if (!empty($__resources['doc'])) 
    94 { 
    95      $doc_links = '<h3>'.__('Documentation').'</h3><ul>'; 
    96       
    97      foreach ($__resources['doc'] as $k => $v) { 
    98           $doc_links .= '<li><a href="'.$v.'">'.$k.'</a></li>'; 
    99      } 
    100       
    101      $doc_links .= '</ul>'; 
    102      $__dashboard_items[0][] = $doc_links; 
    103 } 
    104  
    105 try 
    106 { 
    107      if (empty($__resources['rss_news'])) { 
    108           throw new Exception(); 
    109      } 
    110       
    111      $feed_reader = new feedReader; 
    112      $feed_reader->setCacheDir(DC_TPL_CACHE); 
    113      $feed_reader->setTimeout(2); 
    114      $feed_reader->setUserAgent('Dotclear - http://www.dotclear.org/'); 
    115      $feed = $feed_reader->parse($__resources['rss_news']); 
    116      if ($feed) 
     114$dashboardItem = 0; 
     115if ($core->auth->user_prefs->dashboard->doclinks) { 
     116     if (!empty($__resources['doc'])) 
    117117     { 
    118           $latest_news = '<h3>'.__('Latest news').'</h3><dl id="news">'; 
    119           $i = 1; 
    120           foreach ($feed->items as $item) 
     118          $doc_links = '<h3>'.__('Documentation').'</h3><ul>'; 
     119      
     120          foreach ($__resources['doc'] as $k => $v) { 
     121               $doc_links .= '<li><a href="'.$v.'">'.$k.'</a></li>'; 
     122          } 
     123      
     124          $doc_links .= '</ul>'; 
     125          $__dashboard_items[$dashboardItem][] = $doc_links; 
     126          $dashboardItem++; 
     127     } 
     128} 
     129 
     130if ($core->auth->user_prefs->dashboard->dcnews) { 
     131     try 
     132     { 
     133          if (empty($__resources['rss_news'])) { 
     134               throw new Exception(); 
     135          } 
     136      
     137          $feed_reader = new feedReader; 
     138          $feed_reader->setCacheDir(DC_TPL_CACHE); 
     139          $feed_reader->setTimeout(2); 
     140          $feed_reader->setUserAgent('Dotclear - http://www.dotclear.org/'); 
     141          $feed = $feed_reader->parse($__resources['rss_news']); 
     142          if ($feed) 
    121143          { 
    122                $dt = isset($item->link) ? '<a href="'.$item->link.'">'.$item->title.'</a>' : $item->title; 
     144               $latest_news = '<h3>'.__('Latest news').'</h3><dl id="news">'; 
     145               $i = 1; 
     146               foreach ($feed->items as $item) 
     147               { 
     148                    $dt = isset($item->link) ? '<a href="'.$item->link.'">'.$item->title.'</a>' : $item->title; 
    123149                
    124                if ($i < 3) { 
    125                     $latest_news .= 
    126                     '<dt>'.$dt.'</dt>'. 
    127                     '<dd><p><strong>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</strong>: '. 
    128                     '<em>'.text::cutString(html::clean($item->content),120).'...</em></p></dd>'; 
    129                } else { 
    130                     $latest_news .= 
    131                     '<dt>'.$dt.'</dt>'. 
    132                     '<dd>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</dd>'; 
     150                    if ($i < 3) { 
     151                         $latest_news .= 
     152                         '<dt>'.$dt.'</dt>'. 
     153                         '<dd><p><strong>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</strong>: '. 
     154                         '<em>'.text::cutString(html::clean($item->content),120).'...</em></p></dd>'; 
     155                    } else { 
     156                         $latest_news .= 
     157                         '<dt>'.$dt.'</dt>'. 
     158                         '<dd>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</dd>'; 
     159                    } 
     160                    $i++; 
     161                    if ($i > 3) { break; } 
    133162               } 
    134                $i++; 
    135                if ($i > 3) { break; } 
    136           } 
    137           $latest_news .= '</dl>'; 
    138           $__dashboard_items[1][] = $latest_news; 
    139      } 
    140 } 
    141 catch (Exception $e) {} 
     163               $latest_news .= '</dl>'; 
     164               $__dashboard_items[$dashboardItem][] = $latest_news; 
     165               $dashboardItem++; 
     166          } 
     167     } 
     168     catch (Exception $e) {} 
     169} 
    142170 
    143171$core->callBehavior('adminDashboardItems', $core, $__dashboard_items); 
     
    202230echo '</div>'; 
    203231 
    204 if ($core->auth->check('usage,contentadmin',$core->blog->id)) 
    205 { 
    206      $categories_combo = array('&nbsp;' => ''); 
    207      try { 
    208           $categories = $core->blog->getCategories(array('post_type'=>'post')); 
    209           while ($categories->fetch()) { 
    210                $categories_combo[] = new formSelectOption( 
    211                     str_repeat('&nbsp;&nbsp;',$categories->level-1).'&bull; '.html::escapeHTML($categories->cat_title), 
    212                     $categories->cat_id 
    213                ); 
    214           } 
    215      } catch (Exception $e) { } 
    216       
    217      echo 
    218      '<div id="quick">'. 
    219      '<h3>'.__('Quick entry').'</h3>'. 
    220      '<form id="quick-entry" action="post.php" method="post">'. 
    221      '<fieldset>'. 
    222      '<p class="col"><label class="required" title="'.__('Required field').'">'.__('Title:'). 
    223      form::field('post_title',20,255,'','maximal',2). 
    224      '</label></p>'. 
    225      '<p class="area"><label class="required" title="'.__('Required field').'" '. 
    226      'for="post_content">'.__('Content:').'</label> '. 
    227      form::textarea('post_content',50,7,'','',2). 
    228      '</p>'. 
    229      '<p><label class="classic">'.__('Category:').' '. 
    230      form::combo('cat_id',$categories_combo,'','',2).'</label></p>'. 
    231      '<p><input type="submit" value="'.__('save').'" name="save" tabindex="3" /> '. 
    232      ($core->auth->check('publish',$core->blog->id) 
    233           ? '<input type="hidden" value="'.__('save and publish').'" name="save-publish" />' 
    234           : ''). 
    235      $core->formNonce(). 
    236      form::hidden('post_status',-2). 
    237      form::hidden('post_format',$core->auth->getOption('post_format')). 
    238      form::hidden('post_excerpt',''). 
    239      form::hidden('post_lang',$core->auth->getInfo('user_lang')). 
    240      form::hidden('post_notes',''). 
    241      '</p>'. 
    242      '</fieldset>'. 
    243      '</form>'. 
    244      '</div>'; 
     232if ($core->auth->user_prefs->dashboard->quickentry) { 
     233     if ($core->auth->check('usage,contentadmin',$core->blog->id)) 
     234     { 
     235          $categories_combo = array('&nbsp;' => ''); 
     236          try { 
     237               $categories = $core->blog->getCategories(array('post_type'=>'post')); 
     238               while ($categories->fetch()) { 
     239                    $categories_combo[] = new formSelectOption( 
     240                         str_repeat('&nbsp;&nbsp;',$categories->level-1).'&bull; '.html::escapeHTML($categories->cat_title), 
     241                         $categories->cat_id 
     242                    ); 
     243               } 
     244          } catch (Exception $e) { } 
     245      
     246          echo 
     247          '<div id="quick">'. 
     248          '<h3>'.__('Quick entry').'</h3>'. 
     249          '<form id="quick-entry" action="post.php" method="post">'. 
     250          '<fieldset>'. 
     251          '<p class="col"><label class="required" title="'.__('Required field').'">'.__('Title:'). 
     252          form::field('post_title',20,255,'','maximal',2). 
     253          '</label></p>'. 
     254          '<p class="area"><label class="required" title="'.__('Required field').'" '. 
     255          'for="post_content">'.__('Content:').'</label> '. 
     256          form::textarea('post_content',50,7,'','',2). 
     257          '</p>'. 
     258          '<p><label class="classic">'.__('Category:').' '. 
     259          form::combo('cat_id',$categories_combo,'','',2).'</label></p>'. 
     260          '<p><input type="submit" value="'.__('save').'" name="save" tabindex="3" /> '. 
     261          ($core->auth->check('publish',$core->blog->id) 
     262               ? '<input type="hidden" value="'.__('save and publish').'" name="save-publish" />' 
     263               : ''). 
     264          $core->formNonce(). 
     265          form::hidden('post_status',-2). 
     266          form::hidden('post_format',$core->auth->getOption('post_format')). 
     267          form::hidden('post_excerpt',''). 
     268          form::hidden('post_lang',$core->auth->getInfo('user_lang')). 
     269          form::hidden('post_notes',''). 
     270          '</p>'. 
     271          '</fieldset>'. 
     272          '</form>'. 
     273          '</div>'; 
     274     } 
    245275} 
    246276 
Note: See TracChangeset for help on using the changeset viewer.

Sites map