Dotclear

Changeset 1529:9f6e5c3c8344


Ignore:
Timestamp:
08/23/13 10:41:38 (11 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Children:
1530:18df991c4c1a, 1531:18a9e84c04e3, 1641:ae5dc7a055e1, 1885:d4803b6eba12
Parents:
1528:41b40915bb82 (diff), 1515:03b3235091cf (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:

Merge 2.5 commits into default branch

Files:
14 edited

Legend:

Unmodified
Added
Removed
  • admin/index.php

    r1488 r1529  
    121121$__dashboard_items = new ArrayObject(array(new ArrayObject,new ArrayObject)); 
    122122 
    123 # Documentation links 
    124123$dashboardItem = 0; 
    125 if ($core->auth->user_prefs->dashboard->doclinks) { 
    126      if (!empty($__resources['doc'])) 
    127      { 
    128           $doc_links = '<h3>'.__('Documentation and support').'</h3><ul>'; 
    129       
    130           foreach ($__resources['doc'] as $k => $v) { 
    131                $doc_links .= '<li><a href="'.$v.'" title="'.$k.' '.__('(external link)').'">'.$k.'</a></li>'; 
    132           } 
    133       
    134           $doc_links .= '</ul>'; 
    135           $__dashboard_items[$dashboardItem][] = $doc_links; 
    136           $dashboardItem++; 
    137      } 
    138 } 
    139124 
    140125if ($core->auth->user_prefs->dashboard->dcnews) { 
     
    180165} 
    181166 
     167# Documentation links 
     168if ($core->auth->user_prefs->dashboard->doclinks) { 
     169     if (!empty($__resources['doc'])) 
     170     { 
     171          $doc_links = '<h3>'.__('Documentation and support').'</h3><ul>'; 
     172      
     173          foreach ($__resources['doc'] as $k => $v) { 
     174               $doc_links .= '<li><a href="'.$v.'" title="'.$k.' '.__('(external link)').'">'.$k.'</a></li>'; 
     175          } 
     176      
     177          $doc_links .= '</ul>'; 
     178          $__dashboard_items[$dashboardItem][] = $doc_links; 
     179          $dashboardItem++; 
     180     } 
     181} 
     182 
    182183$core->callBehavior('adminDashboardItems', $core, $__dashboard_items); 
    183184 
     
    193194     dcPage::jsLoad('js/_index.js'). 
    194195     # --BEHAVIOR-- adminDashboardHeaders 
    195      $core->callBehavior('adminDashboardHeaders') 
     196     $core->callBehavior('adminDashboardHeaders'), 
     197     dcPage::breadcrumb( 
     198          array( 
     199          '<span class="page-title">'.__('Dashboard').' : '.html::escapeHTML($core->blog->name).'</span>' => '' 
     200          ), 
     201          false) 
    196202); 
    197203 
    198 echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; <span class="page-title">'.__('Dashboard').'</span></h2>'; 
     204# Dotclear updates notifications 
     205if ($core->auth->isSuperAdmin() && is_readable(DC_DIGESTS)) 
     206{ 
     207     $updater = new dcUpdate(DC_UPDATE_URL,'dotclear',DC_UPDATE_VERSION,DC_TPL_CACHE.'/versions'); 
     208     $new_v = $updater->check(DC_VERSION); 
     209     $version_info = $new_v ? $updater->getInfoURL() : ''; 
     210 
     211     if ($updater->getNotify() && $new_v) { 
     212          $message = 
     213          '<div><p>'.sprintf(__('Dotclear %s is available!'),$new_v).'</p> '. 
     214          '<ul><li><strong><a href="update.php">'.sprintf(__('Upgrade now'),$new_v).'</a></strong>'. 
     215          '</li><li><a href="update.php?hide_msg=1">'.__('Remind me later').'</a>'. 
     216          ($version_info ? ' </li><li><a href="'.$version_info.'">'.__('information about this version').'</a>' : ''). 
     217          '</li></ul></div>'; 
     218          dcPage::message($message,false,true); 
     219     } 
     220} 
    199221 
    200222if ($core->auth->getInfo('user_default_blog') != $core->blog->id && $core->auth->blog_count > 1) { 
     
    246268$dashboardItems = ''; 
    247269 
    248 # Dotclear updates notifications 
    249 if ($core->auth->isSuperAdmin() && is_readable(DC_DIGESTS)) 
    250 { 
    251      $updater = new dcUpdate(DC_UPDATE_URL,'dotclear',DC_UPDATE_VERSION,DC_TPL_CACHE.'/versions'); 
    252      $new_v = $updater->check(DC_VERSION); 
    253      $version_info = $new_v ? $updater->getInfoURL() : ''; 
    254       
    255      if ($updater->getNotify() && $new_v) { 
    256           $dashboardItems .= 
    257           '<div id="upg-notify" class="static-msg"><p>'.sprintf(__('Dotclear %s is available!'),$new_v).'</p> '. 
    258           '<ul><li><strong><a href="update.php">'.sprintf(__('Upgrade now'),$new_v).'</a></strong>'. 
    259           '</li><li><a href="update.php?hide_msg=1">'.__('Remind me later').'</a>'. 
    260           ($version_info ? ' </li><li><a href="'.$version_info.'">'.__('information about this version').'</a>' : ''). 
    261           '</li></ul></div>'; 
    262      } 
    263 } 
    264  
    265270# Errors modules notifications 
    266271if ($core->auth->isSuperAdmin()) 
     
    283288     if ($i->count() > 0) 
    284289     { 
    285           $dashboardItems .= '<div>'; 
     290          $dashboardItems .= '<div class="db-item">'; 
    286291          foreach ($i as $v) { 
    287292               $dashboardItems .= $v; 
     
    317322               } 
    318323          } catch (Exception $e) { } 
    319            
     324      
    320325          echo 
    321326          '<div id="quick">'. 
    322327          '<h3>'.__('Quick entry').'</h3>'. 
    323           '<form id="quick-entry" action="post.php" method="post">'. 
    324           '<fieldset><legend>'.__('New entry').'</legend>'. 
    325           '<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 
     328          '<form id="quick-entry" action="post.php" method="post" class="fieldset">'. 
     329          '<h4>'.__('New entry').'</h4>'. 
     330          '<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'. 
    326331          form::field('post_title',20,255,'','maximal'). 
    327           '</label></p>'. 
     332          '</p>'. 
    328333          '<p class="area"><label class="required" '. 
    329334          'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
    330335          form::textarea('post_content',50,7). 
    331336          '</p>'. 
    332           '<p><label for="cat_id" class="classic">'.__('Category:').' '. 
    333           form::combo('cat_id',$categories_combo).'</label></p>'. 
     337          '<p><label for="cat_id" class="classic">'.__('Category:').'</label> '. 
     338          form::combo('cat_id',$categories_combo).'</p>'. 
    334339          ($core->auth->check('categories', $core->blog->id) 
    335340               ? '<div>'. 
    336                '<p id="new_cat">'.__('Add a new category').'</p>'. 
     341               '<p id="new_cat" class="q-cat">'.__('Add a new category').'</p>'. 
    337342               '<p class="form-note info clear">'.__('This category will be created when you will save your post.').'</p>'. 
    338                '<p><label for="new_cat_title">'.__('Title:').' '. 
    339                form::field('new_cat_title',30,255,'','maximal').'</label></p>'. 
    340                '<p><label for="new_cat_parent">'.__('Parent:').' '. 
    341                form::combo('new_cat_parent',$categories_combo,'','maximal'). 
    342                '</label></p>'. 
     343               '<p class="q-cat"><label for="new_cat_title">'.__('Title:').'</label> '. 
     344               form::field('new_cat_title',30,255,'','').'</p>'. 
     345               '<p class="q-cat"><label for="new_cat_parent">'.__('Parent:').'</label> '. 
     346               form::combo('new_cat_parent',$categories_combo,'',''). 
     347               '</p>'. 
    343348               '</div>' 
    344349               : ''). 
     
    354359          form::hidden('post_notes',''). 
    355360          '</p>'. 
    356           '</fieldset>'. 
    357361          '</form>'. 
    358362          '</div>'; 
  • admin/index.php

    r1521 r1529  
    340340               ? '<div>'. 
    341341               '<p id="new_cat" class="q-cat">'.__('Add a new category').'</p>'. 
     342               '<p class="form-note info clear">'.__('This category will be created when you will save your post.').'</p>'. 
    342343               '<p class="q-cat"><label for="new_cat_title">'.__('Title:').'</label> '. 
    343344               form::field('new_cat_title',30,255,'','').'</p>'. 
  • admin/js/_post.js

    r1515 r1529  
    11dotclear.commentExpander = function(line) { 
    22     var td = line.firstChild; 
    3       
     3 
    44     var img = document.createElement('img'); 
    55     img.src = dotclear.img_plus_src; 
     
    99     img.line = line; 
    1010     img.onclick = function() { dotclear.viewCommentContent(this,this.line); }; 
    11       
     11 
    1212     td.insertBefore(img,td.firstChild); 
    1313}; 
     
    1515dotclear.viewCommentContent = function(img,line) { 
    1616     var commentId = line.id.substr(1); 
    17       
     17 
    1818     var tr = document.getElementById('ce'+commentId); 
    19       
     19 
    2020     if (!tr) { 
    2121          tr = document.createElement('tr'); 
     
    2525          td.className = 'expand'; 
    2626          tr.appendChild(td); 
    27            
     27 
    2828          img.src = dotclear.img_minus_src; 
    2929          img.alt = dotclear.img_minus_alt; 
    30            
     30 
    3131          // Get comment content 
    3232          $.get('services.php',{f:'getCommentById',id: commentId},function(data) { 
    3333               var rsp = $(data).children('rsp')[0]; 
    34                 
     34 
    3535               if (rsp.attributes[0].value == 'ok') { 
    3636                    var comment = $(rsp).find('comment_display_content').text(); 
    37                      
     37 
    3838                    if (comment) { 
    3939                         $(td).append(comment); 
     
    4242                         var comment_ip = $(rsp).find('comment_ip').text(); 
    4343                         var comment_spam_disp = $(rsp).find('comment_spam_disp').text(); 
    44                           
     44 
    4545                         $(td).append('<p><strong>' + dotclear.msg.website + 
    4646                         '</strong> ' + comment_site + '<br />' + 
     
    5252               } 
    5353          }); 
    54            
     54 
    5555          $(line).toggleClass('expand'); 
    5656          line.parentNode.insertBefore(tr,line.nextSibling); 
     
    7474$(function() { 
    7575     if (!document.getElementById) { return; } 
    76       
     76 
    7777     if (document.getElementById('edit-entry')) 
    7878     { 
     
    9191               } 
    9292          }); 
    93            
     93 
    9494          var excerptTb = new jsToolBar(document.getElementById('post_excerpt')); 
    9595          var contentTb = new jsToolBar(document.getElementById('post_content')); 
    9696          excerptTb.context = contentTb.context = 'post'; 
    9797     } 
    98       
     98 
    9999     if (document.getElementById('comment_content')) { 
    100100          var commentTb = new jsToolBar(document.getElementById('comment_content')); 
    101101     } 
    102       
     102 
    103103     // Post preview 
    104104     $('#post-preview').modalWeb($(window).width()-40,$(window).height()-40); 
    105       
     105 
    106106     // Tabs events 
    107107     $('#edit-entry').onetabload(function() { 
    108108          dotclear.hideLockable(); 
    109            
     109 
    110110          // Add date picker 
    111111          var post_dtPick = new datePicker($('#post_dt').get(0)); 
    112112          post_dtPick.img_top = '1.5em'; 
    113113          post_dtPick.draw(); 
    114            
     114 
    115115          // Confirm post deletion 
    116116          $('input[name="delete"]').click(function() { 
    117                     return window.confirm(dotclear.msg.confirm_delete_post); 
    118           }); 
    119            
     117               return window.confirm(dotclear.msg.confirm_delete_post); 
     118          }); 
     119 
    120120          // Hide some fields 
    121121          $('#notes-area label').toggleWithLegend($('#notes-area').children().not('label'),{ 
    122122               cookie: 'dcx_post_notes', 
    123                hide: $('#post_notes').val() == '' 
     123                  hide: $('#post_notes').val() == '', 
     124                  legend_click: true 
    124125          }); 
    125126          $('#new_cat').toggleWithLegend( 
    126127               $('#new_cat').parent().children().not('#new_cat'), 
    127                {} // no cookie on new category as we don't use this every day 
     128               {legend_click: true} // no cookie on new category as we don't use this every day 
    128129          ); 
    129130          $('#post_lang').parent().toggleWithLegend($('#post_lang'),{ 
    130                cookie: 'dcx_post_lang' 
     131              cookie: 'dcx_post_lang', 
     132              legend_click: true 
    131133          }); 
    132134          $('#post_password').parent().toggleWithLegend($('#post_password'),{ 
    133135               cookie: 'dcx_post_password', 
    134                hide: $('#post_password').val() == '' 
    135           }); 
    136            
     136              hide: $('#post_password').val() == '', 
     137              legend_click: true 
     138          }); 
     139          $('#post_status').parent().toggleWithLegend($('#post_status'),{ 
     140                  cookie: 'dcx_post_status', 
     141              legend_click: true 
     142          }); 
     143          $('#post_dt').parent().toggleWithLegend($('#post_dt').parent().children().not('label'),{ 
     144              cookie: 'dcx_post_dt', 
     145              legend_click: true 
     146          }); 
     147          $('#post_format').parent().toggleWithLegend($('#post_format').parent().children().not('label').add($('#post_format').parents('p').next()),{ 
     148              cookie: 'dcx_post_format', 
     149              legend_click: true 
     150          }); 
     151          $('#cat_id').parent().toggleWithLegend($('#cat_id'),{ 
     152              cookie: 'cat_id', 
     153              legend_click: true 
     154          }); 
     155          $('#post_url').parent().toggleWithLegend($('#post_url').parent().children().not('label'),{ 
     156              cookie: 'post_url', 
     157              legend_click: true 
     158          }); 
    137159          // We load toolbar on excerpt only when it's ready 
    138160          $('#excerpt-area label').toggleWithLegend($('#excerpt-area').children().not('label'),{ 
     
    140162               hide: $('#post_excerpt').val() == '' 
    141163          }); 
    142            
     164 
    143165          // Load toolbars 
    144166          contentTb.switchMode(formatField.value); 
     
    156178               return false; 
    157179          }); 
    158            
     180 
    159181          // Markup validator 
    160182          var h = document.createElement('h4'); 
    161183          var a = document.createElement('a'); 
    162184          a.href = '#'; 
     185          a.className = 'button'; 
    163186          $(a).click(function() { 
    164187               var params = { 
     
    170193                    lang: $('#post_lang').get(0).value 
    171194               }; 
    172                 
     195 
    173196               $.post('services.php',params,function(data) { 
    174197                    if ($(data).find('rsp').attr('status') != 'ok') { 
     
    176199                         return false; 
    177200                    } 
    178                      
     201 
    179202                    if ($(data).find('valid').text() == 1) { 
    180203                         var p = document.createElement('p'); 
    181204                         p.id = 'markup-validator'; 
    182                           
     205 
    183206                         if ($('#markup-validator').length > 0) { 
    184207                              $('#markup-validator').remove(); 
    185208                         } 
    186                           
     209 
    187210                         $(p).addClass('message'); 
    188211                         $(p).text(dotclear.msg.xhtml_valid); 
     
    194217                         var div = document.createElement('div'); 
    195218                         div.id = 'markup-validator'; 
    196                           
     219 
    197220                         if ($('#markup-validator').length > 0) { 
    198221                              $('#markup-validator').remove(); 
    199222                         } 
    200                           
     223 
    201224                         $(div).addClass('error'); 
    202225                         $(div).html('<p><strong>' + dotclear.msg.xhtml_not_valid + '</strong></p>' + $(data).find('errors').text()); 
    203226                         $(div).insertAfter(h); 
    204                          $(div).backgroundFade({sColor:'#ffffff',eColor:'#ff9999',steps:50},function() { 
    205                                    $(this).backgroundFade({sColor:'#ff9999',eColor:'#ffffff'}); 
     227                         $(div).backgroundFade({sColor:'#ffffff',eColor:'#FFBABA',steps:50},function() { 
     228                                   $(this).backgroundFade({sColor:'#ffbaba',eColor:'#ffffff'}); 
    206229                         }); 
    207230                    } 
    208                      
     231 
    209232                    return false; 
    210233               }); 
    211                 
     234 
    212235               return false; 
    213236          }); 
    214            
     237 
    215238          a.appendChild(document.createTextNode(dotclear.msg.xhtml_validator)); 
    216239          h.appendChild(a); 
    217240          $(h).appendTo('#entry-content'); 
    218            
     241 
    219242          // Check unsaved changes before XHTML conversion 
    220243          var excerpt = $('#post_excerpt').val(); 
     
    223246               if (excerpt != $('#post_excerpt').val() || content != $('#post_content').val()) { 
    224247                    return window.confirm(dotclear.msg.confirm_change_post_format); 
    225                }     
     248               } 
    226249          }); 
    227250     }); 
    228       
     251 
    229252     $('#comments').onetabload(function() { 
    230253          $('.comments-list tr.line').each(function() { 
     
    234257               dotclear.checkboxesHelpers(this); 
    235258          }); 
    236            
     259 
    237260          dotclear.commentsActionsHelper(); 
    238261     }); 
    239       
     262 
    240263     $('#add-comment').onetabload(function() { 
    241264          commentTb.draw('xhtml'); 
  • admin/js/_post.js

    r1525 r1529  
    7979          // Get document format and prepare toolbars 
    8080          var formatField = $('#post_format').get(0); 
     81          var last_post_format = $(formatField).val(); 
    8182          $(formatField).change(function() { 
    82                excerptTb.switchMode(this.value); 
    83                contentTb.switchMode(this.value); 
     83               // Confirm post format change 
     84               if(window.confirm(dotclear.msg.confirm_change_post_format_noconvert)){ 
     85                    excerptTb.switchMode(this.value); 
     86                    contentTb.switchMode(this.value); 
     87                    last_post_format = $(this).val(); 
     88               }else{ 
     89                    // Restore last format if change cancelled 
     90                    $(this).val(last_post_format); 
     91               } 
    8492          }); 
    8593 
     
    151159          // We load toolbar on excerpt only when it's ready 
    152160          $('#excerpt-area label').toggleWithLegend($('#excerpt-area').children().not('label'),{ 
    153                fn: function() { excerptTb.switchMode(formatField.value); }, 
    154161               cookie: 'dcx_post_excerpt', 
    155162               hide: $('#post_excerpt').val() == '' 
     
    158165          // Load toolbars 
    159166          contentTb.switchMode(formatField.value); 
    160  
     167          excerptTb.switchMode(formatField.value); 
     168           
    161169          // Replace attachment remove links by a POST form submit 
    162170          $('a.attachment-remove').click(function() { 
  • admin/post.php

    r1488 r1529  
    5050} 
    5151 
     52# Getting categories 
     53$categories_combo = array('&nbsp;' => ''); 
     54try { 
     55     $categories = $core->blog->getCategories(array('post_type'=>'post')); 
     56     while ($categories->fetch()) { 
     57          $categories_combo[] = new formSelectOption( 
     58               str_repeat('&nbsp;&nbsp;',$categories->level-1).($categories->level-1 == 0 ? '' : '&bull; ').html::escapeHTML($categories->cat_title), 
     59               $categories->cat_id 
     60          ); 
     61     } 
     62} catch (Exception $e) { } 
     63 
    5264# Status combo 
    5365foreach ($core->blog->getAllPostStatus() as $k => $v) { 
     
    8294if (!empty($_REQUEST['id'])) 
    8395{ 
     96     $page_title = __('Edit entry'); 
     97      
    8498     $params['post_id'] = $_REQUEST['id']; 
    8599      
     
    111125          $post_open_tb = (boolean) $post->post_open_tb; 
    112126           
    113           $page_title = __('Edit entry'); 
    114            
    115127          $can_edit_post = $post->isEditable(); 
    116128          $can_delete= $post->isDeletable(); 
     
    121133          if ($next_rs !== null) { 
    122134               $next_link = sprintf($post_link,$next_rs->post_id, 
    123                     html::escapeHTML($next_rs->post_title),__('next entry').'&nbsp;&#187;'); 
     135                    html::escapeHTML($next_rs->post_title),__('Next entry').'&nbsp;&#187;'); 
    124136               $next_headlink = sprintf($post_headlink,'next', 
    125137                    html::escapeHTML($next_rs->post_title),$next_rs->post_id); 
     
    128140          if ($prev_rs !== null) { 
    129141               $prev_link = sprintf($post_link,$prev_rs->post_id, 
    130                     html::escapeHTML($prev_rs->post_title),'&#171;&nbsp;'.__('previous entry')); 
     142                    html::escapeHTML($prev_rs->post_title),'&#171;&nbsp;'.__('Previous entry')); 
    131143               $prev_headlink = sprintf($post_headlink,'previous', 
    132144                    html::escapeHTML($prev_rs->post_title),$prev_rs->post_id); 
     
    314326} 
    315327 
     328if ($post_id) { 
     329     switch ($post_status) { 
     330          case 1: 
     331               $img_status = sprintf($img_status_pattern,__('Published'),'check-on.png'); 
     332               break; 
     333          case 0: 
     334               $img_status = sprintf($img_status_pattern,__('Unpublished'),'check-off.png'); 
     335               break; 
     336          case -1: 
     337               $img_status = sprintf($img_status_pattern,__('Scheduled'),'scheduled.png'); 
     338               break; 
     339          case -2: 
     340               $img_status = sprintf($img_status_pattern,__('Pending'),'check-wrn.png'); 
     341               break; 
     342          default: 
     343               $img_status = ''; 
     344     } 
     345     $edit_entry_str = __('&ldquo;%s&rdquo;'); 
     346     $page_title_edit = sprintf($edit_entry_str, html::escapeHTML($post_title)).' '.$img_status; 
     347} else { 
     348     $img_status = ''; 
     349} 
     350 
     351 
    316352dcPage::open($page_title.' - '.__('Entries'), 
    317353     dcPage::jsDatePicker(). 
     
    324360     $core->callBehavior('adminPostHeaders'). 
    325361     dcPage::jsPageTabs($default_tab). 
    326      $next_headlink."\n".$prev_headlink 
     362     $next_headlink."\n".$prev_headlink, 
     363     dcPage::breadcrumb( 
     364          array( 
     365               html::escapeHTML($core->blog->name) => '', 
     366               __('Entries') => 'posts.php', 
     367               '<span class="page-title">'.($post_id ? $page_title_edit : $page_title).'</span>' => '' 
     368          )) 
    327369); 
    328370 
     
    354396} 
    355397 
    356 echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; '.'<a href="posts.php">'.__('Entries').'</a> &rsaquo; <span class="page-title">'; 
    357 if ($post_id) { 
    358      switch ($post_status) { 
    359           case 1: 
    360                $img_status = sprintf($img_status_pattern,__('published'),'check-on.png'); 
    361                break; 
    362           case 0: 
    363                $img_status = sprintf($img_status_pattern,__('unpublished'),'check-off.png'); 
    364                break; 
    365           case -1: 
    366                $img_status = sprintf($img_status_pattern,__('scheduled'),'scheduled.png'); 
    367                break; 
    368           case -2: 
    369                $img_status = sprintf($img_status_pattern,__('pending'),'check-wrn.png'); 
    370                break; 
    371           default: 
    372                $img_status = ''; 
    373      } 
    374      $edit_entry_str = __('Edit entry &ldquo;%s&rdquo;'); 
    375      echo sprintf($edit_entry_str, html::escapeHTML($post_title)).' '.$img_status; 
    376 } else { 
    377      echo $page_title; 
    378 } 
    379 echo '</span></h2>'; 
    380  
    381398if ($post_id && $post->post_status == 1) { 
    382      echo '<p><a href="'.$post->getURL().'" onclick="window.open(this.href);return false;" title="'.$post_title.' ('.__('new window').')'.'">'.__('Go to this entry on the site').' <img src="images/outgoing-blue.png" alt="" /></a></p>'; 
     399     echo '<p><a class="onblog_link" href="'.$post->getURL().'" onclick="window.open(this.href);return false;" title="'.$post_title.' ('.__('new window').')'.'">'.__('Go to this entry on the site').' <img src="images/outgoing-blue.png" alt="" /></a></p>'; 
    383400} 
    384401if ($post_id) 
    385402{ 
    386      echo '<p>'; 
     403     echo '<p class="nav_prevnext">'; 
    387404     if ($prev_link) { echo $prev_link; } 
    388      if ($next_link && $prev_link) { echo ' - '; } 
     405     if ($next_link && $prev_link) { echo ' | '; } 
    389406     if ($next_link) { echo $next_link; } 
    390407      
     
    401418     exit; 
    402419} 
    403  
    404420/* Post form if we can edit post 
    405421-------------------------------------------------------- */ 
    406422if ($can_edit_post) 
    407423{ 
    408      echo '<div class="multi-part" title="'.__('Edit entry').'" id="edit-entry">'; 
     424     $sidebar_items = new ArrayObject(array( 
     425          'status-box' => array( 
     426               'title' => __('Status'), 
     427               'items' => array( 
     428                    'post_status' =>  
     429                         '<p class="entry-status"><label for="post_status" class="ib">'.__('Entry status').' '.$img_status.'</label>'. 
     430                         form::combo('post_status',$status_combo,$post_status,'maximal','',!$can_publish). 
     431                         '</p>', 
     432                    'post_dt' =>  
     433                         '<p><label for="post_dt" class="ib">'.__('Publication date and hour').'</label>'. 
     434                         form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')). 
     435                         '</p>', 
     436                    'post_lang' => 
     437                         '<p><label for="post_lang" class="ib">'.__('Entry lang').'</label>'. 
     438                         form::combo('post_lang',$lang_combo,$post_lang). 
     439                         '</p>', 
     440                    'post_format' => 
     441                         '<p><label for="post_format" class="ib">'.__('Text formating').'</label>'. 
     442                         form::combo('post_format',$formaters_combo,$post_format,'maximal'). 
     443                         '</p>'. 
     444                         '<p>'.($post_id && $post_format != 'xhtml' ?  
     445                         '<a id="convert-xhtml" class="button maximal" href="post.php?id='.$post_id.'&amp;xconv=1">'. 
     446                         __('Convert to XHTML').'</a>' : '').'</p>')), 
     447          'metas-box' => array( 
     448               'title' => __('Ordering'), 
     449               'items' => array( 
     450                    'post_selected' =>  
     451                         '<p><label for="post_selected" class="classic">'. 
     452                         form::checkbox('post_selected',1,$post_selected).' '. 
     453                         __('Selected entry').'</label></p>', 
     454                    'cat_id' => 
     455                         '<p><label for="cat_id" class="ib">'.__('Category').'</label>'. 
     456                         form::combo('cat_id',$categories_combo,$cat_id,'maximal'). 
     457                         '</p>'. 
     458                         ($core->auth->check('categories', $core->blog->id) ? 
     459                              '<div>'. 
     460                              '<p id="new_cat">'.__('Add a new category').'</p>'. 
     461                              '<p><label for="new_cat_title">'.__('Title:').' '. 
     462                              form::field('new_cat_title',30,255,'','maximal').'</label></p>'. 
     463                              '<p><label for="new_cat_parent">'.__('Parent:').' '. 
     464                              form::combo('new_cat_parent',$categories_combo,'','maximal'). 
     465                              '</label></p>'. 
     466                              '</div>' 
     467                         : ''))), 
     468          'options-box' => array( 
     469               'title' => __('Options'), 
     470               'items' => array( 
     471                    'post_open_comment' => 
     472                         '<p><label for="post_open_comment" class="classic">'. 
     473                         form::checkbox('post_open_comment',1,$post_open_comment).' '. 
     474                         __('Accept comments').'</label></p>'. 
     475                         ($core->blog->settings->system->allow_comments ?  
     476                              (isContributionAllowed($post_id,strtotime($post_dt),true) ?  
     477                                   '' : 
     478                                   '<p class="form-note warn">'. 
     479                                   __('Warning: Comments are not more accepted for this entry.').'</p>') :  
     480                              '<p class="form-note warn">'. 
     481                              __('Warning: Comments are not accepted on this blog.').'</p>'), 
     482                    'post_open_tb' => 
     483                         '<p><label for="post_open_tb" class="classic">'. 
     484                         form::checkbox('post_open_tb',1,$post_open_tb).' '. 
     485                         __('Accept trackbacks').'</label></p>'. 
     486                         ($core->blog->settings->system->allow_trackbacks ?  
     487                              (isContributionAllowed($post_id,strtotime($post_dt),false) ?  
     488                                   '' : 
     489                                   '<p class="form-note warn">'. 
     490                                   __('Warning: Trackbacks are not more accepted for this entry.').'</p>') :  
     491                              '<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'), 
     492                    'post_password' => 
     493                         '<p><label for="post_password" class="ib">'.__('Password').'</label>'. 
     494                         form::field('post_password',10,32,html::escapeHTML($post_password),'maximal'). 
     495                         '</p>', 
     496                    'post_url' => 
     497                         '<div class="lockable">'. 
     498                         '<p><label for="post_url" class="ib">'.__('Edit basename').'</label>'. 
     499                         form::field('post_url',10,255,html::escapeHTML($post_url),'maximal'). 
     500                         '</p>'. 
     501                         '<p class="form-note warn">'. 
     502                         __('Warning: If you set the URL manually, it may conflict with another entry.'). 
     503                         '</p></div>' 
     504     )))); 
     505 
     506     $main_items = new ArrayObject(array( 
     507          "post_title" => 
     508               '<p class="col">'. 
     509               '<label class="required no-margin"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'. 
     510               form::field('post_title',20,255,html::escapeHTML($post_title),'maximal'). 
     511               '</p>', 
     512           
     513          "post_excerpt" => 
     514               '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'<span class="form-note">'. 
     515               __('Add an introduction to the post.').'</span></label> '. 
     516               form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)). 
     517               '</p>', 
     518           
     519          "post_content" => 
     520               '<p class="area"><label class="required" '. 
     521               'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
     522               form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). 
     523               '</p>', 
     524           
     525          "post_notes" => 
     526               '<p class="area" id="notes-area"><label for="post_notes">'.__('Personal notes:').'<span class="form-note">'. 
     527               __('Add unpublished notes.').'</span></label>'. 
     528               form::textarea('post_notes',50,5,html::escapeHTML($post_notes)). 
     529               '</p>' 
     530          ) 
     531     ); 
     532      
     533     # --BEHAVIOR-- adminPostFormItems 
     534     $core->callBehavior('adminPostFormItems',$main_items,$sidebar_items, isset($post) ? $post : null); 
     535 
     536     echo '<div class="multi-part" title="'.($post_id ? __('Edit entry') : __('New entry')).'" id="edit-entry">'; 
    409537     echo '<form action="post.php" method="post" id="entry-form">'; 
    410538     echo '<div id="entry-wrapper">'; 
    411539     echo '<div id="entry-content"><div class="constrained">'; 
     540 
     541     echo '<h3 class="hidden">'.__('Edit post').'</h3>'; 
     542      
     543     foreach ($main_items as $id => $item) { 
     544          echo $item; 
     545     } 
     546 
     547     # --BEHAVIOR-- adminPostForm (may be deprecated) 
     548     $core->callBehavior('adminPostForm',isset($post) ? $post : null); 
    412549      
    413550     echo 
    414      '<p class="col"><label class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 
    415      form::field('post_title',20,255,html::escapeHTML($post_title),'maximal'). 
    416      '</label></p>'. 
    417       
    418      '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'</label> '. 
    419      form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)). 
    420      '</p>'. 
    421       
    422      '<p class="area"><label class="required" '. 
    423      'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
    424      form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). 
    425      '</p>'. 
    426       
    427      '<p class="area" id="notes-area"><label for="post_notes">'.__('Notes:').'</label>'. 
    428      form::textarea('post_notes',50,5,html::escapeHTML($post_notes)). 
    429      '</p>'; 
    430       
    431      # --BEHAVIOR-- adminPostForm 
    432      $core->callBehavior('adminPostForm',isset($post) ? $post : null); 
    433       
    434      echo 
    435      '<p>'. 
     551     '<p class="border-top">'. 
    436552     ($post_id ? form::hidden('id',$post_id) : ''). 
    437553     '<input type="submit" value="'.__('Save').' (s)" '. 
     
    458574     echo '<div id="entry-sidebar">'; 
    459575      
    460      echo 
    461      '<p><label for="cat_id">'.__('Category:'). 
    462      form::combo('cat_id',$categories_combo,$cat_id,'maximal'). 
    463      '</label></p>'. 
    464       
    465      ($core->auth->check('categories', $core->blog->id) ? 
    466           '<div>'. 
    467           '<p id="new_cat">'.__('Add a new category').'</p>'. 
    468           '<p class="form-note info clear">'.__('This category will be created when you will save your post.').'</p>'. 
    469           '<p><label for="new_cat_title">'.__('Title:').' '. 
    470           form::field('new_cat_title',30,255,'','maximal').'</label></p>'. 
    471           '<p><label for="new_cat_parent">'.__('Parent:').' '. 
    472           form::combo('new_cat_parent',$categories_combo,'','maximal'). 
    473           '</label></p>'. 
    474           '</div>' 
    475      : ''). 
    476       
    477      '<p><label for="post_status">'.__('Entry status:'). 
    478      form::combo('post_status',$status_combo,$post_status,'','',!$can_publish). 
    479      '</label></p>'. 
    480       
    481      '<p><label for="post_dt">'.__('Published on:'). 
    482      form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')). 
    483      '</label></p>'. 
    484       
    485      '<p><label for="post_format">'.__('Text formating:'). 
    486      form::combo('post_format',$formaters_combo,$post_format). 
    487      '</label>'. 
    488      '</p>'. 
    489      '<p>'.($post_id && $post_format != 'xhtml' ? '<a id="convert-xhtml" class="button" href="post.php?id='.$post_id.'&amp;xconv=1">'.__('Convert to XHTML').'</a>' : '').'</p>'. 
    490       
    491      '<p><label for="post_open_comment" class="classic">'.form::checkbox('post_open_comment',1,$post_open_comment).' '. 
    492      __('Accept comments').'</label></p>'. 
    493      ($core->blog->settings->system->allow_comments ?  
    494           (isContributionAllowed($post_id,strtotime($post_dt),true) ?  
    495                '' : 
    496                '<p class="form-note warn">'.__('Warning: Comments are not more accepted for this entry.').'</p>') :  
    497           '<p class="form-note warn">'.__('Warning: Comments are not accepted on this blog.').'</p>'). 
    498  
    499      '<p><label for="post_open_tb" class="classic">'.form::checkbox('post_open_tb',1,$post_open_tb).' '. 
    500      __('Accept trackbacks').'</label></p>'. 
    501      ($core->blog->settings->system->allow_trackbacks ?  
    502           (isContributionAllowed($post_id,strtotime($post_dt),false) ?  
    503                '' : 
    504                '<p class="form-note warn">'.__('Warning: Trackbacks are not more accepted for this entry.').'</p>') :  
    505           '<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'). 
    506  
    507      '<p><label for="post_selected" class="classic">'.form::checkbox('post_selected',1,$post_selected).' '. 
    508      __('Selected entry').'</label></p>'. 
    509       
    510      '<p><label for="post_lang">'.__('Entry lang:'). 
    511      form::combo('post_lang',$lang_combo,$post_lang). 
    512      '</label></p>'. 
    513       
    514      '<p><label for="post_password">'.__('Entry password:'). 
    515      form::field('post_password',10,32,html::escapeHTML($post_password),'maximal'). 
    516      '</label></p>'. 
    517       
    518      '<div class="lockable">'. 
    519      '<p><label for="post_url">'.__('Basename:'). 
    520      form::field('post_url',10,255,html::escapeHTML($post_url),'maximal'). 
    521      '</label></p>'. 
    522      '<p class="form-note warn">'. 
    523      __('Warning: If you set the URL manually, it may conflict with another entry.'). 
    524      '</p>'. 
    525      '</div>'; 
    526       
    527      # --BEHAVIOR-- adminPostFormSidebar 
     576     foreach ($sidebar_items as $id => $c) { 
     577          echo '<div id="'.$id.'" class="box">'. 
     578               '<h4>'.$c['title'].'</h4>'; 
     579          foreach ($c['items'] as $e_name=>$e_content) { 
     580               echo $e_content; 
     581          } 
     582          echo '</div>'; 
     583     } 
     584      
     585      
     586     # --BEHAVIOR-- adminPostFormSidebar (may be deprecated) 
    528587     $core->callBehavior('adminPostFormSidebar',isset($post) ? $post : null); 
    529       
    530588     echo '</div>';      // End #entry-sidebar 
    531589 
     
    558616     if ($can_edit_post && $core->auth->check('publish,contentadmin',$core->blog->id)) 
    559617     { 
    560           $combo_action[__('publish')] = 'publish'; 
    561           $combo_action[__('unpublish')] = 'unpublish'; 
    562           $combo_action[__('mark as pending')] = 'pending'; 
    563           $combo_action[__('mark as junk')] = 'junk'; 
     618          $combo_action[__('Publish')] = 'publish'; 
     619          $combo_action[__('Unpublish')] = 'unpublish'; 
     620          $combo_action[__('Mark as pending')] = 'pending'; 
     621          $combo_action[__('Mark as junk')] = 'junk'; 
    564622     } 
    565623      
     
    623681     '<form action="comment.php" method="post" id="comment-form">'. 
    624682     '<div class="constrained">'. 
    625      '<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Name:'). 
     683     '<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Name:').'</label>'. 
    626684     form::field('comment_author',30,255,html::escapeHTML($core->auth->getInfo('user_cn'))). 
    627      '</label></p>'. 
    628       
    629      '<p><label for="comment_email">'.__('Email:'). 
     685     '</p>'. 
     686      
     687     '<p><label for="comment_email">'.__('Email:').'</label>'. 
    630688     form::field('comment_email',30,255,html::escapeHTML($core->auth->getInfo('user_email'))). 
    631      '</label></p>'. 
    632       
    633      '<p><label for="comment_site">'.__('Web site:'). 
     689     '</p>'. 
     690      
     691     '<p><label for="comment_site">'.__('Web site:').'</label>'. 
    634692     form::field('comment_site',30,255,html::escapeHTML($core->auth->getInfo('user_url'))). 
    635      '</label></p>'. 
     693     '</p>'. 
    636694      
    637695     '<p class="area"><label for="comment_content" class="required"><abbr title="'.__('Required field').'">*</abbr> '. 
     
    675733     echo 
    676734     '<table class="comments-list"><tr>'. 
    677      '<th colspan="2">'.__('Author').'</th>'. 
     735     '<th colspan="2" class="first">'.__('Author').'</th>'. 
    678736     '<th>'.__('Date').'</th>'. 
    679737     '<th class="nowrap">'.__('IP address').'</th>'. 
    680738     '<th>'.__('Status').'</th>'. 
    681      '<th>&nbsp;</th>'. 
     739     '<th>'.__('Edit').'</th>'. 
    682740     '</tr>'; 
    683741      
     
    689747          switch ($rs->comment_status) { 
    690748               case 1: 
    691                     $img_status = sprintf($img,__('published'),'check-on.png'); 
     749                    $img_status = sprintf($img,__('Published'),'check-on.png'); 
    692750                    break; 
    693751               case 0: 
    694                     $img_status = sprintf($img,__('unpublished'),'check-off.png'); 
     752                    $img_status = sprintf($img,__('Unpublished'),'check-off.png'); 
    695753                    break; 
    696754               case -1: 
    697                     $img_status = sprintf($img,__('pending'),'check-wrn.png'); 
     755                    $img_status = sprintf($img,__('Pending'),'check-wrn.png'); 
    698756                    break; 
    699757               case -2: 
    700                     $img_status = sprintf($img,__('junk'),'junk.png'); 
     758                    $img_status = sprintf($img,__('Junk'),'junk.png'); 
    701759                    break; 
    702760          } 
     
    713771          '<td class="nowrap status">'.$img_status.'</td>'. 
    714772          '<td class="nowrap status"><a href="'.$comment_url.'">'. 
    715           '<img src="images/edit-mini.png" alt="" title="'.__('Edit this comment').'" /></a></td>'. 
     773          '<img src="images/edit-mini.png" alt="" title="'.__('Edit this comment').'" /> '.__('Edit').'</a></td>'. 
    716774           
    717775          '</tr>'; 
     
    721779} 
    722780 
    723 dcPage::helpBlock('core_post','core_wiki'); 
     781dcPage::helpBlock('core_post','core_trackbacks','core_wiki'); 
    724782dcPage::close(); 
    725783?> 
  • admin/update.php

    r1479 r1529  
    174174          dcPage::jsPageTabs($default_tab). 
    175175          dcPage::jsLoad('js/_update.js') 
    176      : '') 
     176          : ''), 
     177     dcPage::breadcrumb( 
     178          array( 
     179               __('System') => '', 
     180               '<span class="page-title">'.__('Dotclear update').'</span>' => '' 
     181          )) 
    177182); 
    178183 
    179184if (!$core->error->flag()) { 
    180      echo '<h2>'.__('Dotclear update').'</h2>'; 
    181       
    182185     if (!empty($_GET['nocache'])) { 
    183186          dcPage::message(__('Manual checking of update done successfully.')); 
     
    200203          echo 
    201204               '<p class="static-msg">'.sprintf(__('Dotclear %s is available.'),$new_v). 
    202                     ($version_info ? ' <a href="'.$version_info.'">('.__('information about this version').')</a>' : ''). 
     205                    ($version_info ? ' <a href="'.$version_info.'">('.__('Information about this version').')</a>' : ''). 
    203206                    '</p>'. 
    204207           
     
    246249     '<p class="message">'. 
    247250     __("Congratulations, you're one click away from the end of the update."). 
    248      ' <strong><a href="index.php?logout=1">'.__('Finish the update.').'</a></strong>'. 
     251     ' <strong><a href="index.php?logout=1">'.__('Finish the update').'</a>.</strong>'. 
    249252     '</p>'; 
    250253} 
  • admin/update.php

    r1474 r1529  
    106106                         throw new Exception( 
    107107                              sprintf(__('Downloaded Dotclear archive seems to be corrupted. '. 
    108                               'Try <a %s>download it</a> again.'),'href="'.$p_url.'?step=download"') 
     108                              'Try <a %s>download it</a> again.'),'href="'.$p_url.'?step=download"'). 
     109                              ' '. 
     110                              __('If this problem persists try to '. 
     111                              '<a href="http://dotclear.org/download">update manually</a>.') 
    109112                         ); 
    110113                    } 
  • locales/en/main.po

    r1479 r1529  
    453453 
    454454#, php-format 
    455 msgid "You are currently using \"%s\"" 
     455msgid "You are currently using <strong>%s</strong>" 
    456456msgstr "" 
    457457 
     
    753753msgstr "" 
    754754 
    755 msgid "You have one spam comments." 
     755msgid "You have one spam comment." 
    756756msgstr "" 
    757757 
     
    21602160msgstr "" 
    21612161 
    2162 msgid "Warning: post format change will not convert existing content. You will need to apply new format by yourself. Proceed anyway?" 
    2163 msgstr "" 
    2164  
    21652162msgid "Loading enhanced uploader, please wait." 
    21662163msgstr "" 
  • locales/en/main.po

    r1499 r1529  
    19171917msgstr "" 
    19181918 
     1919msgid "If this problem persists try to <a href="http://dotclear.org/download">update manually</a>." 
     1920msgstr "" 
     1921 
    19191922msgid "The following files of your Dotclear installation have been modified so we won't try to update your installation. Please try to <a href=\"http://dotclear.org/download\">update manually</a>." 
    19201923msgstr "" 
  • locales/fr/main.po

    r1488 r1529  
    9595 
    9696msgid "This mode allows you to login without activating any of your plugins. This may be useful to solve compatibility problems" 
    97 msgstr "\"Ce mode vous permet de vous connecter sans activer de plugins. Il peut être utile pour résoudre un problème de compatibilité" 
     97msgstr "Ce mode vous permet de vous connecter sans activer de plugins. Il peut être utile pour résoudre un problème de compatibilité" 
    9898 
    9999msgid "Disable or delete any plugin suspected to cause trouble, then log out and log back in normally." 
     
    481481 
    482482#, php-format 
    483 msgid "You are currently using \"%s\"" 
    484 msgstr "Vous utilisez actuellement \"%s\"" 
     483msgid "You are currently using <strong>%s</strong>" 
     484msgstr "Vous utilisez actuellement <strong>%s</strong>" 
    485485 
    486486msgid "Use selected theme" 
     
    793793msgstr "Auteur du commentaire :" 
    794794 
    795 msgid "You have one spam comments." 
     795msgid "You have one spam comment." 
    796796msgstr "Vous avez un commentaire indésirable." 
    797797 
    798798msgid "Show it." 
    799 msgstr "L'afficher" 
     799msgstr "L'afficher." 
    800800 
    801801#, php-format 
     
    10381038#, fuzzy, php-format 
    10391039msgid "Path <strong>%s</strong> is not writable." 
    1040 msgstr "Le répertoire <strong>%s</strong> n'est pas accessible en écriture." 
     1040msgstr "Le répertoire de cache <strong>%s</strong> n'est pas accessible en écriture." 
    10411041 
    10421042#, fuzzy 
     
    11231123#, php-format 
    11241124msgid "You can change your user language in your <a href=\"%1$s\">preferences</a> or change your blog's main language in your <a href=\"%2$s\">blog settings</a>." 
    1125 msgstr "Vous pouvez changer votre langue d'utilisateur dans vos <a href=\"%1$s\">préférences</a> ou changer la langue principale de votre blog dans vos <a href=\"%2$s\">paramètres du blog</a>." 
     1125msgstr "Vous pouvez changer votre langue d'utilisateur dans vos <a href=\"%1$s\">préférences</a> ou changer la langue principale de votre blog dans vos <a href=\"%2$s\">Paramètres du blog</a>." 
    11261126 
    11271127msgid "Installed languages" 
     
    14901490 
    14911491msgid "Plugins" 
    1492 msgstr "Extensions" 
     1492msgstr "Plugins" 
    14931493 
    14941494msgid "Activated plugins" 
     
    15681568 
    15691569msgid "Search" 
    1570 msgstr "Recherche" 
     1570msgstr "Rechercher" 
    15711571 
    15721572msgid "cancel" 
     
    16281628 
    16291629msgid "Text formating:" 
    1630 msgstr "Format du texte :" 
     1630msgstr "Syntaxe de saisie :" 
    16311631 
    16321632msgid "Convert to XHTML" 
     
    17901790 
    17911791msgid "If you want to change your email or password you must provide your current password." 
    1792 msgstr "Si vous voulez changer votre adresse email ou votre mot de passe, vous devez indiquer votre mot de passe." 
     1792msgstr "Si vous voulez changer votre adresse email ou votre mot de passe, vous devez indiquer votre mot de passe actuel." 
    17931793 
    17941794msgid "No favorite selected" 
     
    18261826 
    18271827msgid "If you have changed this user email or password you must provide your current password to save these modifications." 
    1828 msgstr "Si vous voulez changer votre adresse email ou votre mot de passe, vous devez indiquer votre mot de passe." 
     1828msgstr "Si vous voulez changer votre adresse email ou votre mot de passe, vous devez indiquer votre mot de passe actuel pour enregistrer ces modifications." 
    18291829 
    18301830msgid "My options" 
     
    19231923msgstr "Requête :" 
    19241924 
    1925 msgid "Search entries" 
    1926 msgstr "Rechercher des billets" 
    1927  
    1928 msgid "Search comments" 
    1929 msgstr "Rechercher des commentaires" 
     1925msgid "Search in entries" 
     1926msgstr "Rechercher dans les billets" 
     1927 
     1928msgid "Search in comments" 
     1929msgstr "Rechercher dans les commentaires" 
    19301930 
    19311931msgid "schedule" 
     
    20672067 
    20682068msgid "Mandatory for password recovering procedure." 
    2069 msgstr "Obligatoire pour la procédure de récupération de mot de passe." 
     2069msgstr "Indispensable pour la procédure de récupération de mot de passe." 
    20702070 
    20712071msgid "Password change required to connect" 
     
    21772177msgstr "Aide" 
    21782178 
     2179msgid "Help about this page" 
     2180msgstr "Aide pour cette page" 
     2181 
    21792182msgid "uncover" 
    21802183msgstr "dévoiler" 
     
    22622265 
    22632266msgid "XHTML markup validator" 
    2264 msgstr "Validation XHTML" 
     2267msgstr "Vérifier la validité XHTML" 
    22652268 
    22662269msgid "XHTML content is valid." 
     
    29472950msgstr "Date de publication invalide" 
    29482951 
     2952msgid "System settings" 
     2953msgstr "Réglages système" 
     2954 
     2955msgid "Additional plugins" 
     2956msgstr "Modules complémentaires" 
     2957 
     2958msgid "Personal notes:" 
     2959msgstr "Notes personnelles :" 
     2960 
     2961msgid "New user" 
     2962msgstr "Nouvel utilisateur" 
     2963 
     2964msgid "Published" 
     2965msgstr "Publié" 
     2966 
     2967msgid "Unpublished" 
     2968msgstr "Non publié" 
     2969 
     2970msgid "Pending" 
     2971msgstr "En attente" 
     2972 
     2973msgid "Junk" 
     2974msgstr "Indésirable" 
     2975 
     2976msgid "Scheduled" 
     2977msgstr "Programmé" 
     2978 
     2979msgid "Protected" 
     2980msgstr "Protégé" 
     2981 
     2982msgid "Publish" 
     2983msgstr "Publier" 
     2984 
     2985msgid "Unpublish" 
     2986msgstr "Mettre hors ligne" 
     2987 
     2988msgid "Mark as pending" 
     2989msgstr "Mettre en attente" 
     2990 
     2991msgid "Mark as junk" 
     2992msgstr "Mettre en indésirable" 
     2993 
     2994msgid "Next entry" 
     2995msgstr "Billet suivant" 
     2996 
     2997msgid "Previous entry" 
     2998msgstr "Billet précédent" 
     2999 
     3000msgid "Add an introduction to the post." 
     3001msgstr "Ajoute une introduction au billet." 
     3002 
     3003msgid "Add unpublished notes." 
     3004msgstr "Ajoute des notes non publiées." 
     3005 
     3006msgid "Edit basename:" 
     3007msgstr "Modifier l'URL spécifique :" 
     3008 
     3009msgid "Protect with password" 
     3010msgstr "Protéger par un mot de passe" 
     3011 
     3012msgid "Information collected" 
     3013msgstr "Informations recueillies" 
     3014 
     3015msgid "Comment submitted" 
     3016msgstr "Commentaire déposé" 
     3017 
     3018msgid "Entry status" 
     3019msgstr "État du billet" 
     3020 
     3021msgid "Publication date and hour" 
     3022msgstr "Date et heure de publication" 
     3023 
     3024msgid "Text formating" 
     3025msgstr "Syntaxe de saisie" 
     3026 
     3027msgid "Entry lang" 
     3028msgstr "Langue du billet" 
     3029 
     3030msgid "Password" 
     3031msgstr "Mot de passe" 
     3032 
     3033msgid "Edit basename" 
     3034msgstr "URL spécifique" 
     3035 
     3036msgid "Ordering" 
     3037msgstr "Classement" 
     3038 
     3039msgid "Filter posts list" 
     3040msgstr "Filtrer la liste des billets" 
     3041 
     3042msgid "entries per page" 
     3043msgstr "billets par page" 
     3044 
     3045msgid "Show" 
     3046msgstr "Afficher" 
     3047 
     3048msgid "Filter blogs list" 
     3049msgstr "Filtrer la liste des blogs" 
     3050 
     3051msgid "blogs per page" 
     3052msgstr "blogs par page" 
     3053 
     3054msgid "Filter comments and trackbacks list" 
     3055msgstr "Filtrer la liste des commentaires et rétroliens" 
     3056 
     3057msgid "comments per page" 
     3058msgstr "commentaires par page" 
     3059 
     3060msgid "Filter users list" 
     3061msgstr "Filtrer la liste des utilisateurs" 
     3062 
     3063msgid "users per page" 
     3064msgstr "utilisateurs par page" 
     3065 
     3066msgid "Available themes in your installation" 
     3067msgstr "Thèmes disponibles sur votre installation" 
     3068 
     3069msgid "You can also install themes by uploading or downloading zip files." 
     3070msgstr "Vous pouvez aussi installer des thèmes en déposant ou en téléchargeant des fichiers zip." 
     3071 
     3072msgid "Add themes to your installation" 
     3073msgstr "Ajouter des thèmes sur votre installation" 
     3074 
     3075msgid "Select this comment" 
     3076msgstr "Sélectionner ce commentaire" 
     3077 
     3078msgid "Next page" 
     3079msgstr "Page suivante" 
     3080 
     3081msgid "Previous page" 
     3082msgstr "Page précédente" 
     3083 
     3084msgid "Add an introduction to the page." 
     3085msgstr "Ajoute une introduction à la page." 
     3086 
    29493087msgid "(No cat)" 
    29503088msgstr "(aucune)" 
     
    29683106msgstr "très fort" 
    29693107 
     3108msgid "Confirm new password:" 
     3109msgstr "Confirmez le nouveau mot de passe :" 
     3110 
     3111msgid "Not selected" 
     3112msgstr "Non sélectionné" 
     3113 
     3114msgid "Back to comments list" 
     3115msgstr "Retour à la liste des commentaires" 
     3116 
     3117msgid "The current blog cannot be deleted." 
     3118msgstr "Le blog courant ne peut être détruit." 
     3119 
     3120msgid "Only superadmin can delete a blog." 
     3121msgstr "Seul un superadministrateur peut supprimer un blog." 
     3122 
     3123msgid "Invalid publication date" 
     3124msgstr "Date de publication invalide." 
     3125 
     3126msgid "Image alignment:" 
     3127msgstr "Alignement de l'image :" 
     3128 
     3129msgid "Finish the update" 
     3130msgstr "Finir la mise à jour" 
     3131 
     3132msgid "Information about this version" 
     3133msgstr "Informations sur cette version" 
     3134 
     3135msgid "Updates and modifications" 
     3136msgstr "Mises à jour et modifications" 
     3137 
     3138msgid "Back to user profile" 
     3139msgstr "Retour au profil utilisateur" 
     3140 
     3141msgid "Back to Blog appearance" 
     3142msgstr "Retour à Apparence du blog" 
     3143 
     3144msgid "Edit" 
     3145msgstr "Modifier" 
     3146 
     3147msgid "Display options" 
     3148msgstr "Options d\'affichage" 
     3149 
     3150msgid "Apply filters and display options" 
     3151msgstr "Appliquer les filtres et options d\'affichage" 
     3152 
     3153msgid "Back to entries list" 
     3154msgstr "Retour à la liste des billets" 
     3155 
     3156msgid "New author (author ID):" 
     3157msgstr "Nouvel auteur (identifiant utilisateur) :" 
     3158 
     3159msgid "Hidden" 
     3160msgstr "Masqué" 
     3161 
     3162msgid "Create a new category for the post(s)" 
     3163msgstr "Créer une nouvelle catégorie pour ce(s) billet(s)" 
     3164 
    29703165msgid "This category will be created when you will save your post." 
    29713166msgstr "Cette catégorie sera créée lorsque vous enregistrerez votre billet." 
  • locales/fr/main.po

    r1526 r1529  
    19901990msgstr "L'archive de Dotclear téléchargée semble être corrompue. Essayer de la <a %s>télécharger</a> à nouveau." 
    19911991 
     1992msgid "If this problem persists try to <a href="http://dotclear.org/download">update manually</a>." 
     1993msgstr "Si le problème persiste essayer de <a href="http://dotclear.org/download">mettre à jour manuellement</a>." 
     1994 
    19921995msgid "The following files of your Dotclear installation have been modified so we won't try to update your installation. Please try to <a href=\"http://dotclear.org/download\">update manually</a>." 
    19931996msgstr "Comme les fichiers suivants de votre installation de Dotclear ont été modifiés, votre installation ne peut être mise à jour. Merci de <a href=\"http://fr.dotclear.org/download\">mettre à jour manuellement</a>." 
     
    31593162msgid "Create a new category for the post(s)" 
    31603163msgstr "Créer une nouvelle catégorie pour ce(s) billet(s)" 
     3164 
     3165msgid "This category will be created when you will save your post." 
     3166msgstr "Cette catégorie sera créée lorsque vous enregistrerez votre billet." 
  • plugins/blogroll/index.php

    r1504 r1529  
    177177 
    178178<body> 
    179 <h2><?php echo html::escapeHTML($core->blog->name); ?> &rsaquo; <span class="page-title"><?php echo __('Blogroll'); ?></span></h2> 
     179<?php 
     180     echo dcPage::breadcrumb( 
     181          array( 
     182               html::escapeHTML($core->blog->name) => '', 
     183               '<span class="page-title">'.__('Blogroll').'</span>' => '' 
     184          )); 
     185?> 
    180186 
    181187<?php 
     
    277283'<div class="multi-part clear" id="add-link" title="'.__('Add a link').'">'. 
    278284'<form action="plugin.php" method="post" id="add-link-form">'. 
    279 '<fieldset><legend>'.__('Add a new link').'</legend>'. 
    280 '<p class="col"><label for="link_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').' '. 
     285'<h3>'.__('Add a new link').'</h3>'. 
     286'<p class="col"><label for="link_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label> '. 
    281287form::field('link_title',30,255,$link_title). 
    282 '</label></p>'. 
    283  
    284 '<p class="col"><label for="link_href" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('URL:').' '. 
     288'</p>'. 
     289 
     290'<p class="col"><label for="link_href" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('URL:').'</label> '. 
    285291form::field('link_href',30,255,$link_href). 
    286 '</label></p>'. 
    287  
    288 '<p class="col"><label for="link_desc">'.__('Description:').' '. 
     292'</p>'. 
     293 
     294'<p class="col"><label for="link_desc">'.__('Description:').'</label> '. 
    289295form::field('link_desc',30,255,$link_desc). 
    290 '</label></p>'. 
    291  
    292 '<p class="col"><label for="link_lang">'.__('Language:').' '. 
     296'</p>'. 
     297 
     298'<p class="col"><label for="link_lang">'.__('Language:').'</label> '. 
    293299form::field('link_lang',5,5,$link_lang). 
    294 '</label></p>'. 
     300'</p>'. 
    295301'<p>'.form::hidden(array('p'),'blogroll'). 
    296302$core->formNonce(). 
    297303'<input type="submit" name="add_link" value="'.__('Save').'" /></p>'. 
    298 '</fieldset>'. 
    299304'</form>'. 
    300305'</div>'; 
     
    303308'<div class="multi-part" id="add-cat" title="'.__('Add a category').'">'. 
    304309'<form action="plugin.php" method="post" id="add-category-form">'. 
    305 '<fieldset><legend>'.__('Add a new category').'</legend>'. 
    306 '<p><label for="cat_title" class=" classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').' '. 
    307 form::field('cat_title',30,255,$cat_title).'</label> '. 
     310'<h3>'.__('Add a new category').'</h3>'. 
     311'<p><label for="cat_title" class=" classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label> '. 
     312form::field('cat_title',30,255,$cat_title).' '. 
    308313form::hidden(array('p'),'blogroll'). 
    309314$core->formNonce(). 
    310315'<input type="submit" name="add_cat" value="'.__('Save').'" /></p>'. 
    311 '</fieldset>'. 
    312316'</form>'. 
    313317'</div>'; 
     
    318322     echo 
    319323     '<form action="plugin.php" method="post" id="import-links-form" enctype="multipart/form-data">'. 
    320      '<fieldset><legend>'.__('Import links').'</legend>'. 
    321      '<p><label for="links_file" class=" classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('OPML or XBEL File:').' '. 
    322      '<input type="file" id="links_file" name="links_file" /></label></p>'. 
     324     '<h3>'.__('Import links').'</h3>'. 
     325     '<p><label for="links_file" class=" classic required"><abbr title="'.__('Required field').'">*</abbr> '.__('OPML or XBEL File:').'</label> '. 
     326     '<input type="file" id="links_file" name="links_file" /></p>'. 
    323327     '<p>'.form::hidden(array('p'),'blogroll'). 
    324328     $core->formNonce(). 
    325329     '<input type="submit" name="import_links" value="'.__('Import').'" /></p>'. 
    326      '</fieldset>'. 
    327330     '</form>'; 
    328331} 
     
    330333     echo 
    331334     '<form action="plugin.php" method="post" id="import-links-form">'. 
    332      '<fieldset><legend>'.__('Import links').'</legend>'; 
     335     '<h3>'.__('Import links').'</h3>'; 
    333336     if (empty($imported)) { 
    334337          echo '<p>'.__('Nothing to import').'</p>'; 
     
    371374     } 
    372375     echo 
    373      '</fieldset>'. 
    374376     '</form>'; 
    375377} 
  • plugins/blogroll/index.php

    r1454 r1529  
    208208 
    209209<div class="multi-part" title="<?php echo __('Blogroll'); ?>"> 
     210 
     211<?php if (!$rs->isEmpty()) { ?> 
     212 
    210213<form action="plugin.php" method="post" id="links-form"> 
    211214<table class="maximal dragable"> 
     
    251254</tbody> 
    252255</table> 
    253 <?php 
    254      if (!$rs->isEmpty()) { 
    255           echo 
    256           '<div class="two-cols">'. 
    257           '<p class="col">'.form::hidden('links_order',''). 
    258           form::hidden(array('p'),'blogroll'). 
    259           $core->formNonce(). 
    260           '<input type="submit" name="saveorder" value="'.__('Save order').'" /></p>'. 
    261            
    262           '<p class="col right"><input type="submit" class="delete" name="removeaction"'. 
    263           ' value="'.__('Delete selected links').'" '. 
    264           'onclick="return window.confirm(\''.html::escapeJS( 
    265                __('Are you sure you want to delete selected links?')).'\');" /></p>'. 
    266           '</div>'; 
    267      } else { 
    268           echo 
    269           '<div><p>'.__('The link list is empty.').'</p></div>'; 
    270      } 
    271 ?> 
     256 
     257<div class="two-cols"> 
     258<p class="col"> 
     259<?php 
     260     echo  
     261     form::hidden('links_order',''). 
     262     form::hidden(array('p'),'blogroll'). 
     263     $core->formNonce(); 
     264?> 
     265<input type="submit" name="saveorder" value="<?php echo __('Save order'); ?>" /></p> 
     266<p class="col right"><input type="submit" class="delete" name="removeaction" 
     267      value="<?php echo __('Delete selected links'); ?>"  
     268      onclick="return window.confirm(' 
     269      <?php echo html::escapeJS(__('Are you sure you want to delete selected links?')); ?>');" /></p> 
     270</div> 
    272271</form> 
     272 
     273<?php 
     274} else { 
     275     echo '<div><p>'.__('The link list is empty.').'</p></div>'; 
     276} 
     277?> 
     278 
    273279</div> 
    274280 
  • plugins/pages/_install.php

    r1505 r1529  
    2020/* Create first page 
    2121-------------------------------------------------------- */ 
    22 $core->setBlog('default'); 
    23  
    2422$core->blog->settings->addNamespace('pages'); 
    2523 
Note: See TracChangeset for help on using the changeset viewer.

Sites map