Changes in [1627:f73598b4ee3e:1628:f516e13ed433]
- Files:
-
- 59 edited
Legend:
- Unmodified
- Added
- Removed
-
.hgsubstate
r1529 r1624 1 716e99c54652d08c2e4395d5179e817e0f98182dinc/libs/clearbricks1 f5e0517435fc94082b6acaad5f4f111252b6149f inc/libs/clearbricks -
admin/blog.php
r1482 r1615 82 82 '<p><label class="required" for="blog_id"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog ID:').'</label> '. 83 83 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 } 86 90 91 echo 87 92 '<p><label class="required" for="blog_name"><abbr title="'.__('Required field').'">*</abbr> '.__('Blog name:').'</label> '. 88 93 form::field('blog_name',30,255,html::escapeHTML($blog_name)).'</p>'. -
admin/blog_pref.php
r1553 r1620 111 111 # Image default size combo 112 112 $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; 113 try { 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()); 117 121 } 118 122 … … 170 174 171 175 if ($rs) { 172 throw new Exception(__('Th at blog Id is already in use.'));176 throw new Exception(__('This blog ID is already used.')); 173 177 } 174 178 } -
admin/index.php
r1558 r1620 247 247 } 248 248 249 $err = array(); 250 251 # Check cache directory 252 if (!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 259 if (!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 266 if (count($err) > 0) { 267 echo '<div class="error"><p><strong>Erreur :</strong></p>'. 268 '<ul><li>'.implode("</li><li>",$err).'</li></ul></div>'; 269 } 270 249 271 # Plugins install messages 250 272 if (!empty($plugins_install['success'])) … … 267 289 # Dashboard columns (processed first, as we need to know the result before displaying the icons.) 268 290 $dashboardItems = ''; 291 292 # Dotclear updates notifications 293 if ($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 } 269 308 270 309 # Errors modules notifications -
admin/install/index.php
r1553 r1620 267 267 268 268 <script type="text/javascript" src="../js/jquery/jquery.js"></script> 269 <?php echo dcPage::jsLoad('../js/jquery/jquery.pwstrength.js'); ?> 269 270 <script type="text/javascript"> 270 271 //<![CDATA[ … … 278 279 $(this).val(this.value.replace(login_re,'')); 279 280 }); 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"; ?> 280 288 281 289 $('#u_login').parent().after($('<input type="hidden" name="u_date" value="' + Date().toLocaleString() + '" />')); … … 329 337 330 338 '<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>'. 337 353 '</fieldset>'. 338 354 -
admin/js/_post.js
r1606 r1619 145 145 legend_click: true 146 146 }); 147 $('# post_format').parent().children('label').toggleWithLegend($('#post_format'),{147 $('#label_format').toggleWithLegend($('#label_format').parent().children().not('#label_format'),{ 148 148 cookie: 'dcx_post_format', 149 149 legend_click: true -
admin/js/prelude.js
r1600 r1615 8 8 $('#prelude a').removeClass('hidden'); 9 9 $('#wrapper').css('padding-top', '1em'); 10 $('#help-button').css('top', '4em'); 10 11 } 11 12 } -
admin/plugins.php
r1605 r1622 374 374 form::password(array('your_pwd','your_pwd2'),20,255).'</p>'. 375 375 '<p><input type="submit" name="fetch_pkg" value="'.__('Download plugin').'" />'. 376 $core->formNonce(). 377 '</fieldset>'. 376 $core->formNonce().'</p>'. 378 377 '</form>'; 379 378 } -
admin/post.php
r1612 r1621 147 147 try { 148 148 $core->media = new dcMedia($core); 149 } catch (Exception $e) {} 149 } catch (Exception $e) { 150 $core->error->add($e->getMessage()); 151 } 150 152 } 151 153 } … … 439 441 '</p>', 440 442 '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'). 443 446 '</p>'. 444 447 '<p>'.($post_id && $post_format != 'xhtml' ? 445 448 '<a id="convert-xhtml" class="button maximal" href="post.php?id='.$post_id.'&xconv=1">'. 446 __('Convert to XHTML').'</a>' : '').'</p> ')),449 __('Convert to XHTML').'</a>' : '').'</p></div>')), 447 450 'metas-box' => array( 448 451 'title' => __('Ordering'), … … 627 630 } 628 631 632 echo 633 '<div id="comments" class="multi-part" title="'.__('Comments').'">'; 634 629 635 # --BEHAVIOR-- adminCommentsActionsCombo 630 636 $core->callBehavior('adminCommentsActionsCombo',array(&$combo_action)); … … 632 638 $has_action = !empty($combo_action) && (!$trackbacks->isEmpty() || !$comments->isEmpty()); 633 639 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 639 642 if ($has_action) { 640 643 echo '<form action="comments_actions.php" id="form-comments" method="post">'; … … 672 675 -------------------------------------------------------- */ 673 676 674 echo 677 echo 678 '<div class="fieldset clear">'. 675 679 '<h3>'.__('Add a comment').'</h3>'. 676 680 … … 697 701 $core->formNonce(). 698 702 '<input type="submit" name="add" value="'.__('Save').'" /></p>'. 699 '</div>'. 703 '</div>'. #constrained 704 700 705 '</form>'. 701 '</div>'; 706 '</div>'. #add comment 707 '</div>'; #comments 702 708 } 703 709 -
admin/post_media.php
r1179 r1537 26 26 } 27 27 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 } 28 try { 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 } 34 35 35 try {36 36 $core->media = new dcMedia($core); 37 37 $f = $core->media->getPostMedia($post_id,$media_id); -
admin/services.php
r1500 r1538 238 238 } 239 239 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) {} 242 244 243 245 if ($file === null || $file->type != 'application/zip' || !$file->editable) { -
admin/style/default.css
r1609 r1621 26 26 padding: 0; 27 27 } 28 28 29 a, a:link, a:visited { 29 30 color: #2373A8; … … 78 79 h5 { 79 80 font-size: 12px; /* ie < 9 sucks */ 80 font-size: 1. 3rem;81 font-size: 1.2rem; 81 82 color: #575859; 82 83 } … … 378 379 } 379 380 #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; 382 386 } 383 387 #search-menu p { 384 display: inline-block;385 388 border: 1px solid #999; 386 389 border-radius: .3em; … … 388 391 overflow: hidden; 389 392 } 390 # search-menu #qx {391 width: 12 0px; /* ie < 9 sucks */392 width: 12 rem;393 #qx { 394 width: 124px; /* ie < 9 sucks */ 395 width: 12.4rem; 393 396 border-bottom-left-radius: .3em; 394 397 border-top-left-radius: .3em; 395 398 background: transparent url(search.png) no-repeat 4px center; 396 399 text-indent: 18px; 397 padding: 0 2px;400 padding: 0; 398 401 border: none; 402 height: 22px; 403 height: 2.2rem; 404 } 405 #qx:focus { 406 border: 2px solid #BBDB58; 399 407 } 400 408 #search-menu input[type="submit"] { 401 409 padding: 0 3px; 402 410 padding: 0 .3rem; 411 margin-left: -4px; 403 412 background: #dfdfdf; 404 413 border-color: #999; … … 511 520 #icons a img { 512 521 padding: 2em; 513 margin-bottom: .3em;514 522 -moz-box-shadow: 0px 1px 0px 0px #ffffff; 515 523 -webkit-box-shadow: 0px 1px 0px 0px #ffffff; … … 525 533 display:inline-block; 526 534 } 527 #icons a img:hover, #icons a:focusimg {535 #icons a:focus img, #icons a:hover img { 528 536 background: #BBDB58; 529 537 } … … 622 630 float: right; 623 631 } 624 #entry-sidebar input[type="text"],625 632 #entry-sidebar select { 626 width: 14em; /* to prevent inline with label */ 633 width: 100%; 634 } 635 #entry-sidebar input#post_position { 636 width: 4em; 627 637 } 628 638 .box { … … 632 642 #comments { 633 643 clear: both; 644 } 645 #trackback-form textarea { 646 width: 98%; 634 647 } 635 648 /* ------------------------------------------------------------------ categories */ … … 978 991 border: 1px solid #fff; 979 992 } 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 } 980 997 /* ---------------------------------------------------------- Plugins list */ 981 998 #plugins td.action { … … 1172 1189 margin-top: 2em; 1173 1190 } 1191 p.clear.vertical-separator { 1192 padding-top: 2em; 1193 } 1174 1194 .border-top { 1175 1195 border-top: 1px solid #999; … … 1409 1429 background: #f9f9f9; 1410 1430 color: #000; 1411 border-width: 1px;1431 border-width: 2px; 1412 1432 border-style: solid; 1413 border-color: #666 #ccc #ccc #999; 1433 border-color: #ccc #ddd #ddd #ccc; 1434 } 1435 select { 1436 border-right: none; 1414 1437 } 1415 1438 input.invalid, textarea.invalid, select.invalid { … … 1458 1481 p.form-note.warn, p.form-note.info, p.warning { 1459 1482 font-style: normal; 1460 padding: .2em 1em .3em 32px; 1483 padding: .2em .66em .2em; 1484 text-indent: 24px; 1461 1485 color: #333; 1462 1486 display: inline-block; 1487 line-height: 1.5em; 1463 1488 } 1464 1489 p.form-note.warn, p.warning { … … 1533 1558 background: transparent; 1534 1559 } 1535 1560 input: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 } 1536 1566 /* --------------------------------------------------------------- buttons */ 1537 1567 /* commun */ -
admin/style/install.css
r1330 r1620 158 158 border: 1px solid #2C8FD1; 159 159 } 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 6 6 } 7 7 .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; 15 15 } 16 16 .jstHandle { … … 23 23 border-style: solid; 24 24 } 25 25 .jstEditor textarea:focus, .jstEditor iframe:focus { 26 border: 2px solid #BBDB58; 27 } 26 28 .jstElements { 27 29 height: 28px; … … 156 158 } 157 159 158 159 160 /* WYSIWYG Iframe */ 160 161 .wysiwygIframe { -
admin/trackbacks.php
r1459 r1614 120 120 $tb_urls = implode("\n",$TB->discover($post->post_excerpt_xhtml.' '.$post->post_content_xhtml)); 121 121 } else { 122 $auto_link = '< strong><a class="button" href="trackbacks.php?id='.$id.'&auto=1">'.123 __('Auto discover ping URLs').'</a> </strong>';122 $auto_link = '<a class="button" href="trackbacks.php?id='.$id.'&auto=1">'. 123 __('Auto discover ping URLs').'</a>'; 124 124 } 125 125 … … 132 132 133 133 '<p><label for="tb_excerpt" class="area">'.__('Send excerpt:').'</label>'. 134 form::textarea('tb_excerpt',60, 3,$tb_excerpt).'</p>'.134 form::textarea('tb_excerpt',60,5,$tb_excerpt).'</p>'. 135 135 136 136 '<p>'.form::hidden('id',$id). -
admin/update.php
r1553 r1620 249 249 '<p class="message">'. 250 250 __("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>'. 252 252 '</p>'; 253 253 } -
admin/user.php
r1609 r1621 172 172 dcPage::open($page_title, 173 173 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". 174 187 175 188 # --BEHAVIOR-- adminUserHeaders … … 193 206 194 207 echo 195 '<form action="user.php" method="post" id="user-form" class="fieldset">'.208 '<form action="user.php" method="post" id="user-form">'. 196 209 '<div class="two-cols">'. 197 210 … … 211 224 212 225 echo 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>'. 218 238 '<p class="form-note">'.__('Password must contain at least 6 characters.').'</p>'. 219 239 … … 290 310 291 311 echo 292 '<p class="clear border-top"><label for="your_pwd" class="required">'.312 '<p class="clear vertical-separator"><label for="your_pwd" class="required">'. 293 313 '<abbr title="'.__('Required field').'">*</abbr> '.__('Your password:').'</label>'. 294 314 form::password('your_pwd',20,255).'</p>'. … … 358 378 } 359 379 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>'; 361 381 } 362 382 echo '</div>'; -
inc/admin/lib.pager.php
r1600 r1622 333 333 '<td class="nowrap">'. 334 334 form::checkbox(array('comments[]'),$this->rs->comment_id,'','','',0).'</td>'. 335 '<td class="status class="txt-center">'.335 '<td class="status txt-center">'. 336 336 '<a href="'.$comment_url.'">'. 337 337 '<img src="images/edit-mini.png" alt="" title="'.__('Edit').'" /> '. -
inc/admin/prepend.php
r1604 r1620 322 322 $core->auth->check('usage,contentadmin',$core->blog->id),'menu-new-post'); 323 323 324 $_menu['System']->prependItem(__('Update s'),'update.php','images/menu/update.png',324 $_menu['System']->prependItem(__('Update'),'update.php','images/menu/update.png', 325 325 preg_match('/update.php(\?.*)?$/',$_SERVER['REQUEST_URI']), 326 326 $core->auth->isSuperAdmin() && is_readable(DC_DIGESTS)); -
inc/config.php.in
r1179 r1535 50 50 51 51 // Template cache directory 52 define('DC_TPL_CACHE', dirname(__FILE__).'/../cache');52 define('DC_TPL_CACHE',path::real(dirname(__FILE__).'/..').'/cache'); 53 53 54 54 -
inc/core/class.dc.blog.php
r1610 r1620 203 203 @param ids <b>mixed</b> Comment(s) ID(s) 204 204 @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 211 232 $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 '. 229 234 'FROM '.$this->prefix.'comment '. 230 235 '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). 239 237 'GROUP BY post_id,comment_trackback'; 240 238 241 239 $rs = $this->con->select($strReq); 242 240 243 $ b_ids = $b_tbs = $b_nbs = array();241 $posts = array(); 244 242 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 252 251 $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; 272 259 } 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); 276 265 } 277 266 } … … 509 498 $this->core->callBehavior('coreBeforeCategoryCreate',$this,$cur); 510 499 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 } 512 507 513 508 # --BEHAVIOR-- coreAfterCategoryCreate … … 739 734 - no_content: Don't retrieve entry content (excerpt and content) 740 735 - 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_id736 - post_id: (integer or array) Get entry with given post_id 742 737 - post_url: Get entry with given post_url field 743 738 - user_id: (integer) Get entries belonging to given user ID … … 759 754 - limit: Limit parameter 760 755 - 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 761 757 762 758 Please note that on every cat_id or cat_url, you can add ?not to exclude … … 852 848 } 853 849 $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']); 854 859 } 855 860 … … 2235 2240 $co_ids = dcUtils::cleanIds($ids); 2236 2241 2237 if (empty($ ids)) {2242 if (empty($co_ids)) { 2238 2243 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; 2239 2258 } 2240 2259 … … 2266 2285 2267 2286 $this->con->execute($strReq); 2268 $this->triggerComments($co_ids, true);2287 $this->triggerComments($co_ids, true, $affected_posts); 2269 2288 $this->triggerBlog(); 2270 2289 } … … 2321 2340 2322 2341 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)) { 2324 2343 $cur->comment_site = 'http://'.$cur->comment_site; 2344 }else{ 2345 $cur->comment_site = strtolower($matches[0]).substr($cur->comment_site, strlen($matches[0])); 2325 2346 } 2326 2347 } -
inc/core/class.dc.core.php
r1179 r1593 928 928 929 929 if (!empty($params['q'])) { 930 $params['q'] = str _replace('*','%',$params['q']);930 $params['q'] = strtolower(str_replace('*','%',$params['q'])); 931 931 $where .= 932 932 'AND ('. -
inc/public/lib.tpl.context.php
r1179 r1537 416 416 global $core, $_ctx; 417 417 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) 438 436 { 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; 445 448 } 446 break;447 449 } 448 450 } 449 451 } 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; 463 466 } 464 break;465 467 } 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()); 476 481 } 477 482 } … … 485 490 $base = $info['base']; 486 491 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()); 520 529 } 521 530 -
locales/bn/main.po
r1556 r1620 215 215 216 216 #, fuzzy 217 msgid "Th at blog Id is already in use."217 msgid "This blog ID is already used." 218 218 msgstr "Dotclear ইতিমধ্যেই ইন্সটল করা আছে।" 219 219 … … 836 836 msgstr "পড়ে মনে করিয়ে দিও" 837 837 838 msgid " information about this version"838 msgid "<a href=\"%s\">Information about this version</a>." 839 839 msgstr "" 840 840 … … 2397 2397 msgstr "ব্লগ" 2398 2398 2399 msgid "Update s"2399 msgid "Update" 2400 2400 msgstr "" 2401 2401 -
locales/ca/main.po
r1556 r1620 219 219 220 220 #, fuzzy 221 msgid "Th at blog Id is already in use."221 msgid "This blog ID is already used." 222 222 msgstr "DotClear esta instal·lat." 223 223 … … 867 867 msgstr "" 868 868 869 msgid " information about this version"869 msgid "<a href=\"%s\">Information about this version</a>." 870 870 msgstr "" 871 871 … … 2478 2478 msgstr "Blog" 2479 2479 2480 msgid "Update s"2480 msgid "Update" 2481 2481 msgstr "" 2482 2482 -
locales/cs/main.po
r1556 r1620 214 214 msgstr "Zakázat vyhledavacím enginům indexovat nebo archivovat obsah blogu." 215 215 216 msgid "Th at blog Id is already in use."216 msgid "This blog ID is already used." 217 217 msgstr "Blog ID je už použito." 218 218 … … 844 844 msgstr "Připomenout později" 845 845 846 msgid " information about this version"846 msgid "<a href=\"%s\">Information about this version</a>." 847 847 msgstr "" 848 848 … … 2399 2399 msgstr "Blog" 2400 2400 2401 msgid "Update s"2401 msgid "Update" 2402 2402 msgstr "Aktualizace" 2403 2403 -
locales/da/main.po
r1556 r1620 215 215 216 216 #, fuzzy 217 msgid "Th at blog Id is already in use."217 msgid "This blog ID is already used." 218 218 msgstr "Dotclear er allerede installeret." 219 219 … … 845 845 msgstr "Påmind mig senere" 846 846 847 msgid " information about this version"847 msgid "<a href=\"%s\">Information about this version</a>." 848 848 msgstr "" 849 849 … … 2409 2409 msgstr "" 2410 2410 2411 msgid "Update s"2411 msgid "Update" 2412 2412 msgstr "" 2413 2413 -
locales/de/main.po
r1556 r1620 212 212 msgstr "Erlaube Suchmaschinen weder das Durchsuchen und Archivieren des Inhaltes noch des Archivs dieses Blogs." 213 213 214 msgid "Th at blog Id is already in use."214 msgid "This blog ID is already used." 215 215 msgstr "Diese Blog-ID wird schon verwendet." 216 216 … … 841 841 msgstr "Erinnere mich später" 842 842 843 msgid " information about this version"843 msgid "<a href=\"%s\">Information about this version</a>." 844 844 msgstr "Informationen zu dieser Version" 845 845 … … 2400 2400 msgstr "Blog" 2401 2401 2402 msgid "Update s"2402 msgid "Update" 2403 2403 msgstr "Aktualisierungen" 2404 2404 -
locales/en/main.po
r1557 r1622 211 211 msgstr "" 212 212 213 msgid "Th at blog Id is already in use."213 msgid "This blog ID is already used." 214 214 msgstr "" 215 215 … … 547 547 548 548 msgid "Entries (all types)" 549 msgstr "Entries & pages"549 msgstr "Entries & pages" 550 550 551 551 msgid "Status" … … 829 829 msgstr "" 830 830 831 msgid "information about this version" 831 #, php-format 832 msgid "<a href=\"%s\">Information about this version</a>." 832 833 msgstr "" 833 834 … … 2358 2359 msgstr "" 2359 2360 2360 msgid "Update s"2361 msgid "Update" 2361 2362 msgstr "" 2362 2363 -
locales/eo/main.po
r1556 r1620 211 211 msgstr "" 212 212 213 msgid "Th at blog Id is already in use."213 msgid "This blog ID is already used." 214 214 msgstr "" 215 215 … … 826 826 msgstr "" 827 827 828 msgid " information about this version"828 msgid "<a href=\"%s\">Information about this version</a>." 829 829 msgstr "" 830 830 … … 2346 2346 msgstr "" 2347 2347 2348 msgid "Update s"2348 msgid "Update" 2349 2349 msgstr "" 2350 2350 -
locales/es-ar/main.po
r1556 r1620 217 217 218 218 #, fuzzy 219 msgid "Th at blog Id is already in use."219 msgid "This blog ID is already used." 220 220 msgstr "Dotclear ya está instalado." 221 221 … … 847 847 msgstr "Recordar mas tarde" 848 848 849 msgid " information about this version"849 msgid "<a href=\"%s\">Information about this version</a>." 850 850 msgstr "" 851 851 … … 2416 2416 msgstr "Blog" 2417 2417 2418 msgid "Update s"2418 msgid "Update" 2419 2419 msgstr "Actualizaciones" 2420 2420 -
locales/es/main.po
r1556 r1620 218 218 219 219 #, fuzzy 220 msgid "Th at blog Id is already in use."220 msgid "This blog ID is already used." 221 221 msgstr "Dotclear ya está instalado." 222 222 … … 850 850 msgstr "Recordármelo más tarde" 851 851 852 msgid " information about this version"852 msgid "<a href=\"%s\">Information about this version</a>." 853 853 msgstr "" 854 854 … … 2421 2421 msgstr "Blog" 2422 2422 2423 msgid "Update s"2423 msgid "Update" 2424 2424 msgstr "Actualizaciones" 2425 2425 -
locales/eu/main.po
r1556 r1620 211 211 msgstr "" 212 212 213 msgid "Th at blog Id is already in use."213 msgid "This blog ID is already used." 214 214 msgstr "" 215 215 … … 826 826 msgstr "" 827 827 828 msgid " information about this version"828 msgid "<a href=\"%s\">Information about this version</a>." 829 829 msgstr "" 830 830 … … 2346 2346 msgstr "" 2347 2347 2348 msgid "Update s"2348 msgid "Update" 2349 2349 msgstr "" 2350 2350 -
locales/fr/help/core_trackbacks.html
r1573 r1614 7 7 8 8 <h4>Rétroliens</h4> 9 <p>Pour faireun 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>. 10 10 Si vous ne voyez pas ce lien, vérifiez que votre billet est bien dans l'état 11 11 <em>publié</em>.</p> -
locales/fr/main.po
r1609 r1622 230 230 msgstr "Je souhaite que mon blog ne soit ni indexé ni archivé par les moteurs de recherche et archiveurs." 231 231 232 msgid "Th at blog Id is already in use."232 msgid "This blog ID is already used." 233 233 msgstr "Cet identifiant est déjà utilisé." 234 234 … … 578 578 579 579 msgid "Entries (all types)" 580 msgstr "Billets & pages"580 msgstr "Billets & pages" 581 581 582 582 msgid "Status" … … 889 889 msgstr "Me le rappeler plus tard" 890 890 891 msgid "information about this version" 892 msgstr "Information à propos de cette version" 891 #, php-format 892 msgid "<a href=\"%s\">Information about this version</a>." 893 msgstr "<a href=\"%s\">Information à propos de cette version</a>." 893 894 894 895 msgid "Some plugins are installed twice:" … … 1678 1679 1679 1680 msgid "Ping blogs" 1680 msgstr " Fairedes rétroliens"1681 msgstr "Envoyer des rétroliens" 1681 1682 1682 1683 msgid "Trackbacks" … … 2516 2517 msgstr "Blog" 2517 2518 2518 msgid "Update s"2519 msgstr "Mise sà jour"2519 msgid "Update" 2520 msgstr "Mise à jour" 2520 2521 2521 2522 msgid "Languages" … … 3243 3244 msgstr "Identifiant (login) :" 3244 3245 3246 msgid "%s is super admin (all rights on all blogs)." 3247 msgstr "%s est super administrateur (tous les droits sur tous les blogs)." 3248 3245 3249 msgid "Interface" 3246 3250 msgstr "Interface" -
locales/fr/plugins.po
r1610 r1619 1981 1981 msgid "Syntax color for theme editor" 1982 1982 msgstr "Coloration syntaxique de l'éditeur de thème" 1983 1984 msgid "Hide in widget Pages" 1985 msgstr "Ne pas lister dans le widget Pages" -
locales/hu/main.po
r1556 r1620 219 219 220 220 #, fuzzy 221 msgid "Th at blog Id is already in use."221 msgid "This blog ID is already used." 222 222 msgstr "A DotClear már telepítve van." 223 223 … … 867 867 msgstr "Értesíts később" 868 868 869 msgid " information about this version"869 msgid "<a href=\"%s\">Information about this version</a>." 870 870 msgstr "" 871 871 … … 2457 2457 msgstr "Blog" 2458 2458 2459 msgid "Update s"2459 msgid "Update" 2460 2460 msgstr "Frissítések" 2461 2461 -
locales/it/main.po
r1556 r1620 212 212 msgstr "Impedisci ai motori di ricerca e ai sistemi di archiviazione di indicizzare o salvare il contenuto del blog." 213 213 214 msgid "Th at blog Id is already in use."214 msgid "This blog ID is already used." 215 215 msgstr "L'ID del blog è già in uso." 216 216 … … 843 843 msgstr "Ricorda in seguito" 844 844 845 msgid " information about this version"845 msgid "<a href=\"%s\">Information about this version</a>." 846 846 msgstr "" 847 847 … … 2398 2398 msgstr "Blog" 2399 2399 2400 msgid "Update s"2400 msgid "Update" 2401 2401 msgstr "Aggiornamenti" 2402 2402 -
locales/ja/main.po
r1556 r1620 222 222 223 223 #, fuzzy 224 msgid "Th at blog Id is already in use."224 msgid "This blog ID is already used." 225 225 msgstr "Dotclear はすでにインストールされています。" 226 226 … … 852 852 msgstr "後で再度知らせる" 853 853 854 msgid " information about this version"854 msgid "<a href=\"%s\">Information about this version</a>." 855 855 msgstr "" 856 856 … … 2430 2430 msgstr "ブログ" 2431 2431 2432 msgid "Update s"2432 msgid "Update" 2433 2433 msgstr "アップデート" 2434 2434 -
locales/ko/main.po
r1556 r1620 220 220 221 221 #, fuzzy 222 msgid "Th at blog Id is already in use."222 msgid "This blog ID is already used." 223 223 msgstr "Dotclear가 이미 설치되어 있습니다." 224 224 … … 851 851 msgstr "나중에 다시 알려줌" 852 852 853 msgid " information about this version"853 msgid "<a href=\"%s\">Information about this version</a>." 854 854 msgstr "" 855 855 … … 2431 2431 msgstr "블로그" 2432 2432 2433 msgid "Update s"2433 msgid "Update" 2434 2434 msgstr "DotClear 갱신" 2435 2435 -
locales/lt/main.po
r1556 r1620 193 193 msgstr "Nenoriu, kad paieškos sistemos ir archyvatoriai indeksuotų ir archyvuotų mano blogo turinio." 194 194 195 msgid "Th at blog Id is already in use."195 msgid "This blog ID is already used." 196 196 msgstr "Šito blogo ID jau yra naudojamas." 197 197 … … 2205 2205 msgstr "Blogas" 2206 2206 2207 msgid "Update s"2207 msgid "Update" 2208 2208 msgstr "Atnaujinimai" 2209 2209 -
locales/nl/main.po
r1556 r1620 211 211 msgstr "Zoekmachines mogen mijn blog niet indexeren en archiveren." 212 212 213 msgid "Th at blog Id is already in use."213 msgid "This blog ID is already used." 214 214 msgstr "" 215 215 … … 829 829 msgstr "" 830 830 831 msgid " information about this version"831 msgid "<a href=\"%s\">Information about this version</a>." 832 832 msgstr "" 833 833 … … 2361 2361 msgstr "" 2362 2362 2363 msgid "Update s"2363 msgid "Update" 2364 2364 msgstr "" 2365 2365 -
locales/oc/main.po
r1556 r1620 212 212 msgstr "" 213 213 214 msgid "Th at blog Id is already in use."214 msgid "This blog ID is already used." 215 215 msgstr "" 216 216 … … 835 835 msgstr "" 836 836 837 msgid " information about this version"837 msgid "<a href=\"%s\">Information about this version</a>." 838 838 msgstr "" 839 839 … … 2379 2379 msgstr "Blòg" 2380 2380 2381 msgid "Update s"2381 msgid "Update" 2382 2382 msgstr "" 2383 2383 -
locales/pl/main.po
r1556 r1620 212 212 msgstr "Chcę, aby wyszukiwarki i archiwizery nie indeksowały i nie archiwizowały zawartości mojego bloga." 213 213 214 msgid "Th at blog Id is already in use."214 msgid "This blog ID is already used." 215 215 msgstr "Ten identyfikator bloga jest już używany." 216 216 … … 837 837 msgstr "Przypomnij mi później" 838 838 839 msgid " information about this version"839 msgid "<a href=\"%s\">Information about this version</a>." 840 840 msgstr "informacje o tej wersji" 841 841 … … 2372 2372 msgstr "Blog" 2373 2373 2374 msgid "Update s"2374 msgid "Update" 2375 2375 msgstr "Uaktualnienia" 2376 2376 -
locales/pt-br/main.po
r1556 r1620 219 219 220 220 #, fuzzy 221 msgid "Th at blog Id is already in use."221 msgid "This blog ID is already used." 222 222 msgstr "DotClear já está instalado." 223 223 … … 870 870 msgstr "" 871 871 872 msgid " information about this version"872 msgid "<a href=\"%s\">Information about this version</a>." 873 873 msgstr "" 874 874 … … 2497 2497 msgstr "Blog" 2498 2498 2499 msgid "Update s"2499 msgid "Update" 2500 2500 msgstr "" 2501 2501 -
locales/pt/main.po
r1556 r1620 218 218 219 219 #, fuzzy 220 msgid "Th at blog Id is already in use."220 msgid "This blog ID is already used." 221 221 msgstr "Dotclear já está instalado." 222 222 … … 848 848 msgstr "Lembrar-me mais tarde" 849 849 850 msgid " information about this version"850 msgid "<a href=\"%s\">Information about this version</a>." 851 851 msgstr "" 852 852 … … 2408 2408 msgstr "Blog" 2409 2409 2410 msgid "Update s"2410 msgid "Update" 2411 2411 msgstr "Actualizações" 2412 2412 -
locales/ro/main.po
r1556 r1620 213 213 msgstr "" 214 214 215 msgid "Th at blog Id is already in use."215 msgid "This blog ID is already used." 216 216 msgstr "" 217 217 … … 828 828 msgstr "" 829 829 830 msgid " information about this version"830 msgid "<a href=\"%s\">Information about this version</a>." 831 831 msgstr "" 832 832 … … 2357 2357 msgstr "" 2358 2358 2359 msgid "Update s"2359 msgid "Update" 2360 2360 msgstr "" 2361 2361 -
locales/ru/main.po
r1556 r1620 216 216 msgstr "Я не хочу, чтобы мой блог индексировался и архивировался поисковыми машинами." 217 217 218 msgid "Th at blog Id is already in use."218 msgid "This blog ID is already used." 219 219 msgstr "Dotclear уже установлен." 220 220 … … 847 847 msgstr "Напомнить мне позже" 848 848 849 msgid " information about this version"849 msgid "<a href=\"%s\">Information about this version</a>." 850 850 msgstr "" 851 851 … … 2399 2399 msgstr "Блог" 2400 2400 2401 msgid "Update s"2401 msgid "Update" 2402 2402 msgstr "Обновления" 2403 2403 -
locales/sr/main.po
r1579 r1620 217 217 218 218 #, fuzzy 219 msgid "Th at blog Id is already in use."219 msgid "This blog ID is already used." 220 220 msgstr "Dotclear est déjà installé." 221 221 … … 858 858 msgstr "" 859 859 860 msgid " information about this version"860 msgid "<a href=\"%s\">Information about this version</a>." 861 861 msgstr "" 862 862 … … 1654 1654 1655 1655 msgid "Ping blogs" 1656 msgstr " Fairedes rétroliens"1656 msgstr "Envoyer des rétroliens" 1657 1657 1658 1658 msgid "Trackbacks" … … 2444 2444 msgstr "Blog" 2445 2445 2446 msgid "Update s"2446 msgid "Update" 2447 2447 msgstr "" 2448 2448 -
locales/sv/main.po
r1556 r1620 211 211 msgstr "" 212 212 213 msgid "Th at blog Id is already in use."213 msgid "This blog ID is already used." 214 214 msgstr "" 215 215 … … 826 826 msgstr "" 827 827 828 msgid " information about this version"828 msgid "<a href=\"%s\">Information about this version</a>." 829 829 msgstr "" 830 830 … … 2346 2346 msgstr "" 2347 2347 2348 msgid "Update s"2348 msgid "Update" 2349 2349 msgstr "" 2350 2350 -
locales/te/main.po
r1556 r1620 215 215 216 216 #, fuzzy 217 msgid "Th at blog Id is already in use."217 msgid "This blog ID is already used." 218 218 msgstr "డాట్క్లియర్ ఇప్పటికే స్థాపితమైవుంది." 219 219 … … 854 854 msgstr "" 855 855 856 msgid " information about this version"856 msgid "<a href=\"%s\">Information about this version</a>." 857 857 msgstr "" 858 858 … … 2426 2426 msgstr "బ్లాగు" 2427 2427 2428 msgid "Update s"2428 msgid "Update" 2429 2429 msgstr "" 2430 2430 -
locales/tr/main.po
r1556 r1620 217 217 218 218 #, fuzzy 219 msgid "Th at blog Id is already in use."219 msgid "This blog ID is already used." 220 220 msgstr "Dotclear evvelce kurulmuş." 221 221 … … 840 840 msgstr "Gelecekte beni hatırla" 841 841 842 msgid " information about this version"842 msgid "<a href=\"%s\">Information about this version</a>." 843 843 msgstr "" 844 844 … … 2404 2404 msgstr "Blog" 2405 2405 2406 msgid "Update s"2406 msgid "Update" 2407 2407 msgstr "Güncellemeler" 2408 2408 -
locales/zh-cn/main.po
r1556 r1620 215 215 216 216 #, fuzzy 217 msgid "Th at blog Id is already in use."217 msgid "This blog ID is already used." 218 218 msgstr "Dotclear 已被安装。" 219 219 … … 845 845 msgstr "稍后提醒我" 846 846 847 msgid " information about this version"847 msgid "<a href=\"%s\">Information about this version</a>." 848 848 msgstr "" 849 849 … … 2407 2407 msgstr "博客" 2408 2408 2409 msgid "Update s"2409 msgid "Update" 2410 2410 msgstr "更新" 2411 2411 -
plugins/antispam/filters/class.dc.filter.iplookup.php
r1499 r1622 81 81 form::textarea('bls',40,3,html::escapeHTML($bls),'maximal'). 82 82 '</p>'. 83 '<p><input type="submit" value="'.__('Save').'" /> </p>'.83 '<p><input type="submit" value="'.__('Save').'" />'. 84 84 $this->core->formNonce().'</p>'. 85 85 '</form>'; -
plugins/attachments/_admin.php
r1501 r1620 15 15 $core->addBehavior ('adminPostAfterForm',array('attachmentAdmin','adminPostAfterForm')); 16 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')); 17 20 18 21 class attachmentAdmin -
plugins/importExport/inc/class.dc.import.dc1.php
r1569 r1622 160 160 '<p><label for="db_prefix">'.__('Database Tables Prefix:').'</label> '. 161 161 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>'. 163 163 '<p><label for="post_limit">'.__('Number of entries to import at once:').'</label> '. 164 164 form::field('post_limit',3,3,html::escapeHTML($this->vars['post_limit'])).'</p>' … … 190 190 case 6: 191 191 echo 192 '<h3 >'.__('Please read carefully').'</h3>'.192 '<h3 class="vertical-separator">'.__('Please read carefully').'</h3>'. 193 193 '<ul>'. 194 194 '<li>'.__('Every newly imported user has received a random password '. … … 216 216 return 217 217 '<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(). 220 220 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>'. 223 223 '<p class="form-note info">'.__('Depending on the size of your blog, it could take a few minutes.').'</p>'. 224 224 '</form>'; -
plugins/importExport/inc/class.dc.import.wp.php
r1569 r1622 192 192 form::field('db_prefix',30,255,html::escapeHTML($this->vars['db_prefix'])).'</p>'. 193 193 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">'. 195 198 '<p>'.__('WordPress and Dotclear\'s handling of categories are quite different. '. 196 199 'You can assign several categories to a single post in WordPress. In the Dotclear world, '. … … 203 206 'importing your blog, as Dotclear allows you to actually keep your posts '. 204 207 'uncategorized.').'</p>'. 208 '</div>'. 205 209 210 '<div class="col">'. 206 211 '<p><label for="ignore_first_cat" class="classic">'.form::checkbox('ignore_first_cat',1,$this->vars['ignore_first_cat']).' '. 207 212 __('Ignore the first category:').'</label></p>'. … … 214 219 '<p><label for="post_limit">'.__('Number of entries to import at once:').'</label> '. 215 220 form::field('post_limit',3,3,html::escapeHTML($this->vars['post_limit'])).'</p>'. 221 '</div>'. 216 222 217 '<h3>'.__('Content filters').'</h3>'. 223 '</div>'. 224 225 '<h3 class="clear vertical-separator">'.__('Content filters').'</h3>'. 218 226 '<p>'.__('You may want to process your post and/or comment content with the following filters.').'</p>'. 219 227 '<p><label for="post_formater">'.__('Post content formatter:').'</label> '. 220 228 form::combo('post_formater',$this->formaters,$this->vars['post_formater']).'</p>'. 221 229 '<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>' 223 231 ); 224 232 break; … … 265 273 return 266 274 '<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(). 269 277 form::hidden(array('do'),'step'.$step). 270 '%s'. 278 '%s'.'</div>'. 271 279 '<p><input type="submit" value="'.$submit_value.'" /></p>'. 272 280 '<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 139 139 $core->media = new dcMedia($core); 140 140 $post_media = $core->media->getPostMedia($post_id); 141 } catch (Exception $e) {} 141 } catch (Exception $e) { 142 $core->error->add($e->getMessage()); 143 } 142 144 } 143 145 } … … 392 394 393 395 394 /* Post form if we can edit p ost396 /* Post form if we can edit page 395 397 -------------------------------------------------------- */ 396 398 if ($can_edit_page) 397 399 { 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.'&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 398 502 echo '<div class="multi-part" title="'.__('Edit page').'" id="edit-entry">'; 399 503 echo '<form action="'.html::escapeURL($redir_url).'" method="post" id="entry-form">'; … … 402 506 echo '<div id="entry-content"><div class="constrained">'; 403 507 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 } 424 512 425 513 # --BEHAVIOR-- adminPageForm … … 454 542 echo '<div id="entry-sidebar">'; 455 543 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).'&id='.$post_id.'&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.'&media_id='.$f->media_id.'&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>'; 546 551 } 547 552 … … 552 557 553 558 echo '</form>'; 554 echo '</div>'; 559 echo '</div>'; // End 555 560 556 561 if ($post_id && !empty($post_media)) … … 595 600 '<div id="comments" class="multi-part" title="'.__('Comments').'">'; 596 601 602 echo 603 '<p class="top-add"><a class="button add onblog_link" href="#comment-form">'.__('Add a comment').'</a></p>'; 604 597 605 if ($has_action) { 598 606 echo '<form action="comments_actions.php" method="post">'; … … 627 635 '</form>'; 628 636 } 629 630 echo '</div>'; 631 } 632 633 /* Add a comment 634 -------------------------------------------------------- */ 635 if ($post_id) 636 { 637 /* Add a comment 638 -------------------------------------------------------- */ 639 637 640 echo 638 '<div class=" multi-part" id="add-comment" title="'.__('Add a comment').'">'.641 '<div class="fieldset clear">'. 639 642 '<h3>'.__('Add a comment').'</h3>'. 640 643 … … 653 656 '</p>'. 654 657 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> '. 656 660 form::textarea('comment_content',50,8,html::escapeHTML('')). 657 661 '</p>'. … … 660 664 $core->formNonce(). 661 665 '<input type="submit" name="add" value="'.__('Save').'" /></p>'. 662 '</div>'. 666 '</div>'. #constrained 667 663 668 '</form>'. 664 '</div>'; 669 '</div>'. #add comment 670 '</div>'; #comments 665 671 } 666 672 -
themes/ductile/_config.php
r1526 r1622 471 471 '<td class="handle minimal">'.form::field(array('order['.$i.']'),2,3,$count,'position','',false). 472 472 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="r aw">'.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>'. 475 475 '<td>'.form::field(array('sticker_url[]','dsu-'.$i),40,255,$v['url']).'</td>'. 476 476 '</tr>'; … … 496 496 echo 497 497 '<tr>'. 498 '<td scope="r aw">'.$contexts[$k].'</td>'.498 '<td scope="row">'.$contexts[$k].'</td>'. 499 499 '<td>'.form::hidden(array('list_ctx[]'),$k).form::combo(array('list_type[]'),$list_types,$v).'</td>'; 500 500 if (array_key_exists($k,$ductile_counts)) { … … 517 517 echo '</fieldset>'; 518 518 519 echo '< input type="hidden" name="conf_tab" value="html">';519 echo '<p><input type="hidden" name="conf_tab" value="html" /></p>'; 520 520 echo '<p class="clear">'.form::hidden('ds_order','').'<input type="submit" value="'.__('Save').'" />'.$core->formNonce().'</p>'; 521 521 echo '</form>'; … … 674 674 echo '</div>'; 675 675 676 echo '< input type="hidden" name="conf_tab" value="css">';676 echo '<p><input type="hidden" name="conf_tab" value="css" /></p>'; 677 677 echo '<p class="clear"><input type="submit" value="'.__('Save').'" />'.$core->formNonce().'</p>'; 678 678 echo '</form>';
Note: See TracChangeset
for help on using the changeset viewer.