Index: branches/wmf/1.19wmf1/extensions/CheckUser/SpecialCheckUserLog.php |
— | — | @@ -60,6 +60,10 @@ |
61 | 61 | } |
62 | 62 | } |
63 | 63 | } |
| 64 | + |
| 65 | + $out->addHTML( $this->getSkin()->makeKnownLinkObj( |
| 66 | + Title::makeTitle( NS_SPECIAL, 'CheckUser' ), |
| 67 | + wfMsgHtml( 'checkuser-log-return' ) ) ); |
64 | 68 | |
65 | 69 | $searchTypes = array( 'initiator', 'target' ); |
66 | 70 | $select = "<select name=\"cuSearchType\" style='margin-top:.2em;'>\n"; |
Index: branches/wmf/1.19wmf1/includes/logging/LogFormatter.php |
— | — | @@ -226,6 +226,20 @@ |
227 | 227 | } |
228 | 228 | break; |
229 | 229 | |
| 230 | + case 'protect': |
| 231 | + switch( $entry->getSubtype() ) { |
| 232 | + case 'protect': |
| 233 | + $text = wfMsgExt( 'protectedarticle', $msgOpts, $target . ' ' . $parameters[0] ); |
| 234 | + break; |
| 235 | + case 'unprotect': |
| 236 | + $text = wfMsgExt( 'unprotectedarticle', $msgOpts, $target ); |
| 237 | + break; |
| 238 | + case 'modify': |
| 239 | + $text = wfMsgExt( 'modifiedarticleprotection', $msgOpts, $target . ' ' . $parameters[0] ); |
| 240 | + break; |
| 241 | + } |
| 242 | + break; |
| 243 | + |
230 | 244 | case 'newusers': |
231 | 245 | switch( $entry->getSubtype() ) { |
232 | 246 | case 'newusers': |
Index: branches/wmf/1.19wmf1/resources/mediawiki.action/mediawiki.action.edit.js |
— | — | @@ -3,12 +3,17 @@ |
4 | 4 | var currentFocused = $( '#wpTextbox1' ); |
5 | 5 | |
6 | 6 | mw.toolbar = { |
7 | | - $toolbar : $( '#toolbar' ), |
| 7 | + $toolbar : false, |
8 | 8 | buttons : [], |
| 9 | + isReady : false, |
9 | 10 | // If you want to add buttons, use |
10 | 11 | // mw.toolbar.addButton( imageFile, speedTip, tagOpen, tagClose, sampleText, imageId, selectText ); |
11 | 12 | addButton : function() { |
12 | | - this.buttons.push( [].slice.call( arguments ) ); |
| 13 | + if ( this.isReady ) { |
| 14 | + this.insertButton.apply( this, arguments ); |
| 15 | + } else { |
| 16 | + this.buttons.push( [].slice.call( arguments ) ); |
| 17 | + } |
13 | 18 | }, |
14 | 19 | insertButton : function( imageFile, speedTip, tagOpen, tagClose, sampleText, imageId, selectText ) { |
15 | 20 | var image = $('<img>', { |
— | — | @@ -37,18 +42,25 @@ |
38 | 43 | ); |
39 | 44 | } |
40 | 45 | }, |
41 | | - init : function() { |
| 46 | + |
| 47 | + // For backwards compatibility |
| 48 | + init : function() {}, |
| 49 | + |
| 50 | + onReady : function() { |
| 51 | + this.$toolbar = $( '#toolbar' ); |
| 52 | + this.isReady = true; |
42 | 53 | // Legacy |
43 | 54 | // Merge buttons from mwCustomEditButtons |
44 | 55 | var buttons = [].concat( this.buttons, window.mwCustomEditButtons ); |
45 | 56 | for ( var i = 0; i < buttons.length; i++ ) { |
46 | 57 | if ( $.isArray( buttons[i] ) ) { |
47 | 58 | // Passes our button array as arguments |
48 | | - mw.toolbar.insertButton.apply( this, buttons[i] ); |
| 59 | + this.insertButton.apply( this, buttons[i] ); |
49 | 60 | } else { |
50 | 61 | // Legacy mwCustomEditButtons is an object |
51 | 62 | var c = buttons[i]; |
52 | | - mw.toolbar.insertButton( c.imageFile, c.speedTip, c.tagOpen, c.tagClose, c.sampleText, c.imageId, c.selectText ); |
| 63 | + this.insertButton( c.imageFile, c.speedTip, c.tagOpen, |
| 64 | + c.tagClose, c.sampleText, c.imageId, c.selectText ); |
53 | 65 | } |
54 | 66 | } |
55 | 67 | return true; |
— | — | @@ -59,10 +71,12 @@ |
60 | 72 | window.addButton = mw.toolbar.addButton; |
61 | 73 | window.insertTags = mw.toolbar.insertTags; |
62 | 74 | |
63 | | - //make sure edit summary does not exceed byte limit |
64 | | - $( '#wpSummary' ).byteLimit( 250 ); |
| 75 | + $( document ).ready( function() { |
| 76 | + mw.toolbar.onReady(); |
65 | 77 | |
66 | | - $( document ).ready( function() { |
| 78 | + // Make sure edit summary does not exceed byte limit |
| 79 | + $( '#wpSummary' ).byteLimit( 250 ); |
| 80 | + |
67 | 81 | /** |
68 | 82 | * Restore the edit box scroll state following a preview operation, |
69 | 83 | * and set up a form submission handler to remember this state |
Index: branches/wmf/1.19wmf1/resources/mediawiki/mediawiki.js |
— | — | @@ -615,6 +615,7 @@ |
616 | 616 | j -= 1; |
617 | 617 | } |
618 | 618 | } |
| 619 | + throw e; |
619 | 620 | } |
620 | 621 | } |
621 | 622 | |
— | — | @@ -770,7 +771,6 @@ |
771 | 772 | console.log( 'mw.loader::execute> Exception thrown by ' + module + ': ' + e.message ); |
772 | 773 | } |
773 | 774 | registry[module].state = 'error'; |
774 | | - throw e; |
775 | 775 | } |
776 | 776 | } |
777 | 777 | |
Index: branches/wmf/1.19wmf1/resources/jquery.ui/themes/vector/jquery.ui.datepicker.css |
— | — | @@ -1,6 +1,6 @@ |
2 | 2 | /* Datepicker |
3 | 3 | ----------------------------------*/ |
4 | | -.ui-datepicker { width: 17em; padding: .2em .2em 0; } |
| 4 | +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } |
5 | 5 | .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } |
6 | 6 | .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } |
7 | 7 | .ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } |