Dotclear

Changeset 1620:542c321dc040


Ignore:
Timestamp:
08/30/13 10:37:08 (10 years ago)
Author:
franck <carnet.franck.paul@…>
Branch:
default
Parents:
1619:5d925866b5b3 (diff), 1593:0c884219a872 (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 into default

Files:
78 edited

Legend:

Unmodified
Added
Removed
  • admin/blog_pref.php

    r1537 r1620  
    174174                
    175175               if ($rs) { 
    176                     throw new Exception(__('That blog Id is already in use.')); 
     176                    throw new Exception(__('This blog ID is already used.')); 
    177177               } 
    178178          } 
     
    256256} 
    257257 
     258if ($standalone) { 
     259     $breadcrumb = dcPage::breadcrumb( 
     260          array( 
     261               html::escapeHTML($blog_name) => '', 
     262               '<span class="page-title">'.__('Blog settings').'</span>' => '' 
     263          )); 
     264} else { 
     265     $breadcrumb = dcPage::breadcrumb( 
     266          array( 
     267               __('System') => '', 
     268               __('Blogs') => 'blogs.php', 
     269               '<span class="page-title">'.__('Blog settings').' : '.html::escapeHTML($blog_name).'</span>' => '' 
     270          )); 
     271} 
     272 
    258273dcPage::open(__('Blog settings'), 
    259274     '<script type="text/javascript">'."\n". 
     
    272287     $core->callBehavior('adminBlogPreferencesHeaders'). 
    273288      
    274      dcPage::jsPageTabs() 
     289     dcPage::jsPageTabs(), 
     290     $breadcrumb 
    275291); 
    276292 
    277293if ($blog_id) 
    278294{ 
    279      echo '<h2>'.(!$standalone ? '<a href="blogs.php">'.__('Blogs').'</a> &rsaquo; ' : ''). 
    280      html::escapeHTML($blog_name).' &rsaquo; <span class="page-title">'. 
    281      __('Blog settings').'</span></h2>'; 
    282       
    283295     if (!empty($_GET['add'])) { 
    284           dcPage::message(__('Blog has been successfully created.')); 
     296          dcPage::success(__('Blog has been successfully created.')); 
    285297     } 
    286298      
    287299     if (!empty($_GET['upd'])) { 
    288           dcPage::message(__('Blog has been successfully updated.')); 
     300          dcPage::success(__('Blog has been successfully updated.')); 
    289301     } 
    290302      
     
    295307      
    296308     echo 
    297      '<fieldset><legend>'.__('Blog details').'</legend>'. 
     309     '<div class="fieldset"><h4>'.__('Blog details').'</h4>'. 
    298310     $core->formNonce(); 
    299311      
     
    301313     { 
    302314          echo 
    303           '<p><label for="blog_id" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog ID:'). 
    304           form::field('blog_id',30,32,html::escapeHTML($blog_id)).'</label></p>'. 
     315          '<p><label for="blog_id" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog ID:').'</label>'. 
     316          form::field('blog_id',30,32,html::escapeHTML($blog_id)).'</p>'. 
    305317          '<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p> '. 
    306318          '<p class="form-note warn">'.__('Please note that changing your blog ID may require changes in your public index.php file.').'</p>'; 
     
    308320      
    309321     echo 
    310      '<p><label for="blog_name" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog name:'). 
    311      form::field('blog_name',30,255,html::escapeHTML($blog_name)).'</label></p>'; 
     322     '<p><label for="blog_name" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog name:').'</label>'. 
     323     form::field('blog_name',30,255,html::escapeHTML($blog_name)).'</p>'; 
    312324      
    313325     if ($core->auth->isSuperAdmin()) 
    314326     { 
    315327          echo 
    316           '<p><label for="blog_url" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog URL:'). 
    317           form::field('blog_url',30,255,html::escapeHTML($blog_url)).'</label></p>'. 
    318            
    319           '<p><label for="url_scan">'.__('URL scan method:'). 
    320           form::combo('url_scan',$url_scan_combo,$blog_settings->system->url_scan).'</label></p>'. 
    321            
    322           '<p><label for="blog_status">'.__('Blog status:'). 
    323           form::combo('blog_status',$status_combo,$blog_status).'</label></p>'; 
     328          '<p><label for="blog_url" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog URL:').'</label>'. 
     329          form::field('blog_url',30,255,html::escapeHTML($blog_url)).'</p>'. 
     330           
     331          '<p><label for="url_scan">'.__('URL scan method:').'</label>'. 
     332          form::combo('url_scan',$url_scan_combo,$blog_settings->system->url_scan).'</p>'. 
     333           
     334          '<p><label for="blog_status">'.__('Blog status:').'</label>'. 
     335          form::combo('blog_status',$status_combo,$blog_status).'</p>'; 
    324336     } 
    325337      
     
    327339     '<p class="area"><label for="blog_desc">'.__('Blog description:').'</label>'. 
    328340     form::textarea('blog_desc',60,5,html::escapeHTML($blog_desc)).'</p>'. 
    329      '</fieldset>'; 
    330       
    331       
    332      echo 
    333      '<fieldset><legend>'.__('Blog configuration').'</legend>'. 
     341     '</div>'; 
     342      
     343      
     344     echo 
     345     '<div class="fieldset"><h4>'.__('Blog configuration').'</h4>'. 
    334346     '<div class="two-cols">'. 
    335347     '<div class="col">'. 
    336      '<p><label for="editor">'.__('Blog editor name:'). 
     348     '<p><label for="editor">'.__('Blog editor name:').'</label>'. 
    337349     form::field('editor',30,255,html::escapeHTML($blog_settings->system->editor)). 
    338      '</label></p>'. 
    339       
    340      '<p><label for="lang">'.__('Default language:'). 
     350     '</p>'. 
     351      
     352     '<p><label for="lang">'.__('Default language:').'</label>'. 
    341353     form::combo('lang',$lang_combo,$blog_settings->system->lang,'l10n'). 
    342      '</label></p>'. 
    343       
    344      '<p><label for="blog_timezone">'.__('Blog timezone:'). 
     354     '</p>'. 
     355      
     356     '<p><label for="blog_timezone">'.__('Blog timezone:').'</label>'. 
    345357     form::combo('blog_timezone',dt::getZones(true,true),html::escapeHTML($blog_settings->system->blog_timezone)). 
    346      '</label></p>'. 
    347  
    348      '<p><label for="copyright_notice">'.__('Copyright notice:'). 
     358     '</p>'. 
     359 
     360     '<p><label for="copyright_notice">'.__('Copyright notice:').'</label>'. 
    349361     form::field('copyright_notice',30,255,html::escapeHTML($blog_settings->system->copyright_notice)). 
    350      '</label></p>'. 
    351      '</div>'. 
    352       
    353      '<div class="col">'. 
    354      '<p><label for="post_url_format">'.__('New post URL format:'). 
     362     '</p>'. 
     363     '</div>'. 
     364      
     365     '<div class="col">'. 
     366     '<p><label for="post_url_format">'.__('New post URL format:').'</label>'. 
    355367     form::combo('post_url_format',$post_url_combo,html::escapeHTML($blog_settings->system->post_url_format)). 
    356      '</label></p>'. 
    357  
    358      '<p><label for="note_title_tag">'.__('Note title HTML tag:'). 
     368     '</p>'. 
     369 
     370     '<p><label for="note_title_tag">'.__('Note title HTML tag:').'</label>'. 
    359371     form::combo('note_title_tag',$note_title_tag_combo,$blog_settings->system->note_title_tag). 
    360      '</label></p>'. 
    361            
    362      '<p><label for="enable_xmlrpc" class="classic">'. 
     372     '</p>'. 
     373           
     374     '<p><label for="enable_xmlrpc" class="classic">'.'</label>'. 
    363375     form::checkbox('enable_xmlrpc','1',$blog_settings->system->enable_xmlrpc). 
    364      __('Enable XML/RPC interface').'</label></p>'; 
     376     __('Enable XML/RPC interface').'</p>'; 
    365377 
    366378     echo 
     
    385397     '</div>'. 
    386398     '<br class="clear" />'. //Opera sucks 
    387      '</fieldset>'; 
    388       
    389      echo 
    390      '<fieldset><legend>'.__('Comments and trackbacks').'</legend>'. 
     399     '</div>'; 
     400      
     401     echo 
     402     '<div class="fieldset"><h4>'.__('Comments and trackbacks').'</h4>'. 
     403 
    391404     '<div class="two-cols">'. 
     405 
    392406     '<div class="col">'. 
    393407     '<p><label for="allow_comments" class="classic">'. 
    394408     form::checkbox('allow_comments','1',$blog_settings->system->allow_comments). 
    395      __('Accept comments').'</label></p>'. 
    396       
     409     __('Accept comments').'</label></p>'.    
    397410     '<p><label for="comments_pub" class="classic">'. 
    398411     form::checkbox('comments_pub','1',!$blog_settings->system->comments_pub). 
    399      __('Moderate comments').'</label></p>'. 
    400       
     412     __('Moderate comments').'</label></p>'.  
    401413     '<p><label for="comments_ttl" class="classic">'.sprintf(__('Leave comments open for %s days'), 
    402414     form::field('comments_ttl',2,3,$blog_settings->system->comments_ttl)). 
    403415     '</label></p>'. 
    404      '<p class="form-note">'.__('Leave blank to disable this feature.').'</p>'. 
    405       
     416     '<p class="form-note">'.__('Leave blank to disable this feature.').'</p>'.  
    406417     '<p><label for="wiki_comments" class="classic">'. 
    407418     form::checkbox('wiki_comments','1',$blog_settings->system->wiki_comments). 
     
    412423     '<p><label for="allow_trackbacks" class="classic">'. 
    413424     form::checkbox('allow_trackbacks','1',$blog_settings->system->allow_trackbacks). 
    414      __('Accept trackbacks').'</label></p>'. 
    415       
     425     __('Accept trackbacks').'</label></p>'.  
    416426     '<p><label for="trackbacks_pub" class="classic">'. 
    417427     form::checkbox('trackbacks_pub','1',!$blog_settings->system->trackbacks_pub). 
    418      __('Moderate trackbacks').'</label></p>'. 
    419       
     428     __('Moderate trackbacks').'</label></p>'.     
    420429     '<p><label for="trackbacks_ttl" class="classic">'.sprintf(__('Leave trackbacks open for %s days'), 
    421430     form::field('trackbacks_ttl',2,3,$blog_settings->system->trackbacks_ttl)).'</label></p>'. 
    422      '<p class="form-note">'.__('Leave blank to disable this feature.').'</p>'. 
    423       
     431     '<p class="form-note">'.__('Leave blank to disable this feature.').'</p>'.  
    424432     '<p><label for="comments_nofollow" class="classic">'. 
    425433     form::checkbox('comments_nofollow','1',$blog_settings->system->comments_nofollow). 
    426434     __('Add "nofollow" relation on comments and trackbacks links').'</label></p>'. 
    427435     '</div>'. 
    428      '</div>'. 
    429436     '<br class="clear" />'. //Opera sucks 
    430      '</fieldset>'; 
    431       
    432      echo 
    433      '<fieldset><legend>'.__('Blog presentation').'</legend>'. 
     437 
     438     '</div>'. 
     439     '<br class="clear" />'. //Opera sucks 
     440     '</div>'; 
     441      
     442     echo 
     443     '<div class="fieldset"><h4>'.__('Blog presentation').'</h4>'. 
    434444     '<div class="two-cols">'. 
    435445     '<div class="col">'. 
    436      '<p><label for="date_format">'.__('Date format:'). 
     446     '<p><label for="date_format">'.__('Date format:').'</label>'. 
    437447     form::field('date_format',30,255,html::escapeHTML($blog_settings->system->date_format)). 
    438      '</label></p>'. 
    439       
    440      '<p><label for="time_format">'.__('Time format:'). 
     448     '</p>'. 
     449      
     450     '<p><label for="time_format">'.__('Time format:').'</label>'. 
    441451     form::field('time_format',30,255,html::escapeHTML($blog_settings->system->time_format)). 
    442      '</label></p>'. 
     452     '</p>'. 
    443453      
    444454     '<p><label for="use_smilies" class="classic">'. 
     
    466476    '</div>'. 
    467477     '<br class="clear" />'. //Opera sucks 
    468      '</fieldset>'; 
    469       
    470      echo 
    471      '<fieldset><legend>'.__('Media and images').'</legend>'. 
     478     '</div>'; 
     479      
     480     echo 
     481     '<div class="fieldset"><h4>'.__('Media and images').'</h4>'. 
    472482     '<div class="two-cols">'. 
    473483     '<div class="col">'. 
    474      '<h4>'.__('Generated image sizes (in pixels)').'</h4>'. 
     484     '<h5>'.__('Generated image sizes (in pixels)').'</h5>'. 
    475485     '<p class="field"><label for="media_img_t_size">'.__('Thumbnails:').' '. 
    476486     form::field('media_img_t_size',3,3,$blog_settings->system->media_img_t_size).'</label></p>'. 
     
    484494      
    485495     '<div class="col">'. 
    486      '<h4><label for="media_img_title_pattern">'.__('Inserted image title').'</label></h4>'. 
     496     '<h5><label for="media_img_title_pattern">'.__('Inserted image title').'</label></h5>'. 
    487497     '<p>'.__('This defines image tag title when you insert it in a post from the media manager. It is retrieved from the picture\'s metadata.').'</p>'. 
    488498     '<p>'.form::combo('media_img_title_pattern',$img_title_combo,html::escapeHTML($blog_settings->system->media_img_title_pattern)).'</p>'. 
     
    491501     __('Use original media date if possible').'</label></p>'. 
    492502 
    493      '<h4>'.__('Default image insertion attributes').'</h4>'. 
    494      '<p><label for="media_img_default_size">'.__('Image size:'). 
     503     '<h5>'.__('Default image insertion attributes').'</h5>'. 
     504     '<p><label for="media_img_default_size">'.__('Image size:').'</label>'. 
    495505     form::combo('media_img_default_size',$img_default_size_combo, 
    496506          (html::escapeHTML($blog_settings->system->media_img_default_size) != '' ? html::escapeHTML($blog_settings->system->media_img_default_size) : 'm')). 
    497      '</label></p>'. 
    498      '<p><label for="media_img_default_alignment">'.__('Image alignment'). 
     507     '</p>'. 
     508     '<p><label for="media_img_default_alignment">'.__('Image alignment:').'</label>'. 
    499509     form::combo('media_img_default_alignment',$img_default_alignment_combo,html::escapeHTML($blog_settings->system->media_img_default_alignment)). 
    500      '</label></p>'. 
     510     '</p>'. 
    501511     '<p><label for="media_img_default_link" class="classic">'. 
    502512     form::checkbox('media_img_default_link','1',$blog_settings->system->media_img_default_link). 
     
    504514     '</div>'. 
    505515     '</div>'. 
    506  
    507      '</fieldset>'; 
    508       
    509      echo 
    510      '<fieldset><legend>'.__('Search engines robots policy').'</legend>'; 
     516     '<br class="clear" />'. //Opera sucks 
     517 
     518     '</div>'; 
     519      
     520     echo 
     521     '<div class="fieldset"><h4>'.__('Search engines robots policy').'</h4>'; 
    511522      
    512523     $i = 0; 
     
    518529     } 
    519530      
    520      echo '</fieldset>'; 
     531     echo '</div>'; 
    521532      
    522533      
     
    540551     } else { 
    541552          if ($blog_id == $core->blog->id) { 
    542                echo '<p class="message">'.__('The current blog cannot be deleted').'</p>'; 
     553               echo '<p class="message">'.__('The current blog cannot be deleted.').'</p>'; 
    543554          } else { 
    544                echo '<p class="message">'.__('Only superadmin can delete a blog').'</p>'; 
     555               echo '<p class="message">'.__('Only superadmin can delete a blog.').'</p>'; 
    545556          } 
    546557     } 
  • admin/blog_pref.php

    r1615 r1620  
    111111# Image default size combo 
    112112$img_default_size_combo = array(); 
    113 $media = new dcMedia($core); 
    114 $img_default_size_combo[__('original')] = 'o'; 
    115 foreach ($media->thumb_sizes as $code => $size) { 
    116      $img_default_size_combo[__($size[2])] = $code; 
     113try { 
     114     $media = new dcMedia($core); 
     115     $img_default_size_combo[__('original')] = 'o'; 
     116     foreach ($media->thumb_sizes as $code => $size) { 
     117          $img_default_size_combo[__($size[2])] = $code; 
     118     } 
     119} catch (Exception $e) { 
     120     $core->error->add($e->getMessage()); 
    117121} 
    118122 
  • admin/index.php

    r1591 r1620  
    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) { 
     
    204226 
    205227if ($core->blog->status == 0) { 
    206      echo '<p class="static-msg">'.__('This blog is offline').'</p>'; 
     228     echo '<p class="static-msg">'.__('This blog is offline').'.</p>'; 
    207229} elseif ($core->blog->status == -1) { 
    208      echo '<p class="static-msg">'.__('This blog is removed').'</p>'; 
     230     echo '<p class="static-msg">'.__('This blog is removed').'.</p>'; 
    209231} 
    210232 
     
    305327     if ($i->count() > 0) 
    306328     { 
    307           $dashboardItems .= '<div>'; 
     329          $dashboardItems .= '<div class="db-item">'; 
    308330          foreach ($i as $v) { 
    309331               $dashboardItems .= $v; 
     
    339361               } 
    340362          } catch (Exception $e) { } 
    341            
     363      
    342364          echo 
    343365          '<div id="quick">'. 
    344366          '<h3>'.__('Quick entry').'</h3>'. 
    345           '<form id="quick-entry" action="post.php" method="post">'. 
    346           '<fieldset><legend>'.__('New entry').'</legend>'. 
    347           '<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 
     367          '<form id="quick-entry" action="post.php" method="post" class="fieldset">'. 
     368          '<h4>'.__('New entry').'</h4>'. 
     369          '<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'. 
    348370          form::field('post_title',20,255,'','maximal'). 
    349           '</label></p>'. 
     371          '</p>'. 
    350372          '<p class="area"><label class="required" '. 
    351373          'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
    352374          form::textarea('post_content',50,7). 
    353375          '</p>'. 
    354           '<p><label for="cat_id" class="classic">'.__('Category:').' '. 
    355           form::combo('cat_id',$categories_combo).'</label></p>'. 
     376          '<p><label for="cat_id" class="classic">'.__('Category:').'</label> '. 
     377          form::combo('cat_id',$categories_combo).'</p>'. 
    356378          ($core->auth->check('categories', $core->blog->id) 
    357379               ? '<div>'. 
    358                '<p id="new_cat">'.__('Add a new category').'</p>'. 
     380               '<p id="new_cat" class="q-cat">'.__('Add a new category').'</p>'. 
     381               '<p class="q-cat"><label for="new_cat_title">'.__('Title:').'</label> '. 
     382               form::field('new_cat_title',30,255,'','').'</p>'. 
     383               '<p class="q-cat"><label for="new_cat_parent">'.__('Parent:').'</label> '. 
     384               form::combo('new_cat_parent',$categories_combo,'',''). 
     385               '</p>'. 
    359386               '<p class="form-note info clear">'.__('This category will be created when you will save your post.').'</p>'. 
    360                '<p><label for="new_cat_title">'.__('Title:').' '. 
    361                form::field('new_cat_title',30,255,'','maximal').'</label></p>'. 
    362                '<p><label for="new_cat_parent">'.__('Parent:').' '. 
    363                form::combo('new_cat_parent',$categories_combo,'','maximal'). 
    364                '</label></p>'. 
    365387               '</div>' 
    366388               : ''). 
     
    376398          form::hidden('post_notes',''). 
    377399          '</p>'. 
    378           '</fieldset>'. 
    379400          '</form>'. 
    380401          '</div>'; 
  • admin/index.php

    r1558 r1620  
    247247} 
    248248 
     249$err = array(); 
     250 
     251# Check cache directory 
     252if (!is_dir(DC_TPL_CACHE)) { 
     253     $err[] = '<p>'.sprintf(__('Cache directory %s does not exist.'),DC_TPL_CACHE).'</p>'; 
     254} else if (!is_writable(DC_TPL_CACHE)) { 
     255     $err[] = '<p>'.sprintf(__('Cache directory %s is not writable.'),DC_TPL_CACHE).'</p>'; 
     256} 
     257 
     258# Check public directory 
     259if (!is_dir($core->blog->public_path)) { 
     260     $err[] = '<p>'.sprintf(__('Directory %s does not exist.'),$core->blog->public_path).'</p>'; 
     261} else if (!is_writable($core->blog->public_path)) { 
     262     $err[] = '<p>'.sprintf(__('Directory %s is not writable.'),$core->blog->public_path).'</p>'; 
     263} 
     264 
     265# Error list 
     266if (count($err) > 0) { 
     267     echo '<div class="error"><p><strong>Erreur&nbsp;:</strong></p>'. 
     268     '<ul><li>'.implode("</li><li>",$err).'</li></ul></div>'; 
     269} 
     270 
    249271# Plugins install messages 
    250272if (!empty($plugins_install['success'])) 
     
    267289# Dashboard columns (processed first, as we need to know the result before displaying the icons.) 
    268290$dashboardItems = ''; 
     291 
     292# Dotclear updates notifications 
     293if ($core->auth->isSuperAdmin() && is_readable(DC_DIGESTS)) 
     294{ 
     295     $updater = new dcUpdate(DC_UPDATE_URL,'dotclear',DC_UPDATE_VERSION,DC_TPL_CACHE.'/versions'); 
     296     $new_v = $updater->check(DC_VERSION); 
     297     $version_info = $new_v ? $updater->getInfoURL() : ''; 
     298      
     299     if ($updater->getNotify() && $new_v) { 
     300          $dashboardItems .= 
     301          '<div id="upg-notify" class="static-msg"><p>'.sprintf(__('Dotclear %s is available!'),$new_v).'</p> '. 
     302          '<ul><li><strong><a href="update.php">'.sprintf(__('Upgrade now'),$new_v).'</a></strong>'. 
     303          '</li><li><a href="update.php?hide_msg=1">'.__('Remind me later').'</a>'. 
     304          ($version_info ? ' </li><li>'.sprintf(__('<a href=\"%s\">Information about this version</a>.'),$version_info) : ''). 
     305          '</li></ul></div>'; 
     306     } 
     307} 
    269308 
    270309# Errors modules notifications 
  • admin/install/index.php

    r1583 r1620  
    190190          $core->auth->user_prefs->dashboard->put('doclinks',true,'boolean','',null,true); 
    191191          $core->auth->user_prefs->dashboard->put('dcnews',true,'boolean','',null,true); 
    192           $core->auth->user_prefs->dashboard->put('quickentry',false,'boolean','',null,true); 
     192          $core->auth->user_prefs->dashboard->put('quickentry',true,'boolean','',null,true); 
    193193 
    194194          # Add accessibility options 
     
    307307'<div id="main">'; 
    308308 
     309if (!is_writable(DC_TPL_CACHE)) { 
     310     echo '<div class="error"><p>'.sprintf(__('Cache directory %s is not writable.'),DC_TPL_CACHE).'</p></div>'; 
     311} 
     312 
    309313if ($can_install && !empty($err)) { 
    310314     echo '<div class="error"><p><strong>'.__('Errors:').'</strong></p>'.$err.'</div>'; 
     
    312316 
    313317if (!empty($_GET['wiz'])) { 
    314      echo '<p class="message">'.__('Configuration file has been successfully created.').'</p>'; 
     318     echo '<p class="success">'.__('Configuration file has been successfully created.').'</p>'; 
    315319} 
    316320 
     
    324328     '<form action="index.php" method="post">'. 
    325329     '<fieldset><legend>'.__('User information').'</legend>'. 
    326      '<p><label for="u_firstname">'.__('First Name:').' '. 
    327      form::field('u_firstname',30,255,html::escapeHTML($u_firstname)).'</label></p>'. 
    328      '<p><label for="u_name">'.__('Last Name:').' '. 
    329      form::field('u_name',30,255,html::escapeHTML($u_name)).'</label></p>'. 
    330      '<p><label for="u_email">'.__('Email:').' '. 
    331      form::field('u_email',30,255,html::escapeHTML($u_email)).'</label></p>'. 
     330     '<p><label for="u_firstname">'.__('First Name:').'</label> '. 
     331     form::field('u_firstname',30,255,html::escapeHTML($u_firstname)).'</p>'. 
     332     '<p><label for="u_name">'.__('Last Name:').'</label> '. 
     333     form::field('u_name',30,255,html::escapeHTML($u_name)).'</p>'. 
     334     '<p><label for="u_email">'.__('Email:').'</label> '. 
     335     form::field('u_email',30,255,html::escapeHTML($u_email)).'</p>'. 
    332336     '</fieldset>'. 
    333337      
     
    378382     $plugins_install_result. 
    379383      
    380      '<p>'.__('Dotclear has been successfully installed. Here is some useful information you should keep.').'</p>'. 
     384     '<p class="success">'.__('Dotclear has been successfully installed. Here is some useful information you should keep.').'</p>'. 
    381385      
    382386     '<h3>'.__('Your account').'</h3>'. 
  • admin/install/index.php

    r1553 r1620  
    267267 
    268268  <script type="text/javascript" src="../js/jquery/jquery.js"></script> 
     269  <?php echo dcPage::jsLoad('../js/jquery/jquery.pwstrength.js'); ?> 
    269270  <script type="text/javascript"> 
    270271  //<![CDATA[ 
     
    278279      $(this).val(this.value.replace(login_re,'')); 
    279280    }); 
     281     
     282     <?php echo "\$('#u_pwd').pwstrength({texts: ['". 
     283                    sprintf(__('Password strength: %s'),__('very weak'))."', '". 
     284                    sprintf(__('Password strength: %s'),__('weak'))."', '". 
     285                    sprintf(__('Password strength: %s'),__('mediocre'))."', '". 
     286                    sprintf(__('Password strength: %s'),__('strong'))."', '". 
     287                    sprintf(__('Password strength: %s'),__('very strong'))."']});\n"; ?> 
    280288     
    281289    $('#u_login').parent().after($('<input type="hidden" name="u_date" value="' + Date().toLocaleString() + '" />')); 
     
    329337      
    330338     '<fieldset><legend>'.__('Username and password').'</legend>'. 
    331      '<p><label for="u_login" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Username:').'</label> '. 
    332      form::field('u_login',30,32,html::escapeHTML($u_login)).'</p>'. 
    333      '<p><label for="u_pwd" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Password:').'</label> '. 
    334      form::password('u_pwd',30,255).'</p>'. 
    335      '<p><label for="u_pwd2" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Confirm password:').'</label> '. 
    336      form::password('u_pwd2',30,255).'</p>'. 
     339     '<p><label for="u_login" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Username:').' '. 
     340     form::field('u_login',30,32,html::escapeHTML($u_login)).'</label></p>'. 
     341     '<div class="pw-table">'. 
     342          '<p class="pw-cell">'. 
     343               '<label for="u_pwd" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('New password:').'</label>'. 
     344               form::password('u_pwd',30,255,'','','',false,' data-indicator="pwindicator" '). 
     345          '</p>'. 
     346          '<div id="pwindicator">'. 
     347          '    <div class="bar"></div>'. 
     348          '    <p class="label no-margin"></p>'. 
     349          '</div>'. 
     350     '</div>'. 
     351     '<p><label for="u_pwd2" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Confirm password:').' '. 
     352     form::password('u_pwd2',30,255).'</label></p>'. 
    337353     '</fieldset>'. 
    338354      
  • admin/post.php

    r1537 r1620  
    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); 
     
    316328} 
    317329 
     330if ($post_id) { 
     331     switch ($post_status) { 
     332          case 1: 
     333               $img_status = sprintf($img_status_pattern,__('Published'),'check-on.png'); 
     334               break; 
     335          case 0: 
     336               $img_status = sprintf($img_status_pattern,__('Unpublished'),'check-off.png'); 
     337               break; 
     338          case -1: 
     339               $img_status = sprintf($img_status_pattern,__('Scheduled'),'scheduled.png'); 
     340               break; 
     341          case -2: 
     342               $img_status = sprintf($img_status_pattern,__('Pending'),'check-wrn.png'); 
     343               break; 
     344          default: 
     345               $img_status = ''; 
     346     } 
     347     $edit_entry_str = __('&ldquo;%s&rdquo;'); 
     348     $page_title_edit = sprintf($edit_entry_str, html::escapeHTML($post_title)).' '.$img_status; 
     349} else { 
     350     $img_status = ''; 
     351} 
     352 
     353 
    318354dcPage::open($page_title.' - '.__('Entries'), 
    319355     dcPage::jsDatePicker(). 
     
    326362     $core->callBehavior('adminPostHeaders'). 
    327363     dcPage::jsPageTabs($default_tab). 
    328      $next_headlink."\n".$prev_headlink 
     364     $next_headlink."\n".$prev_headlink, 
     365     dcPage::breadcrumb( 
     366          array( 
     367               html::escapeHTML($core->blog->name) => '', 
     368               __('Entries') => 'posts.php', 
     369               '<span class="page-title">'.($post_id ? $page_title_edit : $page_title).'</span>' => '' 
     370          )) 
    329371); 
    330372 
    331373if (!empty($_GET['upd'])) { 
    332      dcPage::message(__('Entry has been successfully updated.')); 
     374     dcPage::success(__('Entry has been successfully updated.')); 
    333375} 
    334376elseif (!empty($_GET['crea'])) { 
    335      dcPage::message(__('Entry has been successfully created.')); 
     377     dcPage::success(__('Entry has been successfully created.')); 
    336378} 
    337379elseif (!empty($_GET['attached'])) { 
    338      dcPage::message(__('File has been successfully attached.')); 
     380     dcPage::success(__('File has been successfully attached.')); 
    339381} 
    340382elseif (!empty($_GET['rmattach'])) { 
    341      dcPage::message(__('Attachment has been successfully removed.')); 
     383     dcPage::success(__('Attachment has been successfully removed.')); 
    342384} 
    343385 
    344386if (!empty($_GET['creaco'])) { 
    345      dcPage::message(__('Comment has been successfully created.')); 
     387     dcPage::success(__('Comment has been successfully created.')); 
    346388} 
    347389 
     
    356398} 
    357399 
    358 echo '<h2>'.html::escapeHTML($core->blog->name).' &rsaquo; '.'<a href="posts.php">'.__('Entries').'</a> &rsaquo; <span class="page-title">'; 
    359 if ($post_id) { 
    360      switch ($post_status) { 
    361           case 1: 
    362                $img_status = sprintf($img_status_pattern,__('published'),'check-on.png'); 
    363                break; 
    364           case 0: 
    365                $img_status = sprintf($img_status_pattern,__('unpublished'),'check-off.png'); 
    366                break; 
    367           case -1: 
    368                $img_status = sprintf($img_status_pattern,__('scheduled'),'scheduled.png'); 
    369                break; 
    370           case -2: 
    371                $img_status = sprintf($img_status_pattern,__('pending'),'check-wrn.png'); 
    372                break; 
    373           default: 
    374                $img_status = ''; 
    375      } 
    376      $edit_entry_str = __('Edit entry &ldquo;%s&rdquo;'); 
    377      echo sprintf($edit_entry_str, html::escapeHTML($post_title)).' '.$img_status; 
    378 } else { 
    379      echo $page_title; 
    380 } 
    381 echo '</span></h2>'; 
    382  
    383400if ($post_id && $post->post_status == 1) { 
    384      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>'; 
     401     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>'; 
    385402} 
    386403if ($post_id) 
    387404{ 
    388      echo '<p>'; 
     405     echo '<p class="nav_prevnext">'; 
    389406     if ($prev_link) { echo $prev_link; } 
    390      if ($next_link && $prev_link) { echo ' - '; } 
     407     if ($next_link && $prev_link) { echo ' | '; } 
    391408     if ($next_link) { echo $next_link; } 
    392409      
     
    403420     exit; 
    404421} 
    405  
    406422/* Post form if we can edit post 
    407423-------------------------------------------------------- */ 
    408424if ($can_edit_post) 
    409425{ 
    410      echo '<div class="multi-part" title="'.__('Edit entry').'" id="edit-entry">'; 
     426     $sidebar_items = new ArrayObject(array( 
     427          'status-box' => array( 
     428               'title' => __('Status'), 
     429               'items' => array( 
     430                    'post_status' =>  
     431                         '<p class="entry-status"><label for="post_status" class="ib">'.__('Entry status').' '.$img_status.'</label>'. 
     432                         form::combo('post_status',$status_combo,$post_status,'maximal','',!$can_publish). 
     433                         '</p>', 
     434                    'post_dt' =>  
     435                         '<p><label for="post_dt" class="ib">'.__('Publication date and hour').'</label>'. 
     436                         form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')). 
     437                         '</p>', 
     438                    'post_lang' => 
     439                         '<p><label for="post_lang" class="ib">'.__('Entry lang').'</label>'. 
     440                         form::combo('post_lang',$lang_combo,$post_lang). 
     441                         '</p>', 
     442                    'post_format' => 
     443                         '<div>'. 
     444                         '<h5 id="label_format"><label for="post_format" class="ib">'.__('Text formating').'</label></h5>'. 
     445                         '<p>'.form::combo('post_format',$formaters_combo,$post_format,'maximal'). 
     446                         '</p>'. 
     447                         '<p>'.($post_id && $post_format != 'xhtml' ?  
     448                         '<a id="convert-xhtml" class="button maximal" href="post.php?id='.$post_id.'&amp;xconv=1">'. 
     449                         __('Convert to XHTML').'</a>' : '').'</p></div>')), 
     450          'metas-box' => array( 
     451               'title' => __('Ordering'), 
     452               'items' => array( 
     453                    'post_selected' =>  
     454                         '<p><label for="post_selected" class="classic">'. 
     455                         form::checkbox('post_selected',1,$post_selected).' '. 
     456                         __('Selected entry').'</label></p>', 
     457                    'cat_id' => 
     458                         '<p><label for="cat_id" class="ib">'.__('Category').'</label>'. 
     459                         form::combo('cat_id',$categories_combo,$cat_id,'maximal'). 
     460                         '</p>'. 
     461                         ($core->auth->check('categories', $core->blog->id) ? 
     462                              '<div>'. 
     463                              '<h5 id="create_cat">'.__('Add a new category').'</h5>'. 
     464                              '<p><label for="new_cat_title">'.__('Title:').' '. 
     465                              form::field('new_cat_title',30,255,'','maximal').'</label></p>'. 
     466                              '<p><label for="new_cat_parent">'.__('Parent:').' '. 
     467                              form::combo('new_cat_parent',$categories_combo,'','maximal'). 
     468                              '</label></p>'. 
     469                              '</div>' 
     470                         : ''))), 
     471          'options-box' => array( 
     472               'title' => __('Options'), 
     473               'items' => array( 
     474                    'post_open_comment' => 
     475                         '<p><label for="post_open_comment" class="classic">'. 
     476                         form::checkbox('post_open_comment',1,$post_open_comment).' '. 
     477                         __('Accept comments').'</label></p>'. 
     478                         ($core->blog->settings->system->allow_comments ?  
     479                              (isContributionAllowed($post_id,strtotime($post_dt),true) ?  
     480                                   '' : 
     481                                   '<p class="form-note warn">'. 
     482                                   __('Warning: Comments are not more accepted for this entry.').'</p>') :  
     483                              '<p class="form-note warn">'. 
     484                              __('Warning: Comments are not accepted on this blog.').'</p>'), 
     485                    'post_open_tb' => 
     486                         '<p><label for="post_open_tb" class="classic">'. 
     487                         form::checkbox('post_open_tb',1,$post_open_tb).' '. 
     488                         __('Accept trackbacks').'</label></p>'. 
     489                         ($core->blog->settings->system->allow_trackbacks ?  
     490                              (isContributionAllowed($post_id,strtotime($post_dt),false) ?  
     491                                   '' : 
     492                                   '<p class="form-note warn">'. 
     493                                   __('Warning: Trackbacks are not more accepted for this entry.').'</p>') :  
     494                              '<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'), 
     495                    'post_password' => 
     496                         '<p><label for="post_password" class="ib">'.__('Password').'</label>'. 
     497                         form::field('post_password',10,32,html::escapeHTML($post_password),'maximal'). 
     498                         '</p>', 
     499                    'post_url' => 
     500                         '<div class="lockable">'. 
     501                         '<p><label for="post_url" class="ib">'.__('Edit basename').'</label>'. 
     502                         form::field('post_url',10,255,html::escapeHTML($post_url),'maximal'). 
     503                         '</p>'. 
     504                         '<p class="form-note warn">'. 
     505                         __('Warning: If you set the URL manually, it may conflict with another entry.'). 
     506                         '</p></div>' 
     507     )))); 
     508 
     509     $main_items = new ArrayObject(array( 
     510          "post_title" => 
     511               '<p class="col">'. 
     512               '<label class="required no-margin"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'. 
     513               form::field('post_title',20,255,html::escapeHTML($post_title),'maximal'). 
     514               '</p>', 
     515           
     516          "post_excerpt" => 
     517               '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'<span class="form-note">'. 
     518               __('Add an introduction to the post.').'</span></label> '. 
     519               form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)). 
     520               '</p>', 
     521           
     522          "post_content" => 
     523               '<p class="area"><label class="required" '. 
     524               'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
     525               form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). 
     526               '</p>', 
     527           
     528          "post_notes" => 
     529               '<p class="area" id="notes-area"><label for="post_notes">'.__('Personal notes:').'<span class="form-note">'. 
     530               __('Add unpublished notes.').'</span></label>'. 
     531               form::textarea('post_notes',50,5,html::escapeHTML($post_notes)). 
     532               '</p>' 
     533          ) 
     534     ); 
     535      
     536     # --BEHAVIOR-- adminPostFormItems 
     537     $core->callBehavior('adminPostFormItems',$main_items,$sidebar_items, isset($post) ? $post : null); 
     538 
     539     echo '<div class="multi-part" title="'.($post_id ? __('Edit entry') : __('New entry')).'" id="edit-entry">'; 
    411540     echo '<form action="post.php" method="post" id="entry-form">'; 
    412541     echo '<div id="entry-wrapper">'; 
    413542     echo '<div id="entry-content"><div class="constrained">'; 
     543 
     544     echo '<h3 class="hidden">'.__('Edit post').'</h3>'; 
     545      
     546     foreach ($main_items as $id => $item) { 
     547          echo $item; 
     548     } 
     549 
     550     # --BEHAVIOR-- adminPostForm (may be deprecated) 
     551     $core->callBehavior('adminPostForm',isset($post) ? $post : null); 
    414552      
    415553     echo 
    416      '<p class="col"><label class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 
    417      form::field('post_title',20,255,html::escapeHTML($post_title),'maximal'). 
    418      '</label></p>'. 
    419       
    420      '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'</label> '. 
    421      form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)). 
    422      '</p>'. 
    423       
    424      '<p class="area"><label class="required" '. 
    425      'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
    426      form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). 
    427      '</p>'. 
    428       
    429      '<p class="area" id="notes-area"><label for="post_notes">'.__('Notes:').'</label>'. 
    430      form::textarea('post_notes',50,5,html::escapeHTML($post_notes)). 
    431      '</p>'; 
    432       
    433      # --BEHAVIOR-- adminPostForm 
    434      $core->callBehavior('adminPostForm',isset($post) ? $post : null); 
    435       
    436      echo 
    437      '<p>'. 
     554     '<p class="border-top">'. 
    438555     ($post_id ? form::hidden('id',$post_id) : ''). 
    439556     '<input type="submit" value="'.__('Save').' (s)" '. 
     
    460577     echo '<div id="entry-sidebar">'; 
    461578      
    462      echo 
    463      '<p><label for="cat_id">'.__('Category:'). 
    464      form::combo('cat_id',$categories_combo,$cat_id,'maximal'). 
    465      '</label></p>'. 
    466       
    467      ($core->auth->check('categories', $core->blog->id) ? 
    468           '<div>'. 
    469           '<p id="new_cat">'.__('Add a new category').'</p>'. 
    470           '<p class="form-note info clear">'.__('This category will be created when you will save your post.').'</p>'. 
    471           '<p><label for="new_cat_title">'.__('Title:').' '. 
    472           form::field('new_cat_title',30,255,'','maximal').'</label></p>'. 
    473           '<p><label for="new_cat_parent">'.__('Parent:').' '. 
    474           form::combo('new_cat_parent',$categories_combo,'','maximal'). 
    475           '</label></p>'. 
    476           '</div>' 
    477      : ''). 
    478       
    479      '<p><label for="post_status">'.__('Entry status:'). 
    480      form::combo('post_status',$status_combo,$post_status,'','',!$can_publish). 
    481      '</label></p>'. 
    482       
    483      '<p><label for="post_dt">'.__('Published on:'). 
    484      form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')). 
    485      '</label></p>'. 
    486       
    487      '<p><label for="post_format">'.__('Text formating:'). 
    488      form::combo('post_format',$formaters_combo,$post_format). 
    489      '</label>'. 
    490      '</p>'. 
    491      '<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>'. 
    492       
    493      '<p><label for="post_open_comment" class="classic">'.form::checkbox('post_open_comment',1,$post_open_comment).' '. 
    494      __('Accept comments').'</label></p>'. 
    495      ($core->blog->settings->system->allow_comments ?  
    496           (isContributionAllowed($post_id,strtotime($post_dt),true) ?  
    497                '' : 
    498                '<p class="form-note warn">'.__('Warning: Comments are not more accepted for this entry.').'</p>') :  
    499           '<p class="form-note warn">'.__('Warning: Comments are not accepted on this blog.').'</p>'). 
    500  
    501      '<p><label for="post_open_tb" class="classic">'.form::checkbox('post_open_tb',1,$post_open_tb).' '. 
    502      __('Accept trackbacks').'</label></p>'. 
    503      ($core->blog->settings->system->allow_trackbacks ?  
    504           (isContributionAllowed($post_id,strtotime($post_dt),false) ?  
    505                '' : 
    506                '<p class="form-note warn">'.__('Warning: Trackbacks are not more accepted for this entry.').'</p>') :  
    507           '<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'). 
    508  
    509      '<p><label for="post_selected" class="classic">'.form::checkbox('post_selected',1,$post_selected).' '. 
    510      __('Selected entry').'</label></p>'. 
    511       
    512      '<p><label for="post_lang">'.__('Entry lang:'). 
    513      form::combo('post_lang',$lang_combo,$post_lang). 
    514      '</label></p>'. 
    515       
    516      '<p><label for="post_password">'.__('Entry password:'). 
    517      form::field('post_password',10,32,html::escapeHTML($post_password),'maximal'). 
    518      '</label></p>'. 
    519       
    520      '<div class="lockable">'. 
    521      '<p><label for="post_url">'.__('Basename:'). 
    522      form::field('post_url',10,255,html::escapeHTML($post_url),'maximal'). 
    523      '</label></p>'. 
    524      '<p class="form-note warn">'. 
    525      __('Warning: If you set the URL manually, it may conflict with another entry.'). 
    526      '</p>'. 
    527      '</div>'; 
    528       
    529      # --BEHAVIOR-- adminPostFormSidebar 
     579     foreach ($sidebar_items as $id => $c) { 
     580          echo '<div id="'.$id.'" class="box">'. 
     581               '<h4>'.$c['title'].'</h4>'; 
     582          foreach ($c['items'] as $e_name=>$e_content) { 
     583               echo $e_content; 
     584          } 
     585          echo '</div>'; 
     586     } 
     587      
     588      
     589     # --BEHAVIOR-- adminPostFormSidebar (may be deprecated) 
    530590     $core->callBehavior('adminPostFormSidebar',isset($post) ? $post : null); 
    531       
    532591     echo '</div>';      // End #entry-sidebar 
    533592 
     
    560619     if ($can_edit_post && $core->auth->check('publish,contentadmin',$core->blog->id)) 
    561620     { 
    562           $combo_action[__('publish')] = 'publish'; 
    563           $combo_action[__('unpublish')] = 'unpublish'; 
    564           $combo_action[__('mark as pending')] = 'pending'; 
    565           $combo_action[__('mark as junk')] = 'junk'; 
     621          $combo_action[__('Publish')] = 'publish'; 
     622          $combo_action[__('Unpublish')] = 'unpublish'; 
     623          $combo_action[__('Mark as pending')] = 'pending'; 
     624          $combo_action[__('Mark as junk')] = 'junk'; 
    566625     } 
    567626      
     
    571630     } 
    572631      
     632     echo 
     633     '<div id="comments" class="multi-part" title="'.__('Comments').'">'; 
     634           
    573635     # --BEHAVIOR-- adminCommentsActionsCombo 
    574636     $core->callBehavior('adminCommentsActionsCombo',array(&$combo_action)); 
    575637      
    576638     $has_action = !empty($combo_action) && (!$trackbacks->isEmpty() || !$comments->isEmpty()); 
    577       
    578      echo 
    579      '<div id="comments" class="multi-part" title="'.__('Comments').'">'; 
     639     echo  
     640     '<p class="top-add"><a class="button add onblog_link" href="#comment-form">'.__('Add a comment').'</a></p>'; 
    580641      
    581642     if ($has_action) { 
    582           echo '<form action="comments_actions.php" id="form-comments" method="post">'; 
    583      } 
    584       
    585      echo '<h3>'.__('Trackbacks').'</h3>'; 
     643          echo '<form action="comments_actions.php" id="form-comments" method="post" class="clear">'; 
     644     } 
     645      
     646     echo '<h3 class="clear">'.__('Trackbacks').'</h3>'; 
    586647      
    587648     if (!$trackbacks->isEmpty()) { 
     
    611672          '</form>'; 
    612673     } 
    613       
    614      echo '</div>'; 
    615 } 
    616  
    617 /* Add a comment 
    618 -------------------------------------------------------- */ 
    619 if ($post_id) 
    620 { 
     674     /* Add a comment 
     675     -------------------------------------------------------- */ 
     676 
    621677     echo 
    622      '<div class="multi-part" id="add-comment" title="'.__('Add a comment').'">'. 
     678     '<div class="fieldset clear">'. 
    623679     '<h3>'.__('Add a comment').'</h3>'. 
    624680      
    625681     '<form action="comment.php" method="post" id="comment-form">'. 
    626682     '<div class="constrained">'. 
    627      '<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>'. 
    628684     form::field('comment_author',30,255,html::escapeHTML($core->auth->getInfo('user_cn'))). 
    629      '</label></p>'. 
    630       
    631      '<p><label for="comment_email">'.__('Email:'). 
     685     '</p>'. 
     686      
     687     '<p><label for="comment_email">'.__('Email:').'</label>'. 
    632688     form::field('comment_email',30,255,html::escapeHTML($core->auth->getInfo('user_email'))). 
    633      '</label></p>'. 
    634       
    635      '<p><label for="comment_site">'.__('Web site:'). 
     689     '</p>'. 
     690      
     691     '<p><label for="comment_site">'.__('Web site:').'</label>'. 
    636692     form::field('comment_site',30,255,html::escapeHTML($core->auth->getInfo('user_url'))). 
    637      '</label></p>'. 
     693     '</p>'. 
    638694      
    639695     '<p class="area"><label for="comment_content" class="required"><abbr title="'.__('Required field').'">*</abbr> '. 
     
    645701     $core->formNonce(). 
    646702     '<input type="submit" name="add" value="'.__('Save').'" /></p>'. 
    647      '</div>'. 
     703     '</div>'. #constrained 
     704 
    648705     '</form>'. 
    649      '</div>'; 
     706     '</div>'. #add comment 
     707     '</div>'; #comments 
    650708} 
    651709 
     
    677735     echo 
    678736     '<table class="comments-list"><tr>'. 
    679      '<th colspan="2">'.__('Author').'</th>'. 
     737     '<th colspan="2" class="first">'.__('Author').'</th>'. 
    680738     '<th>'.__('Date').'</th>'. 
    681739     '<th class="nowrap">'.__('IP address').'</th>'. 
    682740     '<th>'.__('Status').'</th>'. 
    683      '<th>&nbsp;</th>'. 
     741     '<th>'.__('Edit').'</th>'. 
    684742     '</tr>'; 
    685743      
     
    691749          switch ($rs->comment_status) { 
    692750               case 1: 
    693                     $img_status = sprintf($img,__('published'),'check-on.png'); 
     751                    $img_status = sprintf($img,__('Published'),'check-on.png'); 
    694752                    break; 
    695753               case 0: 
    696                     $img_status = sprintf($img,__('unpublished'),'check-off.png'); 
     754                    $img_status = sprintf($img,__('Unpublished'),'check-off.png'); 
    697755                    break; 
    698756               case -1: 
    699                     $img_status = sprintf($img,__('pending'),'check-wrn.png'); 
     757                    $img_status = sprintf($img,__('Pending'),'check-wrn.png'); 
    700758                    break; 
    701759               case -2: 
    702                     $img_status = sprintf($img,__('junk'),'junk.png'); 
     760                    $img_status = sprintf($img,__('Junk'),'junk.png'); 
    703761                    break; 
    704762          } 
     
    715773          '<td class="nowrap status">'.$img_status.'</td>'. 
    716774          '<td class="nowrap status"><a href="'.$comment_url.'">'. 
    717           '<img src="images/edit-mini.png" alt="" title="'.__('Edit this comment').'" /></a></td>'. 
     775          '<img src="images/edit-mini.png" alt="" title="'.__('Edit this comment').'" /> '.__('Edit').'</a></td>'. 
    718776           
    719777          '</tr>'; 
     
    723781} 
    724782 
    725 dcPage::helpBlock('core_post','core_wiki'); 
     783dcPage::helpBlock('core_post','core_trackbacks','core_wiki'); 
    726784dcPage::close(); 
    727785?> 
  • admin/post.php

    r1619 r1620  
    147147          try { 
    148148               $core->media = new dcMedia($core); 
    149           } catch (Exception $e) {} 
     149          } catch (Exception $e) { 
     150               $core->error->add($e->getMessage()); 
     151          } 
    150152     } 
    151153} 
  • admin/style/install.css

    r1583 r1620  
    66     Please see http://dotclear.net/ for more details. 
    77*/ 
     8html { 
     9     font-size: 62.5%; 
     10} 
    811body.install { 
    9      font: 0.875em Helvetica,Arial,sans-serif; 
    10      color: #000; 
    11      background-color: #fff; 
    12      line-height: 1.5em; 
     12     font: 1.2rem/1.5 Arial,Helvetica,sans-serif; 
     13     color: #333; 
     14     background: #fff; 
     15     margin: 0; 
     16     padding: 0; 
    1317} 
    1418body.install #content { 
     
    2226} 
    2327body.install h1,h2 { 
    24      font-family: Helvetica,arial,sans-serif; 
     28     font-family: arial,Helvetica,sans-serif; 
    2529} 
    2630body.install h1 { 
  • admin/style/install.css

    r1330 r1620  
    158158     border: 1px solid #2C8FD1; 
    159159} 
     160 
     161 
     162/* --------------------------------------------------------------- password indcator */ 
     163.pw-table { 
     164     display: table; 
     165     margin-bottom: 1em; 
     166} 
     167.pw-cell { 
     168     display: table-cell; 
     169     margin-bottom: 1em; 
     170} 
     171#pwindicator { 
     172     display: table-cell; 
     173     vertical-align: bottom; 
     174     padding-left: 1.5em; 
     175     height: 3.8em; 
     176} 
     177#pwindicator .bar { 
     178     height: 6px; 
     179     margin-bottom: 4px; 
     180} 
     181.pw-very-weak .bar { 
     182     background: #900; 
     183     width: 30px; 
     184} 
     185.pw-weak .bar { 
     186     background: #c00; 
     187     width: 60px; 
     188} 
     189.pw-mediocre .bar { 
     190     background: #f60; 
     191     width: 90px; 
     192} 
     193.pw-strong .bar { 
     194     background: #060; 
     195     width: 120px; 
     196} 
     197.pw-very-strong .bar { 
     198     background: #0c0; 
     199     width: 150px; 
     200} 
  • admin/update.php

    r1591 r1620  
    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'])) { 
    183           dcPage::message(__('Manual checking of update done successfully.')); 
     186          dcPage::success(__('Manual checking of update done successfully.')); 
    184187     } 
    185188} 
     
    200203          echo 
    201204               '<p class="static-msg">'.sprintf(__('Dotclear %s is available.'),$new_v). 
    202                     ($version_info ? ' ('.sprintf(__('<a href=\"%s\">Information about this version</a>.'),$version_info).')' : ''). 
     205                    ($version_info ? ' <a href="'.$version_info.'">('.__('Information about this version').')</a>' : ''). 
    203206                    '</p>'. 
    204207           
  • admin/update.php

    r1553 r1620  
    249249     '<p class="message">'. 
    250250     __("Congratulations, you're one click away from the end of the update."). 
    251      ' <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>'. 
    252252     '</p>'; 
    253253} 
  • admin/user.php

    r1583 r1620  
    1515dcPage::checkSuper(); 
    1616 
    17 $page_title = __('new user'); 
     17$page_title = __('New user'); 
    1818 
    1919$user_id = ''; 
     
    187187      
    188188     # --BEHAVIOR-- adminUserHeaders 
    189      $core->callBehavior('adminUserHeaders') 
     189     $core->callBehavior('adminUserHeaders'), 
     190 
     191     dcPage::breadcrumb( 
     192          array( 
     193               __('System') => '', 
     194               __('Users') => 'users.php', 
     195               '<span class="page-title">'.$page_title.'</span>' => '' 
     196          )) 
    190197); 
    191198 
    192199if (!empty($_GET['upd'])) { 
    193      dcPage::message(__('User has been successfully updated.')); 
     200     dcPage::success(__('User has been successfully updated.')); 
    194201} 
    195202 
    196203if (!empty($_GET['add'])) { 
    197      dcPage::message(__('User has been successfully created.')); 
    198 } 
    199  
    200 echo '<h2><a href="users.php">'.__('Users').'</a> &rsaquo; <span class="page-title">'.$page_title.'</span></h2>'; 
     204     dcPage::success(__('User has been successfully created.')); 
     205} 
     206 
     207echo 
     208'<form action="user.php" method="post" id="user-form" class="fieldset">'. 
     209'<div class="two-cols">'. 
     210 
     211'<div class="col">'. 
     212'<h3>'.__('User profile').'</h3>'. 
     213 
     214'<p><label for="user_id" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('User ID:').'</label> '. 
     215form::field('user_id',20,255,html::escapeHTML($user_id)). 
     216'</p>'. 
     217'<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p>'; 
    201218 
    202219if ($user_id == $core->auth->userID()) { 
     
    231248 
    232249'<p><label for="new_pwd_c" '.($user_id != '' ? '' : 'class="required"').'>'. 
    233 ($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> ').__('Confirm password:').' '. 
     250($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> ').__('Confirm password:').'</label> '. 
    234251form::password('new_pwd_c',20,255). 
    235 '</label></p>'. 
    236  
    237 '<p><label for="user_name">'.__('Last Name:').' '. 
    238 form::field('user_name',20,255,html::escapeHTML($user_name)). 
    239 '</label></p>'. 
    240  
    241 '<p><label for="user_firstname">'.__('First Name:').' '. 
    242 form::field('user_firstname',20,255,html::escapeHTML($user_firstname)). 
    243 '</label></p>'. 
    244  
    245 '<p><label for="user_displayname">'.__('Display name:').' '. 
    246 form::field('user_displayname',20,255,html::escapeHTML($user_displayname)). 
    247 '</label></p>'. 
    248  
    249 '<p><label for="user_email">'.__('Email:').' '. 
    250 form::field('user_email',20,255,html::escapeHTML($user_email)). 
    251 '</label></p>'. 
    252 '<p class="form-note">'.__('Mandatory for password recovering procedure.').'</p>'. 
    253 '</div>'. 
    254  
    255 '<div class="col">'. 
    256 '<p><label for="user_url">'.__('URL:').' '. 
    257 form::field('user_url',30,255,html::escapeHTML($user_url)). 
    258 '</label></p>'. 
    259 '<p><label for="user_post_format">'.__('Preferred format:').' '. 
    260 form::combo('user_post_format',$formaters_combo,$user_options['post_format']). 
    261 '</label></p>'. 
    262  
    263 '<p><label for="user_post_status">'.__('Default entry status:').' '. 
    264 form::combo('user_post_status',$status_combo,$user_post_status). 
    265 '</label></p>'. 
    266  
    267 '<p><label for="user_edit_size">'.__('Entry edit field height:').' '. 
    268 form::field('user_edit_size',5,4,(integer) $user_options['edit_size']). 
    269 '</label></p>'. 
    270  
    271 '<p><label for="user_lang">'.__('User language:').' '. 
    272 form::combo('user_lang',$lang_combo,$user_lang,'l10n'). 
    273 '</label></p>'. 
    274  
    275 '<p><label for="user_tz">'.__('User timezone:').' '. 
    276 form::combo('user_tz',dt::getZones(true,true),$user_tz). 
    277 '</label></p>'; 
     252'</p>'; 
    278253 
    279254if ($core->auth->allowPassChange()) { 
     
    285260 
    286261$super_disabled = $user_super && $user_id == $core->auth->userID(); 
    287  
    288262echo 
    289263'<p><label for="user_super" class="classic">'.form::checkbox('user_super','1',$user_super,'','',$super_disabled).' '. 
    290264__('Super administrator').'</label></p>'. 
     265 
     266'<p><label for="user_name">'.__('Last Name:').'</label> '. 
     267form::field('user_name',20,255,html::escapeHTML($user_name)). 
     268'</p>'. 
     269 
     270'<p><label for="user_firstname">'.__('First Name:').'</label> '. 
     271form::field('user_firstname',20,255,html::escapeHTML($user_firstname)). 
     272'</p>'. 
     273 
     274'<p><label for="user_displayname">'.__('Display name:').'</label> '. 
     275form::field('user_displayname',20,255,html::escapeHTML($user_displayname)). 
     276'</p>'. 
     277 
     278'<p><label for="user_email">'.__('Email:').'</label> '. 
     279form::field('user_email',20,255,html::escapeHTML($user_email)). 
     280'</p>'. 
     281'<p class="form-note">'.__('Mandatory for password recovering procedure.').'</p>'. 
     282 
     283'<p><label for="user_url">'.__('URL:').'</label> '. 
     284form::field('user_url',30,255,html::escapeHTML($user_url)). 
     285'</p>'. 
    291286'</div>'. 
    292 '</div>'. 
    293 '</fieldset>'; 
     287 
     288'<div class="col">'. 
     289'<h3>'.__('Options').'</h3>'. 
     290'<h4>'.__('Interface').'</h4>'. 
     291'<p><label for="user_lang">'.__('Language:').'</label> '. 
     292form::combo('user_lang',$lang_combo,$user_lang,'l10n'). 
     293'</p>'. 
     294 
     295'<p><label for="user_tz">'.__('Timezone:').'</label> '. 
     296form::combo('user_tz',dt::getZones(true,true),$user_tz). 
     297'</p>'. 
     298 
     299'<h4>'.__('Edition').'</h4>'. 
     300'<p><label for="user_post_format">'.__('Preferred format:').'</label> '. 
     301form::combo('user_post_format',$formaters_combo,$user_options['post_format']). 
     302'</p>'. 
     303 
     304'<p><label for="user_post_status">'.__('Default entry status:').'</label> '. 
     305form::combo('user_post_status',$status_combo,$user_post_status). 
     306'</p>'. 
     307 
     308'<p><label for="user_edit_size">'.__('Entry edit field height:').'</label> '. 
     309form::field('user_edit_size',5,4,(integer) $user_options['edit_size']). 
     310'</p>'; 
    294311 
    295312# --BEHAVIOR-- adminUserForm 
    296313$core->callBehavior('adminUserForm',isset($rs) ? $rs : null); 
    297314 
     315echo  
     316'</div>'. 
     317'</div>'; 
     318 
     319 
    298320echo 
    299 '<p><label for="your_pwd" '.($user_id != '' ? '' : 'class="required"').'>'. 
    300 ($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> ').__('Your password:'). 
    301 form::password('your_pwd',20,255).'</label></p>'. 
     321'<p class="clear border-top"><label for="your_pwd" class="required">'. 
     322'<abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label>'. 
     323form::password('your_pwd',20,255).'</p>'. 
    302324'<p class="clear"><input type="submit" name="save" accesskey="s" value="'.__('Save').'" />'. 
    303325($user_id != '' ? '' : ' <input type="submit" name="saveplus" value="'.__('Save and create another').'" />'). 
     
    310332if ($user_id) 
    311333{ 
    312      echo '<div class="clear fieldset"><h3>'.__('Permissions').'</h3>'. 
    313      '<form action="users_actions.php" method="post">'. 
    314      '<p><input type="submit" value="'.__('Add new permissions').'" />'. 
    315      form::hidden(array('redir'),'user.php?id='.$user_id). 
    316      form::hidden(array('action'),'blogs'). 
    317      form::hidden(array('users[]'),$user_id). 
    318      $core->formNonce(). 
    319      '</p>'. 
    320      '</form>'; 
    321       
    322      $permissions = $core->getUserPermissions($user_id); 
    323      $perm_types = $core->auth->getPermissionsTypes(); 
    324       
    325      if (count($permissions) == 0) 
     334     echo '<div class="clear fieldset">'. 
     335     '<h3>'.__('Permissions').'</h3>'; 
     336 
     337     if (!$user_super) 
    326338     { 
    327           echo '<p>'.__('No permissions.').'</p>'; 
    328      } 
    329      else 
    330      { 
    331           foreach ($permissions as $k => $v) 
     339          echo 
     340          '<form action="users_actions.php" method="post">'. 
     341          '<p><input type="submit" value="'.__('Add new permissions').'" />'. 
     342          form::hidden(array('redir'),'user.php?id='.$user_id). 
     343          form::hidden(array('action'),'blogs'). 
     344          form::hidden(array('users[]'),$user_id). 
     345          $core->formNonce(). 
     346          '</p>'. 
     347          '</form>'; 
     348           
     349          $permissions = $core->getUserPermissions($user_id); 
     350          $perm_types = $core->auth->getPermissionsTypes(); 
     351           
     352          if (count($permissions) == 0) 
    332353          { 
    333                if (count($v['p']) > 0) 
     354               echo '<p>'.__('No permissions so far.').'</p>'; 
     355          } 
     356          else 
     357          { 
     358               foreach ($permissions as $k => $v) 
    334359               { 
    335                     echo  
    336                     '<form action="users_actions.php" method="post">'. 
    337                     '<h4><a href="blog.php?id='.html::escapeHTML($k).'">'. 
    338                     html::escapeHTML($v['name']).'</a> ('.html::escapeHTML($k).')</h4>'; 
    339                      
    340                     echo '<ul>'; 
    341                     foreach ($v['p'] as $p => $V) { 
    342                          if (isset($perm_types[$p])) { 
    343                               echo '<li>'.__($perm_types[$p]).'</li>'; 
     360                    if (count($v['p']) > 0) 
     361                    { 
     362                         echo  
     363                         '<form action="users_actions.php" method="post">'. 
     364                         '<p class="blog-perm">'.__('Blog:').' <a href="blog.php?id='.html::escapeHTML($k).'">'. 
     365                         html::escapeHTML($v['name']).'</a> ('.html::escapeHTML($k).')</p>'; 
     366                          
     367                         echo '<ul class="ul-perm">'; 
     368                         foreach ($v['p'] as $p => $V) { 
     369                              if (isset($perm_types[$p])) { 
     370                                   echo '<li>'.__($perm_types[$p]).'</li>'; 
     371                              } 
    344372                         } 
     373                         echo 
     374                         '</ul>'. 
     375                         '<p class="add-perm"><input type="submit" class="reset" value="'.__('Change permissions').'" />'. 
     376                         form::hidden(array('redir'),'user.php?id='.$user_id). 
     377                         form::hidden(array('action'),'perms'). 
     378                         form::hidden(array('users[]'),$user_id). 
     379                         form::hidden(array('blogs[]'),$k). 
     380                         $core->formNonce(). 
     381                         '</p>'. 
     382                         '</form>'; 
    345383                    } 
    346                     echo '</ul>'. 
    347                     '<p><input type="submit" value="'.__('Change permissions').'" />'. 
    348                     form::hidden(array('redir'),'user.php?id='.$user_id). 
    349                     form::hidden(array('action'),'perms'). 
    350                     form::hidden(array('users[]'),$user_id). 
    351                     form::hidden(array('blogs[]'),$k). 
    352                     $core->formNonce(). 
    353                     '</p>'. 
    354                     '</form>'; 
    355                } 
    356           } 
    357      } 
    358       
     384               } 
     385          }     
     386 
     387     }  
     388     else { 
     389          echo '<p>'.sprintf(__('User %s is super admin.'),$user_id).'</p>'; 
     390     }     
    359391     echo '</div>'; 
    360392} 
  • admin/user.php

    r1609 r1620  
    172172dcPage::open($page_title, 
    173173     dcPage::jsConfirmClose('user-form'). 
     174     dcPage::jsLoad('js/jquery/jquery.pwstrength.js'). 
     175          '<script type="text/javascript">'."\n". 
     176          "//<![CDATA[\n". 
     177          "\$(function() {\n". 
     178          "    \$('#new_pwd').pwstrength({texts: ['". 
     179                    sprintf(__('Password strength: %s'),__('very weak'))."', '". 
     180                    sprintf(__('Password strength: %s'),__('weak'))."', '". 
     181                    sprintf(__('Password strength: %s'),__('mediocre'))."', '". 
     182                    sprintf(__('Password strength: %s'),__('strong'))."', '". 
     183                    sprintf(__('Password strength: %s'),__('very strong'))."']});\n". 
     184          "});\n". 
     185          "\n//]]>\n". 
     186          "</script>\n". 
    174187      
    175188     # --BEHAVIOR-- adminUserHeaders 
     
    211224 
    212225echo 
    213 '<p><label for="new_pwd" '.($user_id != '' ? '' : 'class="required"').'>'. 
    214 ($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> '). 
    215 ($user_id != '' ? __('New password:') : __('Password:')).'</label> '. 
    216 form::password('new_pwd',20,255). 
    217 '</p>'. 
     226'<form action="user.php" method="post" id="user-form">'. 
     227'<fieldset><legend>'.__('User information').'</legend>'. 
     228'<div class="two-cols">'. 
     229'<div class="col">'. 
     230'<p><label for="user_id" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Username:').' '. 
     231form::field('user_id',20,255,html::escapeHTML($user_id)). 
     232'</label></p>'. 
     233'<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p>'. 
     234 
     235'<div class="pw-table">'. 
     236     '<p class="pw-cell">'. 
     237          '<label for="new_pwd" '.($user_id != '' ? '' : 'class="required"').'>'. 
     238          ($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> '). 
     239          ($user_id != '' ? __('New password:') : __('Password:')).'</label>'. 
     240          form::password('new_pwd',20,255,'','','',false,' data-indicator="pwindicator" '). 
     241     '</p>'. 
     242     '<div id="pwindicator">'. 
     243     '    <div class="bar"></div>'. 
     244    '    <p class="label no-margin"></p>'. 
     245    '</div>'. 
     246'</div>'. 
    218247'<p class="form-note">'.__('Password must contain at least 6 characters.').'</p>'. 
    219248 
  • admin/users_actions.php

    r1555 r1620  
    131131/* DISPLAY 
    132132-------------------------------------------------------- */ 
     133if (!empty($users) && empty($blogs) && $action == 'blogs') { 
     134     $breadcrumb = dcPage::breadcrumb( 
     135          array( 
     136               __('System') => '', 
     137               __('Users') => 'users.php', 
     138               '<span class="page-title">'.__('Permissions').'</span>' => '' 
     139          )); 
     140} else { 
     141     $breadcrumb = dcPage::breadcrumb( 
     142          array( 
     143               __('System') => '', 
     144               __('Users') => 'users.php', 
     145               '<span class="page-title">'.__('Actions').'</span>' => '' 
     146          )); 
     147} 
     148 
    133149dcPage::open( 
    134150     __('Users'), 
    135151     dcPage::jsLoad('js/_users_actions.js'). 
    136152     # --BEHAVIOR-- adminUsersActionsHeaders 
    137      $core->callBehavior('adminUsersActionsHeaders') 
     153     $core->callBehavior('adminUsersActionsHeaders'), 
     154     $breadcrumb 
    138155); 
    139156 
     
    162179} 
    163180 
     181echo '<p><a class="back" href="'.html::escapeURL($redir).'">'.__('Back to user profile').'</a></p>'; 
     182 
    164183# --BEHAVIOR-- adminUsersActionsContent 
    165184$core->callBehavior('adminUsersActionsContent',$core,$action,$hidden_fields); 
     
    177196     } 
    178197      
    179      echo  
    180      '<h2><a href="users.php">'.__('Users').'</a> &rsaquo; <span class="page-title">'.__('Permissions').'</span></h2>'. 
     198     echo 
    181199     '<p>'.sprintf( 
    182200          __('Choose one or more blogs to which you want to give permissions to users %s.'), 
     
    239257      
    240258     echo  
    241      '<h2><a href="users.php">'.__('Users').'</a> &rsaquo; <span class="page-title">'.__('Permissions').'</span></h2>'. 
    242259     '<p>'.sprintf( 
    243260          __('You are about to change permissions on the following blogs for users %s.'), 
     
    248265     foreach ($blogs as $b) 
    249266     { 
    250           echo '<h3><a href="blog.php?id='.html::escapeHTML($b).'">'.html::escapeHTML($b).'</a>'. 
     267          echo '<h3>'.('Blog:').' <a href="blog.php?id='.html::escapeHTML($b).'">'.html::escapeHTML($b).'</a>'. 
    251268          form::hidden(array('blogs[]'),$b).'</h3>'; 
    252269           
     
    268285      
    269286     echo 
    270      '<fieldset><legend>'.__('Validate permissions').'</legend>'. 
    271      '<p><label for="your_pwd" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Your password:'). 
    272      form::password('your_pwd',20,255).'</label></p>'. 
    273      '</fieldset>'. 
     287     '<div class="fieldset">'. 
     288     '<h3>'.__('Validate permissions').'</h3>'. 
     289     '<p><label for="your_pwd">'.__('Your password:').'</label>'. 
     290     form::password('your_pwd',20,255).'</p>'. 
    274291     '<p><input type="submit" accesskey="s" value="'.__('Save').'" />'. 
    275292     $hidden_fields. 
    276293     form::hidden(array('action'),'updateperm'). 
    277294     $core->formNonce().'</p>'. 
     295     '</div>'. 
    278296     '</form>'; 
    279297} 
    280  
    281 echo '<p><a class="back" href="'.html::escapeURL($redir).'">'.__('back').'</a></p>'; 
    282298 
    283299dcPage::close(); 
  • inc/admin/prepend.php

    r1592 r1620  
    261261          'images/menu/users.png','images/menu/users-b.png', 
    262262          null,null,null)); 
    263      $_fav['plugins'] = new ArrayObject(array('plugins','Plugins','plugins.php', 
     263     $_fav['plugins'] = new ArrayObject(array('plugins','Plugins management','plugins.php', 
    264264          'images/menu/plugins.png','images/menu/plugins-b.png', 
    265265          null,null,null)); 
     
    284284     # Set menu titles 
    285285      
    286      $_menu['System']->title = __('System'); 
     286     $_menu['System']->title = __('System settings'); 
    287287     $_menu['Blog']->title = __('Blog'); 
    288288     $_menu['Plugins']->title = __('Plugins'); 
     
    328328          preg_match('/langs.php(\?.*)?$/',$_SERVER['REQUEST_URI']), 
    329329          $core->auth->isSuperAdmin()); 
    330      $_menu['System']->prependItem(__('Plugins'),'plugins.php','images/menu/plugins.png', 
     330     $_menu['System']->prependItem(__('Plugins management'),'plugins.php','images/menu/plugins.png', 
    331331          preg_match('/plugins.php(\?.*)?$/',$_SERVER['REQUEST_URI']), 
    332332          $core->auth->isSuperAdmin()); 
  • inc/admin/prepend.php

    r1604 r1620  
    322322          $core->auth->check('usage,contentadmin',$core->blog->id),'menu-new-post'); 
    323323      
    324      $_menu['System']->prependItem(__('Updates'),'update.php','images/menu/update.png', 
     324     $_menu['System']->prependItem(__('Update'),'update.php','images/menu/update.png', 
    325325          preg_match('/update.php(\?.*)?$/',$_SERVER['REQUEST_URI']), 
    326326          $core->auth->isSuperAdmin() && is_readable(DC_DIGESTS)); 
  • inc/core/class.dc.blog.php

    r1570 r1620  
    8181               $this->desc = $b->blog_desc; 
    8282               $this->url = $b->blog_url; 
    83                $this->host = preg_replace('|^([a-z]{3,}://)(.*?)/.*$|','$1$2',$this->url); 
     83               $this->host = http::getHostFromURL($this->url); 
    8484               $this->creadt = strtotime($b->blog_creadt); 
    8585               $this->upddt = strtotime($b->blog_upddt); 
     
    9191               $this->public_path = path::fullFromRoot($this->settings->system->public_path,DC_ROOT); 
    9292                
    93                $this->post_status['-2'] = __('pending'); 
    94                $this->post_status['-1'] = __('scheduled'); 
    95                $this->post_status['0'] = __('unpublished'); 
    96                $this->post_status['1'] = __('published'); 
    97                 
    98                $this->comment_status['-2'] = __('junk'); 
    99                $this->comment_status['-1'] = __('pending'); 
    100                $this->comment_status['0'] = __('unpublished'); 
    101                $this->comment_status['1'] = __('published'); 
     93               $this->post_status['-2'] = __('Pending'); 
     94               $this->post_status['-1'] = __('Scheduled'); 
     95               $this->post_status['0'] = __('Unpublished'); 
     96               $this->post_status['1'] = __('Published'); 
     97                
     98               $this->comment_status['-2'] = __('Junk'); 
     99               $this->comment_status['-1'] = __('Pending'); 
     100               $this->comment_status['0'] = __('Unpublished'); 
     101               $this->comment_status['1'] = __('Published'); 
    102102                
    103103               # --BEHAVIOR-- coreBlogConstruct 
     
    300300          $counter = $this->getCategoriesCounter($c_params); 
    301301           
    302           $without_empty = $this->core->auth->userID() == false; # For public display 
     302          if (isset($params['without_empty']) && ($params['without_empty'] == false)) { 
     303               $without_empty = false; 
     304          } else { 
     305               $without_empty = $this->core->auth->userID() == false; # Get all categories if in admin display 
     306          } 
    303307           
    304308          $start = isset($params['start']) ? (integer) $params['start'] : 0; 
     
    550554          $this->triggerBlog(); 
    551555     } 
     556 
     557        /** 
     558        Set category position 
     559 
     560        @param  id              <b>integer</b>          Category ID 
     561        @param  left            <b>integer</b>          Category ID before 
     562        @param  right           <b>integer</b>          Category ID after 
     563        */ 
     564        public function updCategoryPosition($id,$left,$right) 
     565        { 
     566                $this->categories()->updatePosition($id,$left,$right); 
     567                $this->triggerBlog(); 
     568        } 
    552569      
    553570     /** 
  • inc/core/class.dc.blog.php

    r1610 r1620  
    203203     @param    ids       <b>mixed</b>        Comment(s) ID(s) 
    204204     @param    del       <b>boolean</b>      If comment is delete, set this to true 
    205      */ 
    206      public function triggerComments($ids,$del=false) 
    207      { 
    208           $co_ids = dcUtils::cleanIds($ids); 
    209            
    210           # a) Retrieve posts affected by comments edition 
     205     @param    affected_posts      <b>mixed</b>        Posts(s) ID(s) 
     206     */ 
     207     public function triggerComments($ids, $del=false, $affected_posts=null) 
     208     { 
     209          $comments_ids = dcUtils::cleanIds($ids); 
     210           
     211          # Get posts affected by comments edition 
     212          if (empty($affected_posts)) { 
     213               $strReq =  
     214                    'SELECT post_id '. 
     215                    'FROM '.$this->prefix.'comment '. 
     216                    'WHERE comment_id'.$this->con->in($comments_ids). 
     217                    'GROUP BY post_id'; 
     218                
     219               $rs = $this->con->select($strReq); 
     220                
     221               $affected_posts = array(); 
     222               while ($rs->fetch()) { 
     223                    $affected_posts[] = (integer) $rs->post_id; 
     224               } 
     225          } 
     226           
     227          if (!is_array($affected_posts) || empty($affected_posts)) { 
     228               return; 
     229          } 
     230           
     231          # Count number of comments if exists for affected posts 
    211232          $strReq =  
    212                'SELECT post_id, comment_trackback '. 
    213                'FROM '.$this->prefix.'comment '. 
    214                'WHERE comment_id'.$this->con->in($co_ids). 
    215                'GROUP BY post_id,comment_trackback'; 
    216            
    217           $rs = $this->con->select($strReq); 
    218            
    219           $a_ids = $a_tbs = array(); 
    220           while ($rs->fetch()) { 
    221                $a_ids[] = (integer) $rs->post_id; 
    222                $a_tbs[] = (integer) $rs->comment_trackback; 
    223           } 
    224            
    225           # b) Count comments of each posts previously retrieved 
    226           # Note that this does not return posts without comment 
    227           $strReq =  
    228                'SELECT post_id, COUNT(post_id) AS nb_comment,comment_trackback '. 
     233               'SELECT post_id, COUNT(post_id) AS nb_comment, comment_trackback '. 
    229234               'FROM '.$this->prefix.'comment '. 
    230235               'WHERE comment_status = 1 '. 
    231                (count($a_ids) > 0 ? 'AND post_id'.$this->con->in($a_ids) : ' '); 
    232            
    233           if ($del) { 
    234                $strReq .=  
    235                     'AND comment_id NOT'.$this->con->in($co_ids); 
    236           } 
    237            
    238           $strReq .=  
     236               'AND post_id'.$this->con->in($affected_posts). 
    239237               'GROUP BY post_id,comment_trackback'; 
    240238           
    241239          $rs = $this->con->select($strReq); 
    242240           
    243           $b_ids = $b_tbs = $b_nbs = array(); 
     241          $posts = array(); 
    244242          while ($rs->fetch()) { 
    245                $b_ids[] = (integer) $rs->post_id; 
    246                $b_tbs[] = (integer) $rs->comment_trackback; 
    247                $b_nbs[] = (integer) $rs->nb_comment; 
    248           } 
    249            
    250           # c) Update comments numbers on posts 
    251           # This compare previous requests to update also posts without comment 
     243               if ($rs->comment_trackback) { 
     244                    $posts[$rs->post_id]['trackback'] = $rs->nb_comment; 
     245               } else { 
     246                    $posts[$rs->post_id]['comment'] = $rs->nb_comment; 
     247               } 
     248          } 
     249           
     250          # Update number of comments on affected posts 
    252251          $cur = $this->con->openCursor($this->prefix.'post'); 
    253            
    254           foreach($a_ids as $a_key => $a_id) 
    255           { 
    256                $nb_comment = $nb_trackback = 0; 
    257                foreach($b_ids as $b_key => $b_id) 
    258                { 
    259                     if ($a_id != $b_id || $a_tbs[$a_key] != $b_tbs[$b_key]) { 
    260                          continue; 
    261                     } 
    262                      
    263                     if ($b_tbs[$b_key]) { 
    264                          $nb_trackback = $b_nbs[$b_key]; 
    265                     } else { 
    266                          $nb_comment = $b_nbs[$b_key]; 
    267                     } 
    268                } 
    269                 
    270                if ($a_tbs[$a_key]) { 
    271                     $cur->nb_trackback = $nb_trackback; 
     252          foreach($affected_posts as $post_id) 
     253          { 
     254               $cur->clean(); 
     255                
     256               if (!array_key_exists($post_id,$posts)) { 
     257                    $cur->nb_trackback = 0; 
     258                    $cur->nb_comment = 0; 
    272259               } else { 
    273                     $cur->nb_comment = $nb_comment; 
    274                } 
    275                $cur->update('WHERE post_id = '.$a_id); 
     260                    $cur->nb_trackback = empty($posts[$post_id]['trackback']) ? 0 : $posts[$post_id]['trackback']; 
     261                    $cur->nb_comment = empty($posts[$post_id]['comment']) ? 0 : $posts[$post_id]['comment']; 
     262               } 
     263                
     264               $cur->update('WHERE post_id = '.$post_id); 
    276265          } 
    277266     } 
     
    509498          $this->core->callBehavior('coreBeforeCategoryCreate',$this,$cur); 
    510499           
    511           $this->categories()->addNode($cur,$parent); 
     500          $id = $this->categories()->addNode($cur,$parent); 
     501          # Update category's cursor 
     502          $rs = $this->getCategory($id); 
     503          if (!$rs->isEmpty()) { 
     504               $cur->cat_lft = $rs->cat_lft; 
     505               $cur->cat_rgt = $rs->cat_rgt; 
     506          } 
    512507           
    513508          # --BEHAVIOR-- coreAfterCategoryCreate 
     
    739734     - no_content: Don't retrieve entry content (excerpt and content) 
    740735     - post_type: Get only entries with given type (default "post", array for many types and '' for no type) 
    741      - post_id: (integer) Get entry with given post_id 
     736     - post_id: (integer or array) Get entry with given post_id 
    742737     - post_url: Get entry with given post_url field 
    743738     - user_id: (integer) Get entries belonging to given user ID 
     
    759754     - limit: Limit parameter 
    760755     - sql_only : return the sql request instead of results. Only ids are selected 
     756     - exclude_post_id : (integer or array) Exclude entries with given post_id 
    761757      
    762758     Please note that on every cat_id or cat_url, you can add ?not to exclude 
     
    852848               } 
    853849               $strReq .= 'AND P.post_id '.$this->con->in($params['post_id']); 
     850          } 
     851           
     852          if (isset($params['exclude_post_id']) && $params['exclude_post_id'] !== '') { 
     853               if (is_array($params['exclude_post_id'])) { 
     854                    array_walk($params['exclude_post_id'],create_function('&$v,$k','if($v!==null){$v=(integer)$v;}')); 
     855               } else { 
     856                    $params['exclude_post_id'] = array((integer) $params['exclude_post_id']); 
     857               } 
     858               $strReq .= 'AND P.post_id NOT '.$this->con->in($params['exclude_post_id']); 
    854859          } 
    855860           
     
    22352240          $co_ids = dcUtils::cleanIds($ids); 
    22362241           
    2237           if (empty($ids)) { 
     2242          if (empty($co_ids)) { 
    22382243               throw new Exception(__('No such comment ID')); 
     2244          } 
     2245           
     2246          # Retrieve posts affected by comments edition 
     2247          $affected_posts = array(); 
     2248          $strReq = 
     2249               'SELECT post_id '. 
     2250               'FROM '.$this->prefix.'comment '. 
     2251               'WHERE comment_id'.$this->con->in($co_ids). 
     2252               'GROUP BY post_id'; 
     2253           
     2254          $rs = $this->con->select($strReq); 
     2255           
     2256          while ($rs->fetch()) { 
     2257               $affected_posts[] = (integer) $rs->post_id; 
    22392258          } 
    22402259           
     
    22662285           
    22672286          $this->con->execute($strReq); 
    2268           $this->triggerComments($co_ids,true); 
     2287          $this->triggerComments($co_ids, true, $affected_posts); 
    22692288          $this->triggerBlog(); 
    22702289     } 
     
    23212340           
    23222341          if ($cur->comment_site !== null && $cur->comment_site != '') { 
    2323                if (!preg_match('|^http(s?)://|',$cur->comment_site)) { 
     2342               if (!preg_match('|^http(s?)://|i',$cur->comment_site, $matches)) { 
    23242343                    $cur->comment_site = 'http://'.$cur->comment_site; 
     2344               }else{ 
     2345                    $cur->comment_site = strtolower($matches[0]).substr($cur->comment_site, strlen($matches[0])); 
    23252346               } 
    23262347          } 
  • locales/bn/main.po

    r1592 r1620  
    215215 
    216216#, fuzzy 
    217 msgid "That blog Id is already in use." 
     217msgid "This blog ID is already used." 
    218218msgstr "Dotclear ইতিমধ্যেই ইন্সটল করা আছে।" 
    219219 
     
    459459 
    460460#, php-format 
    461 msgid "You are currently using \"%s\"" 
     461msgid "You are currently using <strong>%s</strong>" 
    462462msgstr "আপনি বর্তমানে ব্যবহার করছেন \"%s\"" 
    463463 
     
    759759msgstr "মন্তব্যের লেখক:" 
    760760 
    761 msgid "You have one spam comments." 
     761msgid "You have one spam comment." 
    762762msgstr "আপনার একটি স্প্যাম মন্তব্য আছে।" 
    763763 
     
    21222122msgstr "সব সিলেক্ট করুন" 
    21232123 
    2124 msgid "invert selection" 
     2124msgid "Invert selection" 
    21252125msgstr "" 
    21262126 
  • locales/bn/main.po

    r1615 r1620  
    836836msgstr "পড়ে মনে করিয়ে দিও" 
    837837 
    838 msgid "information about this version" 
     838msgid "<a href=\"%s\">Information about this version</a>." 
    839839msgstr "" 
    840840 
     
    23972397msgstr "ব্লগ" 
    23982398 
    2399 msgid "Updates" 
     2399msgid "Update" 
    24002400msgstr "" 
    24012401 
  • locales/ca/main.po

    r1592 r1620  
    219219 
    220220#, fuzzy 
    221 msgid "That blog Id is already in use." 
     221msgid "This blog ID is already used." 
    222222msgstr "DotClear esta instal·lat." 
    223223 
     
    468468 
    469469#, php-format 
    470 msgid "You are currently using \"%s\"" 
     470msgid "You are currently using <strong>%s</strong>" 
    471471msgstr "" 
    472472 
     
    787787msgstr "Autor del comentari:" 
    788788 
    789 msgid "You have one spam comments." 
     789msgid "You have one spam comment." 
    790790msgstr "Te un comentari no desitjat." 
    791791 
     
    22002200msgstr "Seleccionar tot" 
    22012201 
    2202 msgid "invert selection" 
     2202msgid "Invert selection" 
    22032203msgstr "invertir la selecció" 
    22042204 
  • locales/ca/main.po

    r1615 r1620  
    867867msgstr "" 
    868868 
    869 msgid "information about this version" 
     869msgid "<a href=\"%s\">Information about this version</a>." 
    870870msgstr "" 
    871871 
     
    24782478msgstr "Blog" 
    24792479 
    2480 msgid "Updates" 
     2480msgid "Update" 
    24812481msgstr "" 
    24822482 
  • locales/cs/main.po

    r1592 r1620  
    214214msgstr "Zakázat vyhledavacím enginům indexovat nebo archivovat obsah blogu." 
    215215 
    216 msgid "That blog Id is already in use." 
     216msgid "This blog ID is already used." 
    217217msgstr "Blog ID je už použito." 
    218218 
     
    457457 
    458458#, php-format 
    459 msgid "You are currently using \"%s\"" 
     459msgid "You are currently using <strong>%s</strong>" 
    460460msgstr "Používáte \"%s\" vzhled" 
    461461 
     
    764764msgstr "Autor komentáře:" 
    765765 
    766 msgid "You have one spam comments." 
     766msgid "You have one spam comment." 
    767767msgstr "Máte jeden spam komentář." 
    768768 
     
    21262126msgstr "vybrat vše" 
    21272127 
    2128 msgid "invert selection" 
     2128msgid "Invert selection" 
    21292129msgstr "obrátit výběr" 
    21302130 
  • locales/cs/main.po

    r1615 r1620  
    844844msgstr "Připomenout později" 
    845845 
    846 msgid "information about this version" 
     846msgid "<a href=\"%s\">Information about this version</a>." 
    847847msgstr "" 
    848848 
     
    23992399msgstr "Blog" 
    24002400 
    2401 msgid "Updates" 
     2401msgid "Update" 
    24022402msgstr "Aktualizace" 
    24032403 
  • locales/da/main.po

    r1592 r1620  
    215215 
    216216#, fuzzy 
    217 msgid "That blog Id is already in use." 
     217msgid "This blog ID is already used." 
    218218msgstr "Dotclear er allerede installeret." 
    219219 
     
    459459 
    460460#, php-format 
    461 msgid "You are currently using \"%s\"" 
     461msgid "You are currently using <strong>%s</strong>" 
    462462msgstr "Du bruger lige nu \"%s\"" 
    463463 
     
    765765msgstr "Kommentar ejer:" 
    766766 
    767 msgid "You have one spam comments." 
     767msgid "You have one spam comment." 
    768768msgstr "Du har en spam kommentar." 
    769769 
     
    21342134msgstr "" 
    21352135 
    2136 msgid "invert selection" 
     2136msgid "Invert selection" 
    21372137msgstr "" 
    21382138 
  • locales/da/main.po

    r1615 r1620  
    845845msgstr "Påmind mig senere" 
    846846 
    847 msgid "information about this version" 
     847msgid "<a href=\"%s\">Information about this version</a>." 
    848848msgstr "" 
    849849 
     
    24092409msgstr "" 
    24102410 
    2411 msgid "Updates" 
     2411msgid "Update" 
    24122412msgstr "" 
    24132413 
  • locales/de/main.po

    r1592 r1620  
    212212msgstr "Erlaube Suchmaschinen weder das Durchsuchen und Archivieren des Inhaltes noch des Archivs dieses Blogs." 
    213213 
    214 msgid "That blog Id is already in use." 
     214msgid "This blog ID is already used." 
    215215msgstr "Diese Blog-ID wird schon verwendet." 
    216216 
     
    457457 
    458458#, php-format 
    459 msgid "You are currently using \"%s\"" 
     459msgid "You are currently using <strong>%s</strong>" 
    460460msgstr "Du verwendest gerade \"%s\"" 
    461461 
     
    763763msgstr "Autor des Kommentars" 
    764764 
    765 msgid "You have one spam comments." 
     765msgid "You have one spam comment." 
    766766msgstr "Du hast Spam in deinen Kommentaren." 
    767767 
     
    21262126msgstr "alles markieren" 
    21272127 
    2128 msgid "invert selection" 
     2128msgid "Invert selection" 
    21292129msgstr "Auswahl entfernen" 
    21302130 
  • locales/de/main.po

    r1615 r1620  
    841841msgstr "Erinnere mich später" 
    842842 
    843 msgid "information about this version" 
     843msgid "<a href=\"%s\">Information about this version</a>." 
    844844msgstr "Informationen zu dieser Version" 
    845845 
     
    24002400msgstr "Blog" 
    24012401 
    2402 msgid "Updates" 
     2402msgid "Update" 
    24032403msgstr "Aktualisierungen" 
    24042404 
  • locales/en/main.po

    r1592 r1620  
    211211msgstr "" 
    212212 
    213 msgid "That blog Id is already in use." 
     213msgid "This blog ID is already used." 
    214214msgstr "" 
    215215 
     
    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 
     
    20742074msgstr "" 
    20752075 
     2076msgid "Select:" 
     2077msgstr "" 
     2078 
    20762079msgid "no selection" 
    20772080msgstr "" 
     
    20802083msgstr "" 
    20812084 
    2082 msgid "invert selection" 
     2085msgid "Invert selection" 
    20832086msgstr "" 
    20842087 
     
    21592162 
    21602163msgid "You have unsaved changes. Switch post format will loose these changes. Proceed anyway?" 
    2161 msgstr "" 
    2162  
    2163 msgid "Warning: post format change will not convert existing content. You will need to apply new format by yourself. Proceed anyway?" 
    21642164msgstr "" 
    21652165 
  • locales/en/main.po

    r1615 r1620  
    829829msgstr "" 
    830830 
    831 msgid "information about this version" 
     831#, php-format 
     832msgid "<a href=\"%s\">Information about this version</a>." 
    832833msgstr "" 
    833834 
     
    23582359msgstr "" 
    23592360 
    2360 msgid "Updates" 
     2361msgid "Update" 
    23612362msgstr "" 
    23622363 
  • locales/eo/main.po

    r1592 r1620  
    211211msgstr "" 
    212212 
    213 msgid "That blog Id is already in use." 
     213msgid "This blog ID is already used." 
    214214msgstr "" 
    215215 
     
    453453 
    454454#, php-format 
    455 msgid "You are currently using \"%s\"" 
     455msgid "You are currently using <strong>%s</strong>" 
    456456msgstr "" 
    457457 
     
    750750msgstr "" 
    751751 
    752 msgid "You have one spam comments." 
     752msgid "You have one spam comment." 
    753753msgstr "" 
    754754 
     
    20732073msgstr "" 
    20742074 
    2075 msgid "invert selection" 
     2075msgid "Invert selection" 
    20762076msgstr "" 
    20772077 
  • locales/eo/main.po

    r1615 r1620  
    826826msgstr "" 
    827827 
    828 msgid "information about this version" 
     828msgid "<a href=\"%s\">Information about this version</a>." 
    829829msgstr "" 
    830830 
     
    23462346msgstr "" 
    23472347 
    2348 msgid "Updates" 
     2348msgid "Update" 
    23492349msgstr "" 
    23502350 
  • locales/es-ar/main.po

    r1592 r1620  
    217217 
    218218#, fuzzy 
    219 msgid "That blog Id is already in use." 
     219msgid "This blog ID is already used." 
    220220msgstr "Dotclear ya está instalado." 
    221221 
     
    460460 
    461461#, php-format 
    462 msgid "You are currently using \"%s\"" 
     462msgid "You are currently using <strong>%s</strong>" 
    463463msgstr "Actualmente usas \"%s\"" 
    464464 
     
    767767msgstr "Autor del comentario:" 
    768768 
    769 msgid "You have one spam comments." 
     769msgid "You have one spam comment." 
    770770msgstr "Tiene un comentario no deseado." 
    771771 
     
    21412141msgstr "seleccionar todo" 
    21422142 
    2143 msgid "invert selection" 
     2143msgid "Invert selection" 
    21442144msgstr "invertir la selección" 
    21452145 
  • locales/es-ar/main.po

    r1615 r1620  
    847847msgstr "Recordar mas tarde" 
    848848 
    849 msgid "information about this version" 
     849msgid "<a href=\"%s\">Information about this version</a>." 
    850850msgstr "" 
    851851 
     
    24162416msgstr "Blog" 
    24172417 
    2418 msgid "Updates" 
     2418msgid "Update" 
    24192419msgstr "Actualizaciones" 
    24202420 
  • locales/es/main.po

    r1592 r1620  
    218218 
    219219#, fuzzy 
    220 msgid "That blog Id is already in use." 
     220msgid "This blog ID is already used." 
    221221msgstr "Dotclear ya está instalado." 
    222222 
     
    462462 
    463463#, php-format 
    464 msgid "You are currently using \"%s\"" 
     464msgid "You are currently using <strong>%s</strong>" 
    465465msgstr "Actualmente está usando «%s»" 
    466466 
     
    769769msgstr "Autor del comentario:" 
    770770 
    771 msgid "You have one spam comments." 
     771msgid "You have one spam comment." 
    772772msgstr "Tiene un comentario no deseado." 
    773773 
     
    21392139msgstr "Seleccionar todo" 
    21402140 
    2141 msgid "invert selection" 
     2141msgid "Invert selection" 
    21422142msgstr "Invertir la selección" 
    21432143 
  • locales/es/main.po

    r1615 r1620  
    850850msgstr "Recordármelo más tarde" 
    851851 
    852 msgid "information about this version" 
     852msgid "<a href=\"%s\">Information about this version</a>." 
    853853msgstr "" 
    854854 
     
    24212421msgstr "Blog" 
    24222422 
    2423 msgid "Updates" 
     2423msgid "Update" 
    24242424msgstr "Actualizaciones" 
    24252425 
  • locales/eu/main.po

    r1592 r1620  
    211211msgstr "" 
    212212 
    213 msgid "That blog Id is already in use." 
     213msgid "This blog ID is already used." 
    214214msgstr "" 
    215215 
     
    453453 
    454454#, php-format 
    455 msgid "You are currently using \"%s\"" 
     455msgid "You are currently using <strong>%s</strong>" 
    456456msgstr "" 
    457457 
     
    750750msgstr "" 
    751751 
    752 msgid "You have one spam comments." 
     752msgid "You have one spam comment." 
    753753msgstr "" 
    754754 
     
    20732073msgstr "" 
    20742074 
    2075 msgid "invert selection" 
     2075msgid "Invert selection" 
    20762076msgstr "" 
    20772077 
  • locales/eu/main.po

    r1615 r1620  
    826826msgstr "" 
    827827 
    828 msgid "information about this version" 
     828msgid "<a href=\"%s\">Information about this version</a>." 
    829829msgstr "" 
    830830 
     
    23462346msgstr "" 
    23472347 
    2348 msgid "Updates" 
     2348msgid "Update" 
    23492349msgstr "" 
    23502350 
  • locales/fr/main.po

    r1592 r1620  
    8282msgstr "Changer votre mot de passe" 
    8383 
     84msgid "Change my password" 
     85msgstr "Changer mon mot de passe" 
     86 
    8487msgid "New password:" 
    8588msgstr "Nouveau mot de passe :" 
    8689 
    8790msgid "Confirm password:" 
    88 msgstr "Confirmez le mot de passe :" 
     91msgstr "Confirmer le mot de passe :" 
    8992 
    9093msgid "change" 
     
    9598 
    9699msgid "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é" 
     100msgstr "Ce mode vous permet de vous connecter sans activer de plugins. Il peut être utile pour résoudre un problème de compatibilité" 
    98101 
    99102msgid "Disable or delete any plugin suspected to cause trouble, then log out and log back in normally." 
     
    227230msgstr "Je souhaite que mon blog ne soit ni indexé ni archivé par les moteurs de recherche et archiveurs." 
    228231 
    229 msgid "That blog Id is already in use." 
     232msgid "This blog ID is already used." 
    230233msgstr "Cet identifiant est déjà utilisé." 
    231234 
     
    371374 
    372375msgid "This defines image tag title when you insert it in a post from the media manager. It is retrieved from the picture's metadata." 
    373 msgstr "Ceci définit le titre de la balise d'une image insérée depuis le gestionnaire de media. Les informations sont obtenues depuis les métadonnées de l'image." 
     376msgstr "Ceci définit le titre de la balise d'une image insérée depuis la médiathèque. Les informations sont obtenues depuis les métadonnées de l'image." 
    374377 
    375378msgid "Use original media date if possible" 
     
    481484 
    482485#, php-format 
    483 msgid "You are currently using \"%s\"" 
    484 msgstr "Vous utilisez actuellement \"%s\"" 
     486msgid "You are currently using <strong>%s</strong>" 
     487msgstr "Vous utilisez actuellement <strong>%s</strong>" 
    485488 
    486489msgid "Use selected theme" 
     
    601604 
    602605msgid "The category has been successfully removed." 
    603 msgstr "Catégorie supprimée avec succès." 
     606msgid_plural "The categories have been successfully removed." 
     607msgstr[0] "Catégorie supprimée avec succès." 
     608msgstr[1] "Catégories supprimées avec succès." 
    604609 
    605610msgid "Categories have been successfully reordered." 
     
    612617msgstr "Pas encore de catégorie." 
    613618 
    614 msgid "Categories list" 
    615 msgstr "Liste des catégories" 
     619msgid "List of blog\'s categories" 
     620msgstr "Liste des catégories du blog" 
    616621 
    617622#, php-format 
     
    647652msgstr "Choisissez une catégorie à supprimer :" 
    648653 
    649 msgid "And choose the category which will receive its entries:" 
    650 msgstr "Et sélectionnez la catégorie qui recevra ses (éventuels) billets :" 
     654msgid "Categories order" 
     655msgstr "Ordonnancement des catégories" 
     656 
     657msgid "Save categories order" 
     658msgstr "Enregistrer l'ordre des catégories" 
     659 
     660msgid "Choose the category which will receive its entries:" 
     661msgstr "Sélectionnez la catégorie qui recevra ses éventuels billets :" 
    651662 
    652663msgid "The entries cannot be moved to the category you choose to delete." 
     
    656667msgstr "Supprimer" 
    657668 
    658 msgid "Reorder categories" 
    659 msgstr "Réordonner les catégories" 
     669msgid "Reorder all categories on the top level" 
     670msgstr "Replacer toutes les catégories au premier niveau" 
    660671 
    661672msgid "This will relocate all categories on the top level" 
    662673msgstr "Ceci va déplacer toutes les catégories au premier niveau" 
     674 
     675msgid "To rearrange categories order, move items by drag and drop, then click on “Save categories order” button." 
     676msgstr "Pour modifier l\'ordre des catégories, déplacez les items par glisser-déposer puis cliquez sur le bouton \"Enregistrer l\'ordre des catégories\"." 
    663677 
    664678msgid "Reorder" 
     
    793807msgstr "Auteur du commentaire :" 
    794808 
    795 msgid "You have one spam comments." 
     809msgid "You have one spam comment." 
    796810msgstr "Vous avez un commentaire indésirable." 
    797811 
    798812msgid "Show it." 
    799 msgstr "L'afficher" 
     813msgstr "L'afficher." 
    800814 
    801815#, php-format 
     
    860874 
    861875msgid "Following plugins have been installed:" 
    862 msgstr "Les extensions suivantes ont été installées :" 
     876msgstr "Les plugins suivants ont été installés :" 
    863877 
    864878msgid "Following plugins have not been installed:" 
    865 msgstr "Les extensions suivantes n'ont pas été installées :" 
     879msgstr "Les plugins suivants n'ont pas été installés :" 
    866880 
    867881#, php-format 
     
    880894 
    881895msgid "Some plugins are installed twice:" 
    882 msgstr "Ces extensions sont installées en double :" 
     896msgstr "Ces plugins sont installés en double :" 
    883897 
    884898msgid "Quick entry" 
     
    10391053#, fuzzy, php-format 
    10401054msgid "Path <strong>%s</strong> is not writable." 
    1041 msgstr "Le répertoire <strong>%s</strong> n'est pas accessible en écriture." 
     1055msgstr "Le répertoire de cache <strong>%s</strong> n'est pas accessible en écriture." 
    10421056 
    10431057#, fuzzy 
     
    11241138#, php-format 
    11251139msgid "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>." 
    1126 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>." 
     1140msgstr "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>." 
    11271141 
    11281142msgid "Installed languages" 
     
    11921206 
    11931207msgid "Media manager" 
    1194 msgstr "Gestionnaire de médias" 
     1208msgstr "Médiathèque" 
    11951209 
    11961210msgid "Go to %s folder" 
     
    12641278msgstr "Taille maximale %s" 
    12651279 
     1280msgid "maximum size %s" 
     1281msgstr "taille maximale %s" 
     1282 
    12661283msgid "Private" 
    12671284msgstr "Privé" 
     
    14451462 
    14461463msgid "No content found on this plugin." 
    1447 msgstr "Aucun contenu pour cette extension." 
     1464msgstr "Aucun contenu pour ce plugin." 
    14481465 
    14491466msgid "Plugin not found" 
    1450 msgstr "Extension introuvable" 
     1467msgstr "Plugin introuvable" 
    14511468 
    14521469msgid "The plugin you reached does not exist or does not have an admin page." 
    1453 msgstr "L'extension que vous essayez d'atteindre n'existe pas ou n'a pas de page d'administration." 
     1470msgstr "Le plugin que vous essayez d'atteindre n'existe pas ou n'a pas de page d'administration." 
    14541471 
    14551472msgid "No such plugin." 
    1456 msgstr "Extension inexistante." 
     1473msgstr "Plugin inexistant." 
    14571474 
    14581475msgid "You don't have permissions to delete this plugin." 
    1459 msgstr "Vous n'avez pas les permissions pour effacer cette extension." 
     1476msgstr "Vous n'avez pas les permissions pour supprimer ce plugin." 
    14601477 
    14611478msgid "You don't have permissions to deactivate this plugin." 
    1462 msgstr "Vous n'avez pas les permissions pour désactiver cette extension." 
     1479msgstr "Vous n'avez pas les permissions pour désactiver ce plugin." 
    14631480 
    14641481msgid "Plugins management" 
    1465 msgstr "Gestion des extensions" 
     1482msgstr "Gestion des plugins" 
    14661483 
    14671484msgid "Plugin has been successfully deleted." 
    1468 msgstr "Extension supprimée avec succès." 
     1485msgstr "Plugin supprimé avec succès." 
    14691486 
    14701487msgid "Plugin has been successfully installed." 
    1471 msgstr "Extension installée avec succès." 
     1488msgstr "Plugin installé avec succès." 
    14721489 
    14731490msgid "Plugin has been successfully upgraded" 
    1474 msgstr "Extension mise à jour avec succès." 
     1491msgstr "Plugin mis à jour avec succès." 
    14751492 
    14761493msgid "Plugins add new functionalities to Dotclear. Here you can activate or deactivate installed plugins." 
    1477 msgstr "Les extensions ajoutent de nouvelles fonctionnalités à Dotclear. Ici, vous pouvez activer ou désactiver les extensions installées." 
     1494msgstr "Les plugins ajoutent de nouvelles fonctionnalités à Dotclear. Ici, vous pouvez activer ou désactiver les plugins installés." 
    14781495 
    14791496#, php-format 
    14801497msgid "You can find additional plugins for your blog on %s." 
    1481 msgstr "Vous pouvez trouver de nouvelles extensions pour votre blog sur %s." 
     1498msgstr "Vous pouvez trouver d'autres plugins pour votre blog sur %s." 
    14821499 
    14831500msgid "You can find additional plugins for your blog on %s or using the %s." 
    1484 msgstr "Vous pouvez trouver de nouvelles extensions pour votre blog sur %s ou en utilisant l'%s." 
     1501msgstr "Vous pouvez trouver d'autres plugins pour votre blog sur %s ou en utilisant l'%s." 
    14851502 
    14861503msgid "To install or upgrade a plugin you generally just need to upload it in \"Install or upgrade a plugin\" section." 
    1487 msgstr "Tout ce que vous avez à faire pour installer ou mettre à jour une extension est généralement de la déposer dans la section \"Installer ou mettre à jour une extension\"." 
     1504msgstr "Pour installer ou mettre à jour un plugin il suffit de le déposer grâce au formulaire de la section \"Installer ou mettre à jour un plugin\"." 
    14881505 
    14891506msgid "To install or upgrade a plugin you just need to extract it in your plugins directory." 
    1490 msgstr "Tout ce que vous avez à faire pour installer une extension est de l'extraire dans votre répertoire d'extensions." 
     1507msgstr "Pour installer un plugin il suffit de l'extraire dans votre répertoire de plugins." 
    14911508 
    14921509msgid "Plugins" 
    1493 msgstr "Extensions" 
     1510msgstr "Plugins" 
    14941511 
    14951512msgid "Activated plugins" 
    1496 msgstr "Extensions activées" 
     1513msgstr "Plugins activés" 
    14971514 
    14981515msgid "Plugin" 
    1499 msgstr "Extension" 
     1516msgstr "Plugin" 
    15001517 
    15011518msgid "Version" 
     
    15091526 
    15101527msgid "Deactivated plugins" 
    1511 msgstr "Extensions désactivées" 
     1528msgstr "Plugins désactivés" 
    15121529 
    15131530msgid "Activate" 
     
    15151532 
    15161533msgid "Install or upgrade a plugin" 
    1517 msgstr "Installer ou mettre à jour une extension" 
     1534msgstr "Installer ou mettre à jour un plugin" 
    15181535 
    15191536msgid "You can install plugins by uploading or downloading zip files." 
    1520 msgstr "Vous pouvez installer des extensions en déposant ou téléchargeant des fichiers zip." 
     1537msgstr "Vous pouvez installer des plugins en déposant ou téléchargeant des fichiers zip." 
    15211538 
    15221539msgid "Plugin zip file:" 
    1523 msgstr "Fichier zip de l'extension :" 
     1540msgstr "Fichier zip de du plugin :" 
    15241541 
    15251542msgid "Upload plugin" 
    1526 msgstr "Déposer l'extension" 
     1543msgstr "Déposer le plugin" 
    15271544 
    15281545msgid "Plugin zip file URL:" 
    1529 msgstr "URL du fichier zip de l'extension :" 
     1546msgstr "URL du fichier zip du plugin :" 
    15301547 
    15311548msgid "Download plugin" 
    1532 msgstr "Télécharger l'extension" 
     1549msgstr "Télécharger le plugin" 
    15331550 
    15341551msgid "To enable this function, please give write access to your plugins directory." 
    1535 msgstr "Pour activer cette fonction, donnez un accès en écriture à votre répertoire d'extensions." 
     1552msgstr "Pour activer cette fonction, donnez un accès en écriture à votre répertoire de plugins." 
    15361553 
    15371554msgid "Plugin from official distribution" 
    1538 msgstr "Extension de la distribution officielle" 
     1555msgstr "Plugin de la distribution officielle" 
    15391556 
    15401557msgid "Add a link" 
     
    15691586 
    15701587msgid "Search" 
    1571 msgstr "Recherche" 
     1588msgstr "Rechercher" 
    15721589 
    15731590msgid "cancel" 
     
    16291646 
    16301647msgid "Text formating:" 
    1631 msgstr "Format du texte :" 
     1648msgstr "Syntaxe de saisie :" 
    16321649 
    16331650msgid "Convert to XHTML" 
     
    16621679 
    16631680msgid "Ping blogs" 
    1664 msgstr "Faire des rétroliens" 
     1681msgstr "Envoyer des rétroliens" 
    16651682 
    16661683msgid "Trackbacks" 
     
    17901807msgstr "Défaut" 
    17911808 
    1792 msgid "If you want to change your email or password you must provide your current password." 
    1793 msgstr "Si vous voulez changer votre adresse email ou votre mot de passe, vous devez indiquer votre mot de passe." 
     1809msgid "If you have changed your email or password you must provide your current password to save these modifications." 
     1810msgstr "Si vous avez modifié votre adresse email ou votre mot de passe, vous devez indiquer votre mot de passe actuel pour enregistrer ces modifications." 
    17941811 
    17951812msgid "No favorite selected" 
     
    18231840msgstr "Langue de l'utilisateur :" 
    18241841 
     1842msgid "Language for my interface:" 
     1843msgstr "Langue de mon interface :" 
     1844 
    18251845msgid "User timezone:" 
    18261846msgstr "Fuseau horaire de l'utilisateur :" 
    18271847 
     1848msgid "My timezone:" 
     1849msgstr "Mon fuseau horaire :" 
     1850 
    18281851msgid "If you have changed this user email or password you must provide your current password to save these modifications." 
    1829 msgstr "Si vous voulez changer votre adresse email ou votre mot de passe, vous devez indiquer votre mot de passe." 
     1852msgstr "Si vous voulez changer votre adresse email ou votre mot de passe, vous devez indiquer votre mot de passe actuel pour enregistrer ces modifications." 
    18301853 
    18311854msgid "My options" 
     
    18451868 
    18461869msgid "Activate enhanced uploader in media manager" 
    1847 msgstr "Activer l'interface avancée du gestionnaire de médias" 
     1870msgstr "Activer l'interface avancée de la médiathèque" 
    18481871 
    18491872#, fuzzy 
     
    18551878 
    18561879msgid "Do not use standard favicon" 
    1857 msgstr "Ne pas utiliser le favicon standard" 
     1880msgstr "Ne pas utiliser le favicon standard de Dotclear" 
    18581881 
    18591882msgid "This will be applied for all users" 
    1860 msgstr "Ce choix sera actif pour tous les utilisateurs" 
     1883msgstr "Ce choix sera appliqué pour tous les utilisateurs" 
    18611884 
    18621885msgid "Accessibility options" 
     
    18641887 
    18651888msgid "Disable javascript powered drag and drop for ordering items" 
    1866 msgstr "Désactiver le drag and drop javascript pour ordonnancer les éléments" 
     1889msgstr "Désactiver le glisser-déposer pour ordonnancer les éléments" 
    18671890 
    18681891msgid "Numeric fields will allow to type the elements' ordering number." 
     
    18941917msgstr "Retirer les favoris sélectionnés" 
    18951918 
     1919msgid "Your current password:" 
     1920msgstr "Votre mot de passe actuel :" 
     1921 
     1922msgid "Update my profile" 
     1923msgstr "Mettre à jour mon profil" 
     1924 
    18961925msgid "Are you sure you want to remove selected favorites?" 
    18971926msgstr "Êtes-vous sûr de vouloir retirer les favoris sélectionnés ?" 
     
    19241953msgstr "Requête :" 
    19251954 
    1926 msgid "Search entries" 
    1927 msgstr "Rechercher des billets" 
    1928  
    1929 msgid "Search comments" 
    1930 msgstr "Rechercher des commentaires" 
     1955msgid "Search in entries" 
     1956msgstr "Rechercher dans les billets" 
     1957 
     1958msgid "Search in comments" 
     1959msgstr "Rechercher dans les commentaires" 
    19311960 
    19321961msgid "schedule" 
     
    20682097 
    20692098msgid "Mandatory for password recovering procedure." 
    2070 msgstr "Obligatoire pour la procédure de récupération de mot de passe." 
     2099msgstr "Indispensable pour la procédure de récupération de mot de passe." 
    20712100 
    20722101msgid "Password change required to connect" 
    2073 msgstr "Changement de mot de passe requis pour la connexion" 
     2102msgstr "Changement de mot de passe requis à la prochaine connexion" 
    20742103 
    20752104msgid "Save and create another" 
     
    21552184msgstr "Aller au menu" 
    21562185 
     2186msgid "Go to search" 
     2187msgstr "Aller à la recherche" 
     2188 
    21572189msgid "Go to site" 
    21582190msgstr "Aller sur le site" 
     
    21782210msgstr "Aide" 
    21792211 
     2212msgid "Help about this page" 
     2213msgstr "Aide pour cette page" 
     2214 
    21802215msgid "uncover" 
    21812216msgstr "dévoiler" 
     
    21872222msgstr "aide" 
    21882223 
     2224msgid "Select:" 
     2225msgstr "Sélectionner :" 
     2226 
    21892227msgid "no selection" 
    2190 msgstr "aucune sélection" 
     2228msgstr "aucun" 
    21912229 
    21922230msgid "select all" 
    2193 msgstr "tout sélectionner" 
    2194  
    2195 msgid "invert selection" 
    2196 msgstr "inverser la sélection" 
     2231msgstr "tous" 
     2232 
     2233msgid "Invert selection" 
     2234msgstr "Inverser la sélection" 
    21972235 
    21982236msgid "view entry" 
     
    22242262msgstr "Êtes-vous certain de vouloir supprimer la catégorie \"%s\" ?" 
    22252263 
     2264#, php-format 
     2265msgid "Are you sure you want to delete selected categories (%s)?" 
     2266msgstr "Êtes-vous certain de vouloir supprimer les categories sélectionnées (%s) ?" 
     2267 
    22262268msgid "Are you sure you want to reorder all categories?" 
    22272269msgstr "Êtes-vous certain de vouloir réinitialiser l'ordre des catégories ?" 
     
    22442286#, php-format 
    22452287msgid "Are you sure you want to delete \"%s\" plugin?" 
    2246 msgstr "Êtes-vous certain de vouloir supprimer l'extension \"%s\" ?" 
     2288msgstr "Êtes-vous certain de vouloir supprimer le plugin \"%s\" ?" 
    22472289 
    22482290msgid "Use this theme" 
     
    22632305 
    22642306msgid "XHTML markup validator" 
    2265 msgstr "Validation XHTML" 
     2307msgstr "Vérifier la validité XHTML" 
    22662308 
    22672309msgid "XHTML content is valid." 
     
    24282470msgstr "Erreur de file d'attente :" 
    24292471 
    2430 msgid "&#171;prev." 
    2431 msgstr "&#171;préc." 
    2432  
    2433 msgid "next&#187;" 
    2434 msgstr "suiv.&#187;" 
     2472msgid "&#171; prev." 
     2473msgstr "&#171; préc." 
     2474 
     2475msgid "next &#187;" 
     2476msgstr "suiv. &#187;" 
    24352477 
    24362478msgid "No entry" 
     
    26912733 
    26922734msgid "Cannot deactivate plugin." 
    2693 msgstr "L'extension ne peut pas être désactivée." 
     2735msgstr "Le plugin ne peut pas être désactivé." 
    26942736 
    26952737msgid "Cannot activate plugin." 
    2696 msgstr "L'extension ne peut pas être activée." 
     2738msgstr "Le plugin ne peut pas être activé." 
    26972739 
    26982740#, php-format 
     
    29482990msgstr "Date de publication invalide" 
    29492991 
     2992msgid "System settings" 
     2993msgstr "Réglages système" 
     2994 
     2995msgid "Additional plugins" 
     2996msgstr "Modules complémentaires" 
     2997 
     2998msgid "Personal notes:" 
     2999msgstr "Notes personnelles :" 
     3000 
     3001msgid "New user" 
     3002msgstr "Nouvel utilisateur" 
     3003 
     3004msgid "Published" 
     3005msgstr "Publié" 
     3006 
     3007msgid "Unpublished" 
     3008msgstr "Non publié" 
     3009 
     3010msgid "Pending" 
     3011msgstr "En attente" 
     3012 
     3013msgid "Junk" 
     3014msgstr "Indésirable" 
     3015 
     3016msgid "Scheduled" 
     3017msgstr "Programmé" 
     3018 
     3019msgid "Protected" 
     3020msgstr "Protégé" 
     3021 
     3022msgid "Publish" 
     3023msgstr "Publier" 
     3024 
     3025msgid "Unpublish" 
     3026msgstr "Mettre hors ligne" 
     3027 
     3028msgid "Mark as pending" 
     3029msgstr "Mettre en attente" 
     3030 
     3031msgid "Mark as junk" 
     3032msgstr "Mettre en indésirable" 
     3033 
     3034msgid "Next entry" 
     3035msgstr "Billet suivant" 
     3036 
     3037msgid "Previous entry" 
     3038msgstr "Billet précédent" 
     3039 
     3040msgid "Add an introduction to the post." 
     3041msgstr "Ajoute une introduction au billet." 
     3042 
     3043msgid "Add unpublished notes." 
     3044msgstr "Ajoute des notes non publiées." 
     3045 
     3046msgid "Edit basename:" 
     3047msgstr "Modifier l'URL spécifique :" 
     3048 
     3049msgid "Protect with password" 
     3050msgstr "Protéger par un mot de passe" 
     3051 
     3052msgid "Information collected" 
     3053msgstr "Informations recueillies" 
     3054 
     3055msgid "Comment submitted" 
     3056msgstr "Commentaire déposé" 
     3057 
     3058msgid "Entry status" 
     3059msgstr "État du billet" 
     3060 
     3061msgid "Publication date and hour" 
     3062msgstr "Date et heure de publication" 
     3063 
     3064msgid "Text formating" 
     3065msgstr "Syntaxe de saisie" 
     3066 
     3067msgid "Entry lang" 
     3068msgstr "Langue du billet" 
     3069 
     3070msgid "Password" 
     3071msgstr "Mot de passe" 
     3072 
     3073msgid "Edit basename" 
     3074msgstr "URL spécifique" 
     3075 
     3076msgid "Ordering" 
     3077msgstr "Classement" 
     3078 
     3079msgid "Filter posts list" 
     3080msgstr "Filtrer la liste des billets" 
     3081 
     3082msgid "entries per page" 
     3083msgstr "billets par page" 
     3084 
     3085msgid "Show" 
     3086msgstr "Afficher" 
     3087 
     3088msgid "Filter blogs list" 
     3089msgstr "Filtrer la liste des blogs" 
     3090 
     3091msgid "blogs per page" 
     3092msgstr "blogs par page" 
     3093 
     3094msgid "Filter comments and trackbacks list" 
     3095msgstr "Filtrer la liste des commentaires et rétroliens" 
     3096 
     3097msgid "comments per page" 
     3098msgstr "commentaires par page" 
     3099 
     3100msgid "Filter users list" 
     3101msgstr "Filtrer la liste des utilisateurs" 
     3102 
     3103msgid "users per page" 
     3104msgstr "utilisateurs par page" 
     3105 
     3106msgid "Available themes in your installation" 
     3107msgstr "Thèmes disponibles sur votre installation" 
     3108 
     3109msgid "You can also install themes by uploading or downloading zip files." 
     3110msgstr "Vous pouvez aussi installer des thèmes en déposant ou en téléchargeant des fichiers zip." 
     3111 
     3112msgid "Add themes to your installation" 
     3113msgstr "Ajouter des thèmes sur votre installation" 
     3114 
     3115msgid "Select this comment" 
     3116msgstr "Sélectionner ce commentaire" 
     3117 
     3118msgid "Next page" 
     3119msgstr "Page suivante" 
     3120 
     3121msgid "Previous page" 
     3122msgstr "Page précédente" 
     3123 
     3124msgid "Add an introduction to the page." 
     3125msgstr "Ajoute une introduction à la page." 
     3126 
    29503127msgid "(No cat)" 
    29513128msgstr "(aucune)" 
     
    29693146msgstr "très fort" 
    29703147 
     3148msgid "Confirm new password:" 
     3149msgstr "Confirmer le nouveau mot de passe :" 
     3150 
     3151msgid "Not selected" 
     3152msgstr "Non sélectionné" 
     3153 
     3154msgid "Back to comments list" 
     3155msgstr "Retour à la liste des commentaires" 
     3156 
     3157msgid "The current blog cannot be deleted." 
     3158msgstr "Le blog courant ne peut être détruit." 
     3159 
     3160msgid "Only superadmin can delete a blog." 
     3161msgstr "Seul un superadministrateur peut supprimer un blog." 
     3162 
     3163msgid "Invalid publication date" 
     3164msgstr "Date de publication invalide." 
     3165 
     3166msgid "Image alignment:" 
     3167msgstr "Alignement de l'image :" 
     3168 
     3169msgid "Finish the update" 
     3170msgstr "Finir la mise à jour" 
     3171 
     3172msgid "Information about this version" 
     3173msgstr "Informations sur cette version" 
     3174 
     3175msgid "Updates and modifications" 
     3176msgstr "Mises à jour et modifications" 
     3177 
     3178msgid "Back to user profile" 
     3179msgstr "Retour au profil utilisateur" 
     3180 
     3181msgid "Back to Blog appearance" 
     3182msgstr "Retour à Apparence du blog" 
     3183 
     3184msgid "Edit" 
     3185msgstr "Modifier" 
     3186 
     3187msgid "Display options" 
     3188msgstr "Options d\'affichage" 
     3189 
     3190msgid "Apply filters and display options" 
     3191msgstr "Appliquer les filtres et options d\'affichage" 
     3192 
     3193msgid "Back to entries list" 
     3194msgstr "Retour à la liste des billets" 
     3195 
     3196msgid "New author (author ID):" 
     3197msgstr "Nouvel auteur (identifiant utilisateur) :" 
     3198 
     3199msgid "Hidden" 
     3200msgstr "Masqué" 
     3201 
     3202msgid "Create a new category for the post(s)" 
     3203msgstr "Créer une nouvelle catégorie pour ce(s) billet(s)" 
     3204 
    29713205msgid "This category will be created when you will save your post." 
    29723206msgstr "Cette catégorie sera créée lorsque vous enregistrerez votre billet." 
     3207 
     3208msgid "Category which will receive entries of deleted categories:" 
     3209msgstr "Catégorie d'accueil pour les billets des catégories supprimées :" 
     3210 
     3211msgid "Delete selected categories" 
     3212msgstr "Supprimer les catégories sélectionnées" 
     3213 
     3214msgid "To rearrange categories order, change position number and click on “Save categories order”." 
     3215msgstr "Pour changer l'ordre des catégories, modifier leur numéro de position et cliquez sur “Enregistrer l'ordre des catégories”." 
     3216 
     3217msgid "Reorder all categories on the top level and delete selected categories" 
     3218msgstr "Replacer toutes les catégories au premier niveau et supprimer les catégories sélectionnées" 
     3219 
     3220#test tableau commentaires 
     3221 
     3222msgid "trackback from" 
     3223msgstr "rétrolien de" 
     3224 
     3225msgid "comment from" 
     3226msgstr "commentaire de" 
     3227 
     3228msgid "Type and author" 
     3229msgstr "Type et auteur" 
     3230 
     3231msgid "Edit" 
     3232msgstr "Modifier" 
     3233 
     3234msgid "Select" 
     3235msgstr "Sélectionner" 
     3236 
     3237msgid "Click here to unlock the field" 
     3238msgstr "Cliquez ici pour déverrouiller ce champ" 
     3239 
     3240msgid "User profile" 
     3241msgstr "Profil utilisateur" 
     3242 
     3243msgid "User ID:" 
     3244msgstr "Identifiant (login) :" 
     3245 
     3246msgid "Interface" 
     3247msgstr "Interface" 
     3248 
     3249msgid "Edition" 
     3250msgstr "Édition" 
     3251 
     3252msgid "Other options" 
     3253msgstr "Autres options" 
     3254 
     3255msgid "No permissions so far." 
     3256msgstr "Aucune permission pour le moment." 
     3257 
     3258msgid "Accessibility" 
     3259msgstr "Accessibilité" 
     3260 
     3261msgid "Dashboard and menu" 
     3262msgstr "Tableau de bord et menu" 
     3263 
     3264msgid "Dashboard modules" 
     3265msgstr "Modules du tableau de bord" 
     3266 
     3267msgid "If checked, numeric fields will allow to type the elements' ordering number." 
     3268msgstr "Si cette option est cochée, des champs numérique permettront l'ordonnancement des éléments." 
     3269 
     3270msgid "Save my options" 
     3271msgstr "Enregistrer mes options" 
  • locales/fr/main.po

    r1615 r1620  
    889889msgstr "Me le rappeler plus tard" 
    890890 
    891 msgid "information about this version" 
    892 msgstr "Information à propos de cette version" 
     891#, php-format 
     892msgid "<a href=\"%s\">Information about this version</a>." 
     893msgstr "<a href=\"%s\">Information à propos de cette version</a>." 
    893894 
    894895msgid "Some plugins are installed twice:" 
     
    25162517msgstr "Blog" 
    25172518 
    2518 msgid "Updates" 
    2519 msgstr "Mises à jour" 
     2519msgid "Update" 
     2520msgstr "Mise à jour" 
    25202521 
    25212522msgid "Languages" 
  • locales/hu/main.po

    r1592 r1620  
    219219 
    220220#, fuzzy 
    221 msgid "That blog Id is already in use." 
     221msgid "This blog ID is already used." 
    222222msgstr "A DotClear már telepítve van." 
    223223 
     
    465465 
    466466#, php-format 
    467 msgid "You are currently using \"%s\"" 
     467msgid "You are currently using <strong>%s</strong>" 
    468468msgstr "A \"%s\"-t használod" 
    469469 
     
    787787msgstr "Megjegyzés szerzője:" 
    788788 
    789 msgid "You have one spam comments." 
     789msgid "You have one spam comment." 
    790790msgstr "Van egy spam megjegyzésed." 
    791791 
     
    21812181msgstr "mindet" 
    21822182 
    2183 msgid "invert selection" 
     2183msgid "Invert selection" 
    21842184msgstr "ellenkezőket" 
    21852185 
  • locales/hu/main.po

    r1615 r1620  
    867867msgstr "Értesíts később" 
    868868 
    869 msgid "information about this version" 
     869msgid "<a href=\"%s\">Information about this version</a>." 
    870870msgstr "" 
    871871 
     
    24572457msgstr "Blog" 
    24582458 
    2459 msgid "Updates" 
     2459msgid "Update" 
    24602460msgstr "Frissítések" 
    24612461 
  • locales/it/main.po

    r1592 r1620  
    212212msgstr "Impedisci ai motori di ricerca e ai sistemi di archiviazione di indicizzare o salvare il contenuto del blog." 
    213213 
    214 msgid "That blog Id is already in use." 
     214msgid "This blog ID is already used." 
    215215msgstr "L'ID del blog è già in uso." 
    216216 
     
    456456 
    457457#, php-format 
    458 msgid "You are currently using \"%s\"" 
     458msgid "You are currently using <strong>%s</strong>" 
    459459msgstr "Attualmente è in uso \"%s\"" 
    460460 
     
    763763msgstr "Autore del commento:" 
    764764 
    765 msgid "You have one spam comments." 
     765msgid "You have one spam comment." 
    766766msgstr "È presente un commento di spam." 
    767767 
     
    21252125msgstr "seleziona tutto" 
    21262126 
    2127 msgid "invert selection" 
     2127msgid "Invert selection" 
    21282128msgstr "inverti selezione" 
    21292129 
  • locales/it/main.po

    r1615 r1620  
    843843msgstr "Ricorda in seguito" 
    844844 
    845 msgid "information about this version" 
     845msgid "<a href=\"%s\">Information about this version</a>." 
    846846msgstr "" 
    847847 
     
    23982398msgstr "Blog" 
    23992399 
    2400 msgid "Updates" 
     2400msgid "Update" 
    24012401msgstr "Aggiornamenti" 
    24022402 
  • locales/ja/main.po

    r1592 r1620  
    222222 
    223223#, fuzzy 
    224 msgid "That blog Id is already in use." 
     224msgid "This blog ID is already used." 
    225225msgstr "Dotclear はすでにインストールされています。" 
    226226 
     
    465465 
    466466#, php-format 
    467 msgid "You are currently using \"%s\"" 
     467msgid "You are currently using <strong>%s</strong>" 
    468468msgstr "現在使用中のテーマ: %s" 
    469469 
     
    772772msgstr "コメントの投稿者:" 
    773773 
    774 msgid "You have one spam comments." 
     774msgid "You have one spam comment." 
    775775msgstr "1 のスパムコメントがあります。" 
    776776 
     
    21542154msgstr "すべてを選択" 
    21552155 
    2156 msgid "invert selection" 
     2156msgid "Invert selection" 
    21572157msgstr "選択を反転" 
    21582158 
  • locales/ja/main.po

    r1615 r1620  
    852852msgstr "後で再度知らせる" 
    853853 
    854 msgid "information about this version" 
     854msgid "<a href=\"%s\">Information about this version</a>." 
    855855msgstr "" 
    856856 
     
    24302430msgstr "ブログ" 
    24312431 
    2432 msgid "Updates" 
     2432msgid "Update" 
    24332433msgstr "アップデート" 
    24342434 
  • locales/ko/main.po

    r1592 r1620  
    220220 
    221221#, fuzzy 
    222 msgid "That blog Id is already in use." 
     222msgid "This blog ID is already used." 
    223223msgstr "Dotclear가 이미 설치되어 있습니다." 
    224224 
     
    464464 
    465465#, php-format 
    466 msgid "You are currently using \"%s\"" 
     466msgid "You are currently using <strong>%s</strong>" 
    467467msgstr "현재 사용 중인 테마 : \"%s\"" 
    468468 
     
    771771msgstr "댓글 글쓴이 :" 
    772772 
    773 msgid "You have one spam comments." 
     773msgid "You have one spam comment." 
    774774msgstr "스팸댓글이 하나 있습니다." 
    775775 
     
    21542154msgstr "모두 선택하기" 
    21552155 
    2156 msgid "invert selection" 
     2156msgid "Invert selection" 
    21572157msgstr "선택사항 뒤집기" 
    21582158 
  • locales/ko/main.po

    r1615 r1620  
    851851msgstr "나중에 다시 알려줌" 
    852852 
    853 msgid "information about this version" 
     853msgid "<a href=\"%s\">Information about this version</a>." 
    854854msgstr "" 
    855855 
     
    24312431msgstr "블로그" 
    24322432 
    2433 msgid "Updates" 
     2433msgid "Update" 
    24342434msgstr "DotClear 갱신" 
    24352435 
  • locales/lt/main.po

    r1592 r1620  
    193193msgstr "Nenoriu, kad paieškos sistemos ir archyvatoriai indeksuotų ir archyvuotų mano blogo turinio." 
    194194 
    195 msgid "That blog Id is already in use." 
     195msgid "This blog ID is already used." 
    196196msgstr "Šito blogo ID jau yra naudojamas." 
    197197 
     
    432432 
    433433#, php-format 
    434 msgid "You are currently using \"%s\"" 
     434msgid "You are currently using <strong>%s</strong>" 
    435435msgstr "Šiuo metu jūs naudojate \"%s\"" 
    436436 
     
    742742msgstr "Komentaro autorius:" 
    743743 
    744 msgid "You have one spam comments." 
     744msgid "You have one spam comment." 
    745745msgstr "Turite vieną spamo komentarą." 
    746746 
     
    19351935msgstr "pasirinkti viską" 
    19361936 
    1937 msgid "invert selection" 
     1937msgid "Invert selection" 
    19381938msgstr "atvirkščias pasirinkimas" 
    19391939 
  • locales/lt/main.po

    r1615 r1620  
    22052205msgstr "Blogas" 
    22062206 
    2207 msgid "Updates" 
     2207msgid "Update" 
    22082208msgstr "Atnaujinimai" 
    22092209 
  • locales/nl/main.po

    r1592 r1620  
    211211msgstr "Zoekmachines mogen mijn blog niet indexeren en archiveren." 
    212212 
    213 msgid "That blog Id is already in use." 
     213msgid "This blog ID is already used." 
    214214msgstr "" 
    215215 
     
    454454 
    455455#, php-format 
    456 msgid "You are currently using \"%s\"" 
     456msgid "You are currently using <strong>%s</strong>" 
    457457msgstr "Je gebruikt nu \"%s\"" 
    458458 
     
    753753msgstr "" 
    754754 
    755 msgid "You have one spam comments." 
     755msgid "You have one spam comment." 
    756756msgstr "" 
    757757 
     
    20872087msgstr "" 
    20882088 
    2089 msgid "invert selection" 
     2089msgid "Invert selection" 
    20902090msgstr "" 
    20912091 
  • locales/nl/main.po

    r1615 r1620  
    829829msgstr "" 
    830830 
    831 msgid "information about this version" 
     831msgid "<a href=\"%s\">Information about this version</a>." 
    832832msgstr "" 
    833833 
     
    23612361msgstr "" 
    23622362 
    2363 msgid "Updates" 
     2363msgid "Update" 
    23642364msgstr "" 
    23652365 
  • locales/oc/main.po

    r1592 r1620  
    212212msgstr "" 
    213213 
    214 msgid "That blog Id is already in use." 
     214msgid "This blog ID is already used." 
    215215msgstr "" 
    216216 
     
    455455 
    456456#, php-format 
    457 msgid "You are currently using \"%s\"" 
     457msgid "You are currently using <strong>%s</strong>" 
    458458msgstr "" 
    459459 
     
    757757msgstr "" 
    758758 
    759 msgid "You have one spam comments." 
     759msgid "You have one spam comment." 
    760760msgstr "" 
    761761 
     
    21062106msgstr "" 
    21072107 
    2108 msgid "invert selection" 
     2108msgid "Invert selection" 
    21092109msgstr "" 
    21102110 
  • locales/oc/main.po

    r1615 r1620  
    835835msgstr "" 
    836836 
    837 msgid "information about this version" 
     837msgid "<a href=\"%s\">Information about this version</a>." 
    838838msgstr "" 
    839839 
     
    23792379msgstr "Blòg" 
    23802380 
    2381 msgid "Updates" 
     2381msgid "Update" 
    23822382msgstr "" 
    23832383 
  • locales/pl/main.po

    r1592 r1620  
    212212msgstr "Chcę, aby wyszukiwarki i archiwizery nie indeksowały i nie archiwizowały zawartości mojego bloga." 
    213213 
    214 msgid "That blog Id is already in use." 
     214msgid "This blog ID is already used." 
    215215msgstr "Ten identyfikator bloga jest już używany." 
    216216 
     
    455455 
    456456#, php-format 
    457 msgid "You are currently using \"%s\"" 
     457msgid "You are currently using <strong>%s</strong>" 
    458458msgstr "Aktualnie używasz \"%s\"" 
    459459 
     
    760760msgstr "Autor komentarza:" 
    761761 
    762 msgid "You have one spam comments." 
     762msgid "You have one spam comment." 
    763763msgstr "Masz jeden komentarz oznaczony jako spam." 
    764764 
     
    20992099msgstr "zaznacz wszystkie" 
    21002100 
    2101 msgid "invert selection" 
     2101msgid "Invert selection" 
    21022102msgstr "odwróć zaznaczenie" 
    21032103 
  • locales/pl/main.po

    r1615 r1620  
    837837msgstr "Przypomnij mi później" 
    838838 
    839 msgid "information about this version" 
     839msgid "<a href=\"%s\">Information about this version</a>." 
    840840msgstr "informacje o tej wersji" 
    841841 
     
    23722372msgstr "Blog" 
    23732373 
    2374 msgid "Updates" 
     2374msgid "Update" 
    23752375msgstr "Uaktualnienia" 
    23762376 
  • locales/pt-br/main.po

    r1592 r1620  
    219219 
    220220#, fuzzy 
    221 msgid "That blog Id is already in use." 
     221msgid "This blog ID is already used." 
    222222msgstr "DotClear já está instalado." 
    223223 
     
    470470 
    471471#, php-format 
    472 msgid "You are currently using \"%s\"" 
     472msgid "You are currently using <strong>%s</strong>" 
    473473msgstr "" 
    474474 
     
    790790msgstr "Autor do comentário:" 
    791791 
    792 msgid "You have one spam comments." 
     792msgid "You have one spam comment." 
    793793msgstr "Você tem um comentário indesejável." 
    794794 
     
    22182218msgstr "selecionar tudo" 
    22192219 
    2220 msgid "invert selection" 
     2220msgid "Invert selection" 
    22212221msgstr "inverter a seleção" 
    22222222 
  • locales/pt-br/main.po

    r1615 r1620  
    870870msgstr "" 
    871871 
    872 msgid "information about this version" 
     872msgid "<a href=\"%s\">Information about this version</a>." 
    873873msgstr "" 
    874874 
     
    24972497msgstr "Blog" 
    24982498 
    2499 msgid "Updates" 
     2499msgid "Update" 
    25002500msgstr "" 
    25012501 
  • locales/pt/main.po

    r1592 r1620  
    218218 
    219219#, fuzzy 
    220 msgid "That blog Id is already in use." 
     220msgid "This blog ID is already used." 
    221221msgstr "Dotclear já está instalado." 
    222222 
     
    461461 
    462462#, php-format 
    463 msgid "You are currently using \"%s\"" 
     463msgid "You are currently using <strong>%s</strong>" 
    464464msgstr "Você está a usar \"%s\"" 
    465465 
     
    768768msgstr "Autor do comentário:" 
    769769 
    770 msgid "You have one spam comments." 
     770msgid "You have one spam comment." 
    771771msgstr "Tem um comentário de \"spam\"" 
    772772 
     
    21332133msgstr "seleccionar tudo" 
    21342134 
    2135 msgid "invert selection" 
     2135msgid "Invert selection" 
    21362136msgstr "inverter selecção" 
    21372137 
  • locales/pt/main.po

    r1615 r1620  
    848848msgstr "Lembrar-me mais tarde" 
    849849 
    850 msgid "information about this version" 
     850msgid "<a href=\"%s\">Information about this version</a>." 
    851851msgstr "" 
    852852 
     
    24082408msgstr "Blog" 
    24092409 
    2410 msgid "Updates" 
     2410msgid "Update" 
    24112411msgstr "Actualizações" 
    24122412 
  • locales/ro/main.po

    r1592 r1620  
    213213msgstr "" 
    214214 
    215 msgid "That blog Id is already in use." 
     215msgid "This blog ID is already used." 
    216216msgstr "" 
    217217 
     
    455455 
    456456#, php-format 
    457 msgid "You are currently using \"%s\"" 
     457msgid "You are currently using <strong>%s</strong>" 
    458458msgstr "" 
    459459 
     
    752752msgstr "" 
    753753 
    754 msgid "You have one spam comments." 
     754msgid "You have one spam comment." 
    755755msgstr "" 
    756756 
     
    20842084msgstr "" 
    20852085 
    2086 msgid "invert selection" 
     2086msgid "Invert selection" 
    20872087msgstr "" 
    20882088 
  • locales/ro/main.po

    r1615 r1620  
    828828msgstr "" 
    829829 
    830 msgid "information about this version" 
     830msgid "<a href=\"%s\">Information about this version</a>." 
    831831msgstr "" 
    832832 
     
    23572357msgstr "" 
    23582358 
    2359 msgid "Updates" 
     2359msgid "Update" 
    23602360msgstr "" 
    23612361 
  • locales/ru/main.po

    r1592 r1620  
    216216msgstr "Я не хочу, чтобы мой блог индексировался и архивировался поисковыми машинами." 
    217217 
    218 msgid "That blog Id is already in use." 
     218msgid "This blog ID is already used." 
    219219msgstr "Dotclear уже установлен." 
    220220 
     
    460460 
    461461#, php-format 
    462 msgid "You are currently using \"%s\"" 
     462msgid "You are currently using <strong>%s</strong>" 
    463463msgstr "В данный момент вы используете \"%s\"" 
    464464 
     
    767767msgstr "Автор комментария:" 
    768768 
    769 msgid "You have one spam comments." 
     769msgid "You have one spam comment." 
    770770msgstr "У вас один спам комментарий." 
    771771 
     
    21262126msgstr "выбрать все" 
    21272127 
    2128 msgid "invert selection" 
     2128msgid "Invert selection" 
    21292129msgstr "инвертировать выбор" 
    21302130 
  • locales/ru/main.po

    r1615 r1620  
    847847msgstr "Напомнить мне позже" 
    848848 
    849 msgid "information about this version" 
     849msgid "<a href=\"%s\">Information about this version</a>." 
    850850msgstr "" 
    851851 
     
    23992399msgstr "Блог" 
    24002400 
    2401 msgid "Updates" 
     2401msgid "Update" 
    24022402msgstr "Обновления" 
    24032403 
  • locales/sr/main.po

    r1592 r1620  
    217217 
    218218#, fuzzy 
    219 msgid "That blog Id is already in use." 
     219msgid "This blog ID is already used." 
    220220msgstr "Dotclear est déjà installé." 
    221221 
     
    460460 
    461461#, php-format 
    462 msgid "You are currently using \"%s\"" 
     462msgid "You are currently using <strong>%s</strong>" 
    463463msgstr "Vous utilisez actuellement \"%s\"" 
    464464 
     
    778778msgstr "Auteur du commentaire :" 
    779779 
    780 msgid "You have one spam comments." 
     780msgid "You have one spam comment." 
    781781msgstr "Vous avez un commentaire indésirable." 
    782782 
     
    11721172 
    11731173msgid "Media manager" 
    1174 msgstr "Gestionnaire de médias" 
     1174msgstr "Médiathèque" 
    11751175 
    11761176msgid "confirm removal" 
     
    16541654 
    16551655msgid "Ping blogs" 
    1656 msgstr "Faire des rétroliens" 
     1656msgstr "Envoyer des rétroliens" 
    16571657 
    16581658msgid "Trackbacks" 
     
    21672167msgstr "tout sélectionner" 
    21682168 
    2169 msgid "invert selection" 
     2169msgid "Invert selection" 
    21702170msgstr "inverser la sélection" 
    21712171 
  • locales/sr/main.po

    r1615 r1620  
    858858msgstr "" 
    859859 
    860 msgid "information about this version" 
     860msgid "<a href=\"%s\">Information about this version</a>." 
    861861msgstr "" 
    862862 
     
    24442444msgstr "Blog" 
    24452445 
    2446 msgid "Updates" 
     2446msgid "Update" 
    24472447msgstr "" 
    24482448 
  • locales/sv/main.po

    r1592 r1620  
    211211msgstr "" 
    212212 
    213 msgid "That blog Id is already in use." 
     213msgid "This blog ID is already used." 
    214214msgstr "" 
    215215 
     
    453453 
    454454#, php-format 
    455 msgid "You are currently using \"%s\"" 
     455msgid "You are currently using <strong>%s</strong>" 
    456456msgstr "" 
    457457 
     
    750750msgstr "" 
    751751 
    752 msgid "You have one spam comments." 
     752msgid "You have one spam comment." 
    753753msgstr "" 
    754754 
     
    20732073msgstr "" 
    20742074 
    2075 msgid "invert selection" 
     2075msgid "Invert selection" 
    20762076msgstr "" 
    20772077 
  • locales/sv/main.po

    r1615 r1620  
    826826msgstr "" 
    827827 
    828 msgid "information about this version" 
     828msgid "<a href=\"%s\">Information about this version</a>." 
    829829msgstr "" 
    830830 
     
    23462346msgstr "" 
    23472347 
    2348 msgid "Updates" 
     2348msgid "Update" 
    23492349msgstr "" 
    23502350 
  • locales/te/main.po

    r1592 r1620  
    215215 
    216216#, fuzzy 
    217 msgid "That blog Id is already in use." 
     217msgid "This blog ID is already used." 
    218218msgstr "డాట్‌క్లియర్ ఇప్పటికే స్థాపితమైవుంది." 
    219219 
     
    458458 
    459459#, php-format 
    460 msgid "You are currently using \"%s\"" 
     460msgid "You are currently using <strong>%s</strong>" 
    461461msgstr "మీరు ప్రస్తుతం \"%s\" ని వాడుతున్నారు" 
    462462 
     
    775775msgstr "వ్యాఖ్యాత:" 
    776776 
    777 msgid "You have one spam comments." 
     777msgid "You have one spam comment." 
    778778msgstr "ఒక చెత్త వ్యాఖ్య ఉంది." 
    779779 
     
    21512151msgstr "అన్నీ ఎంచుకోండి" 
    21522152 
    2153 msgid "invert selection" 
     2153msgid "Invert selection" 
    21542154msgstr "" 
    21552155 
  • locales/te/main.po

    r1615 r1620  
    854854msgstr "" 
    855855 
    856 msgid "information about this version" 
     856msgid "<a href=\"%s\">Information about this version</a>." 
    857857msgstr "" 
    858858 
     
    24262426msgstr "బ్లాగు" 
    24272427 
    2428 msgid "Updates" 
     2428msgid "Update" 
    24292429msgstr "" 
    24302430 
  • locales/tr/main.po

    r1592 r1620  
    217217 
    218218#, fuzzy 
    219 msgid "That blog Id is already in use." 
     219msgid "This blog ID is already used." 
    220220msgstr "Dotclear evvelce kurulmuş." 
    221221 
     
    460460 
    461461#, php-format 
    462 msgid "You are currently using \"%s\"" 
     462msgid "You are currently using <strong>%s</strong>" 
    463463msgstr "Şimdi \"%s\" kullanıyorsunuz." 
    464464 
     
    761761msgstr "Ahkamı yazan:" 
    762762 
    763 msgid "You have one spam comments." 
     763msgid "You have one spam comment." 
    764764msgstr "" 
    765765 
     
    21292129msgstr "hepsini seç" 
    21302130 
    2131 msgid "invert selection" 
     2131msgid "Invert selection" 
    21322132msgstr "seçimi evir" 
    21332133 
  • locales/tr/main.po

    r1615 r1620  
    840840msgstr "Gelecekte beni hatırla" 
    841841 
    842 msgid "information about this version" 
     842msgid "<a href=\"%s\">Information about this version</a>." 
    843843msgstr "" 
    844844 
     
    24042404msgstr "Blog" 
    24052405 
    2406 msgid "Updates" 
     2406msgid "Update" 
    24072407msgstr "Güncellemeler" 
    24082408 
  • locales/zh-cn/main.po

    r1592 r1620  
    215215 
    216216#, fuzzy 
    217 msgid "That blog Id is already in use." 
     217msgid "This blog ID is already used." 
    218218msgstr "Dotclear 已被安装。" 
    219219 
     
    458458 
    459459#, php-format 
    460 msgid "You are currently using \"%s\"" 
     460msgid "You are currently using <strong>%s</strong>" 
    461461msgstr "您正在使用“%s”" 
    462462 
     
    765765msgstr "评论作者:" 
    766766 
    767 msgid "You have one spam comments." 
     767msgid "You have one spam comment." 
    768768msgstr "您有一个垃圾评论。" 
    769769 
     
    21312131msgstr "选择全部" 
    21322132 
    2133 msgid "invert selection" 
     2133msgid "Invert selection" 
    21342134msgstr "反选" 
    21352135 
  • locales/zh-cn/main.po

    r1615 r1620  
    845845msgstr "稍后提醒我" 
    846846 
    847 msgid "information about this version" 
     847msgid "<a href=\"%s\">Information about this version</a>." 
    848848msgstr "" 
    849849 
     
    24072407msgstr "博客" 
    24082408 
    2409 msgid "Updates" 
     2409msgid "Update" 
    24102410msgstr "更新" 
    24112411 
  • plugins/attachments/_admin.php

    r1537 r1620  
    1212if (!defined('DC_CONTEXT_ADMIN')) { return; } 
    1313 
    14 $core->addBehavior ('adminPostFormSidebar',array('attachmentAdmin','adminPostFormSidebar')); 
     14$core->addBehavior ('adminPostFormItems',array('attachmentAdmin','adminPostFormItems')); 
    1515$core->addBehavior ('adminPostAfterForm',array('attachmentAdmin','adminPostAfterForm')); 
     16$core->addBehavior('adminPostHeaders',array('attachmentAdmin','postHeaders')); 
     17$core->addBehavior ('adminPageFormItems',array('attachmentAdmin','adminPostFormItems')); 
     18$core->addBehavior ('adminPageAfterForm',array('attachmentAdmin','adminPostAfterForm')); 
     19$core->addBehavior('adminPageHeaders',array('attachmentAdmin','postHeaders')); 
    1620 
    1721class attachmentAdmin 
    1822{ 
    19      public static function adminPostFormSidebar($post)  
     23     public static function postHeaders() 
     24     { 
     25          return  
     26          '<script type="text/javascript" src="index.php?pf=attachments/js/post.js"></script>'; 
     27     } 
     28     public static function adminPostFormItems($main,$sidebar,$post)  
    2029     { 
    2130          if ($post !== null) 
    2231          { 
    2332               $core =& $GLOBALS['core']; 
    24                if ( isset($core->media) ) { 
    25                     $post_media = $core->media->getPostMedia($post->post_id); 
    26                     echo 
    27                     '<h3 class="clear">'.__('Attachments').'</h3>'; 
    28                     foreach ($post_media as $f) 
    29                     { 
    30                          $ftitle = $f->media_title; 
    31                          if (strlen($ftitle) > 18) { 
    32                               $ftitle = substr($ftitle,0,16).'...'; 
    33                          } 
    34                          echo 
    35                          '<div class="media-item">'. 
    36                          '<a class="media-icon" href="media_item.php?id='.$f->media_id.'">'. 
    37                          '<img src="'.$f->media_icon.'" alt="" title="'.$f->basename.'" /></a>'. 
    38                          '<ul>'. 
    39                          '<li><a class="media-link" href="media_item.php?id='.$f->media_id.'" '. 
    40                          'title="'.$f->basename.'">'.$ftitle.'</a></li>'. 
    41                          '<li>'.$f->media_dtstr.'</li>'. 
    42                          '<li>'.files::size($f->size).' - '. 
    43                          '<a href="'.$f->file_url.'">'.__('open').'</a>'.'</li>'. 
    44                           
    45                          '<li class="media-action"><a class="attachment-remove" id="attachment-'.$f->media_id.'" '. 
    46                          'href="post_media.php?post_id='.$post->post_id.'&amp;media_id='.$f->media_id.'&amp;remove=1">'. 
    47                          '<img src="images/check-off.png" alt="'.__('remove').'" /></a>'. 
    48                          '</li>'. 
    49                           
    50                          '</ul>'. 
    51                          '</div>'; 
     33               $post_media = $core->media->getPostMedia($post->post_id); 
     34               $nb_media = count($post_media); 
     35               $title = !$nb_media ? __('Attachments') : sprintf(__('Attachments (%d)'),$nb_media); 
     36               $item = '<h5 class="clear s-attachments">'.$title.'</h5>'; 
     37               foreach ($post_media as $f) 
     38               { 
     39                    $ftitle = $f->media_title; 
     40                    if (strlen($ftitle) > 18) { 
     41                         $ftitle = substr($ftitle,0,16).'...'; 
    5242                    } 
    53                     unset($f); 
     43                    $item .= 
     44                    '<div class="media-item s-attachments">'. 
     45                    '<a class="media-icon" href="media_item.php?id='.$f->media_id.'">'. 
     46                    '<img src="'.$f->media_icon.'" alt="" title="'.$f->basename.'" /></a>'. 
     47                    '<ul>'. 
     48                    '<li><a class="media-link" href="media_item.php?id='.$f->media_id.'" '. 
     49                    'title="'.$f->basename.'">'.$ftitle.'</a></li>'. 
     50                    '<li>'.$f->media_dtstr.'</li>'. 
     51                    '<li>'.files::size($f->size).' - '. 
     52                    '<a href="'.$f->file_url.'">'.__('open').'</a>'.'</li>'. 
     53                     
     54                    '<li class="media-action"><a class="attachment-remove" id="attachment-'.$f->media_id.'" '. 
     55                    'href="post_media.php?post_id='.$post->post_id.'&amp;media_id='.$f->media_id.'&amp;remove=1">'. 
     56                    '<img src="images/check-off.png" alt="'.__('remove').'" /></a>'. 
     57                    '</li>'. 
     58                     
     59                    '</ul>'. 
     60                    '</div>'; 
    5461               } 
     62               unset($f); 
    5563                
    5664               if (empty($post_media)) { 
    57                     echo '<p>'.__('No attachment.').'</p>'; 
    58                } else { 
    59                } 
    60                echo '<p><a class="button" href="media.php?post_id='.$post->post_id.'">'.__('Add files to this entry').'</a></p>'; 
     65                    $item .= '<p class="form-note s-attachments">'.__('No attachment.').'</p>'; 
     66               }  
     67               $item .= '<p class="s-attachments"><a class="button" href="media.php?post_id='.$post->post_id.'">'.__('Add files to this entry').'</a></p>'; 
     68               $sidebar['metas-box']['items']['attachments']= $item; 
    6169          } 
    6270     } 
  • plugins/pages/page.php

    r1537 r1620  
    124124          if ($next_rs !== null) { 
    125125               $next_link = sprintf($post_link,$next_rs->post_id, 
    126                     html::escapeHTML($next_rs->post_title),__('next page').'&nbsp;&#187;'); 
     126                    html::escapeHTML($next_rs->post_title),__('Next page').'&nbsp;&#187;'); 
    127127               $next_headlink = sprintf($post_headlink,'next', 
    128128                    html::escapeHTML($next_rs->post_title),$next_rs->post_id); 
     
    131131          if ($prev_rs !== null) { 
    132132               $prev_link = sprintf($post_link,$prev_rs->post_id, 
    133                     html::escapeHTML($prev_rs->post_title),'&#171;&nbsp;'.__('previous page')); 
     133                    html::escapeHTML($prev_rs->post_title),'&#171;&nbsp;'.__('Previous page')); 
    134134               $prev_headlink = sprintf($post_headlink,'previous', 
    135135                    html::escapeHTML($prev_rs->post_title),$prev_rs->post_id); 
     
    304304  dcPage::jsToolBar(). 
    305305  dcPage::jsModal(). 
    306   dcPage::jsMetaEditor(). 
    307306  dcPage::jsLoad('js/_post.js'). 
    308307  dcPage::jsConfirmClose('entry-form','comment-form'). 
     
    318317<?php 
    319318 
     319if ($post_id) { 
     320     switch ($post_status) { 
     321          case 1: 
     322               $img_status = sprintf($img_status_pattern,__('Published'),'check-on.png'); 
     323               break; 
     324          case 0: 
     325               $img_status = sprintf($img_status_pattern,__('Unpublished'),'check-off.png'); 
     326               break; 
     327          case -1: 
     328               $img_status = sprintf($img_status_pattern,__('Scheduled'),'scheduled.png'); 
     329               break; 
     330          case -2: 
     331               $img_status = sprintf($img_status_pattern,__('Pending'),'check-wrn.png'); 
     332               break; 
     333          default: 
     334               $img_status = ''; 
     335     } 
     336     $edit_entry_title = '&ldquo;'.$post_title.'&rdquo;'.' '.$img_status; 
     337} else { 
     338     $edit_entry_title = $page_title; 
     339} 
     340echo dcPage::breadcrumb( 
     341     array( 
     342          html::escapeHTML($core->blog->name) => '', 
     343          __('Pages') => $p_url, 
     344          '<span class="page-title">'.$edit_entry_title.'</span>' => '' 
     345     )); 
     346 
    320347if (!empty($_GET['upd'])) { 
    321      dcPage::message(__('Page has been successfully updated.')); 
     348     dcPage::success(__('Page has been successfully updated.')); 
    322349} 
    323350elseif (!empty($_GET['crea'])) { 
    324      dcPage::message(__('Page has been successfully created.')); 
     351     dcPage::success(__('Page has been successfully created.')); 
    325352} 
    326353elseif (!empty($_GET['attached'])) { 
    327      dcPage::message(__('File has been successfully attached.')); 
     354     dcPage::success(__('File has been successfully attached.')); 
    328355} 
    329356elseif (!empty($_GET['rmattach'])) { 
    330      dcPage::message(__('Attachment has been successfully removed.')); 
     357     dcPage::success(__('Attachment has been successfully removed.')); 
    331358} 
    332359 
     
    341368} 
    342369 
    343 echo '<h2>'.html::escapeHTML($core->blog->name). 
    344 ' &rsaquo; <a href="'.$p_url.'">'.__('Pages').'</a> &rsaquo; <span class="page-title">'.$page_title;  
    345      if ($post_id) { 
    346           switch ($post_status) { 
    347                case 1: 
    348                     $img_status = sprintf($img_status_pattern,__('published'),'check-on.png'); 
    349                     break; 
    350                case 0: 
    351                     $img_status = sprintf($img_status_pattern,__('unpublished'),'check-off.png'); 
    352                     break; 
    353                case -1: 
    354                     $img_status = sprintf($img_status_pattern,__('scheduled'),'scheduled.png'); 
    355                     break; 
    356                case -2: 
    357                     $img_status = sprintf($img_status_pattern,__('pending'),'check-wrn.png'); 
    358                     break; 
    359                default: 
    360                     $img_status = ''; 
    361           } 
    362           echo ' &ldquo;'.$post_title.'&rdquo;'.' '.$img_status; 
    363      } 
    364 echo '</span></h2>'; 
    365  
    366370if ($post_id && $post->post_status == 1) { 
    367      echo '<p><a href="'.$post->getURL().'" onclick="window.open(this.href);return false;" title="'.$post_title.' ('.__('new window').')'.'">'.__('Go to this page on the site').' <img src="images/outgoing-blue.png" alt="" /></a></p>'; 
     371     echo '<p><a class="onblog_link" href="'.$post->getURL().'" onclick="window.open(this.href);return false;" title="'.$post_title.' ('.__('new window').')'.'">'.__('Go to this page on the site').' <img src="images/outgoing-blue.png" alt="" /></a></p>'; 
    368372} 
    369373 
     
    372376if ($post_id) 
    373377{ 
    374      echo '<p>'; 
     378     echo '<p class="nav_prevnext">'; 
    375379     if ($prev_link) { echo $prev_link; } 
    376      if ($next_link && $prev_link) { echo ' - '; } 
     380     if ($next_link && $prev_link) { echo ' | '; } 
    377381     if ($next_link) { echo $next_link; } 
    378382      
     
    390394 
    391395 
    392 /* Post form if we can edit post 
     396/* Post form if we can edit page 
    393397-------------------------------------------------------- */ 
    394398if ($can_edit_page) 
    395399{ 
     400     $sidebar_items = new ArrayObject(array( 
     401          'status-box' => array( 
     402               'title' => __('Status'), 
     403               'items' => array( 
     404                    'post_status' =>  
     405                         '<p><label for="post_status" class="ib">'.__('Page status:').'</label> '. 
     406                         form::combo('post_status',$status_combo,$post_status,'','',!$can_publish). 
     407                         '</p>', 
     408                    'post_dt' =>  
     409                         '<p><label for="post_dt" class="ib">'.__('Publication date and hour').'</label>'. 
     410                         form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')). 
     411                         '</p>', 
     412                    'post_lang' => 
     413                         '<p><label for="post_lang" class="ib">'.__('Page lang:').'</label>'. 
     414                         form::combo('post_lang',$lang_combo,$post_lang). 
     415                         '</p>', 
     416                    'post_format' => 
     417                         '<div>'. 
     418                         '<h5 id="label_format"><label for="post_format" class="ib">'.__('Text formating').'</label></h5>'. 
     419                         '<p>'.form::combo('post_format',$formaters_combo,$post_format,'maximal'). 
     420                         '</p>'. 
     421                         '<p>'.($post_id && $post_format != 'xhtml' ?  
     422                         '<a id="convert-xhtml" class="button maximal" href="post.php?id='.$post_id.'&amp;xconv=1">'. 
     423                         __('Convert to XHTML').'</a>' : '').'</p></div>')), 
     424          'metas-box' => array( 
     425               'title' => __('Ordering'), 
     426               'items' => array( 
     427                    'post_position' =>  
     428                         '<p><label for="post_position" class="classic">'.__('Page position:').'</label> '. 
     429                         form::field('post_position',3,3,(string) $post_position). 
     430                         '</p>')), 
     431          'options-box' => array( 
     432               'title' => __('Options'), 
     433               'items' => array( 
     434                    'post_open_comment' => 
     435                         '<p><label for="post_open_comment" class="classic">'. 
     436                         form::checkbox('post_open_comment',1,$post_open_comment).' '. 
     437                         __('Accept comments').'</label></p>'. 
     438                         ($core->blog->settings->system->allow_comments ?  
     439                              (isContributionAllowed($post_id,strtotime($post_dt),true) ?  
     440                                   '' : 
     441                                   '<p class="form-note warn">'. 
     442                                   __('Warning: Comments are not more accepted for this entry.').'</p>') :  
     443                              '<p class="form-note warn">'. 
     444                              __('Warning: Comments are not accepted on this blog.').'</p>'), 
     445                    'post_open_tb' => 
     446                         '<p><label for="post_open_tb" class="classic">'. 
     447                         form::checkbox('post_open_tb',1,$post_open_tb).' '. 
     448                         __('Accept trackbacks').'</label></p>'. 
     449                         ($core->blog->settings->system->allow_trackbacks ?  
     450                              (isContributionAllowed($post_id,strtotime($post_dt),false) ?  
     451                                   '' : 
     452                                   '<p class="form-note warn">'. 
     453                                   __('Warning: Trackbacks are not more accepted for this entry.').'</p>') :  
     454                              '<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'), 
     455                    'post_hide' =>  
     456                         '<p><label for="post_selected" class="classic">'.form::checkbox('post_selected',1,$post_selected).' '. 
     457                         __('Hide in widget Pages').'</label></p>'. 
     458                         '</p>', 
     459                    'post_password' => 
     460                         '<p><label for="post_password" class="ib">'.__('Password').'</label>'. 
     461                         form::field('post_password',10,32,html::escapeHTML($post_password),'maximal'). 
     462                         '</p>', 
     463                    'post_url' => 
     464                         '<div class="lockable">'. 
     465                         '<p><label for="post_url" class="ib">'.__('Edit basename').'</label>'. 
     466                         form::field('post_url',10,255,html::escapeHTML($post_url),'maximal'). 
     467                         '</p>'. 
     468                         '<p class="form-note warn">'. 
     469                         __('Warning: If you set the URL manually, it may conflict with another entry.'). 
     470                         '</p></div>' 
     471     )))); 
     472     $main_items = new ArrayObject(array( 
     473          "post_title" => 
     474               '<p class="col">'. 
     475               '<label class="required no-margin"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'. 
     476               form::field('post_title',20,255,html::escapeHTML($post_title),'maximal'). 
     477               '</p>', 
     478           
     479          "post_excerpt" => 
     480               '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'<span class="form-note">'. 
     481               __('Add an introduction to the post.').'</span></label> '. 
     482               form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)). 
     483               '</p>', 
     484           
     485          "post_content" => 
     486               '<p class="area"><label class="required" '. 
     487               'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
     488               form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). 
     489               '</p>', 
     490           
     491          "post_notes" => 
     492               '<p class="area" id="notes-area"><label for="post_notes">'.__('Personal notes:').'<span class="form-note">'. 
     493               __('Add unpublished notes.').'</span></label>'. 
     494               form::textarea('post_notes',50,5,html::escapeHTML($post_notes)). 
     495               '</p>' 
     496          ) 
     497     ); 
     498 
     499     # --BEHAVIOR-- adminPostFormItems 
     500     $core->callBehavior('adminPageFormItems',$main_items,$sidebar_items, isset($post) ? $post : null); 
     501 
    396502     echo '<div class="multi-part" title="'.__('Edit page').'" id="edit-entry">'; 
    397503     echo '<form action="'.html::escapeURL($redir_url).'" method="post" id="entry-form">'; 
     
    400506     echo '<div id="entry-content"><div class="constrained">'; 
    401507      
    402      echo 
    403      '<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 
    404      form::field('post_title',20,255,html::escapeHTML($post_title),'maximal'). 
    405      '</label></p>'. 
    406       
    407      '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'</label> '. 
    408      form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)). 
    409      '</p>'. 
    410       
    411      '<p class="area"><label class="required" '. 
    412      'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
    413      form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). 
    414      '</p>'; 
    415       
    416      echo 
    417      '<p class="area" id="notes-area"><label for="post_notes">'.__('Notes:').'</label>'. 
    418      form::textarea('post_notes',50,5,html::escapeHTML($post_notes)). 
    419      '</p>'; 
     508      
     509     foreach ($main_items as $id => $item) { 
     510          echo $item; 
     511     } 
    420512 
    421513     # --BEHAVIOR-- adminPageForm 
     
    423515      
    424516     echo 
    425      '<p>'. 
     517     '<p class="border-top">'. 
    426518     ($post_id ? form::hidden('id',$post_id) : ''). 
    427519     '<input type="submit" value="'.__('Save').' (s)" '. 
     
    450542     echo '<div id="entry-sidebar">'; 
    451543      
    452      echo 
    453      '<p><label for="post_status">'.__('Page status:'). 
    454      form::combo('post_status',$status_combo,$post_status,'','',!$can_publish). 
    455      '</label></p>'. 
    456       
    457      '<p><label for="post_dt">'.__('Published on:'). 
    458      form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')).'</label></p>'. 
    459       
    460      '<p><label for="post_format">'.__('Text formating:'). 
    461      form::combo('post_format',$formaters_combo,$post_format). 
    462      ($post_id && $post_format != 'xhtml' ? '<a href="'.html::escapeURL($redir_url).'&amp;id='.$post_id.'&amp;xconv=1">'.__('Convert to XHTML').'</a>' : ''). 
    463      '</label></p>'. 
    464       
    465      '<p><label for="post_open_comment" class="classic">'.form::checkbox('post_open_comment',1,$post_open_comment).' '. 
    466      __('Accept comments').'</label></p>'. 
    467      ($core->blog->settings->system->allow_comments ?  
    468           (isContributionAllowed($post_id,strtotime($post_dt),true) ?  
    469                '' : 
    470                '<p class="form-note warn">'.__('Warning: Comments are not more accepted for this page.').'</p>') :  
    471           '<p class="form-note warn">'.__('Warning: Comments are not accepted on this blog.').'</p>'). 
    472  
    473      '<p><label for="post_open_tb" class="classic">'.form::checkbox('post_open_tb',1,$post_open_tb).' '. 
    474      __('Accept trackbacks').'</label></p>'. 
    475      ($core->blog->settings->system->allow_trackbacks ?  
    476           (isContributionAllowed($post_id,strtotime($post_dt),false) ?  
    477                '' : 
    478                '<p class="form-note warn">'.__('Warning: Trackbacks are not more accepted for this page.').'</p>') :  
    479           '<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'). 
    480       
    481      '<p><label for="post_selected" class="classic">'.form::checkbox('post_selected',1,$post_selected).' '. 
    482      __('Hide').'</label></p>'. 
    483      '<p class="form-note">'. 
    484      __('If checked this page will be active but not listed in widget Pages.'). 
    485      '</p>'. 
    486  
    487      '<p><label for="post_position" class="classic">'.__('Page position:').' '. 
    488      form::field('post_position',3,3,(string) $post_position). 
    489      '</label></p>'. 
    490       
    491      '<p><label for="post_lang">'.__('Page lang:'). 
    492      form::combo('post_lang',$lang_combo,$post_lang).'</label></p>'. 
    493       
    494      '<p><label for="post_password">'.__('Page password:'). 
    495      form::field('post_password',10,32,html::escapeHTML($post_password),'maximal'). 
    496      '</label></p>'. 
    497       
    498      '<div class="lockable">'. 
    499      '<p><label for="post_url">'.__('Basename:'). 
    500      form::field('post_url',10,255,html::escapeHTML($post_url),'maximal'). 
    501      '</label></p>'. 
    502      '<p class="form-note warn">'. 
    503      __('Warning: If you set the URL manually, it may conflict with another page.'). 
    504      '</p>'. 
    505      '</div>'; 
    506       
    507      if ($post_id) 
    508      { 
    509           echo 
    510           '<h3 class="clear">'.__('Attachments').'</h3>'; 
    511           foreach ($post_media as $f) 
    512           { 
    513                $ftitle = $f->media_title; 
    514                if (strlen($ftitle) > 18) { 
    515                     $ftitle = substr($ftitle,0,16).'...'; 
    516                } 
    517                echo 
    518                '<div class="media-item">'. 
    519                '<a class="media-icon" href="media_item.php?id='.$f->media_id.'">'. 
    520                '<img src="'.$f->media_icon.'" alt="" title="'.$f->basename.'" /></a>'. 
    521                '<ul>'. 
    522                '<li><a class="media-link" href="media_item.php?id='.$f->media_id.'"'. 
    523                'title="'.$f->basename.'">'.$ftitle.'</a></li>'. 
    524                '<li>'.$f->media_dtstr.'</li>'. 
    525                '<li>'.files::size($f->size).' - '. 
    526                '<a href="'.$f->file_url.'">'.__('open').'</a>'.'</li>'. 
    527                 
    528                '<li class="media-action"><a class="attachment-remove" id="attachment-'.$f->media_id.'" '. 
    529                'href="post_media.php?post_id='.$post_id.'&amp;media_id='.$f->media_id.'&amp;remove=1">'. 
    530                '<img src="images/check-off.png" alt="'.__('remove').'" /></a>'. 
    531                '</li>'. 
    532                 
    533                '</ul>'. 
    534                '</div>'; 
    535           } 
    536           unset($f); 
    537            
    538           if (empty($post_media)) { 
    539                echo '<p>'.__('No attachment.').'</p>'; 
    540           } 
    541           echo '<p><a href="media.php?post_id='.$post_id.'">'.__('Add files to this page').'</a></p>'; 
     544     foreach ($sidebar_items as $id => $c) { 
     545          echo '<div id="'.$id.'" class="box">'. 
     546               '<h4>'.$c['title'].'</h4>'; 
     547          foreach ($c['items'] as $e_name=>$e_content) { 
     548               echo $e_content; 
     549          } 
     550          echo '</div>'; 
    542551     } 
    543552      
     
    575584     if ($can_edit_page && $core->auth->check('publish,contentadmin',$core->blog->id)) 
    576585     { 
    577           $combo_action[__('publish')] = 'publish'; 
    578           $combo_action[__('unpublish')] = 'unpublish'; 
    579           $combo_action[__('mark as pending')] = 'pending'; 
    580           $combo_action[__('mark as junk')] = 'junk'; 
     586          $combo_action[__('Publish')] = 'publish'; 
     587          $combo_action[__('Unpublish')] = 'unpublish'; 
     588          $combo_action[__('Mark as pending')] = 'pending'; 
     589          $combo_action[__('Mark as junk')] = 'junk'; 
    581590     } 
    582591      
    583592     if ($can_edit_page && $core->auth->check('delete,contentadmin',$core->blog->id)) 
    584593     { 
    585           $combo_action[__('delete')] = 'delete'; 
     594          $combo_action[__('Delete')] = 'delete'; 
    586595     } 
    587596      
     
    615624          '<p class="col checkboxes-helpers"></p>'. 
    616625           
    617           '<p class="col right"><label for="action">'.__('Selected comments action:').'</label> '. 
     626          '<p class="col right"><label for="action" class="classic">'.__('Selected comments action:').'</label> '. 
    618627          form::combo('action',$combo_action). 
    619628          form::hidden('redir',html::escapeURL($redir_url).'&amp;id='.$post_id.'&amp;co=1'). 
     
    637646     '<form action="comment.php" method="post" id="comment-form">'. 
    638647     '<div class="constrained">'. 
    639      '<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Name:'). 
     648     '<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Name:').'</label>'. 
    640649     form::field('comment_author',30,255,html::escapeHTML($core->auth->getInfo('user_cn'))). 
    641      '</label></p>'. 
    642       
    643      '<p><label for="comment_email">'.__('Email:'). 
     650     '</p>'. 
     651      
     652     '<p><label for="comment_email">'.__('Email:').'</label>'. 
    644653     form::field('comment_email',30,255,html::escapeHTML($core->auth->getInfo('user_email'))). 
    645      '</label></p>'. 
    646       
    647      '<p><label for="comment_site">'.__('Web site:'). 
     654     '</p>'. 
     655      
     656     '<p><label for="comment_site">'.__('Web site:').'</label>'. 
    648657     form::field('comment_site',30,255,html::escapeHTML($core->auth->getInfo('user_url'))). 
    649      '</label></p>'. 
     658     '</p>'. 
    650659      
    651660     '<p class="area"><label for="comment_content" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Comment:').'</label> '. 
     
    688697     echo 
    689698     '<table class="comments-list"><tr>'. 
    690      '<th colspan="2">'.__('Author').'</th>'. 
     699     '<th colspan="2" class="nowrap first">'.__('Author').'</th>'. 
    691700     '<th>'.__('Date').'</th>'. 
    692701     '<th class="nowrap">'.__('IP address').'</th>'. 
    693702     '<th>'.__('Status').'</th>'. 
    694      '<th>&nbsp;</th>'. 
     703     '<th>'.__('Edit').'</th>'. 
    695704     '</tr>'; 
    696705      
     
    702711          switch ($rs->comment_status) { 
    703712               case 1: 
    704                     $img_status = sprintf($img,__('published'),'check-on.png'); 
     713                    $img_status = sprintf($img,__('Published'),'check-on.png'); 
    705714                    break; 
    706715               case 0: 
    707                     $img_status = sprintf($img,__('unpublished'),'check-off.png'); 
     716                    $img_status = sprintf($img,__('Unpublished'),'check-off.png'); 
    708717                    break; 
    709718               case -1: 
    710                     $img_status = sprintf($img,__('pending'),'check-wrn.png'); 
     719                    $img_status = sprintf($img,__('Pending'),'check-wrn.png'); 
    711720                    break; 
    712721               case -2: 
    713                     $img_status = sprintf($img,__('junk'),'junk.png'); 
     722                    $img_status = sprintf($img,__('Junk'),'junk.png'); 
    714723                    break; 
    715724          } 
     
    720729           
    721730          '<td class="nowrap">'. 
    722           ($has_action ? form::checkbox(array('comments[]'),$rs->comment_id,'','','',0,'title="'.__('select this comment').'"') : '').'</td>'. 
     731          ($has_action ? form::checkbox(array('comments[]'),$rs->comment_id,'','','',0,'title="'.__('Select this comment').'"') : '').'</td>'. 
    723732          '<td class="maximal">'.$rs->comment_author.'</td>'. 
    724733          '<td class="nowrap">'.dt::dt2str(__('%Y-%m-%d %H:%M'),$rs->comment_dt).'</td>'. 
     
    726735          '<td class="nowrap status">'.$img_status.'</td>'. 
    727736          '<td class="nowrap status"><a href="'.$comment_url.'">'. 
    728           '<img src="images/edit-mini.png" alt="" title="'.__('Edit this comment').'" /></a></td>'. 
     737          '<img src="images/edit-mini.png" alt="" title="'.__('Edit this comment').'" /> '.__('Edit').'</a></td>'. 
    729738           
    730739          '</tr>'; 
  • plugins/pages/page.php

    r1619 r1620  
    139139               $core->media = new dcMedia($core); 
    140140               $post_media = $core->media->getPostMedia($post_id); 
    141           } catch (Exception $e) {} 
     141          } catch (Exception $e) { 
     142               $core->error->add($e->getMessage()); 
     143          } 
    142144     } 
    143145} 
Note: See TracChangeset for help on using the changeset viewer.

Sites map