Dotclear


Ignore:
Timestamp:
04/29/11 10:06:34 (13 years ago)
Author:
kozlika
Branch:
userprefs
Parents:
39:859596664e23 (diff), 37:89b90dfd3913 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Correction des formulaires, étape 2

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • admin/index.php

    r0 r45  
    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(); 
    4768 
     69# Dashboard favorites 
    4870$post_count = $core->blog->getPosts(array(),true)->f(0); 
    4971$str_entries = ($post_count > 1) ? __('%d entries') : __('%d entry'); 
     
    5274$str_comments = ($comment_count > 1) ? __('%d comments') : __('%d comment'); 
    5375 
    54 $__dashboard_icons['new_post'] = new ArrayObject(array(__('New entry'),'post.php','images/menu/edit-b.png')); 
    55 $__dashboard_icons['posts'] = new ArrayObject(array(sprintf($str_entries,$post_count),'posts.php','images/menu/entries-b.png')); 
    56 $__dashboard_icons['comments'] = new ArrayObject(array(sprintf($str_comments,$comment_count),'comments.php','images/menu/comments-b.png')); 
    57 $__dashboard_icons['prefs'] = new ArrayObject(array(__('User preferences'),'preferences.php','images/menu/user-pref-b.png')); 
    58  
    59 if ($core->auth->check('admin',$core->blog->id)) 
    60 { 
    61      $__dashboard_icons['blog_pref'] = new ArrayObject(array(__('Blog settings'),'blog_pref.php','images/menu/blog-pref-b.png')); 
    62      $__dashboard_icons['blog_theme'] = new ArrayObject(array(__('Blog appearance'),'blog_theme.php','images/menu/blog-theme-b.png')); 
    63 } 
    64  
    65 $core->callBehavior('adminDashboardIcons', $core, $__dashboard_icons); 
    66  
     76$ws = $core->auth->user_prefs->addWorkspace('favorites'); 
     77$count = 0; 
     78foreach ($ws->dumpPrefs() as $k => $v) { 
     79     // User favorites only 
     80     if (!$v['global']) { 
     81          $fav = unserialize($v['value']); 
     82          if (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)) { 
     83               $count++; 
     84               $title = ($fav['name'] == 'posts' ? sprintf($str_entries,$post_count) :  
     85                    ($fav['name'] == 'comments' ? sprintf($str_comments,$comment_count) : $fav['title'])); 
     86               $__dashboard_icons[$fav['name']] = new ArrayObject(array($title,$fav['url'],$fav['large-icon'])); 
     87          } 
     88     } 
     89}     
     90if (!$count) { 
     91     // Global favorites if any 
     92     foreach ($ws->dumpPrefs() as $k => $v) { 
     93          $fav = unserialize($v['value']); 
     94          if (($fav['permissions'] == '*') || $core->auth->check($fav['permissions'],$core->blog->id)) { 
     95               $count++; 
     96               $title = ($fav['name'] == 'posts' ? sprintf($str_entries,$post_count) :  
     97                    ($fav['name'] == 'comments' ? sprintf($str_comments,$comment_count) : $fav['title'])); 
     98               $__dashboard_icons[$fav['name']] = new ArrayObject(array($title,$fav['url'],$fav['large-icon'])); 
     99          } 
     100     } 
     101} 
     102if (!$count) { 
     103     // No user or global favorites, add "user pref" and "new entry" fav 
     104     if ($core->auth->check('usage,contentadmin',$core->blog->id)) { 
     105          $__dashboard_icons['new_post'] = new ArrayObject(array(__('New entry'),'post.php','images/menu/edit-b.png')); 
     106     } 
     107     $__dashboard_icons['prefs'] = new ArrayObject(array(__('My preferences'),'preferences.php','images/menu/user-pref-b.png')); 
     108} 
    67109 
    68110# Latest news for dashboard 
     
    70112 
    71113# Documentation links 
    72 if (!empty($__resources['doc'])) 
    73 { 
    74      $doc_links = '<h3>'.__('Documentation').'</h3><ul>'; 
    75       
    76      foreach ($__resources['doc'] as $k => $v) { 
    77           $doc_links .= '<li><a href="'.$v.'">'.$k.'</a></li>'; 
    78      } 
    79       
    80      $doc_links .= '</ul>'; 
    81      $__dashboard_items[0][] = $doc_links; 
    82 } 
    83  
    84 try 
    85 { 
    86      if (empty($__resources['rss_news'])) { 
    87           throw new Exception(); 
    88      } 
    89       
    90      $feed_reader = new feedReader; 
    91      $feed_reader->setCacheDir(DC_TPL_CACHE); 
    92      $feed_reader->setTimeout(2); 
    93      $feed_reader->setUserAgent('Dotclear - http://www.dotclear.org/'); 
    94      $feed = $feed_reader->parse($__resources['rss_news']); 
    95      if ($feed) 
     114$dashboardItem = 0; 
     115if ($core->auth->user_prefs->dashboard->doclinks) { 
     116     if (!empty($__resources['doc'])) 
    96117     { 
    97           $latest_news = '<h3>'.__('Latest news').'</h3><dl id="news">'; 
    98           $i = 1; 
    99           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) 
    100143          { 
    101                $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; 
    102149                
    103                if ($i < 3) { 
    104                     $latest_news .= 
    105                     '<dt>'.$dt.'</dt>'. 
    106                     '<dd><p><strong>'.dt::dt2str('%d %B %Y',$item->pubdate,'Europe/Paris').'</strong>: '. 
    107                     '<em>'.text::cutString(html::clean($item->content),120).'...</em></p></dd>'; 
    108                } else { 
    109                     $latest_news .= 
    110                     '<dt>'.$dt.'</dt>'. 
    111                     '<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; } 
    112162               } 
    113                $i++; 
    114                if ($i > 7) { break; } 
    115           } 
    116           $latest_news .= '</dl>'; 
    117           $__dashboard_items[1][] = $latest_news; 
    118      } 
    119 } 
    120 catch (Exception $e) {} 
     163               $latest_news .= '</dl>'; 
     164               $__dashboard_items[$dashboardItem][] = $latest_news; 
     165               $dashboardItem++; 
     166          } 
     167     } 
     168     catch (Exception $e) {} 
     169} 
    121170 
    122171$core->callBehavior('adminDashboardItems', $core, $__dashboard_items); 
     
    181230echo '</div>'; 
    182231 
    183 if ($core->auth->check('usage,contentadmin',$core->blog->id)) 
    184 { 
    185      $categories_combo = array('&nbsp;' => ''); 
    186      try { 
    187           $categories = $core->blog->getCategories(array('post_type'=>'post')); 
    188           while ($categories->fetch()) { 
    189                $categories_combo[] = new formSelectOption( 
    190                     str_repeat('&nbsp;&nbsp;',$categories->level-1).'&bull; '.html::escapeHTML($categories->cat_title), 
    191                     $categories->cat_id 
    192                ); 
    193           } 
    194      } catch (Exception $e) { } 
    195       
    196      echo 
    197      '<div id="quick">'. 
    198      '<h3>'.__('Quick entry').'</h3>'. 
    199      '<form id="quick-entry" action="post.php" method="post">'. 
    200      '<fieldset>'. 
    201      '<p class="col"><label class="required" title="'.__('Required field').'">'.__('Title:'). 
    202      form::field('post_title',20,255,'','maximal',2). 
    203      '</label></p>'. 
    204      '<p class="area"><label class="required" title="'.__('Required field').'" '. 
    205      'for="post_content">'.__('Content:').'</label> '. 
    206      form::textarea('post_content',50,7,'','',2). 
    207      '</p>'. 
    208      '<p><label class="classic">'.__('Category:').' '. 
    209      form::combo('cat_id',$categories_combo,'','',2).'</label></p>'. 
    210      '<p><input type="submit" value="'.__('save').'" name="save" tabindex="3" /> '. 
    211      ($core->auth->check('publish',$core->blog->id) 
    212           ? '<input type="hidden" value="'.__('save and publish').'" name="save-publish" />' 
    213           : ''). 
    214      $core->formNonce(). 
    215      form::hidden('post_status',-2). 
    216      form::hidden('post_format',$core->auth->getOption('post_format')). 
    217      form::hidden('post_excerpt',''). 
    218      form::hidden('post_lang',$core->auth->getInfo('user_lang')). 
    219      form::hidden('post_notes',''). 
    220      '</p>'. 
    221      '</fieldset>'. 
    222      '</form>'. 
    223      '</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 for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 
     252          form::field('post_title',20,255,'','maximal',2). 
     253          '</label></p>'. 
     254          '<p class="area"><label class="required" '. 
     255          'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
     256          form::textarea('post_content',50,7,'','',2). 
     257          '</p>'. 
     258          '<p><label for="cat_id" 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     } 
    224275} 
    225276 
  • admin/index.php

    r13 r45  
    249249          '<form id="quick-entry" action="post.php" method="post">'. 
    250250          '<fieldset>'. 
    251           '<p class="col"><label class="required" title="'.__('Required field').'">'.__('Title:'). 
     251          '<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 
    252252          form::field('post_title',20,255,'','maximal',2). 
    253253          '</label></p>'. 
    254           '<p class="area"><label class="required" title="'.__('Required field').'" '. 
    255           'for="post_content">'.__('Content:').'</label> '. 
     254          '<p class="area"><label class="required" '. 
     255          'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
    256256          form::textarea('post_content',50,7,'','',2). 
    257257          '</p>'. 
    258           '<p><label class="classic">'.__('Category:').' '. 
     258          '<p><label for="cat_id" class="classic">'.__('Category:').' '. 
    259259          form::combo('cat_id',$categories_combo,'','',2).'</label></p>'. 
    260260          '<p><input type="submit" value="'.__('save').'" name="save" tabindex="3" /> '. 
Note: See TracChangeset for help on using the changeset viewer.

Sites map