Dotclear


Ignore:
Files:
59 edited

Legend:

Unmodified
Added
Removed
  • .hgsubstate

    r1529 r1624  
    1 716e99c54652d08c2e4395d5179e817e0f98182d inc/libs/clearbricks 
     1f5e0517435fc94082b6acaad5f4f111252b6149f inc/libs/clearbricks 
  • admin/blog.php

    r1482 r1615  
    8282     '<p><label class="required" for="blog_id"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog ID:').'</label> '. 
    8383     form::field('blog_id',30,32,html::escapeHTML($blog_id)).'</p>'. 
    84      '<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p> '. 
    85      '<p class="form-note warn">'.__('Please note that changing your blog ID may require changes in your public index.php file.').'</p>'. 
     84     '<p class="form-note">'.__('At least 2 characters using letters, numbers or symbols.').'</p> '; 
     85 
     86     if ($blog_id) { 
     87          echo 
     88          '<p class="form-note warn">'.__('Please note that changing your blog ID may require changes in your public index.php file.').'</p>'; 
     89     } 
    8690      
     91     echo 
    8792     '<p><label class="required" for="blog_name"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog name:').'</label> '. 
    8893     form::field('blog_name',30,255,html::escapeHTML($blog_name)).'</p>'. 
  • admin/blog_pref.php

    r1553 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 
     
    170174                
    171175               if ($rs) { 
    172                     throw new Exception(__('That blog Id is already in use.')); 
     176                    throw new Exception(__('This blog ID is already used.')); 
    173177               } 
    174178          } 
  • 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

    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/js/_post.js

    r1606 r1619  
    145145               legend_click: true 
    146146          }); 
    147           $('#post_format').parent().children('label').toggleWithLegend($('#post_format'),{ 
     147          $('#label_format').toggleWithLegend($('#label_format').parent().children().not('#label_format'),{ 
    148148               cookie: 'dcx_post_format', 
    149149               legend_click: true 
  • admin/js/prelude.js

    r1600 r1615  
    88                    $('#prelude a').removeClass('hidden'); 
    99                    $('#wrapper').css('padding-top', '1em'); 
     10                    $('#help-button').css('top', '4em'); 
    1011               } 
    1112          } 
  • admin/plugins.php

    r1605 r1622  
    374374     form::password(array('your_pwd','your_pwd2'),20,255).'</p>'. 
    375375     '<p><input type="submit" name="fetch_pkg" value="'.__('Download plugin').'" />'. 
    376      $core->formNonce(). 
    377      '</fieldset>'. 
     376     $core->formNonce().'</p>'. 
    378377     '</form>'; 
    379378} 
  • admin/post.php

    r1612 r1621  
    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} 
     
    439441                         '</p>', 
    440442                    'post_format' => 
    441                          '<p><label for="post_format" class="ib">'.__('Text formating').'</label>'. 
    442                          form::combo('post_format',$formaters_combo,$post_format,'maximal'). 
     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'). 
    443446                         '</p>'. 
    444447                         '<p>'.($post_id && $post_format != 'xhtml' ?  
    445448                         '<a id="convert-xhtml" class="button maximal" href="post.php?id='.$post_id.'&amp;xconv=1">'. 
    446                          __('Convert to XHTML').'</a>' : '').'</p>')), 
     449                         __('Convert to XHTML').'</a>' : '').'</p></div>')), 
    447450          'metas-box' => array( 
    448451               'title' => __('Ordering'), 
     
    627630     } 
    628631      
     632     echo 
     633     '<div id="comments" class="multi-part" title="'.__('Comments').'">'; 
     634           
    629635     # --BEHAVIOR-- adminCommentsActionsCombo 
    630636     $core->callBehavior('adminCommentsActionsCombo',array(&$combo_action)); 
     
    632638     $has_action = !empty($combo_action) && (!$trackbacks->isEmpty() || !$comments->isEmpty()); 
    633639     echo  
    634           '<p class="top-add"><a class="button add onblog_link" href="#comment-form">'.__('Add a comment').'</a>'; 
    635       
    636      echo 
    637      '<div id="comments" class="multi-part" title="'.__('Comments').'">'; 
    638            
     640     '<p class="top-add"><a class="button add onblog_link" href="#comment-form">'.__('Add a comment').'</a></p>'; 
     641      
    639642     if ($has_action) { 
    640643          echo '<form action="comments_actions.php" id="form-comments" method="post">'; 
     
    672675     -------------------------------------------------------- */ 
    673676 
    674           echo 
     677     echo 
     678     '<div class="fieldset clear">'. 
    675679     '<h3>'.__('Add a comment').'</h3>'. 
    676680      
     
    697701     $core->formNonce(). 
    698702     '<input type="submit" name="add" value="'.__('Save').'" /></p>'. 
    699      '</div>'. 
     703     '</div>'. #constrained 
     704 
    700705     '</form>'. 
    701      '</div>'; 
     706     '</div>'. #add comment 
     707     '</div>'; #comments 
    702708} 
    703709 
  • admin/post_media.php

    r1179 r1537  
    2626} 
    2727 
    28 if ($post_id && $media_id && !empty($_POST['attach'])) 
    29 { 
    30      $core->media = new dcMedia($core); 
    31      $core->media->addPostMedia($post_id,$media_id); 
    32      http::redirect($core->getPostAdminURL($rs->post_type,$post_id,false)); 
    33 } 
     28try { 
     29     if ($post_id && $media_id && !empty($_POST['attach'])) 
     30     { 
     31          $core->media = new dcMedia($core); 
     32          $core->media->addPostMedia($post_id,$media_id); 
     33          http::redirect($core->getPostAdminURL($rs->post_type,$post_id,false)); 
     34     } 
    3435 
    35 try { 
    3636     $core->media = new dcMedia($core); 
    3737     $f = $core->media->getPostMedia($post_id,$media_id); 
  • admin/services.php

    r1500 r1538  
    238238          } 
    239239           
    240           $core->media = new dcMedia($core); 
    241           $file = $core->media->getFile($id); 
     240          try { 
     241               $core->media = new dcMedia($core); 
     242               $file = $core->media->getFile($id); 
     243          } catch (Exception $e) {} 
    242244           
    243245          if ($file === null || $file->type != 'application/zip' || !$file->editable) { 
  • admin/style/default.css

    r1609 r1621  
    2626     padding: 0; 
    2727} 
     28 
    2829a, a:link, a:visited { 
    2930     color: #2373A8; 
     
    7879h5 { 
    7980     font-size: 12px; /* ie < 9 sucks */ 
    80      font-size: 1.3rem; 
     81     font-size: 1.2rem; 
    8182     color: #575859; 
    8283} 
     
    378379} 
    379380#search-menu * { 
    380      height: 20px; /* ie < 9 sucks */ 
    381      height: 2rem; 
     381     height: 22px; /* ie < 9 sucks */ 
     382     height: 2.2rem; 
     383     display: inline-block; 
     384     vertical-align: top; 
     385     line-height: 22px; 
    382386} 
    383387#search-menu p { 
    384      display: inline-block; 
    385388     border: 1px solid #999; 
    386389     border-radius: .3em; 
     
    388391     overflow: hidden; 
    389392} 
    390 #search-menu #qx { 
    391      width: 120px; /* ie < 9 sucks */ 
    392      width: 12rem; 
     393#qx { 
     394     width: 124px; /* ie < 9 sucks */ 
     395     width: 12.4rem; 
    393396     border-bottom-left-radius: .3em; 
    394397     border-top-left-radius: .3em; 
    395398     background: transparent url(search.png) no-repeat 4px center; 
    396399     text-indent: 18px; 
    397      padding: 0 2px; 
     400     padding: 0; 
    398401     border: none; 
     402     height: 22px; 
     403     height: 2.2rem; 
     404} 
     405#qx:focus { 
     406     border: 2px solid #BBDB58; 
    399407} 
    400408#search-menu input[type="submit"] { 
    401409     padding: 0 3px; 
    402410     padding: 0 .3rem; 
     411     margin-left: -4px; 
    403412     background: #dfdfdf; 
    404413     border-color: #999; 
     
    511520#icons a img { 
    512521     padding: 2em; 
    513      margin-bottom: .3em; 
    514522     -moz-box-shadow: 0px 1px 0px 0px #ffffff; 
    515523     -webkit-box-shadow: 0px 1px 0px 0px #ffffff; 
     
    525533     display:inline-block; 
    526534} 
    527 #icons a img:hover, #icons a:focus img { 
     535#icons a:focus img, #icons a:hover img { 
    528536     background: #BBDB58; 
    529537} 
     
    622630     float: right; 
    623631} 
    624 #entry-sidebar input[type="text"], 
    625632#entry-sidebar select { 
    626      width: 14em; /* to prevent inline with label */ 
     633     width: 100%; 
     634} 
     635#entry-sidebar input#post_position { 
     636     width: 4em; 
    627637} 
    628638.box { 
     
    632642#comments { 
    633643     clear: both; 
     644} 
     645#trackback-form textarea { 
     646     width: 98%; 
    634647} 
    635648/* ------------------------------------------------------------------ categories */ 
     
    978991     border: 1px solid #fff; 
    979992} 
     993#themes a:focus div, #themes a:hover div, 
     994#themes a:focus div.current-theme, #themes a:hover div.current-theme { 
     995     background: #BBDB58; 
     996} 
    980997/* ----------------------------------------------------------  Plugins list */ 
    981998#plugins td.action { 
     
    11721189     margin-top: 2em; 
    11731190} 
     1191p.clear.vertical-separator { 
     1192     padding-top: 2em; 
     1193} 
    11741194.border-top { 
    11751195     border-top: 1px solid #999; 
     
    14091429     background: #f9f9f9; 
    14101430     color: #000; 
    1411      border-width: 1px; 
     1431     border-width: 2px; 
    14121432     border-style: solid; 
    1413      border-color: #666 #ccc #ccc #999; 
     1433     border-color: #ccc #ddd #ddd #ccc;  
     1434} 
     1435select { 
     1436     border-right: none; 
    14141437} 
    14151438input.invalid, textarea.invalid, select.invalid { 
     
    14581481p.form-note.warn, p.form-note.info, p.warning { 
    14591482     font-style: normal; 
    1460      padding: .2em 1em .3em 32px; 
     1483     padding: .2em .66em .2em; 
     1484     text-indent: 24px; 
    14611485     color: #333; 
    14621486     display: inline-block; 
     1487     line-height: 1.5em; 
    14631488} 
    14641489p.form-note.warn, p.warning { 
     
    15331558     background: transparent; 
    15341559} 
    1535  
     1560input:focus, textarea:focus, select:focus { 
     1561     -webkit-box-sizing: border-box; 
     1562     -moz-box-sizing: border-box; 
     1563     box-sizing: border-box; 
     1564     border: 2px solid #BBDB58; 
     1565} 
    15361566/* --------------------------------------------------------------- buttons */ 
    15371567/* commun */ 
  • 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/style/jsToolBar/jsToolBar.css

    r1475 r1621  
    66} 
    77.jstEditor textarea, .jstEditor iframe { 
    8   margin: 0; 
    9   border: 0; 
    10   padding: 0; 
    11 } 
    12 .jstEditor textarea { 
    13   width: 99%; 
    14   padding: 1rem 0 0 1%; 
     8     -webkit-box-sizing: border-box; 
     9     -moz-box-sizing: border-box; 
     10     box-sizing: border-box;   
     11     margin: 0; 
     12     border: 2px solid #f9f9f9; 
     13     width: 100%; 
     14     padding: .5em 0 0 0; 
    1515} 
    1616.jstHandle { 
     
    2323     border-style: solid; 
    2424} 
    25  
     25.jstEditor textarea:focus, .jstEditor iframe:focus { 
     26     border: 2px solid #BBDB58; 
     27} 
    2628.jstElements { 
    2729     height: 28px; 
     
    156158} 
    157159 
    158  
    159160/* WYSIWYG Iframe */ 
    160161.wysiwygIframe { 
  • admin/trackbacks.php

    r1459 r1614  
    120120     $tb_urls = implode("\n",$TB->discover($post->post_excerpt_xhtml.' '.$post->post_content_xhtml)); 
    121121} else { 
    122      $auto_link = '<strong><a class="button" href="trackbacks.php?id='.$id.'&amp;auto=1">'. 
    123      __('Auto discover ping URLs').'</a></strong>'; 
     122     $auto_link = '<a class="button" href="trackbacks.php?id='.$id.'&amp;auto=1">'. 
     123     __('Auto discover ping URLs').'</a>'; 
    124124} 
    125125 
     
    132132 
    133133'<p><label for="tb_excerpt" class="area">'.__('Send excerpt:').'</label>'. 
    134 form::textarea('tb_excerpt',60,3,$tb_excerpt).'</p>'. 
     134form::textarea('tb_excerpt',60,5,$tb_excerpt).'</p>'. 
    135135 
    136136'<p>'.form::hidden('id',$id). 
  • 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

    r1609 r1621  
    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 
     
    193206 
    194207echo 
    195 '<form action="user.php" method="post" id="user-form" class="fieldset">'. 
     208'<form action="user.php" method="post" id="user-form">'. 
    196209'<div class="two-cols">'. 
    197210 
     
    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'<div class="pw-table">'. 
     227     '<p class="pw-cell">'. 
     228          '<label for="new_pwd" '.($user_id != '' ? '' : 'class="required"').'>'. 
     229          ($user_id != '' ? '' : '<abbr title="'.__('Required field').'">*</abbr> '). 
     230          ($user_id != '' ? __('New password:') : __('Password:')).'</label>'. 
     231          form::password('new_pwd',20,255,'','','',false,' data-indicator="pwindicator" '). 
     232     '</p>'. 
     233     '<div id="pwindicator">'. 
     234     '    <div class="bar"></div>'. 
     235    '    <p class="label no-margin"></p>'. 
     236    '</div>'. 
     237'</div>'. 
    218238'<p class="form-note">'.__('Password must contain at least 6 characters.').'</p>'. 
    219239 
     
    290310 
    291311echo 
    292 '<p class="clear border-top"><label for="your_pwd" class="required">'. 
     312'<p class="clear vertical-separator"><label for="your_pwd" class="required">'. 
    293313'<abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label>'. 
    294314form::password('your_pwd',20,255).'</p>'. 
     
    358378     }  
    359379     else { 
    360           echo '<p>'.sprintf(__('User %s is super admin.'),$user_id).'</p>'; 
     380          echo '<p>'.sprintf(__('%s is super admin (all rights on all blogs).'),'<strong>'.$user_id.'</strong>').'</p>'; 
    361381     }     
    362382     echo '</div>'; 
  • inc/admin/lib.pager.php

    r1600 r1622  
    333333          '<td class="nowrap">'. 
    334334          form::checkbox(array('comments[]'),$this->rs->comment_id,'','','',0).'</td>'. 
    335           '<td class="status class="txt-center">'. 
     335          '<td class="status txt-center">'. 
    336336               '<a href="'.$comment_url.'">'. 
    337337               '<img src="images/edit-mini.png" alt="" title="'.__('Edit').'" /> '. 
  • 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/config.php.in

    r1179 r1535  
    5050 
    5151// Template cache directory 
    52 define('DC_TPL_CACHE',dirname(__FILE__).'/../cache'); 
     52define('DC_TPL_CACHE',path::real(dirname(__FILE__).'/..').'/cache'); 
    5353 
    5454 
  • 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          } 
  • inc/core/class.dc.core.php

    r1179 r1593  
    928928           
    929929          if (!empty($params['q'])) { 
    930                $params['q'] = str_replace('*','%',$params['q']); 
     930               $params['q'] = strtolower(str_replace('*','%',$params['q'])); 
    931931               $where .= 
    932932               'AND ('. 
  • inc/public/lib.tpl.context.php

    r1179 r1537  
    416416          global $core, $_ctx; 
    417417           
    418           $media = new dcMedia($core); 
    419           $sizes = implode('|',array_keys($media->thumb_sizes)).'|o'; 
    420           if (!preg_match('/^'.$sizes.'$/',$size)) { 
    421                $size = 's'; 
    422           } 
    423           $p_url = $core->blog->settings->system->public_url; 
    424           $p_site = preg_replace('#^(.+?//.+?)/(.*)$#','$1',$core->blog->url); 
    425           $p_root = $core->blog->public_path; 
    426            
    427           $pattern = '(?:'.preg_quote($p_site,'/').')?'.preg_quote($p_url,'/'); 
    428           $pattern = sprintf('/<img.+?src="%s(.*?\.(?:jpg|jpeg|gif|png))"[^>]+/msui',$pattern); 
    429            
    430           $src = ''; 
    431           $alt = ''; 
    432            
    433           # We first look in post content 
    434           if (!$cat_only && $_ctx->posts) 
    435           { 
    436                $subject = ($content_only ? '' : $_ctx->posts->post_excerpt_xhtml).$_ctx->posts->post_content_xhtml; 
    437                if (preg_match_all($pattern,$subject,$m) > 0) 
     418          try { 
     419               $media = new dcMedia($core); 
     420               $sizes = implode('|',array_keys($media->thumb_sizes)).'|o'; 
     421               if (!preg_match('/^'.$sizes.'$/',$size)) { 
     422                    $size = 's'; 
     423               } 
     424               $p_url = $core->blog->settings->system->public_url; 
     425               $p_site = preg_replace('#^(.+?//.+?)/(.*)$#','$1',$core->blog->url); 
     426               $p_root = $core->blog->public_path; 
     427                
     428               $pattern = '(?:'.preg_quote($p_site,'/').')?'.preg_quote($p_url,'/'); 
     429               $pattern = sprintf('/<img.+?src="%s(.*?\.(?:jpg|jpeg|gif|png))"[^>]+/msui',$pattern); 
     430                
     431               $src = ''; 
     432               $alt = ''; 
     433                
     434               # We first look in post content 
     435               if (!$cat_only && $_ctx->posts) 
    438436               { 
    439                     foreach ($m[1] as $i => $img) { 
    440                          if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
    441                               $dirname = str_replace('\\', '/', dirname($img));  
    442                               $src = $p_url.($dirname != '/' ? $dirname : '').'/'.$src; 
    443                               if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
    444                                    $alt = $malt[1]; 
     437                    $subject = ($content_only ? '' : $_ctx->posts->post_excerpt_xhtml).$_ctx->posts->post_content_xhtml; 
     438                    if (preg_match_all($pattern,$subject,$m) > 0) 
     439                    { 
     440                         foreach ($m[1] as $i => $img) { 
     441                              if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
     442                                   $dirname = str_replace('\\', '/', dirname($img));  
     443                                   $src = $p_url.($dirname != '/' ? $dirname : '').'/'.$src; 
     444                                   if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
     445                                        $alt = $malt[1]; 
     446                                   } 
     447                                   break; 
    445448                              } 
    446                               break; 
    447449                         } 
    448450                    } 
    449451               } 
    450           } 
    451            
    452           # No src, look in category description if available 
    453         if (!$src && $with_category && $_ctx->posts->cat_desc) 
    454         { 
    455                if (preg_match_all($pattern,$_ctx->posts->cat_desc,$m) > 0) 
    456                { 
    457                     foreach ($m[1] as $i => $img) { 
    458                          if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
    459                               $dirname = str_replace('\\', '/', dirname($img));  
    460                               $src = $p_url.($dirname != '/' ? $dirname : '').'/'.$src; 
    461                               if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
    462                                    $alt = $malt[1]; 
     452                
     453               # No src, look in category description if available 
     454             if (!$src && $with_category && $_ctx->posts->cat_desc) 
     455             { 
     456                    if (preg_match_all($pattern,$_ctx->posts->cat_desc,$m) > 0) 
     457                    { 
     458                         foreach ($m[1] as $i => $img) { 
     459                              if (($src = self::ContentFirstImageLookup($p_root,$img,$size)) !== false) { 
     460                                   $dirname = str_replace('\\', '/', dirname($img));  
     461                                   $src = $p_url.($dirname != '/' ? $dirname : '').'/'.$src; 
     462                                   if (preg_match('/alt="([^"]+)"/',$m[0][$i],$malt)) { 
     463                                        $alt = $malt[1]; 
     464                                   } 
     465                                   break; 
    463466                              } 
    464                               break; 
    465467                         } 
    466                     } 
    467                }; 
    468           } 
    469            
    470           if ($src) { 
    471                if ($no_tag) { 
    472                     return $src; 
    473                } else { 
    474                     return '<img alt="'.$alt.'" src="'.$src.'" class="'.$class.'" />'; 
    475                } 
     468                    }; 
     469               } 
     470                
     471               if ($src) { 
     472                    if ($no_tag) { 
     473                         return $src; 
     474                    } else { 
     475                         return '<img alt="'.$alt.'" src="'.$src.'" class="'.$class.'" />'; 
     476                    } 
     477               } 
     478                
     479          } catch (Exception $e) { 
     480               $core->error->add($e->getMessage()); 
    476481          } 
    477482     } 
     
    485490          $base = $info['base']; 
    486491           
    487           $media = new dcMedia($core); 
    488           $sizes = implode('|',array_keys($media->thumb_sizes)); 
    489           if (preg_match('/^\.(.+)_('.$sizes.')$/',$base,$m)) { 
    490                $base = $m[1]; 
    491           } 
    492            
    493           $res = false; 
    494           if ($size != 'o' && file_exists($root.'/'.$info['dirname'].'/.'.$base.'_'.$size.'.jpg')) 
    495           { 
    496                $res = '.'.$base.'_'.$size.'.jpg'; 
    497           } 
    498           else 
    499           { 
    500                $f = $root.'/'.$info['dirname'].'/'.$base; 
    501                if (file_exists($f.'.'.$info['extension'])) { 
    502                     $res = $base.'.'.$info['extension']; 
    503                } elseif (file_exists($f.'.jpg')) { 
    504                     $res = $base.'.jpg'; 
    505                } elseif (file_exists($f.'.jpeg')) { 
    506                     $res = $base.'.jpeg'; 
    507                } elseif (file_exists($f.'.png')) { 
    508                     $res = $base.'.png'; 
    509                } elseif (file_exists($f.'.gif')) { 
    510                     $res = $base.'.gif'; 
    511                } elseif (file_exists($f.'.JPG')) { 
    512                     $res = $base.'.JPG'; 
    513                } elseif (file_exists($f.'.JPEG')) { 
    514                     $res = $base.'.JPEG'; 
    515                } elseif (file_exists($f.'.PNG')) { 
    516                     $res = $base.'.PNG'; 
    517                } elseif (file_exists($f.'.GIF')) { 
    518                     $res = $base.'.GIF'; 
    519                } 
     492          try { 
     493               $media = new dcMedia($core); 
     494               $sizes = implode('|',array_keys($media->thumb_sizes)); 
     495               if (preg_match('/^\.(.+)_('.$sizes.')$/',$base,$m)) { 
     496                    $base = $m[1]; 
     497               } 
     498                
     499               $res = false; 
     500               if ($size != 'o' && file_exists($root.'/'.$info['dirname'].'/.'.$base.'_'.$size.'.jpg')) 
     501               { 
     502                    $res = '.'.$base.'_'.$size.'.jpg'; 
     503               } 
     504               else 
     505               { 
     506                    $f = $root.'/'.$info['dirname'].'/'.$base; 
     507                    if (file_exists($f.'.'.$info['extension'])) { 
     508                         $res = $base.'.'.$info['extension']; 
     509                    } elseif (file_exists($f.'.jpg')) { 
     510                         $res = $base.'.jpg'; 
     511                    } elseif (file_exists($f.'.jpeg')) { 
     512                         $res = $base.'.jpeg'; 
     513                    } elseif (file_exists($f.'.png')) { 
     514                         $res = $base.'.png'; 
     515                    } elseif (file_exists($f.'.gif')) { 
     516                         $res = $base.'.gif'; 
     517                    } elseif (file_exists($f.'.JPG')) { 
     518                         $res = $base.'.JPG'; 
     519                    } elseif (file_exists($f.'.JPEG')) { 
     520                         $res = $base.'.JPEG'; 
     521                    } elseif (file_exists($f.'.PNG')) { 
     522                         $res = $base.'.PNG'; 
     523                    } elseif (file_exists($f.'.GIF')) { 
     524                         $res = $base.'.GIF'; 
     525                    } 
     526               } 
     527          } catch (Exception $e) { 
     528               $core->error->add($e->getMessage()); 
    520529          } 
    521530           
  • locales/bn/main.po

    r1556 r1620  
    215215 
    216216#, fuzzy 
    217 msgid "That blog Id is already in use." 
     217msgid "This blog ID is already used." 
    218218msgstr "Dotclear ইতিমধ্যেই ইন্সটল করা আছে।" 
    219219 
     
    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

    r1556 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 
     
    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

    r1556 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 
     
    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

    r1556 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 
     
    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

    r1556 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 
     
    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

    r1557 r1622  
    211211msgstr "" 
    212212 
    213 msgid "That blog Id is already in use." 
     213msgid "This blog ID is already used." 
    214214msgstr "" 
    215215 
     
    547547 
    548548msgid "Entries (all types)" 
    549 msgstr "Entries & pages" 
     549msgstr "Entries &amp; pages" 
    550550 
    551551msgid "Status" 
     
    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

    r1556 r1620  
    211211msgstr "" 
    212212 
    213 msgid "That blog Id is already in use." 
     213msgid "This blog ID is already used." 
    214214msgstr "" 
    215215 
     
    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

    r1556 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 
     
    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

    r1556 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 
     
    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

    r1556 r1620  
    211211msgstr "" 
    212212 
    213 msgid "That blog Id is already in use." 
     213msgid "This blog ID is already used." 
    214214msgstr "" 
    215215 
     
    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/help/core_trackbacks.html

    r1573 r1614  
    77 
    88<h4>Rétroliens</h4> 
    9 <p>Pour faire un rétrolien cliquez sur le lien <em>Faire des rétroliens</em>. 
     9<p>Pour envoyer un rétrolien cliquez sur le lien <em>Faire des rétroliens</em>. 
    1010Si vous ne voyez pas ce lien, vérifiez que votre billet est bien dans l'état 
    1111<em>publié</em>.</p> 
  • locales/fr/main.po

    r1609 r1622  
    230230msgstr "Je souhaite que mon blog ne soit ni indexé ni archivé par les moteurs de recherche et archiveurs." 
    231231 
    232 msgid "That blog Id is already in use." 
     232msgid "This blog ID is already used." 
    233233msgstr "Cet identifiant est déjà utilisé." 
    234234 
     
    578578 
    579579msgid "Entries (all types)" 
    580 msgstr "Billets & pages" 
     580msgstr "Billets &amp; pages" 
    581581 
    582582msgid "Status" 
     
    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:" 
     
    16781679 
    16791680msgid "Ping blogs" 
    1680 msgstr "Faire des rétroliens" 
     1681msgstr "Envoyer des rétroliens" 
    16811682 
    16821683msgid "Trackbacks" 
     
    25162517msgstr "Blog" 
    25172518 
    2518 msgid "Updates" 
    2519 msgstr "Mises à jour" 
     2519msgid "Update" 
     2520msgstr "Mise à jour" 
    25202521 
    25212522msgid "Languages" 
     
    32433244msgstr "Identifiant (login) :" 
    32443245 
     3246msgid "%s is super admin (all rights on all blogs)." 
     3247msgstr "%s est super administrateur (tous les droits sur tous les blogs)." 
     3248 
    32453249msgid "Interface" 
    32463250msgstr "Interface" 
  • locales/fr/plugins.po

    r1610 r1619  
    19811981msgid "Syntax color for theme editor" 
    19821982msgstr "Coloration syntaxique de l'éditeur de thème" 
     1983 
     1984msgid "Hide in widget Pages" 
     1985msgstr "Ne pas lister dans le widget Pages" 
  • locales/hu/main.po

    r1556 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 
     
    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

    r1556 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 
     
    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

    r1556 r1620  
    222222 
    223223#, fuzzy 
    224 msgid "That blog Id is already in use." 
     224msgid "This blog ID is already used." 
    225225msgstr "Dotclear はすでにインストールされています。" 
    226226 
     
    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

    r1556 r1620  
    220220 
    221221#, fuzzy 
    222 msgid "That blog Id is already in use." 
     222msgid "This blog ID is already used." 
    223223msgstr "Dotclear가 이미 설치되어 있습니다." 
    224224 
     
    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

    r1556 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 
     
    22052205msgstr "Blogas" 
    22062206 
    2207 msgid "Updates" 
     2207msgid "Update" 
    22082208msgstr "Atnaujinimai" 
    22092209 
  • locales/nl/main.po

    r1556 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 
     
    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

    r1556 r1620  
    212212msgstr "" 
    213213 
    214 msgid "That blog Id is already in use." 
     214msgid "This blog ID is already used." 
    215215msgstr "" 
    216216 
     
    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

    r1556 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 
     
    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

    r1556 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 
     
    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

    r1556 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 
     
    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

    r1556 r1620  
    213213msgstr "" 
    214214 
    215 msgid "That blog Id is already in use." 
     215msgid "This blog ID is already used." 
    216216msgstr "" 
    217217 
     
    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

    r1556 r1620  
    216216msgstr "Я не хочу, чтобы мой блог индексировался и архивировался поисковыми машинами." 
    217217 
    218 msgid "That blog Id is already in use." 
     218msgid "This blog ID is already used." 
    219219msgstr "Dotclear уже установлен." 
    220220 
     
    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

    r1579 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 
     
    858858msgstr "" 
    859859 
    860 msgid "information about this version" 
     860msgid "<a href=\"%s\">Information about this version</a>." 
    861861msgstr "" 
    862862 
     
    16541654 
    16551655msgid "Ping blogs" 
    1656 msgstr "Faire des rétroliens" 
     1656msgstr "Envoyer des rétroliens" 
    16571657 
    16581658msgid "Trackbacks" 
     
    24442444msgstr "Blog" 
    24452445 
    2446 msgid "Updates" 
     2446msgid "Update" 
    24472447msgstr "" 
    24482448 
  • locales/sv/main.po

    r1556 r1620  
    211211msgstr "" 
    212212 
    213 msgid "That blog Id is already in use." 
     213msgid "This blog ID is already used." 
    214214msgstr "" 
    215215 
     
    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

    r1556 r1620  
    215215 
    216216#, fuzzy 
    217 msgid "That blog Id is already in use." 
     217msgid "This blog ID is already used." 
    218218msgstr "డాట్‌క్లియర్ ఇప్పటికే స్థాపితమైవుంది." 
    219219 
     
    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

    r1556 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 
     
    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

    r1556 r1620  
    215215 
    216216#, fuzzy 
    217 msgid "That blog Id is already in use." 
     217msgid "This blog ID is already used." 
    218218msgstr "Dotclear 已被安装。" 
    219219 
     
    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/antispam/filters/class.dc.filter.iplookup.php

    r1499 r1622  
    8181          form::textarea('bls',40,3,html::escapeHTML($bls),'maximal'). 
    8282          '</p>'. 
    83           '<p><input type="submit" value="'.__('Save').'" /></p>'. 
     83          '<p><input type="submit" value="'.__('Save').'" />'. 
    8484          $this->core->formNonce().'</p>'. 
    8585          '</form>'; 
  • plugins/attachments/_admin.php

    r1501 r1620  
    1515$core->addBehavior ('adminPostAfterForm',array('attachmentAdmin','adminPostAfterForm')); 
    1616$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')); 
    1720 
    1821class attachmentAdmin 
  • plugins/importExport/inc/class.dc.import.dc1.php

    r1569 r1622  
    160160                    '<p><label for="db_prefix">'.__('Database Tables Prefix:').'</label> '. 
    161161                    form::field('db_prefix',30,255,html::escapeHTML($this->vars['db_prefix'])).'</p>'. 
    162                     '<h3>'.__('Entries import options').'</h3>'. 
     162                    '<h3 class="vertical-separator">'.__('Entries import options').'</h3>'. 
    163163                    '<p><label for="post_limit">'.__('Number of entries to import at once:').'</label> '. 
    164164                    form::field('post_limit',3,3,html::escapeHTML($this->vars['post_limit'])).'</p>' 
     
    190190               case 6: 
    191191                    echo  
    192                     '<h3>'.__('Please read carefully').'</h3>'. 
     192                    '<h3 class="vertical-separator">'.__('Please read carefully').'</h3>'. 
    193193                    '<ul>'. 
    194194                    '<li>'.__('Every newly imported user has received a random password '. 
     
    216216          return 
    217217          '<form action="'.$this->getURL(true).'" method="post">'. 
    218           '<h3>'.$legend.'</h3>'. 
    219           $this->core->formNonce(). 
     218          '<h3 class="vertical-separator">'.$legend.'</h3>'. 
     219          '<div>'.$this->core->formNonce(). 
    220220          form::hidden(array('do'),'step'.$step). 
    221           '%s'. 
    222           '<p><input type="submit" value="'.$submit_value.'" /></p>'. 
     221          '%s'.'</div>'. 
     222          '<p class="vertical-separator"><input type="submit" value="'.$submit_value.'" /></p>'. 
    223223          '<p class="form-note info">'.__('Depending on the size of your blog, it could take a few minutes.').'</p>'. 
    224224          '</form>'; 
  • plugins/importExport/inc/class.dc.import.wp.php

    r1569 r1622  
    192192                    form::field('db_prefix',30,255,html::escapeHTML($this->vars['db_prefix'])).'</p>'. 
    193193 
    194                     '<h3>'.__('Entries import options').'</h3>'. 
     194                    '<h3 class="vertical-separator">'.__('Entries import options').'</h3>'. 
     195                    '<div class="two-cols">'. 
     196 
     197                    '<div class="col">'. 
    195198                    '<p>'.__('WordPress and Dotclear\'s handling of categories are quite different. '. 
    196199                    'You can assign several categories to a single post in WordPress. In the Dotclear world, '. 
     
    203206                    'importing your blog, as Dotclear allows you to actually keep your posts '. 
    204207                    'uncategorized.').'</p>'. 
     208                    '</div>'. 
    205209 
     210                    '<div class="col">'. 
    206211                    '<p><label for="ignore_first_cat" class="classic">'.form::checkbox('ignore_first_cat',1,$this->vars['ignore_first_cat']).' '. 
    207212                    __('Ignore the first category:').'</label></p>'. 
     
    214219                    '<p><label for="post_limit">'.__('Number of entries to import at once:').'</label> '. 
    215220                    form::field('post_limit',3,3,html::escapeHTML($this->vars['post_limit'])).'</p>'. 
     221                    '</div>'. 
    216222                     
    217                     '<h3>'.__('Content filters').'</h3>'. 
     223                    '</div>'. 
     224 
     225                    '<h3 class="clear vertical-separator">'.__('Content filters').'</h3>'. 
    218226                    '<p>'.__('You may want to process your post and/or comment content with the following filters.').'</p>'. 
    219227                    '<p><label for="post_formater">'.__('Post content formatter:').'</label> '. 
    220228                    form::combo('post_formater',$this->formaters,$this->vars['post_formater']).'</p>'. 
    221229                    '<p><label for="comment_formater">'.__('Comment content formatter:').'</label> ' 
    222                     .form::combo('comment_formater',$this->formaters,$this->vars['comment_formater']).'</label></p>' 
     230                    .form::combo('comment_formater',$this->formaters,$this->vars['comment_formater']).'</p>' 
    223231                    ); 
    224232                    break; 
     
    265273          return 
    266274          '<form action="'.$this->getURL(true).'" method="post">'. 
    267           '<h3>'.$legend.'</h3>'. 
    268           $this->core->formNonce(). 
     275          '<h3 class="vertical-separator">'.$legend.'</h3>'. 
     276          '<div>'.$this->core->formNonce(). 
    269277          form::hidden(array('do'),'step'.$step). 
    270           '%s'. 
     278          '%s'.'</div>'. 
    271279          '<p><input type="submit" value="'.$submit_value.'" /></p>'. 
    272280          '<p class="form-note info">'.__('Depending on the size of your blog, it could take a few minutes.').'</p>'. 
  • plugins/pages/page.php

    r1553 r1621  
    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} 
     
    392394 
    393395 
    394 /* Post form if we can edit post 
     396/* Post form if we can edit page 
    395397-------------------------------------------------------- */ 
    396398if ($can_edit_page) 
    397399{ 
     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>'. 
     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 
    398502     echo '<div class="multi-part" title="'.__('Edit page').'" id="edit-entry">'; 
    399503     echo '<form action="'.html::escapeURL($redir_url).'" method="post" id="entry-form">'; 
     
    402506     echo '<div id="entry-content"><div class="constrained">'; 
    403507      
    404      echo 
    405      '<p class="col"><label for="post_title" class="required no-margin"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'. 
    406      form::field('post_title',20,255,html::escapeHTML($post_title),'maximal'). 
    407      '</p>'. 
    408       
    409      '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:'). 
    410      '<span class="form-note">'.__('Add an introduction to the page.').'</span></label> '. 
    411      form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)). 
    412      '</p>'. 
    413       
    414      '<p class="area"><label class="required" '. 
    415      'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 
    416      form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). 
    417      '</p>'; 
    418       
    419      echo 
    420      '<p class="area" id="notes-area"><label for="post_notes">'.__('Personal notes:'). 
    421      '<span class="form-note">'.__('Add unpublished notes.').'</span></label>'. 
    422      form::textarea('post_notes',50,5,html::escapeHTML($post_notes)). 
    423      '</p>'; 
     508      
     509     foreach ($main_items as $id => $item) { 
     510          echo $item; 
     511     } 
    424512 
    425513     # --BEHAVIOR-- adminPageForm 
     
    454542     echo '<div id="entry-sidebar">'; 
    455543      
    456      echo 
    457      '<p><label for="post_status" class="ib">'.__('Page status:').'</label> '. 
    458      form::combo('post_status',$status_combo,$post_status,'','',!$can_publish). 
    459      '</p>'. 
    460       
    461      '<p><label for="post_dt" class="ib">'.__('Published on:').'</label>'. 
    462      form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')).'</p>'. 
    463       
    464      '<p><label for="post_format" class="ib">'.__('Text formating:').'</label>'. 
    465      form::combo('post_format',$formaters_combo,$post_format). 
    466      ($post_id && $post_format != 'xhtml' ? '<a class="button" href="'.html::escapeURL($redir_url).'&amp;id='.$post_id.'&amp;xconv=1">'.__('Convert to XHTML').'</a>' : ''). 
    467      '</p>'. 
    468       
    469      '<p><label for="post_open_comment" class="classic">'.form::checkbox('post_open_comment',1,$post_open_comment).' '. 
    470      __('Accept comments').'</label></p>'. 
    471      ($core->blog->settings->system->allow_comments ?  
    472           (isContributionAllowed($post_id,strtotime($post_dt),true) ?  
    473                '' : 
    474                '<p class="form-note warn">'.__('Warning: Comments are not more accepted for this page.').'</p>') :  
    475           '<p class="form-note warn">'.__('Warning: Comments are not accepted on this blog.').'</p>'). 
    476  
    477      '<p><label for="post_open_tb" class="classic">'.form::checkbox('post_open_tb',1,$post_open_tb).' '. 
    478      __('Accept trackbacks').'</label></p>'. 
    479      ($core->blog->settings->system->allow_trackbacks ?  
    480           (isContributionAllowed($post_id,strtotime($post_dt),false) ?  
    481                '' : 
    482                '<p class="form-note warn">'.__('Warning: Trackbacks are not more accepted for this page.').'</p>') :  
    483           '<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'). 
    484       
    485      '<p><label for="post_selected" class="classic">'.form::checkbox('post_selected',1,$post_selected).' '. 
    486      __('Hide').'</label></p>'. 
    487      '<p class="form-note">'. 
    488      __('If checked this page will be active but not listed in widget Pages.'). 
    489      '</p>'. 
    490  
    491      '<p><label for="post_position" class="classic">'.__('Page position:').'</label> '. 
    492      form::field('post_position',3,3,(string) $post_position). 
    493      '</p>'. 
    494       
    495      '<p><label for="post_lang" class="ib">'.__('Page lang:').'</label>'. 
    496      form::combo('post_lang',$lang_combo,$post_lang).'</p>'. 
    497       
    498      '<p><label for="post_password" class="ib">'.__('Page password:').'</label>'. 
    499      form::field('post_password',10,32,html::escapeHTML($post_password),'maximal'). 
    500      '</p>'. 
    501       
    502      '<div class="lockable ib">'. 
    503      '<p><label for="post_url" class="ib">'.__('Basename:').'</label>'. 
    504      form::field('post_url',10,255,html::escapeHTML($post_url),'maximal'). 
    505      '</p>'. 
    506      '<p class="form-note warn">'. 
    507      __('Warning: If you set the URL manually, it may conflict with another page.'). 
    508      '</p>'. 
    509      '</div>'; 
    510       
    511      if ($post_id) 
    512      { 
    513           echo 
    514           '<h4 class="clear">'.__('Attachments').'</h4>'; 
    515           foreach ($post_media as $f) 
    516           { 
    517                $ftitle = $f->media_title; 
    518                if (strlen($ftitle) > 18) { 
    519                     $ftitle = substr($ftitle,0,16).'...'; 
    520                } 
    521                echo 
    522                '<div class="media-item">'. 
    523                '<a class="media-icon" href="media_item.php?id='.$f->media_id.'">'. 
    524                '<img src="'.$f->media_icon.'" alt="" title="'.$f->basename.'" /></a>'. 
    525                '<ul>'. 
    526                '<li><a class="media-link" href="media_item.php?id='.$f->media_id.'"'. 
    527                'title="'.$f->basename.'">'.$ftitle.'</a></li>'. 
    528                '<li>'.$f->media_dtstr.'</li>'. 
    529                '<li>'.files::size($f->size).' - '. 
    530                '<a href="'.$f->file_url.'">'.__('open').'</a>'.'</li>'. 
    531                 
    532                '<li class="media-action"><a class="attachment-remove" id="attachment-'.$f->media_id.'" '. 
    533                'href="post_media.php?post_id='.$post_id.'&amp;media_id='.$f->media_id.'&amp;remove=1">'. 
    534                '<img src="images/check-off.png" alt="'.__('Remove').'" /></a>'. 
    535                '</li>'. 
    536                 
    537                '</ul>'. 
    538                '</div>'; 
    539           } 
    540           unset($f); 
    541            
    542           if (empty($post_media)) { 
    543                echo '<p class="form-note">'.__('No attachment.').'</p>'; 
    544           } 
    545           echo '<p><a class="button" 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>'; 
    546551     } 
    547552      
     
    552557      
    553558     echo '</form>'; 
    554      echo '</div>'; 
     559     echo '</div>';      // End  
    555560      
    556561     if ($post_id && !empty($post_media)) 
     
    595600     '<div id="comments" class="multi-part" title="'.__('Comments').'">'; 
    596601      
     602     echo 
     603     '<p class="top-add"><a class="button add onblog_link" href="#comment-form">'.__('Add a comment').'</a></p>'; 
     604 
    597605     if ($has_action) { 
    598606          echo '<form action="comments_actions.php" method="post">'; 
     
    627635          '</form>'; 
    628636     } 
    629       
    630      echo '</div>'; 
    631 } 
    632  
    633 /* Add a comment 
    634 -------------------------------------------------------- */ 
    635 if ($post_id) 
    636 { 
     637          /* Add a comment 
     638     -------------------------------------------------------- */ 
     639 
    637640     echo 
    638      '<div class="multi-part" id="add-comment" title="'.__('Add a comment').'">'. 
     641     '<div class="fieldset clear">'. 
    639642     '<h3>'.__('Add a comment').'</h3>'. 
    640643      
     
    653656     '</p>'. 
    654657      
    655      '<p class="area"><label for="comment_content" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Comment:').'</label> '. 
     658     '<p class="area"><label for="comment_content" class="required"><abbr title="'.__('Required field').'">*</abbr> '. 
     659     __('Comment:').'</label> '. 
    656660     form::textarea('comment_content',50,8,html::escapeHTML('')). 
    657661     '</p>'. 
     
    660664     $core->formNonce(). 
    661665     '<input type="submit" name="add" value="'.__('Save').'" /></p>'. 
    662      '</div>'. 
     666     '</div>'. #constrained 
     667 
    663668     '</form>'. 
    664      '</div>'; 
     669     '</div>'. #add comment 
     670     '</div>'; #comments 
    665671} 
    666672 
  • themes/ductile/_config.php

    r1526 r1622  
    471471     '<td class="handle minimal">'.form::field(array('order['.$i.']'),2,3,$count,'position','',false). 
    472472          form::hidden(array('dynorder[]','dynorder-'.$i),$i).'</td>'. 
    473      '<td>'.form::hidden(array('sticker_image[]'),$v['image']).'<img src="'.$img_url.$v['image'].'" /> '.'</td>'. 
    474      '<td scope="raw">'.form::field(array('sticker_label[]','dsl-'.$i),20,255,$v['label']).'</td>'. 
     473     '<td>'.form::hidden(array('sticker_image[]'),$v['image']).'<img src="'.$img_url.$v['image'].'" alt="'.$v['image'].'" /> '.'</td>'. 
     474     '<td scope="row">'.form::field(array('sticker_label[]','dsl-'.$i),20,255,$v['label']).'</td>'. 
    475475     '<td>'.form::field(array('sticker_url[]','dsu-'.$i),40,255,$v['url']).'</td>'. 
    476476     '</tr>'; 
     
    496496     echo  
    497497          '<tr>'. 
    498           '<td scope="raw">'.$contexts[$k].'</td>'. 
     498          '<td scope="row">'.$contexts[$k].'</td>'. 
    499499          '<td>'.form::hidden(array('list_ctx[]'),$k).form::combo(array('list_type[]'),$list_types,$v).'</td>'; 
    500500     if (array_key_exists($k,$ductile_counts)) { 
     
    517517echo '</fieldset>'; 
    518518 
    519 echo '<input type="hidden" name="conf_tab" value="html">'; 
     519echo '<p><input type="hidden" name="conf_tab" value="html" /></p>'; 
    520520echo '<p class="clear">'.form::hidden('ds_order','').'<input type="submit" value="'.__('Save').'" />'.$core->formNonce().'</p>'; 
    521521echo '</form>'; 
     
    674674echo '</div>'; 
    675675 
    676 echo '<input type="hidden" name="conf_tab" value="css">'; 
     676echo '<p><input type="hidden" name="conf_tab" value="css" /></p>'; 
    677677echo '<p class="clear"><input type="submit" value="'.__('Save').'" />'.$core->formNonce().'</p>'; 
    678678echo '</form>'; 
Note: See TracChangeset for help on using the changeset viewer.

Sites map