Changes in [1901:ad7d50c2d611:1902:bcfbbb433af2]
- Files:
-
- 23 added
- 4 deleted
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
.hgsubstate
r1742 r1860 1 33139a996922b7a21b658961f8052c869bea60a1inc/libs/clearbricks1 d56b02c87260d4e54872c54fba979e03c0b5422b inc/libs/clearbricks -
admin/blog_pref.php
r1746 r1848 394 394 '</p>'. 395 395 396 '<p><label for="note_title_tag">'.__(' Note title HTML tag:').'</label>'.396 '<p><label for="note_title_tag">'.__('HTML tag for the title of the notes on the blog:').'</label>'. 397 397 form::combo('note_title_tag',$note_title_tag_combo,$blog_settings->system->note_title_tag). 398 398 '</p>'. … … 403 403 404 404 echo 405 '<p class="form-note ">'.__('XML/RPC interface allows you to edit your blog with an external client.').'</p>';405 '<p class="form-note info">'.__('XML/RPC interface allows you to edit your blog with an external client.').'</p>'; 406 406 407 407 if ($blog_settings->system->enable_xmlrpc) { … … 509 509 '<div class="col">'. 510 510 '<h5>'.__('Generated image sizes (in pixels)').'</h5>'. 511 '<p class="field"><label for="media_img_t_size"> '.__('Thumbnails:').''.512 form::field('media_img_t_size',3,3,$blog_settings->system->media_img_t_size).'</ label></p>'.513 514 '<p class="field"><label for="media_img_s_size"> '.__('Small:').''.515 form::field('media_img_s_size',3,3,$blog_settings->system->media_img_s_size).'</ label></p>'.516 517 '<p class="field"><label for="media_img_m_size"> '.__('Medium:').''.518 form::field('media_img_m_size',3,3,$blog_settings->system->media_img_m_size).'</ label></p>'.519 '</div>'. 520 521 '<div class="col">'. 522 '<h5> <label for="media_img_title_pattern">'.__('Inserted image title').'</label></h5>'.523 '<p >'.__('This defines image tag title when you insert it in a post from the media manager. It is retrieved from the picture\'s metadata.').'</p>'.524 '<p>'.form::combo('media_img_title_pattern',$img_title_combo,html::escapeHTML($blog_settings->system->media_img_title_pattern)).'</p>'.525 '< p><label for="media_img_use_dto_first" class="classic">'.511 '<p class="field"><label for="media_img_t_size">Thumbnail</label> '. 512 form::field('media_img_t_size',3,3,$blog_settings->system->media_img_t_size).'</p>'. 513 514 '<p class="field"><label for="media_img_s_size">Small</label> '. 515 form::field('media_img_s_size',3,3,$blog_settings->system->media_img_s_size).'</p>'. 516 517 '<p class="field"><label for="media_img_m_size">Medium</label> '. 518 form::field('media_img_m_size',3,3,$blog_settings->system->media_img_m_size).'</p>'. 519 '</div>'. 520 521 '<div class="col">'. 522 '<h5>'.__('Default image insertion attributes').'</h5>'. 523 '<p class="vertical-separator"><label for="media_img_title_pattern">'.__('Inserted image title').'</label>'. 524 form::combo('media_img_title_pattern',$img_title_combo,html::escapeHTML($blog_settings->system->media_img_title_pattern)).' '. 525 '<label for="media_img_use_dto_first" class="classic">'. 526 526 form::checkbox('media_img_use_dto_first','1',$blog_settings->system->media_img_use_dto_first). 527 527 __('Use original media date if possible').'</label></p>'. 528 529 '<h5>'.__('Default image insertion attributes').'</h5>'. 530 '<p ><label for="media_img_default_size">'.__('Image size:').'</label>'.528 '<p class="form-note info">'.__('It is retrieved from the picture\'s metadata.').'</p>'. 529 530 '<p class="field vertical-separator"><label for="media_img_default_size">'.__('Size of inserted image:').'</label>'. 531 531 form::combo('media_img_default_size',$img_default_size_combo, 532 532 (html::escapeHTML($blog_settings->system->media_img_default_size) != '' ? html::escapeHTML($blog_settings->system->media_img_default_size) : 'm')). 533 533 '</p>'. 534 '<p ><label for="media_img_default_alignment">'.__('Image alignment:').'</label>'.534 '<p class="field"><label for="media_img_default_alignment">'.__('Image alignment:').'</label>'. 535 535 form::combo('media_img_default_alignment',$img_default_alignment_combo,html::escapeHTML($blog_settings->system->media_img_default_alignment)). 536 536 '</p>'. 537 '<p><label for="media_img_default_link" class="classic">'.537 '<p><label for="media_img_default_link">'. 538 538 form::checkbox('media_img_default_link','1',$blog_settings->system->media_img_default_link). 539 __(' As a link tooriginal image').'</label></p>'.539 __('Insert a link to the original image').'</label></p>'. 540 540 '</div>'. 541 541 '</div>'. -
admin/help.php
r1799 r1839 90 90 dcPage::open(__('Global help'), 91 91 # --BEHAVIOR-- adminPostHeaders 92 $core->callBehavior('adminPostHeaders'), 92 $core->callBehavior('adminPostHeaders'). 93 dcPage::jsPageTabs('first-step'), 93 94 $breadcrumb 94 95 ); -
admin/index.php
r1788 r1811 221 221 '<div class="dc-update"><h3>'.sprintf(__('Dotclear %s is available!'),$new_v).'</h3> '. 222 222 '<p><a class="button submit" href="update.php">'.sprintf(__('Upgrade now'),$new_v).'</a> '. 223 '<a href="update.php?hide_msg=1">'.__('Remind me later').'</a>'.223 '<a class="button" href="update.php?hide_msg=1">'.__('Remind me later').'</a>'. 224 224 ($version_info ? ' </p>'. 225 '<p ><a href="'.$version_info.'" class="updt-info">'.__('Information about this version').'</a>' : '').'</p>'.225 '<p class="updt-info"><a href="'.$version_info.'">'.__('Information about this version').'</a>' : '').'</p>'. 226 226 '</div>'; 227 227 } -
admin/js/_media.js
r1782 r1852 25 25 } 26 26 27 $('.button. add').click(function(e) {27 $('.button.choose_files').click(function(e) { 28 28 // Use the native click() of the file input. 29 29 $('#upfile').click(); -
admin/js/_post.js
r1760 r1832 90 90 $(this).val(last_post_format); 91 91 } 92 93 $('.format_control > *').addClass('hide'); 94 $('.format_control:not(.control_no_'+$(this).val()+') > *').removeClass('hide'); 92 95 }); 93 96 … … 117 120 return window.confirm(dotclear.msg.confirm_delete_post); 118 121 }); 122 123 // Markup validator 124 var v = $('<div class="format_control"><p><a id="a-validator"></a></p><div/>').get(0); 125 $('.format_control').before(v); 126 var a = $('#a-validator').get(0); 127 a.href = '#'; 128 a.className = 'button '; 129 $(a).click(function() { 130 131 excerpt_content = $('#post_excerpt').css('display') != 'none' ? $('#post_excerpt').val() : $('#excerpt-area iframe').contents().find('body').html(); 132 post_content = $('#post_content').css('display') != 'none' ? $('#post_content').val() : $('#content-area iframe').contents().find('body').html(); 133 134 var params = { 135 xd_check: dotclear.nonce, 136 f: 'validatePostMarkup', 137 excerpt: excerpt_content, 138 content: post_content, 139 format: $('#post_format').get(0).value, 140 lang: $('#post_lang').get(0).value 141 }; 142 143 $.post('services.php',params,function(data) { 144 if ($(data).find('rsp').attr('status') != 'ok') { 145 alert($(data).find('rsp message').text()); 146 return false; 147 } 148 149 $('.message, .success, .error, .warning-msg').remove(); 150 151 if ($(data).find('valid').text() == 1) { 152 var p = document.createElement('p'); 153 p.id = 'markup-validator'; 154 155 $(p).addClass('success'); 156 $(p).text(dotclear.msg.xhtml_valid); 157 $('#entry-content h3').after(p); 158 $(p).backgroundFade({sColor:'#9BCA1C',eColor:'#bee74b',steps:20}); 159 } else { 160 var div = document.createElement('div'); 161 div.id = 'markup-validator'; 162 163 $(div).addClass('error'); 164 $(div).html('<p><strong>' + dotclear.msg.xhtml_not_valid + '</strong></p>' + $(data).find('errors').text()); 165 $('#entry-content h3').after(div); 166 $(div).backgroundFade({sColor:'#ffdec8',eColor:'#ffbaba',steps:20}); 167 } 168 169 if ( $('#post_excerpt').text() != excerpt_content || $('#post_content').text() != post_content ) { 170 var pn = document.createElement('p'); 171 $(pn).addClass('warning-msg'); 172 $(pn).text(dotclear.msg.warning_validate_no_save_content); 173 $('#entry-content h3').after(pn); 174 } 175 176 return false; 177 }); 178 179 return false; 180 }); 181 182 a.appendChild(document.createTextNode(dotclear.msg.xhtml_validator)); 183 184 $('.format_control > *').addClass('hide'); 185 $('.format_control:not(.control_no_'+last_post_format+') > *').removeClass('hide'); 119 186 120 187 // Hide some fields … … 184 251 }); 185 252 186 // Markup validator187 var h = document.createElement('h4');188 var a = document.createElement('a');189 a.href = '#';190 a.className = 'button';191 $(a).click(function() {192 var params = {193 xd_check: dotclear.nonce,194 f: 'validatePostMarkup',195 excerpt: $('#post_excerpt').text(),196 content: $('#post_content').text(),197 format: $('#post_format').get(0).value,198 lang: $('#post_lang').get(0).value199 };200 201 $.post('services.php',params,function(data) {202 if ($(data).find('rsp').attr('status') != 'ok') {203 alert($(data).find('rsp message').text());204 return false;205 }206 207 if ($(data).find('valid').text() == 1) {208 var p = document.createElement('p');209 p.id = 'markup-validator';210 211 if ($('#markup-validator').length > 0) {212 $('#markup-validator').remove();213 }214 215 $(p).addClass('message');216 $(p).text(dotclear.msg.xhtml_valid);217 $(p).insertAfter(h);218 $(p).backgroundFade({sColor:'#676e78',eColor:'#ffcc00',steps:50},function() {219 $(this).backgroundFade({sColor:'#ffcc00',eColor:'#676e78'});220 });221 } else {222 var div = document.createElement('div');223 div.id = 'markup-validator';224 225 if ($('#markup-validator').length > 0) {226 $('#markup-validator').remove();227 }228 229 $(div).addClass('error');230 $(div).html('<p><strong>' + dotclear.msg.xhtml_not_valid + '</strong></p>' + $(data).find('errors').text());231 $(div).insertAfter(h);232 $(div).backgroundFade({sColor:'#ffffff',eColor:'#FFBABA',steps:50},function() {233 $(this).backgroundFade({sColor:'#ffbaba',eColor:'#ffffff'});234 });235 }236 237 return false;238 });239 240 return false;241 });242 243 a.appendChild(document.createTextNode(dotclear.msg.xhtml_validator));244 h.appendChild(a);245 $(h).appendTo('#entry-content');246 247 253 // Check unsaved changes before XHTML conversion 248 254 var excerpt = $('#post_excerpt').val(); -
admin/js/_posts_actions.js
r1638 r1806 1 1 $(function() { 2 $('#new_auth_id').autocomplete(usersList, 3 { 4 delay: 1000, 5 matchSubset: true, 6 matchContains: true 7 }); 2 new_auth_id = $('#new_auth_id'); 3 if (new_auth_id.length) { 4 new_auth_id.autocomplete(usersList, 5 { 6 delay: 1000, 7 matchSubset: true, 8 matchContains: true 9 }); 10 } 8 11 $('#new_cat').toggleWithLegend($('#new_cat').parent().children().not('#new_cat'), { 9 12 // no cookie on new category as we don't use this every day -
admin/js/common.js
r1798 r1862 263 263 }, 264 264 265 checkboxesHelpers: function(e ) {265 checkboxesHelpers: function(e, target) { 266 266 $(e).append(document.createTextNode(dotclear.msg.to_select)); 267 267 $(e).append(document.createTextNode(' ')); 268 268 269 target = target || $(e).parents('form').find('input[type="checkbox"]'); 270 269 271 var a = document.createElement('a'); 270 272 a.href='#'; 271 273 $(a).append(document.createTextNode(dotclear.msg.select_all)); 272 274 a.onclick = function() { 273 $(this).parents('form').find('input[type="checkbox"]').check();275 target.check(); 274 276 return false; 275 277 }; … … 282 284 $(a).append(document.createTextNode(dotclear.msg.no_selection)); 283 285 a.onclick = function() { 284 $(this).parents('form').find('input[type="checkbox"]').unCheck();286 target.unCheck(); 285 287 return false; 286 288 }; … … 293 295 $(a).append(document.createTextNode(dotclear.msg.invert_sel)); 294 296 a.onclick = function() { 295 $(this).parents('form').find('input[type="checkbox"]').toggleCheck();297 target.toggleCheck(); 296 298 return false; 297 299 }; … … 395 397 return true; 396 398 }); 399 400 // Main menu collapser 401 var objMain = $('#wrapper'); 402 function showSidebar(){ 403 // Show sidebar 404 objMain.removeClass('hide-mm'); 405 $.cookie('sidebar-pref',null,{expires:30}); 406 } 407 function hideSidebar(){ 408 // Hide sidebar 409 objMain.addClass('hide-mm'); 410 $.cookie('sidebar-pref','hide-mm',{expires:30}); 411 } 412 // Sidebar separator 413 var objSeparator = $('#collapser'); 414 objSeparator.click(function(e){ 415 e.preventDefault(); 416 if ( objMain.hasClass('hide-mm') ){ 417 showSidebar(); 418 } 419 else { 420 hideSidebar(); 421 } 422 }).css('height', objSeparator.parent().parent().parent().outerHeight() + 'px'); 423 if ( $.cookie('sidebar-pref') == 'hide-mm' ){ 424 objMain.addClass('hide-mm'); 425 } else { 426 objMain.removeClass('hide-mm'); 427 } 428 397 429 }); 398 -
admin/js/jsToolBar/jsToolBar.wysiwyg.js
r1753 r1833 46 46 47 47 if (mode == 'xhtml') { 48 this.wwg_mode = true; 48 49 this.draw(mode); 49 50 } else { … … 51 52 this.syncContents('iframe'); 52 53 } 54 this.wwg_mode = false; 53 55 this.removeEditor(); 54 56 this.textarea.style.display = ''; … … 86 88 } else if (window.navigator.product != undefined && 87 89 window.navigator.product == 'Gecko') { 88 This.ibody.innerHTML = '<p><br _moz_editor_blogus_node="TRUE" _moz_dirty="" ></p>';90 This.ibody.innerHTML = '<p><br _moz_editor_blogus_node="TRUE" _moz_dirty=""/></p>'; 89 91 } else { 90 92 var idoc = This.iwin.document; -
admin/js/meta-editor.js
r1741 r1819 113 113 114 114 addMetaDialog: function() { 115 var This = this;116 115 117 116 if (this.submit_button == null) { … … 121 120 } 122 121 123 // View meta list124 var a = $('<a href="#">' + this.text_choose + '</a>');125 a.click(function() {126 This.showMetaList(metaEditor.prototype.meta_type,$(this).parent());127 return false;128 });129 122 if (this.text_separation != '') { 130 123 this.target.append($('<p></p>').addClass('form-note').append(this.text_separation.replace(/%s/,this.meta_type))); 131 124 } 132 this.target.append($('<p></p>').append(a)); 125 126 this.showMetaList(metaEditor.prototype.meta_type,this.target); 127 133 128 }, 134 129 135 130 showMetaList: function(type,target) { 136 target.empty();137 target.append('...');138 target.addClass('addMeta');139 131 140 132 var params = { … … 151 143 152 144 $.get(this.service_uri,params,function(data) { 145 146 var pl = $('<p class="addMeta"></p>'); 147 148 $('.addMeta').remove(); 149 153 150 if ($(data).find('meta').length > 0) { 154 target.empty();151 pl.empty(); 155 152 var meta_link; 156 153 … … 165 162 166 163 if (i>0) { 167 target.append(', ');164 pl.append(', '); 168 165 } 169 target.append(meta_link);166 pl.append(meta_link); 170 167 }); 171 168 … … 177 174 return false; 178 175 }); 179 target.append(', ').append(a_more); 180 } 176 pl.append(', ').append(a_more); 177 178 pl.addClass('hide'); 179 180 var pa = $('<p></p>'); 181 target.append(pa); 182 183 var a = $('<a href="#" class="metaGetList">' + This.text_choose + '</a>'); 184 a.click(function() { 185 $('.addMeta').removeClass('hide'); 186 $('.metaGetList').remove(); 187 return false; 188 }); 189 190 pa.append(a); 191 } 192 193 target.append(pl); 194 181 195 } else { 182 target.empty();196 pl.empty(); 183 197 } 184 198 }); -
admin/media.php
r1760 r1855 328 328 329 329 '<p class="pagination">'.__('Page(s)').' : '.$pager->getLinks().'</p>'; 330 331 for ($i=$pager->index_start, $j=0; $i<=$pager->index_end; $i++, $j++) 330 331 $dgroup = ''; 332 $fgroup = ''; 333 for ($i=$pager->index_start, $j=0; $i<=$pager->index_end; $i++,$j++) 332 334 { 333 echo mediaItemLine($items[$i],$j); 334 } 335 if ($items[$i]->d) { 336 $dgroup .= mediaItemLine($items[$i],$j); 337 } else { 338 $fgroup .= mediaItemLine($items[$i],$j); 339 } 340 } 341 echo 342 ($dgroup != '' ? '<div class="folders-group">'.$dgroup.'</div>' : ''). 343 ($fgroup != '' ? '<div class="files-group">'.$fgroup.'</div>' : ''); 335 344 336 345 echo … … 361 370 '<h4>'.__('Add files').'</h4>'. 362 371 '<p>'.__('Please take care to publish media that you own and that are not protected by copyright.').'</p>'. 363 '<p class="max-sizer form-note info"> '.__('Maximum file size allowed:').' '.files::size(DC_MAX_UPLOAD_SIZE).'</p>'.364 372 '<form id="fileupload" action="'.html::escapeURL($page_url).'" method="post" enctype="multipart/form-data" aria-disabled="false">'. 365 373 '<p>'.form::hidden(array('MAX_FILE_SIZE'),DC_MAX_UPLOAD_SIZE). … … 372 380 echo 373 381 '<p><label for="upfile">'.'<span class="add-label one-file">'.__('Choose file').'</span>'.'</label>'. 374 '<button class="button add">'.__('Choose files').'</button>'.382 '<button class="button choose_files">'.__('Choose files').'</button>'. 375 383 '<input type="file" id="upfile" name="upfile[]"'.($user_ui_enhanceduploader?' multiple="mutiple"':'').' data-url="'.html::escapeURL($page_url).'" /></p>'; 384 385 echo 386 '<p class="max-sizer form-note"> '.__('Maximum file size allowed:').' '.files::size(DC_MAX_UPLOAD_SIZE).'</p>'; 376 387 377 388 echo … … 379 390 '<p class="one-file"><label for="upfilepriv" class="classic">'.__('Private').'</label> '. 380 391 form::checkbox(array('upfilepriv','upfilepriv'),1).'</p>'; 392 393 381 394 382 395 if (!$user_ui_enhanceduploader) { … … 454 467 $fname = $f->basename; 455 468 469 $class = 'media-item media-col-'.($i%2); 470 456 471 if ($f->d) { 457 472 $link = html::escapeURL($page_url).'&d='.html::sanitizeURL($f->relname); 458 473 if ($f->parent) { 459 474 $fname = '..'; 475 $class .= ' media-folder-up'; 476 } else { 477 $class .= ' media-folder'; 460 478 } 461 479 } else { … … 464 482 } 465 483 466 $class = 'media-item media-col-'.($i%2);467 468 484 $res = 469 '<div class="'.$class.'">< a class="media-icon media-link" href="'.$link.'">'.470 '<img src="'.$f->media_icon.'" alt="" /> </a>'.471 '<ul>'. 472 '<li><a class="media-link" href="'.$link.'">'.$fname.'</a></li>';485 '<div class="'.$class.'"><p><a class="media-icon media-link" href="'.$link.'">'. 486 '<img src="'.$f->media_icon.'" alt="" />'.$fname.'</a></p>'; 487 488 $lst = ''; 473 489 474 490 if (!$f->d) { 475 $ res.=491 $lst .= 476 492 '<li>'.$f->media_title.'</li>'. 477 493 '<li>'. … … 482 498 } 483 499 484 $ res .= '<li class="media-action"> ';500 $act = ''; 485 501 486 502 if ($post_id && !$f->d) { 487 $res .= '<form action="post_media.php" method="post">'. 503 $act .= 504 '<form action="post_media.php" method="post">'. 488 505 '<input type="image" src="images/plus.png" alt="'.__('Attach this file to entry').'" '. 489 506 'title="'.__('Attach this file to entry').'" /> '. … … 496 513 497 514 if ($popup && !$f->d) { 498 $ res.= '<a href="'.$link.'"><img src="images/plus.png" alt="'.__('Insert this file into entry').'" '.515 $act .= '<a href="'.$link.'"><img src="images/plus.png" alt="'.__('Insert this file into entry').'" '. 499 516 'title="'.__('Insert this file into entry').'" /></a> '; 500 517 } 501 518 502 519 if ($f->del) { 503 $ res.= '<a class="media-remove" '.520 $act .= '<a class="media-remove" '. 504 521 'href="'.html::escapeURL($page_url).'&d='. 505 522 rawurlencode($GLOBALS['d']).'&remove='.rawurlencode($f->basename).'">'. … … 507 524 } 508 525 509 $ res .= '</li>';526 $lst .= ($act != '' ? '<li class="media-action"> '.$act.'</li>' : ''); 510 527 511 528 if ($f->type == 'audio/mpeg3') { 512 $res .= '<li>'.dcMedia::mp3player($f->file_url,'index.php?pf=player_mp3.swf').'</li>'; 513 } 514 515 $res .= '</ul></div>'; 529 $lst .= '<li>'.dcMedia::mp3player($f->file_url,'index.php?pf=player_mp3.swf').'</li>'; 530 } 531 532 $res .= ($lst != '' ? '<ul>'.$lst.'</ul>' : ''); 533 534 $res .= '</div>'; 516 535 517 536 return $res; -
admin/media_item.php
r1605 r1853 263 263 __('As a single image').'</label><br />'. 264 264 '<label for="insert2" class="classic">'.form::radio(array('insertion','insert2'),'link',$media_img_default_link). 265 __('As a link to original image').'</label>'.265 __('As a link to the original image').'</label>'. 266 266 '</p>'; 267 267 } … … 282 282 echo '<p>'; 283 283 foreach ($i_align as $k => $v) { 284 echo '<label for="alignment"class="classic">'.284 echo '<label class="classic">'. 285 285 form::radio(array('alignment'),$k,$v[1]).' '.$v[0].'</label><br /> '; 286 286 } … … 316 316 echo '<p>'; 317 317 foreach ($i_align as $k => $v) { 318 echo '<label for="alignment"class="classic">'.318 echo '<label class="classic">'. 319 319 form::radio(array('alignment'),$k,$v[1]).' '.$v[0].'</label><br /> '; 320 320 } -
admin/post.php
r1789 r1831 455 455 '<p>'.form::combo('post_format',$formaters_combo,$post_format,'maximal'). 456 456 '</p>'. 457 '<p >'.($post_id && $post_format != 'xhtml' ?458 '<a id="convert-xhtml" class="button " href="post.php?id='.$post_id.'&xconv=1">'.459 __('Convert to XHTML').'</a> ' : '').'</p></div>')),457 '<p class="format_control control_no_xhtml">'. 458 '<a id="convert-xhtml" class="button'.($post_id && $post_format != 'wiki' ? ' hide' : '').'" href="post.php?id='.$post_id.'&xconv=1">'. 459 __('Convert to XHTML').'</a></p></div>')), 460 460 'metas-box' => array( 461 461 'title' => __('Ordering'), … … 533 533 534 534 "post_content" => 535 '<p class="area" ><label class="required" '.535 '<p class="area" id="content-area"><label class="required" '. 536 536 'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 537 537 form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). -
admin/posts.php
r1792 r1806 103 103 104 104 # Actions combo box 105 $combo_action = array(); 106 if ($core->auth->check('publish,contentadmin',$core->blog->id)) 107 { 108 $combo_action[__('Status')] = array( 109 __('Publish') => 'publish', 110 __('Unpublish') => 'unpublish', 111 __('Schedule') => 'schedule', 112 __('Mark as pending') => 'pending' 113 ); 114 } 115 $combo_action[__('Mark')] = array( 116 __('Mark as selected') => 'selected', 117 __('Mark as unselected') => 'unselected' 118 ); 119 $combo_action[__('Change')] = array( 120 __('Change category') => 'category', 121 __('Change language') => 'lang'); 122 if ($core->auth->check('admin',$core->blog->id)) 123 { 124 $combo_action[__('Change')] = array_merge($combo_action[__('Change')], 125 array(__('Change author') => 'author')); 126 } 127 if ($core->auth->check('delete,contentadmin',$core->blog->id)) 128 { 129 $combo_action[__('Delete')] = array(__('Delete') => 'delete'); 130 } 131 132 # --BEHAVIOR-- adminPostsActionsCombo 133 $core->callBehavior('adminPostsActionsCombo',array(&$combo_action)); 105 106 $posts_actions_page = new dcPostsActionsPage($core,'posts.php'); 107 108 $posts_actions_page->process(); 134 109 135 110 /* Get posts … … 304 279 # Show posts 305 280 $post_list->display($page,$nb_per_page, 306 '<form action="posts _actions.php" method="post" id="form-entries">'.281 '<form action="posts.php" method="post" id="form-entries">'. 307 282 308 283 '%s'. … … 312 287 313 288 '<p class="col right"><label for="action" class="classic">'.__('Selected entries action:').'</label> '. 314 form::combo('action',$ combo_action).289 form::combo('action',$posts_actions_page->getCombo()). 315 290 '<input type="submit" value="'.__('ok').'" /></p>'. 316 291 form::hidden(array('user_id'),$user_id). -
admin/posts_actions.php
r1719 r1806 11 11 # -- END LICENSE BLOCK ----------------------------------------- 12 12 13 /* ### THIS FILE IS DEPRECATED ### */ 14 /* ### IT IS ONLY USED FOR PLUGINS COMPATIBILITY ### */ 15 13 16 require dirname(__FILE__).'/../inc/admin/prepend.php'; 14 17 15 18 dcPage::check('usage,contentadmin'); 16 19 17 $p arams = array();20 $posts_actions_page = new dcPostsActionsPage($core,'posts.php'); 18 21 19 /** 20 * FieldsList - Compatibility class for hidden fields & entries[] fields 21 * 22 */ 23 class FieldsList { 24 /** @var array list of hidden fields */ 25 protected $hidden; 26 /** @var array list of selected entries */ 27 protected $entries; 22 $posts_actions_page->process(); 28 23 29 30 /**31 * Class constructor32 */33 public function __construct() {34 $this->hidden=array();35 $this->entries =array();36 }37 38 /**39 * addHidden - adds a hidden field40 *41 * @param string $name the field name.42 * @param mixed $value the field value.43 *44 * @access public45 * @return the FieldsList instance, enabling to chain requests46 */47 public function addHidden($name,$value) {48 $this->hidden[] = form::hidden($name,$value);49 return $this;50 }51 52 /**53 * addEntry - adds a antry field54 *55 * @param string $id the entry id.56 * @param mixed $title the entry title.57 *58 * @access public59 * @return the FieldsList instance, enabling to chain requests60 */61 public function addEntry($id,$title) {62 $this->entries[$id]=$title;63 return $this;64 }65 66 /**67 * getHidden - returns the list of hidden fields, html encoded68 *69 * @access public70 * @return the list of hidden fields, html encoded71 */72 public function getHidden() {73 return join('',$this->hidden);74 }75 76 /**77 * getEntries - returns the list of entry fields, html encoded78 *79 * @param boolean $hidden if set to true, returns entries as a list of hidden field80 * if set to false, returns html code displaying the list of entries81 * with a list of checkboxes to enable to select/deselect entries82 * @access public83 * @return the list of entry fields, html encoded84 */85 public function getEntries ($hidden=false) {86 $ret = '';87 if ($hidden) {88 foreach ($this->entries as $id=> $e) {89 $ret .= form::hidden('entries[]',$id);90 }91 } else {92 $ret =93 '<table class="posts-list"><tr>'.94 '<th colspan="2">'.__('Title').'</th>'.95 '</tr>';96 foreach ($this->entries as $id=>$title) {97 $ret .=98 '<tr><td>'.99 form::checkbox(array('entries[]'),$id,true,'','').'</td>'.100 '<td>'. $title.'</td></tr>';101 }102 $ret .= '</table>';103 }104 return $ret;105 }106 107 /**108 * getEntriesQS - returns the list of entry fields as query string109 *110 * @access public111 * @return the list of entry fields, html encoded112 */113 public function getEntriesQS() {114 $ret=array();115 foreach ($this->entries as $id=>$title) {116 $ret[] = 'entries[]='.$id;117 }118 return join('&',$ret);119 }120 121 /**122 * __toString - magic method. -- DEPRECATED here123 * This method is only used to preserve compatibility with plugins124 * relying on previous versions of adminPostsActionsContent behavior,125 *126 * @access public127 * @return the list of hidden fields and entries (as hidden fields too), html encoded128 */129 public function __toString() {130 return join('',$this->hidden).$this->getEntries(true);131 }132 }133 134 $fields = new FieldsList();135 $posts_ids = array();136 137 if (isset($_POST['redir']) && strpos($_POST['redir'],'://') === false)138 {139 $redir = $_POST['redir'];140 }141 else142 {143 $redir =144 'posts.php?user_id='.$_POST['user_id'].145 '&cat_id='.$_POST['cat_id'].146 '&status='.$_POST['status'].147 '&selected='.$_POST['selected'].148 '&month='.$_POST['month'].149 '&lang='.$_POST['lang'].150 '&sortby='.$_POST['sortby'].151 '&order='.$_POST['order'].152 '&page='.$_POST['page'].153 '&nb='.$_POST['nb'];154 }155 $redir_sel = $redir;156 157 if (!empty($_POST['entries']))158 {159 $entries = $_POST['entries'];160 161 foreach ($entries as $k => $v) {162 $entries[$k] = (integer) $v;163 }164 165 $params['sql'] = 'AND P.post_id IN('.implode(',',$entries).') ';166 167 if (!isset($_POST['full_content']) || empty($_POST['full_content'])) {168 $params['no_content'] = true;169 }170 171 if (isset($_POST['post_type'])) {172 $params['post_type'] = $_POST['post_type'];173 }174 175 $posts = $core->blog->getPosts($params);176 while ($posts->fetch()) {177 $posts_ids[] = $posts->post_id;178 $fields->addEntry($posts->post_id,$posts->post_title);179 }180 // Redirection including selected entries181 $redir_sel = $redir.'&'.$fields->getEntriesQS();182 183 } else {184 $posts = $core->con->select("SELECT blog_id FROM ".$core->prefix."blog WHERE false");;185 }186 187 /* Actions188 -------------------------------------------------------- */189 if (!empty($_POST['action']))190 {191 $action = $_POST['action'];192 }193 else194 {195 $core->error->add(__('No action specified.'));196 dcPage::open(197 __('Entries'),'',dcPage::breadcrumb(198 array(199 html::escapeHTML($core->blog->name) => '',200 __('Entries') => 'posts.php',201 '<span class="page-title">'.__('Entries actions').'</span>' => ''202 ))203 );204 205 echo '<p><a class="back" href="'.html::escapeURL($redir_sel).'">'.__('Back to entries list').'</a></p>';206 207 dcPage::close();208 exit;209 }210 211 # --BEHAVIOR-- adminPostsActions212 $core->callBehavior('adminPostsActions',$core,$posts,$action,$redir);213 214 if (preg_match('/^(publish|unpublish|schedule|pending)$/',$action))215 {216 switch ($action) {217 case 'unpublish' : $status = 0; break;218 case 'schedule' : $status = -1; break;219 case 'pending' : $status = -2; break;220 default : $status = 1; break;221 }222 223 try224 {225 $core->blog->updPostsStatus($posts_ids,$status);226 227 http::redirect($redir_sel.'&upd=1');228 }229 catch (Exception $e)230 {231 $core->error->add($e->getMessage());232 }233 }234 elseif ($action == 'selected' || $action == 'unselected')235 {236 try237 {238 $core->blog->updPostsSelected($posts_ids,$action == 'selected');239 240 http::redirect($redir_sel."&upd=1");241 }242 catch (Exception $e)243 {244 $core->error->add($e->getMessage());245 }246 }247 elseif ($action == 'delete')248 {249 try250 {251 // Backward compatibility252 foreach($posts_ids as $post_id)253 {254 # --BEHAVIOR-- adminBeforePostDelete255 $core->callBehavior('adminBeforePostDelete',(integer) $post_id);256 }257 258 # --BEHAVIOR-- adminBeforePostsDelete259 $core->callBehavior('adminBeforePostsDelete',$posts_ids);260 261 $core->blog->delPosts($posts_ids);262 263 http::redirect($redir."&del=1");264 }265 catch (Exception $e)266 {267 $core->error->add($e->getMessage());268 }269 270 }271 elseif ($action == 'category' && isset($_POST['new_cat_id']))272 {273 $new_cat_id = $_POST['new_cat_id'];274 275 try276 {277 if (!empty($_POST['new_cat_title']) && $core->auth->check('categories', $core->blog->id))278 {279 $cur_cat = $core->con->openCursor($core->prefix.'category');280 $cur_cat->cat_title = $_POST['new_cat_title'];281 $cur_cat->cat_url = '';282 283 $parent_cat = !empty($_POST['new_cat_parent']) ? $_POST['new_cat_parent'] : '';284 285 # --BEHAVIOR-- adminBeforeCategoryCreate286 $core->callBehavior('adminBeforeCategoryCreate', $cur_cat);287 288 $new_cat_id = $core->blog->addCategory($cur_cat, (integer) $parent_cat);289 290 # --BEHAVIOR-- adminAfterCategoryCreate291 $core->callBehavior('adminAfterCategoryCreate', $cur_cat, $new_cat_id);292 }293 294 $core->blog->updPostsCategory($posts_ids, $new_cat_id);295 296 http::redirect($redir_sel."&upd=1");297 }298 catch (Exception $e)299 {300 $core->error->add($e->getMessage());301 }302 }303 elseif ($action == 'author' && isset($_POST['new_auth_id'])304 && $core->auth->check('admin',$core->blog->id))305 {306 $new_user_id = $_POST['new_auth_id'];307 308 try309 {310 if ($core->getUser($new_user_id)->isEmpty()) {311 throw new Exception(__('This user does not exist'));312 }313 314 $cur = $core->con->openCursor($core->prefix.'post');315 $cur->user_id = $new_user_id;316 $cur->update('WHERE post_id '.$core->con->in($posts_ids));317 318 http::redirect($redir_sel."&upd=1");319 }320 catch (Exception $e)321 {322 $core->error->add($e->getMessage());323 }324 }325 elseif ($action == 'lang' && isset($_POST['new_lang']))326 {327 $new_lang = $_POST['new_lang'];328 try329 {330 $cur = $core->con->openCursor($core->prefix.'post');331 $cur->post_lang = $new_lang;332 $cur->update('WHERE post_id '.$core->con->in($posts_ids));333 334 http::redirect($redir_sel."&upd=1");335 }336 catch (Exception $e)337 {338 $core->error->add($e->getMessages());339 }340 }341 342 /* DISPLAY343 -------------------------------------------------------- */344 // Get current users list345 $usersList = '';346 if ($action == 'author' && $core->auth->check('admin',$core->blog->id)) {347 $params = array(348 'limit' => 100,349 'order' => 'nb_post DESC'350 );351 $rs = $core->getUsers($params);352 while ($rs->fetch())353 {354 $usersList .= ($usersList != '' ? ',' : '').'"'.$rs->user_id.'"';355 }356 }357 dcPage::open(358 __('Entries'),359 '<script type="text/javascript">'."\n".360 "//<![CDATA[\n".361 'usersList = ['.$usersList.']'."\n".362 "\n//]]>\n".363 "</script>\n".364 dcPage::jsLoad('js/jquery/jquery.autocomplete.js').365 dcPage::jsLoad('js/_posts_actions.js').366 dcPage::jsMetaEditor().367 # --BEHAVIOR-- adminBeforePostDelete368 $core->callBehavior('adminPostsActionsHeaders')369 );370 371 if (!isset($action)) {372 dcPage::close();373 exit;374 }375 376 if (isset($_POST['redir']) && strpos($_POST['redir'],'://') === false)377 {378 $fields->addHidden(array('redir'),html::escapeURL($_POST['redir']));379 }380 else381 {382 $fields383 ->addHidden(array('user_id'),$_POST['user_id'])384 ->addHidden(array('cat_id'),$_POST['cat_id'])385 ->addHidden(array('status'),$_POST['status'])386 ->addHidden(array('selected'),$_POST['selected'])387 ->addHidden(array('month'),$_POST['month'])388 ->addHidden(array('lang'),$_POST['lang'])389 ->addHidden(array('sortby'),$_POST['sortby'])390 ->addHidden(array('order'),$_POST['order'])391 ->addHidden(array('page'),$_POST['page'])392 ->addHidden(array('nb'),$_POST['nb'])393 ;394 }395 396 if (isset($_POST['post_type'])) {397 $fields->addHidden(array('post_type'),$_POST['post_type']);398 }399 400 # --BEHAVIOR-- adminPostsActionsContent401 $core->callBehavior('adminPostsActionsContent',$core,$action,$fields);402 403 if ($action == 'category')404 {405 echo dcPage::breadcrumb(406 array(407 html::escapeHTML($core->blog->name) => '',408 __('Entries') => 'posts.php',409 '<span class="page-title">'.__('Change category for this selection').'</span>' => ''410 ));411 412 echo '<p><a class="back" href="'.html::escapeURL($redir_sel).'">'.__('Back to entries list').'</a></p>';413 414 # categories list415 # Getting categories416 $categories_combo = dcAdminCombos::getCategoriesCombo(417 $core->blog->getCategories(array('post_type'=>'post'))418 );419 420 echo421 '<form action="posts_actions.php" method="post">'.422 $fields->getEntries().423 '<p><label for="new_cat_id" class="classic">'.__('Category:').'</label> '.424 form::combo('new_cat_id',$categories_combo,'');425 426 if ($core->auth->check('categories', $core->blog->id)) {427 echo428 '<div>'.429 '<p id="new_cat">'.__('Create a new category for the post(s)').'</p>'.430 '<p><label for="new_cat_title">'.__('Title:').'</label> '.431 form::field('new_cat_title',30,255,'','').'</p>'.432 '<p><label for="new_cat_parent">'.__('Parent:').'</label> '.433 form::combo('new_cat_parent',$categories_combo,'','').434 '</p>'.435 '</div>';436 }437 438 echo439 $fields->getHidden().440 $core->formNonce().441 form::hidden(array('action'),'category').442 '<input type="submit" value="'.__('Save').'" /></p>'.443 '</form>';444 }445 elseif ($action == 'lang')446 {447 echo dcPage::breadcrumb(448 array(449 html::escapeHTML($core->blog->name) => '',450 __('Entries') => 'posts.php',451 '<span class="page-title">'.__('Change language for this selection').'</span>' => ''452 ));453 echo '<p><a class="back" href="'.html::escapeURL($redir_sel).'">'.__('Back to entries list').'</a></p>';454 455 # lang list456 # Languages combo457 $rs = $core->blog->getLangs(array('order'=>'asc'));458 $lang_combo = dcAdminCombos::getLangsCombo($rs,true);459 460 echo461 '<form action="posts_actions.php" method="post">'.462 $fields->getEntries().463 464 '<p><label for="new_lang" class="classic">'.__('Entry lang:').'</label> '.465 form::combo('new_lang',$lang_combo,'');466 467 echo468 $fields->getHidden().469 $core->formNonce().470 form::hidden(array('action'),'lang').471 '<input type="submit" value="'.__('Save').'" /></p>'.472 '</form>';473 474 }475 elseif ($action == 'author' && $core->auth->check('admin',$core->blog->id))476 {477 echo dcPage::breadcrumb(478 array(479 html::escapeHTML($core->blog->name) => '',480 __('Entries') => 'posts.php',481 '<span class="page-title">'.__('Change author for this selection').'</span>' => ''482 ));483 echo '<p><a class="back" href="'.html::escapeURL($redir_sel).'">'.__('Back to entries list').'</a></p>';484 485 echo486 '<form action="posts_actions.php" method="post">'.487 $fields->getEntries().488 '<p><label for="new_auth_id" class="classic">'.__('New author (author ID):').'</label> '.489 form::field('new_auth_id',20,255);490 491 echo492 $fields->getHidden().493 $core->formNonce().494 form::hidden(array('action'),'author').495 '<input type="submit" value="'.__('Save').'" /></p>'.496 '</form>';497 }498 499 dcPage::close();500 24 ?> -
admin/preferences.php
r1786 r1845 169 169 $core->auth->user_prefs->interface->put('hide_std_favicon',!empty($_POST['user_ui_hide_std_favicon']),'boolean',null,true,true); 170 170 } 171 $core->auth->user_prefs->interface->put('iconset',(!empty($_POST['user_ui_iconset']) ? $_POST['user_ui_iconset'] : ''));172 $core->auth->user_prefs->interface->put('nofavmenu',!empty($_POST['user_ui_nofavmenu']),'boolean');173 171 174 172 # Udate user -
admin/style/default.css
r1801 r1869 27 27 width: 100%; 28 28 padding-top: 1em; 29 background: #f7f7f7 url(bg_wrapper.png) repeat-y 15.5em; 29 30 } 30 31 #main { … … 33 34 margin-left: -14.5em; 34 35 margin-top: 0; 35 background: #fff url(bg_menu.png);36 36 } 37 37 #content { 38 margin: 0 0 0 1 4.5em;38 margin: 0 0 0 15.5em; 39 39 padding: 9px 18px 18px; /* ie < 9 sucks */ 40 40 padding: .9rem 1.8rem 1.8rem; 41 41 background: #fff; 42 overflow: hidden; 42 43 } 43 44 #main-menu { … … 47 48 padding-top: .5em; 48 49 padding-bottom: 1em; 49 background: #f7f7f7;50 overflow: hidden; 50 51 } 51 52 #footer { … … 54 55 text-align: right; 55 56 border-top: 1px solid #ccc; 56 } 57 background-color: #fff; 58 } 59 /* to hide main-menu */ 60 #collapser { 61 display: block; 62 float: left; 63 width: 1em; 64 background: #f3f3f3; 65 margin-left: 14.5em; 66 border: none; 67 text-align: left; 68 overflow: hidden; 69 padding-top: 22px; 70 } 71 .expand-mm { 72 display:none; 73 } 74 /* if main-menu is hidden */ 75 #wrapper.hide-mm { 76 background: #fff; 77 } 78 .hide-mm #main { 79 margin-left: 0; 80 } 81 .hide-mm #content { 82 margin-left: 1em; 83 } 84 .hide-mm #main-menu { 85 display: none; 86 } 87 .hide-mm #collapser { 88 margin-left: 0; 89 text-align: right; 90 background-color: #e3e3e3; 91 } 92 .hide-mm .collapse-mm { 93 display: none; 94 } 95 .hide-mm .expand-mm { 96 display: block; 97 } 98 /* if no js activated */ 99 .no-js #content { 100 margin-left: 14.5em; 101 } 102 57 103 /* -------------------------------------------------------------- layout: two-cols */ 58 104 .two-cols { … … 122 168 display: inline-block; 123 169 vertical-align: top; 124 margin-left: 2.5%;125 margin-right: 2.5%;170 margin-left: 1.5%; 171 margin-right: 1.5%; 126 172 -moz-box-sizing: border-box; 127 173 -webkit-box-sizing: border-box; 128 174 box-sizing: border-box; 129 175 } 130 .three-boxes:first-child {176 .three-boxes:first-child, .three-boxes.first-child { 131 177 margin-left: 0; 132 178 } 133 .three-boxes:last-child {179 .three-boxes:last-child, .three-boxes.last-child { 134 180 margin-right: 0; 135 181 } … … 391 437 border:none; 392 438 } 439 h1 a:link, h1 a:visited { 440 border: none; 441 } 393 442 /* ---------------------------------------------------------------------------- 394 443 FORMULAIRES … … 553 602 border: 1px solid #ccc; 554 603 font-family: arial, helvetica, sans-serif; 555 padding: 3px 8px;604 padding: 4px 10px; 556 605 line-height: normal !important; 557 606 display: inline-block; … … 563 612 border-radius: 3px; 564 613 cursor: pointer; 614 font: 100% "DejaVu Sans","Lucida Grande","Lucida Sans Unicode",Arial,sans-serif; 565 615 } 566 616 button, … … 571 621 } 572 622 /* validation */ 573 input[type=submit], a.button.submit {623 input[type=submit], a.button.submit, input.button.start { 574 624 color: #fff; 575 625 border: 1px solid #2C8FD1; 576 background :-moz-linear-gradient(top,#25A6E1 0%,#188BC0 100%);577 background :-webkit-gradient(linear,left top,left bottom,color-stop(0%,#25A6E1),color-stop(100%,#188BC0));578 background :linear-gradient(top,#25A6E1 0%,#188BC0 100%);626 background-image:-moz-linear-gradient(top,#25A6E1 0%,#188BC0 100%); 627 background-image:-webkit-gradient(linear,left top,left bottom, from(#25A6E1), to(#188BC0)); 628 background-image:linear-gradient(top,#25A6E1 0%,#188BC0 100%); 579 629 background-color:#25A6E1; 580 630 text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.3); 581 631 } 582 632 input[type=submit]:hover, input[type=submit]:focus, 633 input.button.start:hover, input.button.start:focus, 583 634 a.button.submit:hover, a.button.submit:focus { 584 background :-moz-linear-gradient(top,#188BC0 0%,#25A6E1 100%);585 background :-webkit-gradient(linear,left top,left bottom,color-stop(0%,#188BC0),color-stop(100%,#25A6E1));586 background :linear-gradient(top,#188BC0 0%,#25A6E1 100%);635 background-image:-moz-linear-gradient(top,#188BC0 0%,#25A6E1 100%); 636 background-image:-webkit-gradient(linear,left top,left bottom, from(#188BC0),to(#25A6E1)); 637 background-image:linear-gradient(top,#188BC0 0%,#25A6E1 100%); 587 638 background-color:#188BC0; 588 639 } … … 593 644 a.button.delete, a.button.reset, a.button { 594 645 color: #000; 595 background: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#dfdfdf)); 596 background: -moz-linear-gradient(top, #f5f5f5, #dfdfdf); 646 background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#dfdfdf)); 647 background-image: -moz-linear-gradient(top, #f5f5f5, #dfdfdf); 648 background-image:linear-gradient(top,#f5f5f5 0%,#dfdfdf 100%); 597 649 background-color: #eee; 650 border: 1px solid #ccc; 598 651 text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); 599 652 } … … 606 659 a.button.delete:hover, a.button.reset:hover, a.button:hover, 607 660 a.button.delete:focus, a.button.reset:focus, a.button:focus { 608 background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #e9e9e9), color-stop(1, #f9f9f9) ); 609 background:-moz-linear-gradient( center top, #e9e9e9 5%, #f9f9f9 100% ); 661 background-image:-webkit-gradient( linear, left top, left bottom, from(#e9e9e9), to(#f9f9f9)); 662 background-image:-moz-linear-gradient(top, #e9e9e9, #f9f9f9); 663 background-image:linear-gradient(top,#e9e9e9 0%,#f9f9f9 100%); 610 664 background-color:#f3f3f3; 611 665 } … … 628 682 } 629 683 .button.add { 630 background :-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #bee74b), color-stop(1, #9BCA1C) );631 background :-moz-linear-gradient( center top, #bee74b 5%, #9BCA1C 100%);684 background-image:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #bee74b), color-stop(1, #9BCA1C) ); 685 background-image:-moz-linear-gradient(center top, #bee74b 5%, #9BCA1C 100%); 632 686 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#bee74b', endColorstr='#9BCA1C'); 633 687 background-color:#bee74b; 634 688 border:1px solid #B2D742; 635 padding:.33em 1.33em ;689 padding:.33em 1.33em .5em; 636 690 color: #000; 637 691 text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); … … 641 695 } 642 696 .button.add:hover, .button.add:active, .button.add:focus { 643 background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #9BCA1C), color-stop(1, #bee74b) ); 644 background:-moz-linear-gradient( center top, #9BCA1C 5%, #bee74b 100% ); 697 background-image:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #9BCA1C), color-stop(1, #bee74b) ); 698 background-image:-moz-linear-gradient(center top, #9BCA1C 5%, #bee74b 100%); 699 background-image:linear-gradient(center top, #9BCA1C 5%, #bee74b 100%); 645 700 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#9BCA1C', endColorstr='#bee74b'); 646 701 background-color:#9BCA1C; … … 658 713 input.disabled, input[type=submit].disabled { 659 714 text-shadow: none; 715 filter: none; 660 716 color: #676e78; 661 717 background: #F5F5F5; … … 738 794 background: #A2CBE9 url(msg-success.png) no-repeat .7em .7em; 739 795 text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6); 740 color: # 34495e;796 color: #000; 741 797 box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.1) 742 798 } 743 799 .dc-update h3 { 744 800 margin-top: 0; 745 color: # 34495e;801 color: #000; 746 802 } 747 803 .dc-update p { … … 750 806 } 751 807 .dc-update a { 752 color: #34495e; 753 border-color: #000; 808 color: #000; 754 809 margin-right: 1em; 755 810 } 756 a.updt-info {757 margin-left: 2em;758 font-weight: bold;759 }760 811 .dc-update a.button { 761 812 padding: .5em 1em; 813 } 814 .updt-info a { 815 margin-left: 2em; 816 border-color: #000; 817 font-weight: bold; 762 818 } 763 819 /* --------------------------------------------------------------------------------- … … 811 867 height: 36px; /* ie < 9 sucks */ 812 868 height: 3.6rem; 813 border: none;814 869 color: #fff; 815 870 background: transparent url(dc_logos/b-dotclear120.png) no-repeat 0 6px; … … 1408 1463 } 1409 1464 /* ------------------------------------------------------------------- blog_pref.php */ 1465 #media_img_title_pattern { 1466 margin-right: 1em; 1467 } 1410 1468 .user-perm { 1411 1469 margin: 2em 0px; … … 1602 1660 width: 100%; 1603 1661 } 1662 /* ------------------------------------------------------------------ help.php */ 1663 .legible { /* for pages with a lot of text to read */ 1664 font-size: 1.16em; 1665 max-width: 62em; 1666 margin-left: 6%; 1667 } 1668 1604 1669 /* ------------------------------------------------------------------ media.php */ 1605 .media-list {1606 position: static;1607 }1608 1670 .media-item { 1609 1671 position: relative; 1610 border: 1px solid # ccc;1611 margin: 1em;1612 padding: 1 em;1672 border: 1px solid #ddd; 1673 margin: 9px; 1674 padding: 10px 12px 6px; 1613 1675 width: 300px; 1614 1676 display: inline-block; 1615 1677 vertical-align: top; 1616 min-height: 120px 1617 } 1678 min-height: 140px; 1679 } 1680 .media-item p { 1681 margin: 0 0 .5em; 1682 } 1683 .media-item object { 1684 margin-top: .5em; 1685 } 1618 1686 .media-item ul { 1619 1687 display: block; … … 1630 1698 display: block; 1631 1699 } 1632 .media-action-box { 1633 position: relative; 1634 margin: 3em 3em 1em 1em; 1635 display: inline-block; 1636 vertical-align: top; 1637 } 1638 li.media-action { 1639 display: block; 1640 position: absolute; 1641 top: 5px; 1642 right: 5px; 1643 height: 16px; 1644 } 1700 .media-link { 1701 font-size: 1.1em; 1702 } 1703 .media-action-box { 1704 position: relative; 1705 margin: 3em 3em 1em 1em; 1706 display: inline-block; 1707 vertical-align: top; 1708 } 1709 li.media-action { 1710 display: block; 1711 position: absolute; 1712 bottom: 4px; 1713 right: 8px; 1714 height: 16px; 1715 } 1645 1716 li.media-action a { 1646 1717 border: none; … … 1652 1723 border: none; 1653 1724 } 1725 #entry-sidebar .media-item { 1726 width: 100%; 1727 min-height: 0; 1728 padding: 4px; 1729 margin: .33em 0; 1730 } 1731 #entry-sidebar li.media-action { 1732 top: 4px; 1733 } 1734 1735 .folders-group .media-item { 1736 min-height: 70px; 1737 } 1738 .folders-group .media-item p { 1739 margin-bottom: 0; 1740 } 1741 .media-folder { 1742 background: transparent url(bg_menu.png) repeat-y; 1743 border-color: #eee; 1744 } 1745 .media-folder-up { 1746 border-color: #fff; 1747 padding-bottom: 6px; 1748 } 1749 .media-folder .media-link { 1750 font-size: 1.25em; 1751 margin-left: 2em; 1752 color: #676e78; 1753 border-bottom: none; 1754 } 1755 1654 1756 .zip-dl { 1655 1757 background: transparent url(package.png) no-repeat 0 50%; 1656 1758 padding: 5px 0 5px 20px; 1657 1759 } 1760 /* upload multiple */ 1761 .enhanced_uploader .choose_files, .enhanced_uploader .cancel, 1762 .enhanced_uploader .clean, .enhanced_uploader .start { 1763 margin-right: .4em; 1764 } 1765 .enhanced_uploader #upfile { 1766 visibility: hidden; 1767 width: 0; 1768 height: 0; 1769 margin: 0; 1770 opacity: 0; 1771 filter: alpha(opacity=0); 1772 cursor: pointer; 1773 } 1774 .button.clean, .button.cancel, .button.choose_files { 1775 display: none; 1776 } 1777 .enhanced_uploader .button.choose_files { 1778 display: inline-block; 1779 } 1780 .enhanced_uploader .max-size { 1781 display: block; 1782 } 1783 .enhanced_uploader .one-file { 1784 display: none; 1785 } 1786 label span.one-file { 1787 display: inline; 1788 } 1789 .enhanced_uploader p.clear { 1790 padding-top: 1em; 1791 margin-bottom: 1em; 1792 } 1793 #add-file-f p.clear { 1794 margin-top: 1em; 1795 margin-bottom: 0; 1796 clear: both; 1797 } 1798 .files { 1799 list-style-type: none; 1800 margin-left: 0; 1801 padding-left: 0; 1802 border-bottom: 1px solid #ddd; 1803 } 1804 .files li { 1805 margin-left: 0; 1806 padding-left: 0; 1807 } 1808 .upload-msg { 1809 font-weight: bold; 1810 } 1811 .upload-msg.upload-error { 1812 color: #c00; 1813 } 1814 .upload-files { 1815 padding: 0 0.5em; 1816 margin: 1em 0; 1817 } 1818 .upload-file { 1819 margin: 0; 1820 padding: .3em 0; 1821 border-top: 1px solid #ddd; 1822 position: relative; 1823 } 1824 .upload-fileinfo { 1825 margin-left: 0; 1826 /* margin-bottom: .4em;*/ 1827 } 1828 .upload-fileinfo input { 1829 position: absolute; 1830 top: .5em; 1831 right: .5em; 1832 } 1833 .upload-fileinfo span { 1834 padding-right: 8px; 1835 } 1836 .upload-fileinfo .upload-filecancel { 1837 display: block; 1838 padding-right: 0; 1839 margin-top: 3px; 1840 width: 20px; 1841 height: 20px; 1842 background: transparent url("cancel.png") no-repeat left top; 1843 text-indent: -1000px; 1844 cursor: pointer; 1845 float: left; 1846 } 1847 .upload-filemsg { 1848 font-weight: bold; 1849 color: green; 1850 } 1851 .upload-filemsg.upload-error { 1852 color: #c00; 1853 } 1854 .upload-progress { 1855 padding: .3em 0; 1856 } 1857 .upload-progress div { 1858 width: 0; 1859 height: 1em; 1860 padding: .2em 0; 1861 font-size: 0.8em; 1862 font-weight: bold; 1863 line-height: 1em; 1864 text-align: right; 1865 background: green url("loader.png") repeat-x left top; 1866 color: white; 1867 border-radius: 2px; 1868 } 1869 div.template-upload { 1870 clear: both; 1871 } 1872 .queue-message { 1873 font-weight: bold; 1874 } 1875 1658 1876 /* --------------------------------------------------------------- media-item.php */ 1659 1877 #media-icon { … … 1997 2215 } 1998 2216 /* caché pour tout le monde */ 1999 .hide {2217 .hide, .button.hide { 2000 2218 display: none; 2001 2219 } 2002 2220 /* Caché sauf pour les revues d'écran */ 2003 2221 .hidden, .with-js .out-of-screen-if-js { 2004 2005 2006 2007 2008 2009 2010 2011 2012 2222 position: absolute !important; 2223 clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 2224 clip: rect(1px, 1px, 1px, 1px); 2225 padding: 0 !important; 2226 border: 0 !important; 2227 height: 1px !important; 2228 width: 1px !important; 2229 overflow: hidden; 2230 } 2013 2231 /* caché si js est inactif */ 2014 2232 .no-js .hidden-if-no-js { 2015 display: none; 2016 } 2017 /* montré si js est inactif */ 2018 .no-js .hidden-if-js { 2019 display: block; 2233 display: none; 2020 2234 } 2021 2235 /* caché si js est actif */ 2022 . hidden-if-js {2023 2236 .with-js .hidden-if-js { 2237 display: none; 2024 2238 } 2025 2239 /* ------------------------------------------------------------------------------------ -
admin/style/jsToolBar/jsToolBar.css
r1760 r1810 36 36 border-radius: 4px 4px 0 0; 37 37 } 38 39 38 .jstElements select, .jstElements button { 40 39 vertical-align: middle; … … 55 54 background-repeat: no-repeat; 56 55 } 57 .jstElements button:hover {56 .jstElements button:hover, .jstElements button:focus { 58 57 border-color : #ddd; 59 58 background-color: #fff; … … 72 71 margin-right: 0; 73 72 } 74 75 73 .jstSwitcher { 76 74 display: block; … … 98 96 /* Buttons 99 97 -------------------------------------------------------- */ 100 .jstb_strong {98 button.jstb_strong { 101 99 background-image: url(bt_strong.png); 102 100 } 103 .jstb_em {101 button.jstb_em { 104 102 background-image: url(bt_em.png); 105 103 } 106 .jstb_ins {104 button.jstb_ins { 107 105 background-image: url(bt_ins.png); 108 106 } 109 .jstb_del {107 button.jstb_del { 110 108 background-image: url(bt_del.png); 111 109 } 112 .jstb_quote {110 button.jstb_quote { 113 111 background-image: url(bt_quote.png); 114 112 } 115 .jstb_code {113 button.jstb_code { 116 114 background-image: url(bt_code.png); 117 115 } 118 .jstb_paragraph {116 button.jstb_paragraph { 119 117 background-image: url(bt_paragraph.png); 120 118 } 121 .jstb_br {119 button.jstb_br { 122 120 background-image: url(bt_br.png); 123 121 } 124 .jstb_blockquote {122 button.jstb_blockquote { 125 123 background-image: url(bt_bquote.png); 126 124 } 127 .jstb_pre {125 button.jstb_pre { 128 126 background-image: url(bt_pre.png); 129 127 } 130 .jstb_ul {128 button.jstb_ul { 131 129 background-image: url(bt_ul.png); 132 130 } 133 .jstb_ol {131 button.jstb_ol { 134 132 background-image: url(bt_ol.png); 135 133 } 136 .jstb_link {134 button.jstb_link { 137 135 background-image: url(bt_link.png); 138 136 } 139 .jstb_img {137 button.jstb_img { 140 138 background-image: url(bt_img.png); 141 139 } 142 .jstb_img_select {140 button.jstb_img_select { 143 141 background-image: url(bt_img_select.png); 144 142 } 145 .jstb_post_link {143 button.jstb_post_link { 146 144 background-image: url(bt_post.png); 147 145 } 148 .jstb_removeFormat {146 button.jstb_removeFormat { 149 147 background-image: url(bt_clean.png); 150 148 } -
build-tools/make-l10n.php
r1179 r1863 29 29 echo "l10n file ".$dest.": "; 30 30 31 $l = l10n::getPoFile($f); 32 33 $fcontent = 34 "<?php\n". 35 $license_block. 36 "#\n#\n#\n". 37 "# DOT NOT MODIFY THIS FILE !\n\n\n\n\n"; 38 39 foreach (l10n::getPoFile($f) as $vo => $tr) { 40 $vo = str_replace("'","\\'",$vo); 41 $tr = str_replace("'","\\'",$tr); 42 $fcontent .= '$GLOBALS[\'__l10n\'][\''.$vo.'\'] = \''.$tr.'\';'."\n"; 43 } 44 45 $fcontent .= "?>"; 46 47 echo $dest.' : '; 48 if (($fp = fopen($dest,'w')) !== false) { 49 fwrite($fp,$fcontent,strlen($fcontent)); 50 fclose($fp); 31 if (l10n::generatePhpFileFromPo(dirname($f).'/'.basename($f,'.po'),$license_block)) { 51 32 echo 'OK'; 52 33 } else { -
inc/admin/lib.dc.page.php
r1793 r1867 152 152 '<div id="wrapper" class="clearfix">'."\n". 153 153 '<div id="main">'."\n". 154 '<div class="hidden-if-no-js"><a href="#" id="collapser">'. 155 '<img class="collapse-mm" src="images/collapser-hide.png" alt="'.__('Hide main menu').'" />'. 156 '<img class="expand-mm" src="images/collapser-show.png" alt="'.__('Show main menu').'" />'. 157 '</a></div>'. 154 158 '<div id="content" class="clearfix">'."\n"; 155 159 … … 206 210 echo 207 211 '</div>'."\n". // End of #main-menu 212 208 213 '<div id="footer">'. 209 214 '<span class="helplink"><a href="help.php">'.__('Global help').'</a></span> '. … … 482 487 { 483 488 $mute_or_no = ''; 484 if ( !empty($GLOBALS['core']->blog->settings->system->jquery_migrate_mute)) {489 if (empty($GLOBALS['core']->blog) || $GLOBALS['core']->blog->settings->system->jquery_migrate_mute) { 485 490 $mute_or_no .= 486 491 '<script type="text/javascript">'."\n". … … 584 589 self::jsVar('dotclear.msg.xhtml_not_valid', 585 590 __('There are XHTML markup errors.')). 591 self::jsVar('dotclear.msg.warning_validate_no_save_content', 592 __('Attention: an audit of a content not yet registered.')). 586 593 self::jsVar('dotclear.msg.confirm_change_post_format', 587 594 __('You have unsaved changes. Switch post format will loose these changes. Proceed anyway?')). … … 810 817 811 818 return 812 '<link rel="stylesheet" type="text/css" href="style/jsUpload/style.css" />'."\n".813 814 819 '<script type="text/javascript">'."\n". 815 820 "//<![CDATA[\n". -
inc/core/class.dc.media.php
r1718 r1855 462 462 $this->dir['files'] = $f_res; 463 463 foreach ($this->dir['dirs'] as $k => $v) { 464 $v->media_icon = sprintf($this->icon_img, 'folder');464 $v->media_icon = sprintf($this->icon_img,($v->parent ? 'folder-up' : 'folder')); 465 465 } 466 466 -
inc/prepend.php
r1719 r1806 64 64 $__autoload['context'] = dirname(__FILE__).'/public/lib.tpl.context.php'; 65 65 $__autoload['dcUrlHandlers'] = dirname(__FILE__).'/public/lib.urlhandlers.php'; 66 $__autoload['dcPostsActionsPage'] = dirname(__FILE__).'/admin/actions/class.dcactionposts.php'; 67 $__autoload['dcActionsPage'] = dirname(__FILE__).'/admin/actions/class.dcaction.php'; 66 68 67 69 # Clearbricks extensions -
locales/fr/help/index.html
r1799 r1869 6 6 <body> 7 7 8 <div class="multi-part" id="first-step" title="Prise en main de l'interface"> 9 <h3>Personnalisation de l'interface</h3> 10 <p></p> 8 <div class="multi-part legible" id="first-step" title="Premiers pas"> 9 <h3>Découverte de l'interface</h3> 10 <h4 class="pretty-title">Aides contextuelles</h4> 11 <p>Outre les présentes pages d'aide générale, de nombreuses pages de l'administration disposent d'une aide contextuelle. Si javascript est disponible sur votre navigateur, elle se présente sur le côté de la page après avoir cliqué sur le lien <img src="images/menu/help.png" alt="" /> <strong>Aide pour cette page</strong> (en haut à droite) ; si javascript n'est pas activé elle s'affiche en bas de la page concernée.</p> 12 13 <h4 class="pretty-title">Réglages personnels</h4> 14 <p>Le lien vers les réglages de <a href="preferences.php">vos préférences</a> est disponible en haut de toutes les pages d'administration.</p> 15 <p><strong>Mon tableau de bord.</strong> Le tableau de bord est l'accueil de votre interface d'administration. Les grandes icônes de la partie centrale permettent un accès rapide aux pages favorites de l'administration. Sous ces icônes, figurent des modules d'information. Lors de votre première installation, les deux modules proposés sont les dernières nouvelles de Dotclear et des liens vers la documentation et le support. Pour organiser vos favoris et vos modules, allez sur l'onglet « Mon tableau de bord ».</p> 16 <p><strong>Mon profil.</strong> Les deux autres onglets de la page Mes préférences permettent de modifier ou compléter vos informations personnelles.</p> 17 <p class="info"><strong>Astuce.</strong> Si le thème que vous utilisez le prévoit (c'est le cas de la plupart d'entre eux), indiquez la même <em>URL du blog</em> dans votre page de profil et dans le formulaire de commentaire sur votre blog pour obtenir une mise en valeur de vos propres commentaires.</p> 18 <p><strong>Mes options</strong>. Activez ou désactivez des fonctionnalités selon vos goûts ou votre contexte de navigation.</p> 19 20 <h4 class="pretty-title">Réglages du blog</h4> 21 <p><strong>Paramètres du blog</strong> (section « Blog » du menu). C'est ici que vous pouvez notamment changer le nom du blog, ajuster le fuseau horaire du blog, décider de la présentation des dates…</p> 22 23 <p><strong>Apparence du blog.</strong> Sélectionnez l'habillage (le <em>thème</em>) du blog. Certains thèmes offrent un configurateur de personnalisation. C'est le cas par exemple de Ductile ou Blowup. Dans ce cas, une fois le thème activé, cliquez sur le bouton "Configurer le thème" pour accéder à ses réglages. Outre les thèmes disponibles lors de l'installation, vous pouvez ajouter d'autres thèmes depuis l'onglet « Ajouter un thème » de cette page. </p> 24 25 <p><strong>Menu simple.</strong> Si le thème de votre blog a prévu son intégration, le menu principal du blog peut être renseigné sur cette page. Dans la plupart des thèmes il se présente sous forme d'une barre latérale sous l'entête du blog, comme sur Ductile par exemple.</p> 26 27 <p><strong>Widgets de présentation.</strong> Le menu du blog (souvent une barre latérale à droite ou à gauche du contenu principal) rassemble les widgets enregistrés sur cette page. Après avoir glissé le ou les widgets de votre choix dans leur zone d'accueil, vous pouvez les ouvrir en cliquant sur le triangle et compléter les champs et options.</p> 28 29 <h4 class="pretty-title">Aide aux grands débutants</h4> 30 <p>Si vous n'êtes pas familier avec l'univers des blogs, nous vous recommandons notre documentation (sommaire complet dans l'onglet Documentation de cette page) et les tutoriels qui vous sont spécialement dédiés sur le blog <a href="http://abc.dotaddict.org">abc Dotclear</a>. Vous serez peut-être intéressés par exemple par :</p> 31 <ul> 32 <li><a href="http://fr.dotclear.org/documentation/2.0/usage/beginners">Mon premier billet pas à pas</a></li> 33 <li><a href="http://abc.dotaddict.org/post/2009/07/08/13-Ma-premiere-sauvegarde">Ma première sauvegarde</a></li> 34 <li><a href="http://abc.dotaddict.org/post/1970/01/01/Choisir-un-theme">Choisir un thème</a></li> 35 </ul> 11 36 </div> 12 37 13 <div class="multi-part" id="aides-pages" title="Ades contextuelles"> 14 <h3>Les aides contextuelles</h3> 38 <div class="multi-part" id="doc" title="Documentation et tutoriels"> 39 <h3>Documentation et tutoriels en ligne</h3> 40 <div class="three-boxes first-child"> 41 <h4>Alimentation du blog</h4> 42 <ul><li><a href="/documentation/2.0/usage/entries">Billets</a><ul><li><a href="/documentation/2.0/usage/entries#creation-et-edition">Création et édition</a></li><li><a href="/documentation/2.0/usage/entries#informations-du-billet">Informations du billet</a></li><li><a href="/documentation/2.0/usage/entries#actions-sur-le-billet">Actions sur le billet</a></li><li><a href="/documentation/2.0/usage/entries#commentaires-et-retroliens-d-un-billet">Commentaires et rétroliens d'un billet</a></li><li><a href="/documentation/2.0/usage/entries#traitement-par-lots-des-billets">Traitement par lots des billets</a></li></ul></li><li><a href="/documentation/2.0/usage/comments-trackbacks">Commentaires et rétroliens</a><ul><li><a href="/documentation/2.0/usage/comments-trackbacks#suivi">Suivi</a></li><li><a href="/documentation/2.0/usage/comments-trackbacks#gestion">Gestion</a></li></ul></li><li><a href="/documentation/2.0/usage/categories">Catégories</a><ul><li><a href="/documentation/2.0/usage/categories#creer-une-categorie">Créer une catégorie</a></li><li><a href="/documentation/2.0/usage/categories#editer-une-categorie">Éditer une catégorie</a></li><li><a href="/documentation/2.0/usage/categories#supprimer-une-categorie">Supprimer une catégorie</a></li><li><a href="/documentation/2.0/usage/categories#ordonner-la-liste-des-categories">Ordonner la liste des catégories</a></li></ul></li><li><a href="/documentation/2.0/usage/tags">Mots-clés (Tags)</a><ul><li><a href="/documentation/2.0/usage/tags#ajouter-des-mots-cles">Ajouter des mots-clés</a></li><li><a href="/documentation/2.0/usage/tags#gestion-des-mots-cles">Gestion des mots-clés</a></li><li><a href="/documentation/2.0/usage/tags#supprimer-des-mots-cles">Supprimer des mots-clés</a></li></ul></li><li><a href="/documentation/2.0/usage/media">Médias et pièces jointes</a><ul><li><a href="/documentation/2.0/usage/media#creer-un-sous-repertoire">Créer un sous-répertoire</a></li><li><a href="/documentation/2.0/usage/media#ajouter-des-fichiers">Ajouter des fichiers</a></li><li><a href="/documentation/2.0/usage/media#telecharger-une-archive-zip-du-dossier-courant">Télécharger une archive zip du dossier courant</a></li><li><a href="/documentation/2.0/usage/media#modifier-ou-completer-les-informations-d-un-fichier">Modifier ou compléter les informations d'un fichier</a></li><li><a href="/documentation/2.0/usage/media#ajout-direct-de-fichiers">Ajout direct de fichiers</a></li><li><a href="/documentation/2.0/usage/media#types-de-fichier-particuliers">Types de fichier particuliers</a></li><li><a href="/documentation/2.0/usage/media#pieces-jointes">Pièces jointes</a></li></ul></li><li><a href="/documentation/2.0/usage/widgets">Contenu du menu du blog (widgets)</a><ul><li><a href="/documentation/2.0/usage/widgets#bandeau-de-navigation-bandeau-d-extra">Bandeau de navigation, bandeau d'extra</a></li><li><a href="/documentation/2.0/usage/widgets#les-widgets-par-defaut">Les widgets par défaut</a></li><li><a href="/documentation/2.0/usage/widgets#ajoutersupprimer-un-widget">Ajouter/Supprimer un widget</a></li><li><a href="/documentation/2.0/usage/widgets#parametrage-des-widgets">Paramétrage des widgets</a></li></ul></li><li><a href="/documentation/2.0/usage/blogroll">Blogroll</a><ul><li><a href="/documentation/2.0/usage/blogroll#liste-des-liens">Liste des liens</a></li><li><a href="/documentation/2.0/usage/blogroll#ajouter-un-lien">Ajouter un lien</a></li><li><a href="/documentation/2.0/usage/blogroll#ajouter-une-categorie">Ajouter une catégorie</a></li><li><a href="/documentation/2.0/usage/blogroll#xfn">XFN</a></li><li><a href="/documentation/2.0/usage/blogroll#importer-depuis-un-fichier-opml-ou-xbel">Importer depuis un fichier OPML ou XBEL</a></li></ul></li></ul> 43 </div> 44 <div class="three-boxes"> 45 <h4>Paramétrage et personnalisations</h4> 46 <h4>Annexes utilisation</h4> 47 </div> 48 <div class="three-boxes last-child"> 49 <h4>Administration, gestion et maintenance</h4> 50 </div> 15 51 </div> 16 52 17 <div class="multi-part" id="doc" title="Documentation">18 <h3>La documentation en ligne</h3>19 </div>53 <div class="multi-part" id="a11y-ergo" title="Accessibilité et ergonomie"> 54 <h3>Accessibilité et ergonomie</h3> 55 </div> 20 56 21 <div class="multi-part" id="guide-dev" title="Pour les développeurs">22 <h3>Développeurs : charte de l'administration</h3>23 <ul>24 <li><a href="_charte.html">Charte des pages de l'administration</a></li>25 </ul>26 </div>57 <div class="multi-part" id="guide-dev" title="Pour les développeurs"> 58 <h3>Développeurs : charte de l'administration</h3> 59 <ul> 60 <li><a href="_charte.php">Charte des pages de l'administration</a></li> 61 </ul> 62 </div> 27 63 28 64 </body> -
locales/fr/main.po
r1793 r1868 281 281 msgstr "Format d'URL des nouveaux billets :" 282 282 283 msgid " Note title HTML tag:"284 msgstr "Balise HTML pour le titre des notes :"283 msgid "HTML tag for the title of the notes on the blog:" 284 msgstr "Balise HTML pour le titre des notes sur le blog :" 285 285 286 286 msgid "Note" … … 359 359 360 360 msgid "Generated image sizes (in pixels)" 361 msgstr "Tailles des images générées (en pixels)"361 msgstr "Tailles des miniatures générées (largeur en pixels)" 362 362 363 363 msgid "Thumbnails:" … … 373 373 msgstr "Titres des images insérées" 374 374 375 msgid " This defines image tag title when you insert it in a post from the media manager.It is retrieved from the picture's metadata."376 msgstr "Ce ci définit le titre de la balise d'une image insérée depuis la médiathèque. Les informations sont obtenues depuis les métadonnées de l'image."375 msgid "It is retrieved from the picture's metadata." 376 msgstr "Ces informations sont obtenues depuis les métadonnées de l'image." 377 377 378 378 msgid "Use original media date if possible" 379 msgstr "Utiliser la date origin ale du média si possible"379 msgstr "Utiliser la date originelle du média si possible" 380 380 381 381 msgid "Search engines robots policy" … … 1359 1359 msgstr "En tant qu'image uniquement" 1360 1360 1361 msgid "As a link to original image"1361 msgid "As a link to the original image" 1362 1362 msgstr "En tant que lien vers l'image originale" 1363 1364 msgid "Insert a link to the original image" 1365 msgstr "Insérer le lien vers l'image originale" 1363 1366 1364 1367 msgid "MP3 disposition" … … 2325 2328 msgstr "Il y a des erreurs XHTML." 2326 2329 2330 msgid "Attention: an audit of a content not yet registered." 2331 msgstr "Attention : la vérification porte sur un contenu non encore enregistré." 2332 2327 2333 msgid "You have unsaved changes. Switch post format will loose these changes. Proceed anyway?" 2328 2334 msgstr "Vous avez des modifications non sauvegardées. Changer de format vous fera perdre ces modifications. Continuer ?" … … 3366 3372 msgid "Dashboard icons" 3367 3373 msgstr "Icônes du tableau de bord" 3374 3375 msgid "Go to dashboard" 3376 msgstr "Tableau de bord" 3377 3378 msgid "Size of inserted image:" 3379 msgstr "Taille de l'image insérée :" 3380 3381 msgid "Hide main menu" 3382 msgstr "Masquer le menu principal" 3383 3384 msgid "Show main menu" 3385 msgstr "Afficher le menu principal" -
plugins/importExport/inc/class.dc.export.flat.php
r1559 r1857 196 196 197 197 '<p><label for="file_name">'.__('File name:').'</label>'. 198 form::field(array('file_name','file_name'),50,255,date('Y-m-d- ').html::escapeHTML($this->core->blog->id.'-backup.txt')).198 form::field(array('file_name','file_name'),50,255,date('Y-m-d-H-i-').html::escapeHTML($this->core->blog->id.'-backup.txt')). 199 199 '</p>'. 200 200 … … 221 221 222 222 '<p><label for="file_name2">'.__('File name:').'</label>'. 223 form::field(array('file_name','file_name2'),50,255,date('Y-m-d- ').'dotclear-backup.txt').223 form::field(array('file_name','file_name2'),50,255,date('Y-m-d-H-i-').'dotclear-backup.txt'). 224 224 '</p>'. 225 225 -
plugins/pages/page.php
r1741 r1833 406 406 '<p>'.form::combo('post_format',$formaters_combo,$post_format,'maximal'). 407 407 '</p>'. 408 '<p >'.($post_id && $post_format != 'xhtml' ?409 '<a id="convert-xhtml" class="button maximal" href="post.php?id='.$post_id.'&xconv=1">'.410 __('Convert to XHTML').'</a> ' : '').'</p></div>')),408 '<p class="format_control control_wiki">'. 409 '<a id="convert-xhtml" class="button'.($post_id && $post_format != 'wiki' ? ' hide' : '').'" href="post.php?id='.$post_id.'&xconv=1">'. 410 __('Convert to XHTML').'</a></p></div>')), 411 411 'metas-box' => array( 412 412 'title' => __('Ordering'), … … 473 473 474 474 "post_content" => 475 '<p class="area" ><label class="required" '.475 '<p class="area" id="content-area"><label class="required" '. 476 476 'for="post_content"><abbr title="'.__('Required field').'">*</abbr> '.__('Content:').'</label> '. 477 477 form::textarea('post_content',50,$core->auth->getOption('edit_size'),html::escapeHTML($post_content)). … … 494 494 echo '<div id="entry-wrapper">'; 495 495 echo '<div id="entry-content"><div class="constrained">'; 496 echo '<h3 class="out-of-screen-if-js">'.__('Edit page').'</h3>'; 496 497 497 498 -
plugins/pings/lib.pings.php
r1398 r1818 65 65 $item .= 66 66 '<p class="ping-services"><label for="pings_do-'.$i.'" class="classic">'. 67 form::checkbox(array('pings_do[]','pings_do-'.$i),html::escapeHTML($v),in_array($v,$pings_do) ).' '.67 form::checkbox(array('pings_do[]','pings_do-'.$i),html::escapeHTML($v),in_array($v,$pings_do), 'check-ping-services').' '. 68 68 html::escapeHTML($k).'</label></p>'; 69 69 $i++; -
plugins/pings/post.js
r1699 r1818 4 4 p = $('<p></p>'); 5 5 p.addClass('ping-services'); 6 a = $('<a href="#"></a>'); 7 a.text(dotclear.msg.check_all); 8 a.click(function() { 9 $('p.ping-services input[type="checkbox"]').attr('checked','checked'); 10 return false; 11 }); 12 $('p.ping-services:last').after(p.append(a)); 6 $('p.ping-services:last').after(p); 7 dotclear.checkboxesHelpers($('p.ping-services:last').get(0), $('.check-ping-services')); 13 8 } 14 9 $('h5.ping-services').toggleWithLegend($('p.ping-services'),{ -
plugins/tags/_admin.php
r1609 r1874 236 236 )). 237 237 '<form action="'.$form_uri.'" method="post">'. 238 $hidden_fields->getEntries().238 //$hidden_fields->getEntries(). 239 239 '<div><label for="new_tags" class="area">'.__('Tags to add:').'</label> '. 240 240 form::textarea('new_tags',60,3). 241 241 '</div>'. 242 $hidden_fields ->getHidden().242 $hidden_fields. 243 243 $core->formNonce(). 244 244 form::hidden(array('action'),'tags'). … … 321 321 322 322 echo 323 '<p><label for="user_tag_list_format" >'.__('Tags list format:').'</label> '.323 '<p><label for="user_tag_list_format" class="classic">'.__('Tags list format:').'</label> '. 324 324 form::combo('user_tag_list_format',$combo,$value). 325 325 '</p>'; -
plugins/tags/style.css
r0 r1820 99 99 color: white; 100 100 } 101 #post_meta_input { 102 margin: 0 0.5em 0 0; 103 width: 13em; 104 } 105 #post_meta_input:focus { 106 -moz-box-sizing: content-box; 107 } 108 #tags-edit input[type=button] { 109 width: 3.5em; 110 } -
tests/functional/fixtures/form_media_disabled.html
r1724 r1854 14 14 <p> 15 15 <label for="upfile"><span class="add-label one-file">Choose file</span></label> 16 <button class="button add">Choose files</button>16 <button class="button choose_files">Choose files</button> 17 17 <input type="file" id="upfile" name="upfile[]" data-url="media.php?popup=0&post_id=" /> 18 18 </p> -
tests/functional/fixtures/form_media_enabled.html
r1724 r1854 14 14 <p> 15 15 <label for="upfile"><span class="add-label one-file">Choose file</span></label> 16 <button class="button add">Choose files</button>16 <button class="button choose_files">Choose files</button> 17 17 <input type="file" id="upfile" name="upfile[]" multiple="mutiple" data-url="media.php?popup=0&post_id=" /> 18 18 </p>
Note: See TracChangeset
for help on using the changeset viewer.