Changeset 1529:9f6e5c3c8344 for admin
- Timestamp:
- 08/23/13 10:41:38 (11 years ago)
- Branch:
- default
- Children:
- 1530:18df991c4c1a, 1531:18a9e84c04e3, 1641:ae5dc7a055e1, 1885:d4803b6eba12
- Parents:
- 1528:41b40915bb82 (diff), 1515:03b3235091cf (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Location:
- admin
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/index.php
r1488 r1529 121 121 $__dashboard_items = new ArrayObject(array(new ArrayObject,new ArrayObject)); 122 122 123 # Documentation links124 123 $dashboardItem = 0; 125 if ($core->auth->user_prefs->dashboard->doclinks) {126 if (!empty($__resources['doc']))127 {128 $doc_links = '<h3>'.__('Documentation and support').'</h3><ul>';129 130 foreach ($__resources['doc'] as $k => $v) {131 $doc_links .= '<li><a href="'.$v.'" title="'.$k.' '.__('(external link)').'">'.$k.'</a></li>';132 }133 134 $doc_links .= '</ul>';135 $__dashboard_items[$dashboardItem][] = $doc_links;136 $dashboardItem++;137 }138 }139 124 140 125 if ($core->auth->user_prefs->dashboard->dcnews) { … … 180 165 } 181 166 167 # Documentation links 168 if ($core->auth->user_prefs->dashboard->doclinks) { 169 if (!empty($__resources['doc'])) 170 { 171 $doc_links = '<h3>'.__('Documentation and support').'</h3><ul>'; 172 173 foreach ($__resources['doc'] as $k => $v) { 174 $doc_links .= '<li><a href="'.$v.'" title="'.$k.' '.__('(external link)').'">'.$k.'</a></li>'; 175 } 176 177 $doc_links .= '</ul>'; 178 $__dashboard_items[$dashboardItem][] = $doc_links; 179 $dashboardItem++; 180 } 181 } 182 182 183 $core->callBehavior('adminDashboardItems', $core, $__dashboard_items); 183 184 … … 193 194 dcPage::jsLoad('js/_index.js'). 194 195 # --BEHAVIOR-- adminDashboardHeaders 195 $core->callBehavior('adminDashboardHeaders') 196 $core->callBehavior('adminDashboardHeaders'), 197 dcPage::breadcrumb( 198 array( 199 '<span class="page-title">'.__('Dashboard').' : '.html::escapeHTML($core->blog->name).'</span>' => '' 200 ), 201 false) 196 202 ); 197 203 198 echo '<h2>'.html::escapeHTML($core->blog->name).' › <span class="page-title">'.__('Dashboard').'</span></h2>'; 204 # Dotclear updates notifications 205 if ($core->auth->isSuperAdmin() && is_readable(DC_DIGESTS)) 206 { 207 $updater = new dcUpdate(DC_UPDATE_URL,'dotclear',DC_UPDATE_VERSION,DC_TPL_CACHE.'/versions'); 208 $new_v = $updater->check(DC_VERSION); 209 $version_info = $new_v ? $updater->getInfoURL() : ''; 210 211 if ($updater->getNotify() && $new_v) { 212 $message = 213 '<div><p>'.sprintf(__('Dotclear %s is available!'),$new_v).'</p> '. 214 '<ul><li><strong><a href="update.php">'.sprintf(__('Upgrade now'),$new_v).'</a></strong>'. 215 '</li><li><a href="update.php?hide_msg=1">'.__('Remind me later').'</a>'. 216 ($version_info ? ' </li><li><a href="'.$version_info.'">'.__('information about this version').'</a>' : ''). 217 '</li></ul></div>'; 218 dcPage::message($message,false,true); 219 } 220 } 199 221 200 222 if ($core->auth->getInfo('user_default_blog') != $core->blog->id && $core->auth->blog_count > 1) { … … 246 268 $dashboardItems = ''; 247 269 248 # Dotclear updates notifications249 if ($core->auth->isSuperAdmin() && is_readable(DC_DIGESTS))250 {251 $updater = new dcUpdate(DC_UPDATE_URL,'dotclear',DC_UPDATE_VERSION,DC_TPL_CACHE.'/versions');252 $new_v = $updater->check(DC_VERSION);253 $version_info = $new_v ? $updater->getInfoURL() : '';254 255 if ($updater->getNotify() && $new_v) {256 $dashboardItems .=257 '<div id="upg-notify" class="static-msg"><p>'.sprintf(__('Dotclear %s is available!'),$new_v).'</p> '.258 '<ul><li><strong><a href="update.php">'.sprintf(__('Upgrade now'),$new_v).'</a></strong>'.259 '</li><li><a href="update.php?hide_msg=1">'.__('Remind me later').'</a>'.260 ($version_info ? ' </li><li><a href="'.$version_info.'">'.__('information about this version').'</a>' : '').261 '</li></ul></div>';262 }263 }264 265 270 # Errors modules notifications 266 271 if ($core->auth->isSuperAdmin()) … … 283 288 if ($i->count() > 0) 284 289 { 285 $dashboardItems .= '<div >';290 $dashboardItems .= '<div class="db-item">'; 286 291 foreach ($i as $v) { 287 292 $dashboardItems .= $v; … … 317 322 } 318 323 } catch (Exception $e) { } 319 324 320 325 echo 321 326 '<div id="quick">'. 322 327 '<h3>'.__('Quick entry').'</h3>'. 323 '<form id="quick-entry" action="post.php" method="post" >'.324 '< fieldset><legend>'.__('New entry').'</legend>'.325 '<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 328 '<form id="quick-entry" action="post.php" method="post" class="fieldset">'. 329 '<h4>'.__('New entry').'</h4>'. 330 '<p class="col"><label for="post_title" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'. 326 331 form::field('post_title',20,255,'','maximal'). 327 '</ label></p>'.332 '</p>'. 328 333 '<p class="area"><label class="required" '. 329 334 'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 330 335 form::textarea('post_content',50,7). 331 336 '</p>'. 332 '<p><label for="cat_id" class="classic">'.__('Category:').' '.333 form::combo('cat_id',$categories_combo).'</ label></p>'.337 '<p><label for="cat_id" class="classic">'.__('Category:').'</label> '. 338 form::combo('cat_id',$categories_combo).'</p>'. 334 339 ($core->auth->check('categories', $core->blog->id) 335 340 ? '<div>'. 336 '<p id="new_cat" >'.__('Add a new category').'</p>'.341 '<p id="new_cat" class="q-cat">'.__('Add a new category').'</p>'. 337 342 '<p class="form-note info clear">'.__('This category will be created when you will save your post.').'</p>'. 338 '<p ><label for="new_cat_title">'.__('Title:').''.339 form::field('new_cat_title',30,255,'',' maximal').'</label></p>'.340 '<p ><label for="new_cat_parent">'.__('Parent:').''.341 form::combo('new_cat_parent',$categories_combo,'',' maximal').342 '</ label></p>'.343 '<p class="q-cat"><label for="new_cat_title">'.__('Title:').'</label> '. 344 form::field('new_cat_title',30,255,'','').'</p>'. 345 '<p class="q-cat"><label for="new_cat_parent">'.__('Parent:').'</label> '. 346 form::combo('new_cat_parent',$categories_combo,'',''). 347 '</p>'. 343 348 '</div>' 344 349 : ''). … … 354 359 form::hidden('post_notes',''). 355 360 '</p>'. 356 '</fieldset>'.357 361 '</form>'. 358 362 '</div>'; -
admin/index.php
r1521 r1529 340 340 ? '<div>'. 341 341 '<p id="new_cat" class="q-cat">'.__('Add a new category').'</p>'. 342 '<p class="form-note info clear">'.__('This category will be created when you will save your post.').'</p>'. 342 343 '<p class="q-cat"><label for="new_cat_title">'.__('Title:').'</label> '. 343 344 form::field('new_cat_title',30,255,'','').'</p>'. -
admin/js/_post.js
r1515 r1529 1 1 dotclear.commentExpander = function(line) { 2 2 var td = line.firstChild; 3 3 4 4 var img = document.createElement('img'); 5 5 img.src = dotclear.img_plus_src; … … 9 9 img.line = line; 10 10 img.onclick = function() { dotclear.viewCommentContent(this,this.line); }; 11 11 12 12 td.insertBefore(img,td.firstChild); 13 13 }; … … 15 15 dotclear.viewCommentContent = function(img,line) { 16 16 var commentId = line.id.substr(1); 17 17 18 18 var tr = document.getElementById('ce'+commentId); 19 19 20 20 if (!tr) { 21 21 tr = document.createElement('tr'); … … 25 25 td.className = 'expand'; 26 26 tr.appendChild(td); 27 27 28 28 img.src = dotclear.img_minus_src; 29 29 img.alt = dotclear.img_minus_alt; 30 30 31 31 // Get comment content 32 32 $.get('services.php',{f:'getCommentById',id: commentId},function(data) { 33 33 var rsp = $(data).children('rsp')[0]; 34 34 35 35 if (rsp.attributes[0].value == 'ok') { 36 36 var comment = $(rsp).find('comment_display_content').text(); 37 37 38 38 if (comment) { 39 39 $(td).append(comment); … … 42 42 var comment_ip = $(rsp).find('comment_ip').text(); 43 43 var comment_spam_disp = $(rsp).find('comment_spam_disp').text(); 44 44 45 45 $(td).append('<p><strong>' + dotclear.msg.website + 46 46 '</strong> ' + comment_site + '<br />' + … … 52 52 } 53 53 }); 54 54 55 55 $(line).toggleClass('expand'); 56 56 line.parentNode.insertBefore(tr,line.nextSibling); … … 74 74 $(function() { 75 75 if (!document.getElementById) { return; } 76 76 77 77 if (document.getElementById('edit-entry')) 78 78 { … … 91 91 } 92 92 }); 93 93 94 94 var excerptTb = new jsToolBar(document.getElementById('post_excerpt')); 95 95 var contentTb = new jsToolBar(document.getElementById('post_content')); 96 96 excerptTb.context = contentTb.context = 'post'; 97 97 } 98 98 99 99 if (document.getElementById('comment_content')) { 100 100 var commentTb = new jsToolBar(document.getElementById('comment_content')); 101 101 } 102 102 103 103 // Post preview 104 104 $('#post-preview').modalWeb($(window).width()-40,$(window).height()-40); 105 105 106 106 // Tabs events 107 107 $('#edit-entry').onetabload(function() { 108 108 dotclear.hideLockable(); 109 109 110 110 // Add date picker 111 111 var post_dtPick = new datePicker($('#post_dt').get(0)); 112 112 post_dtPick.img_top = '1.5em'; 113 113 post_dtPick.draw(); 114 114 115 115 // Confirm post deletion 116 116 $('input[name="delete"]').click(function() { 117 118 }); 119 117 return window.confirm(dotclear.msg.confirm_delete_post); 118 }); 119 120 120 // Hide some fields 121 121 $('#notes-area label').toggleWithLegend($('#notes-area').children().not('label'),{ 122 122 cookie: 'dcx_post_notes', 123 hide: $('#post_notes').val() == '' 123 hide: $('#post_notes').val() == '', 124 legend_click: true 124 125 }); 125 126 $('#new_cat').toggleWithLegend( 126 127 $('#new_cat').parent().children().not('#new_cat'), 127 { } // no cookie on new category as we don't use this every day128 {legend_click: true} // no cookie on new category as we don't use this every day 128 129 ); 129 130 $('#post_lang').parent().toggleWithLegend($('#post_lang'),{ 130 cookie: 'dcx_post_lang' 131 cookie: 'dcx_post_lang', 132 legend_click: true 131 133 }); 132 134 $('#post_password').parent().toggleWithLegend($('#post_password'),{ 133 135 cookie: 'dcx_post_password', 134 hide: $('#post_password').val() == '' 135 }); 136 136 hide: $('#post_password').val() == '', 137 legend_click: true 138 }); 139 $('#post_status').parent().toggleWithLegend($('#post_status'),{ 140 cookie: 'dcx_post_status', 141 legend_click: true 142 }); 143 $('#post_dt').parent().toggleWithLegend($('#post_dt').parent().children().not('label'),{ 144 cookie: 'dcx_post_dt', 145 legend_click: true 146 }); 147 $('#post_format').parent().toggleWithLegend($('#post_format').parent().children().not('label').add($('#post_format').parents('p').next()),{ 148 cookie: 'dcx_post_format', 149 legend_click: true 150 }); 151 $('#cat_id').parent().toggleWithLegend($('#cat_id'),{ 152 cookie: 'cat_id', 153 legend_click: true 154 }); 155 $('#post_url').parent().toggleWithLegend($('#post_url').parent().children().not('label'),{ 156 cookie: 'post_url', 157 legend_click: true 158 }); 137 159 // We load toolbar on excerpt only when it's ready 138 160 $('#excerpt-area label').toggleWithLegend($('#excerpt-area').children().not('label'),{ … … 140 162 hide: $('#post_excerpt').val() == '' 141 163 }); 142 164 143 165 // Load toolbars 144 166 contentTb.switchMode(formatField.value); … … 156 178 return false; 157 179 }); 158 180 159 181 // Markup validator 160 182 var h = document.createElement('h4'); 161 183 var a = document.createElement('a'); 162 184 a.href = '#'; 185 a.className = 'button'; 163 186 $(a).click(function() { 164 187 var params = { … … 170 193 lang: $('#post_lang').get(0).value 171 194 }; 172 195 173 196 $.post('services.php',params,function(data) { 174 197 if ($(data).find('rsp').attr('status') != 'ok') { … … 176 199 return false; 177 200 } 178 201 179 202 if ($(data).find('valid').text() == 1) { 180 203 var p = document.createElement('p'); 181 204 p.id = 'markup-validator'; 182 205 183 206 if ($('#markup-validator').length > 0) { 184 207 $('#markup-validator').remove(); 185 208 } 186 209 187 210 $(p).addClass('message'); 188 211 $(p).text(dotclear.msg.xhtml_valid); … … 194 217 var div = document.createElement('div'); 195 218 div.id = 'markup-validator'; 196 219 197 220 if ($('#markup-validator').length > 0) { 198 221 $('#markup-validator').remove(); 199 222 } 200 223 201 224 $(div).addClass('error'); 202 225 $(div).html('<p><strong>' + dotclear.msg.xhtml_not_valid + '</strong></p>' + $(data).find('errors').text()); 203 226 $(div).insertAfter(h); 204 $(div).backgroundFade({sColor:'#ffffff',eColor:'# ff9999',steps:50},function() {205 $(this).backgroundFade({sColor:'#ff 9999',eColor:'#ffffff'});227 $(div).backgroundFade({sColor:'#ffffff',eColor:'#FFBABA',steps:50},function() { 228 $(this).backgroundFade({sColor:'#ffbaba',eColor:'#ffffff'}); 206 229 }); 207 230 } 208 231 209 232 return false; 210 233 }); 211 234 212 235 return false; 213 236 }); 214 237 215 238 a.appendChild(document.createTextNode(dotclear.msg.xhtml_validator)); 216 239 h.appendChild(a); 217 240 $(h).appendTo('#entry-content'); 218 241 219 242 // Check unsaved changes before XHTML conversion 220 243 var excerpt = $('#post_excerpt').val(); … … 223 246 if (excerpt != $('#post_excerpt').val() || content != $('#post_content').val()) { 224 247 return window.confirm(dotclear.msg.confirm_change_post_format); 225 } 248 } 226 249 }); 227 250 }); 228 251 229 252 $('#comments').onetabload(function() { 230 253 $('.comments-list tr.line').each(function() { … … 234 257 dotclear.checkboxesHelpers(this); 235 258 }); 236 259 237 260 dotclear.commentsActionsHelper(); 238 261 }); 239 262 240 263 $('#add-comment').onetabload(function() { 241 264 commentTb.draw('xhtml'); -
admin/js/_post.js
r1525 r1529 79 79 // Get document format and prepare toolbars 80 80 var formatField = $('#post_format').get(0); 81 var last_post_format = $(formatField).val(); 81 82 $(formatField).change(function() { 82 excerptTb.switchMode(this.value); 83 contentTb.switchMode(this.value); 83 // Confirm post format change 84 if(window.confirm(dotclear.msg.confirm_change_post_format_noconvert)){ 85 excerptTb.switchMode(this.value); 86 contentTb.switchMode(this.value); 87 last_post_format = $(this).val(); 88 }else{ 89 // Restore last format if change cancelled 90 $(this).val(last_post_format); 91 } 84 92 }); 85 93 … … 151 159 // We load toolbar on excerpt only when it's ready 152 160 $('#excerpt-area label').toggleWithLegend($('#excerpt-area').children().not('label'),{ 153 fn: function() { excerptTb.switchMode(formatField.value); },154 161 cookie: 'dcx_post_excerpt', 155 162 hide: $('#post_excerpt').val() == '' … … 158 165 // Load toolbars 159 166 contentTb.switchMode(formatField.value); 160 167 excerptTb.switchMode(formatField.value); 168 161 169 // Replace attachment remove links by a POST form submit 162 170 $('a.attachment-remove').click(function() { -
admin/post.php
r1488 r1529 50 50 } 51 51 52 # Getting categories 53 $categories_combo = array(' ' => ''); 54 try { 55 $categories = $core->blog->getCategories(array('post_type'=>'post')); 56 while ($categories->fetch()) { 57 $categories_combo[] = new formSelectOption( 58 str_repeat(' ',$categories->level-1).($categories->level-1 == 0 ? '' : '• ').html::escapeHTML($categories->cat_title), 59 $categories->cat_id 60 ); 61 } 62 } catch (Exception $e) { } 63 52 64 # Status combo 53 65 foreach ($core->blog->getAllPostStatus() as $k => $v) { … … 82 94 if (!empty($_REQUEST['id'])) 83 95 { 96 $page_title = __('Edit entry'); 97 84 98 $params['post_id'] = $_REQUEST['id']; 85 99 … … 111 125 $post_open_tb = (boolean) $post->post_open_tb; 112 126 113 $page_title = __('Edit entry');114 115 127 $can_edit_post = $post->isEditable(); 116 128 $can_delete= $post->isDeletable(); … … 121 133 if ($next_rs !== null) { 122 134 $next_link = sprintf($post_link,$next_rs->post_id, 123 html::escapeHTML($next_rs->post_title),__(' next entry').' »');135 html::escapeHTML($next_rs->post_title),__('Next entry').' »'); 124 136 $next_headlink = sprintf($post_headlink,'next', 125 137 html::escapeHTML($next_rs->post_title),$next_rs->post_id); … … 128 140 if ($prev_rs !== null) { 129 141 $prev_link = sprintf($post_link,$prev_rs->post_id, 130 html::escapeHTML($prev_rs->post_title),'« '.__(' previous entry'));142 html::escapeHTML($prev_rs->post_title),'« '.__('Previous entry')); 131 143 $prev_headlink = sprintf($post_headlink,'previous', 132 144 html::escapeHTML($prev_rs->post_title),$prev_rs->post_id); … … 314 326 } 315 327 328 if ($post_id) { 329 switch ($post_status) { 330 case 1: 331 $img_status = sprintf($img_status_pattern,__('Published'),'check-on.png'); 332 break; 333 case 0: 334 $img_status = sprintf($img_status_pattern,__('Unpublished'),'check-off.png'); 335 break; 336 case -1: 337 $img_status = sprintf($img_status_pattern,__('Scheduled'),'scheduled.png'); 338 break; 339 case -2: 340 $img_status = sprintf($img_status_pattern,__('Pending'),'check-wrn.png'); 341 break; 342 default: 343 $img_status = ''; 344 } 345 $edit_entry_str = __('“%s”'); 346 $page_title_edit = sprintf($edit_entry_str, html::escapeHTML($post_title)).' '.$img_status; 347 } else { 348 $img_status = ''; 349 } 350 351 316 352 dcPage::open($page_title.' - '.__('Entries'), 317 353 dcPage::jsDatePicker(). … … 324 360 $core->callBehavior('adminPostHeaders'). 325 361 dcPage::jsPageTabs($default_tab). 326 $next_headlink."\n".$prev_headlink 362 $next_headlink."\n".$prev_headlink, 363 dcPage::breadcrumb( 364 array( 365 html::escapeHTML($core->blog->name) => '', 366 __('Entries') => 'posts.php', 367 '<span class="page-title">'.($post_id ? $page_title_edit : $page_title).'</span>' => '' 368 )) 327 369 ); 328 370 … … 354 396 } 355 397 356 echo '<h2>'.html::escapeHTML($core->blog->name).' › '.'<a href="posts.php">'.__('Entries').'</a> › <span class="page-title">';357 if ($post_id) {358 switch ($post_status) {359 case 1:360 $img_status = sprintf($img_status_pattern,__('published'),'check-on.png');361 break;362 case 0:363 $img_status = sprintf($img_status_pattern,__('unpublished'),'check-off.png');364 break;365 case -1:366 $img_status = sprintf($img_status_pattern,__('scheduled'),'scheduled.png');367 break;368 case -2:369 $img_status = sprintf($img_status_pattern,__('pending'),'check-wrn.png');370 break;371 default:372 $img_status = '';373 }374 $edit_entry_str = __('Edit entry “%s”');375 echo sprintf($edit_entry_str, html::escapeHTML($post_title)).' '.$img_status;376 } else {377 echo $page_title;378 }379 echo '</span></h2>';380 381 398 if ($post_id && $post->post_status == 1) { 382 echo '<p><a href="'.$post->getURL().'" onclick="window.open(this.href);return false;" title="'.$post_title.' ('.__('new window').')'.'">'.__('Go to this entry on the site').' <img src="images/outgoing-blue.png" alt="" /></a></p>';399 echo '<p><a class="onblog_link" href="'.$post->getURL().'" onclick="window.open(this.href);return false;" title="'.$post_title.' ('.__('new window').')'.'">'.__('Go to this entry on the site').' <img src="images/outgoing-blue.png" alt="" /></a></p>'; 383 400 } 384 401 if ($post_id) 385 402 { 386 echo '<p >';403 echo '<p class="nav_prevnext">'; 387 404 if ($prev_link) { echo $prev_link; } 388 if ($next_link && $prev_link) { echo ' -'; }405 if ($next_link && $prev_link) { echo ' | '; } 389 406 if ($next_link) { echo $next_link; } 390 407 … … 401 418 exit; 402 419 } 403 404 420 /* Post form if we can edit post 405 421 -------------------------------------------------------- */ 406 422 if ($can_edit_post) 407 423 { 408 echo '<div class="multi-part" title="'.__('Edit entry').'" id="edit-entry">'; 424 $sidebar_items = new ArrayObject(array( 425 'status-box' => array( 426 'title' => __('Status'), 427 'items' => array( 428 'post_status' => 429 '<p class="entry-status"><label for="post_status" class="ib">'.__('Entry status').' '.$img_status.'</label>'. 430 form::combo('post_status',$status_combo,$post_status,'maximal','',!$can_publish). 431 '</p>', 432 'post_dt' => 433 '<p><label for="post_dt" class="ib">'.__('Publication date and hour').'</label>'. 434 form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')). 435 '</p>', 436 'post_lang' => 437 '<p><label for="post_lang" class="ib">'.__('Entry lang').'</label>'. 438 form::combo('post_lang',$lang_combo,$post_lang). 439 '</p>', 440 'post_format' => 441 '<p><label for="post_format" class="ib">'.__('Text formating').'</label>'. 442 form::combo('post_format',$formaters_combo,$post_format,'maximal'). 443 '</p>'. 444 '<p>'.($post_id && $post_format != 'xhtml' ? 445 '<a id="convert-xhtml" class="button maximal" href="post.php?id='.$post_id.'&xconv=1">'. 446 __('Convert to XHTML').'</a>' : '').'</p>')), 447 'metas-box' => array( 448 'title' => __('Ordering'), 449 'items' => array( 450 'post_selected' => 451 '<p><label for="post_selected" class="classic">'. 452 form::checkbox('post_selected',1,$post_selected).' '. 453 __('Selected entry').'</label></p>', 454 'cat_id' => 455 '<p><label for="cat_id" class="ib">'.__('Category').'</label>'. 456 form::combo('cat_id',$categories_combo,$cat_id,'maximal'). 457 '</p>'. 458 ($core->auth->check('categories', $core->blog->id) ? 459 '<div>'. 460 '<p id="new_cat">'.__('Add a new category').'</p>'. 461 '<p><label for="new_cat_title">'.__('Title:').' '. 462 form::field('new_cat_title',30,255,'','maximal').'</label></p>'. 463 '<p><label for="new_cat_parent">'.__('Parent:').' '. 464 form::combo('new_cat_parent',$categories_combo,'','maximal'). 465 '</label></p>'. 466 '</div>' 467 : ''))), 468 'options-box' => array( 469 'title' => __('Options'), 470 'items' => array( 471 'post_open_comment' => 472 '<p><label for="post_open_comment" class="classic">'. 473 form::checkbox('post_open_comment',1,$post_open_comment).' '. 474 __('Accept comments').'</label></p>'. 475 ($core->blog->settings->system->allow_comments ? 476 (isContributionAllowed($post_id,strtotime($post_dt),true) ? 477 '' : 478 '<p class="form-note warn">'. 479 __('Warning: Comments are not more accepted for this entry.').'</p>') : 480 '<p class="form-note warn">'. 481 __('Warning: Comments are not accepted on this blog.').'</p>'), 482 'post_open_tb' => 483 '<p><label for="post_open_tb" class="classic">'. 484 form::checkbox('post_open_tb',1,$post_open_tb).' '. 485 __('Accept trackbacks').'</label></p>'. 486 ($core->blog->settings->system->allow_trackbacks ? 487 (isContributionAllowed($post_id,strtotime($post_dt),false) ? 488 '' : 489 '<p class="form-note warn">'. 490 __('Warning: Trackbacks are not more accepted for this entry.').'</p>') : 491 '<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'), 492 'post_password' => 493 '<p><label for="post_password" class="ib">'.__('Password').'</label>'. 494 form::field('post_password',10,32,html::escapeHTML($post_password),'maximal'). 495 '</p>', 496 'post_url' => 497 '<div class="lockable">'. 498 '<p><label for="post_url" class="ib">'.__('Edit basename').'</label>'. 499 form::field('post_url',10,255,html::escapeHTML($post_url),'maximal'). 500 '</p>'. 501 '<p class="form-note warn">'. 502 __('Warning: If you set the URL manually, it may conflict with another entry.'). 503 '</p></div>' 504 )))); 505 506 $main_items = new ArrayObject(array( 507 "post_title" => 508 '<p class="col">'. 509 '<label class="required no-margin"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:').'</label>'. 510 form::field('post_title',20,255,html::escapeHTML($post_title),'maximal'). 511 '</p>', 512 513 "post_excerpt" => 514 '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'<span class="form-note">'. 515 __('Add an introduction to the post.').'</span></label> '. 516 form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)). 517 '</p>', 518 519 "post_content" => 520 '<p class="area"><label class="required" '. 521 'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 522 form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). 523 '</p>', 524 525 "post_notes" => 526 '<p class="area" id="notes-area"><label for="post_notes">'.__('Personal notes:').'<span class="form-note">'. 527 __('Add unpublished notes.').'</span></label>'. 528 form::textarea('post_notes',50,5,html::escapeHTML($post_notes)). 529 '</p>' 530 ) 531 ); 532 533 # --BEHAVIOR-- adminPostFormItems 534 $core->callBehavior('adminPostFormItems',$main_items,$sidebar_items, isset($post) ? $post : null); 535 536 echo '<div class="multi-part" title="'.($post_id ? __('Edit entry') : __('New entry')).'" id="edit-entry">'; 409 537 echo '<form action="post.php" method="post" id="entry-form">'; 410 538 echo '<div id="entry-wrapper">'; 411 539 echo '<div id="entry-content"><div class="constrained">'; 540 541 echo '<h3 class="hidden">'.__('Edit post').'</h3>'; 542 543 foreach ($main_items as $id => $item) { 544 echo $item; 545 } 546 547 # --BEHAVIOR-- adminPostForm (may be deprecated) 548 $core->callBehavior('adminPostForm',isset($post) ? $post : null); 412 549 413 550 echo 414 '<p class="col"><label class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Title:'). 415 form::field('post_title',20,255,html::escapeHTML($post_title),'maximal'). 416 '</label></p>'. 417 418 '<p class="area" id="excerpt-area"><label for="post_excerpt">'.__('Excerpt:').'</label> '. 419 form::textarea('post_excerpt',50,5,html::escapeHTML($post_excerpt)). 420 '</p>'. 421 422 '<p class="area"><label class="required" '. 423 'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 424 form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). 425 '</p>'. 426 427 '<p class="area" id="notes-area"><label for="post_notes">'.__('Notes:').'</label>'. 428 form::textarea('post_notes',50,5,html::escapeHTML($post_notes)). 429 '</p>'; 430 431 # --BEHAVIOR-- adminPostForm 432 $core->callBehavior('adminPostForm',isset($post) ? $post : null); 433 434 echo 435 '<p>'. 551 '<p class="border-top">'. 436 552 ($post_id ? form::hidden('id',$post_id) : ''). 437 553 '<input type="submit" value="'.__('Save').' (s)" '. … … 458 574 echo '<div id="entry-sidebar">'; 459 575 460 echo 461 '<p><label for="cat_id">'.__('Category:'). 462 form::combo('cat_id',$categories_combo,$cat_id,'maximal'). 463 '</label></p>'. 464 465 ($core->auth->check('categories', $core->blog->id) ? 466 '<div>'. 467 '<p id="new_cat">'.__('Add a new category').'</p>'. 468 '<p class="form-note info clear">'.__('This category will be created when you will save your post.').'</p>'. 469 '<p><label for="new_cat_title">'.__('Title:').' '. 470 form::field('new_cat_title',30,255,'','maximal').'</label></p>'. 471 '<p><label for="new_cat_parent">'.__('Parent:').' '. 472 form::combo('new_cat_parent',$categories_combo,'','maximal'). 473 '</label></p>'. 474 '</div>' 475 : ''). 476 477 '<p><label for="post_status">'.__('Entry status:'). 478 form::combo('post_status',$status_combo,$post_status,'','',!$can_publish). 479 '</label></p>'. 480 481 '<p><label for="post_dt">'.__('Published on:'). 482 form::field('post_dt',16,16,$post_dt,($bad_dt ? 'invalid' : '')). 483 '</label></p>'. 484 485 '<p><label for="post_format">'.__('Text formating:'). 486 form::combo('post_format',$formaters_combo,$post_format). 487 '</label>'. 488 '</p>'. 489 '<p>'.($post_id && $post_format != 'xhtml' ? '<a id="convert-xhtml" class="button" href="post.php?id='.$post_id.'&xconv=1">'.__('Convert to XHTML').'</a>' : '').'</p>'. 490 491 '<p><label for="post_open_comment" class="classic">'.form::checkbox('post_open_comment',1,$post_open_comment).' '. 492 __('Accept comments').'</label></p>'. 493 ($core->blog->settings->system->allow_comments ? 494 (isContributionAllowed($post_id,strtotime($post_dt),true) ? 495 '' : 496 '<p class="form-note warn">'.__('Warning: Comments are not more accepted for this entry.').'</p>') : 497 '<p class="form-note warn">'.__('Warning: Comments are not accepted on this blog.').'</p>'). 498 499 '<p><label for="post_open_tb" class="classic">'.form::checkbox('post_open_tb',1,$post_open_tb).' '. 500 __('Accept trackbacks').'</label></p>'. 501 ($core->blog->settings->system->allow_trackbacks ? 502 (isContributionAllowed($post_id,strtotime($post_dt),false) ? 503 '' : 504 '<p class="form-note warn">'.__('Warning: Trackbacks are not more accepted for this entry.').'</p>') : 505 '<p class="form-note warn">'.__('Warning: Trackbacks are not accepted on this blog.').'</p>'). 506 507 '<p><label for="post_selected" class="classic">'.form::checkbox('post_selected',1,$post_selected).' '. 508 __('Selected entry').'</label></p>'. 509 510 '<p><label for="post_lang">'.__('Entry lang:'). 511 form::combo('post_lang',$lang_combo,$post_lang). 512 '</label></p>'. 513 514 '<p><label for="post_password">'.__('Entry password:'). 515 form::field('post_password',10,32,html::escapeHTML($post_password),'maximal'). 516 '</label></p>'. 517 518 '<div class="lockable">'. 519 '<p><label for="post_url">'.__('Basename:'). 520 form::field('post_url',10,255,html::escapeHTML($post_url),'maximal'). 521 '</label></p>'. 522 '<p class="form-note warn">'. 523 __('Warning: If you set the URL manually, it may conflict with another entry.'). 524 '</p>'. 525 '</div>'; 526 527 # --BEHAVIOR-- adminPostFormSidebar 576 foreach ($sidebar_items as $id => $c) { 577 echo '<div id="'.$id.'" class="box">'. 578 '<h4>'.$c['title'].'</h4>'; 579 foreach ($c['items'] as $e_name=>$e_content) { 580 echo $e_content; 581 } 582 echo '</div>'; 583 } 584 585 586 # --BEHAVIOR-- adminPostFormSidebar (may be deprecated) 528 587 $core->callBehavior('adminPostFormSidebar',isset($post) ? $post : null); 529 530 588 echo '</div>'; // End #entry-sidebar 531 589 … … 558 616 if ($can_edit_post && $core->auth->check('publish,contentadmin',$core->blog->id)) 559 617 { 560 $combo_action[__(' publish')] = 'publish';561 $combo_action[__(' unpublish')] = 'unpublish';562 $combo_action[__(' mark as pending')] = 'pending';563 $combo_action[__(' mark as junk')] = 'junk';618 $combo_action[__('Publish')] = 'publish'; 619 $combo_action[__('Unpublish')] = 'unpublish'; 620 $combo_action[__('Mark as pending')] = 'pending'; 621 $combo_action[__('Mark as junk')] = 'junk'; 564 622 } 565 623 … … 623 681 '<form action="comment.php" method="post" id="comment-form">'. 624 682 '<div class="constrained">'. 625 '<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Name:'). 683 '<p><label for="comment_author" class="required"><abbr title="'.__('Required field').'">*</abbr> '.__('Name:').'</label>'. 626 684 form::field('comment_author',30,255,html::escapeHTML($core->auth->getInfo('user_cn'))). 627 '</ label></p>'.628 629 '<p><label for="comment_email">'.__('Email:'). 685 '</p>'. 686 687 '<p><label for="comment_email">'.__('Email:').'</label>'. 630 688 form::field('comment_email',30,255,html::escapeHTML($core->auth->getInfo('user_email'))). 631 '</ label></p>'.632 633 '<p><label for="comment_site">'.__('Web site:'). 689 '</p>'. 690 691 '<p><label for="comment_site">'.__('Web site:').'</label>'. 634 692 form::field('comment_site',30,255,html::escapeHTML($core->auth->getInfo('user_url'))). 635 '</ label></p>'.693 '</p>'. 636 694 637 695 '<p class="area"><label for="comment_content" class="required"><abbr title="'.__('Required field').'">*</abbr> '. … … 675 733 echo 676 734 '<table class="comments-list"><tr>'. 677 '<th colspan="2" >'.__('Author').'</th>'.735 '<th colspan="2" class="first">'.__('Author').'</th>'. 678 736 '<th>'.__('Date').'</th>'. 679 737 '<th class="nowrap">'.__('IP address').'</th>'. 680 738 '<th>'.__('Status').'</th>'. 681 '<th> </th>'.739 '<th>'.__('Edit').'</th>'. 682 740 '</tr>'; 683 741 … … 689 747 switch ($rs->comment_status) { 690 748 case 1: 691 $img_status = sprintf($img,__(' published'),'check-on.png');749 $img_status = sprintf($img,__('Published'),'check-on.png'); 692 750 break; 693 751 case 0: 694 $img_status = sprintf($img,__(' unpublished'),'check-off.png');752 $img_status = sprintf($img,__('Unpublished'),'check-off.png'); 695 753 break; 696 754 case -1: 697 $img_status = sprintf($img,__(' pending'),'check-wrn.png');755 $img_status = sprintf($img,__('Pending'),'check-wrn.png'); 698 756 break; 699 757 case -2: 700 $img_status = sprintf($img,__(' junk'),'junk.png');758 $img_status = sprintf($img,__('Junk'),'junk.png'); 701 759 break; 702 760 } … … 713 771 '<td class="nowrap status">'.$img_status.'</td>'. 714 772 '<td class="nowrap status"><a href="'.$comment_url.'">'. 715 '<img src="images/edit-mini.png" alt="" title="'.__('Edit this comment').'" /> </a></td>'.773 '<img src="images/edit-mini.png" alt="" title="'.__('Edit this comment').'" /> '.__('Edit').'</a></td>'. 716 774 717 775 '</tr>'; … … 721 779 } 722 780 723 dcPage::helpBlock('core_post','core_ wiki');781 dcPage::helpBlock('core_post','core_trackbacks','core_wiki'); 724 782 dcPage::close(); 725 783 ?> -
admin/update.php
r1479 r1529 174 174 dcPage::jsPageTabs($default_tab). 175 175 dcPage::jsLoad('js/_update.js') 176 : '') 176 : ''), 177 dcPage::breadcrumb( 178 array( 179 __('System') => '', 180 '<span class="page-title">'.__('Dotclear update').'</span>' => '' 181 )) 177 182 ); 178 183 179 184 if (!$core->error->flag()) { 180 echo '<h2>'.__('Dotclear update').'</h2>';181 182 185 if (!empty($_GET['nocache'])) { 183 186 dcPage::message(__('Manual checking of update done successfully.')); … … 200 203 echo 201 204 '<p class="static-msg">'.sprintf(__('Dotclear %s is available.'),$new_v). 202 ($version_info ? ' <a href="'.$version_info.'">('.__(' information about this version').')</a>' : '').205 ($version_info ? ' <a href="'.$version_info.'">('.__('Information about this version').')</a>' : ''). 203 206 '</p>'. 204 207 … … 246 249 '<p class="message">'. 247 250 __("Congratulations, you're one click away from the end of the update."). 248 ' <strong><a href="index.php?logout=1">'.__('Finish the update .').'</a></strong>'.251 ' <strong><a href="index.php?logout=1">'.__('Finish the update').'</a>.</strong>'. 249 252 '</p>'; 250 253 } -
admin/update.php
r1474 r1529 106 106 throw new Exception( 107 107 sprintf(__('Downloaded Dotclear archive seems to be corrupted. '. 108 'Try <a %s>download it</a> again.'),'href="'.$p_url.'?step=download"') 108 'Try <a %s>download it</a> again.'),'href="'.$p_url.'?step=download"'). 109 ' '. 110 __('If this problem persists try to '. 111 '<a href="http://dotclear.org/download">update manually</a>.') 109 112 ); 110 113 }
Note: See TracChangeset
for help on using the changeset viewer.