Index: trunk/extensions/FlaggedRevs/FlaggedRevs.php |
— | — | @@ -14,7 +14,7 @@ |
15 | 15 | $wgExtensionCredits['specialpage'][] = array( |
16 | 16 | 'name' => 'Flagged Revisions', |
17 | 17 | 'author' => array( 'Aaron Schulz', 'Joerg Baach' ), |
18 | | - 'version' => '1.013', |
| 18 | + 'version' => '1.014', |
19 | 19 | 'url' => 'http://www.mediawiki.org/wiki/Extension:FlaggedRevs', |
20 | 20 | 'descriptionmsg' => 'flaggedrevs-desc', |
21 | 21 | ); |
— | — | @@ -147,7 +147,7 @@ |
148 | 148 | ######### |
149 | 149 | |
150 | 150 | # Bump this number every time you change flaggedrevs.css/flaggedrevs.js |
151 | | -$wgFlaggedRevStyleVersion = 3; |
| 151 | +$wgFlaggedRevStyleVersion = 4; |
152 | 152 | |
153 | 153 | $wgExtensionFunctions[] = 'efLoadFlaggedRevs'; |
154 | 154 | |
— | — | @@ -210,7 +210,6 @@ |
211 | 211 | # Set image version |
212 | 212 | $wgHooks['ArticleFromTitle'][] = 'FlaggedRevs::setImageVersion'; |
213 | 213 | # Add page notice |
214 | | - $wgHooks['SiteNoticeAfter'][] = array( $wgFlaggedArticle, 'displayReviewTag' ); |
215 | 214 | $wgHooks['SkinTemplateBuildNavUrlsNav_urlsAfterPermalink'][] = array( $wgFlaggedArticle, 'setPermaLink' ); |
216 | 215 | # Add tags do edit view |
217 | 216 | $wgHooks['EditPage::showEditForm:initial'][] = array( $wgFlaggedArticle, 'addToEditView' ); |
Index: trunk/extensions/FlaggedRevs/flaggedrevs.css |
— | — | @@ -1,32 +1,32 @@ |
2 | 2 | /* Every time you change this CSS please bump $wgFlaggedRevStyleVersion in FlaggedRevs.php */ |
3 | 3 | /* Standard UI */ |
4 | | -.flaggedrevs_tag1, |
5 | | -.flaggedrevs_tag2, |
6 | | -.flaggedrevs_tag3, |
| 4 | +.flaggedrevs_basic, |
| 5 | +.flaggedrevs_quality, |
| 6 | +.flaggedrevs_pristine, |
7 | 7 | .flaggedrevs_notice, |
8 | | -.flaggedrevs_warning { |
| 8 | +.flaggedrevs_warning, |
| 9 | +.flaggedrevs_preview { |
9 | 10 | border: 1px solid #aaa; |
10 | | - padding: 3px; |
| 11 | + padding: 7px; |
11 | 12 | font-size: 80%; |
12 | 13 | font-weight: normal; |
13 | | - margin-top: 6px; |
14 | | - margin-left: 0px; |
15 | | - margin-right: 0px; |
16 | | - margin-bottom: 0px; |
| 14 | + margin: .5em 1em 0em 0em; |
17 | 15 | text-align: center; |
| 16 | + float: center; |
| 17 | + clear: both; |
18 | 18 | } |
19 | 19 | |
20 | 20 | .flaggedrevs_toggle { |
21 | 21 | color: blue; |
22 | 22 | } |
23 | 23 | |
24 | | -.flaggedrevs_tag1 { |
| 24 | +.flaggedrevs_basic { |
25 | 25 | background-color: #f0f8ff; |
26 | 26 | } |
27 | | -.flaggedrevs_tag2 { |
| 27 | +.flaggedrevs_quality { |
28 | 28 | background-color: #f0fff0; |
29 | 29 | } |
30 | | -.flaggedrevs_tag3 { |
| 30 | +.flaggedrevs_pristine { |
31 | 31 | background-color: #fffff0; |
32 | 32 | } |
33 | 33 | .flaggedrevs_notice { |
— | — | @@ -34,8 +34,11 @@ |
35 | 35 | } |
36 | 36 | .flaggedrevs_warning { |
37 | 37 | background-color: #fffff0; |
38 | | - margin-top: 0px; |
39 | 38 | } |
| 39 | +.flaggedrevs_preview { |
| 40 | + background-color: #f9f9f9; |
| 41 | + color: darkred; |
| 42 | +} |
40 | 43 | |
41 | 44 | .flaggedrevs_notes { |
42 | 45 | border: 1px solid #aaa; |
— | — | @@ -54,7 +57,6 @@ |
55 | 58 | |
56 | 59 | .fr-checkbox { |
57 | 60 | padding: 0px; |
58 | | - margin: .25em; |
59 | 61 | width: 16px; |
60 | 62 | height: 16px; |
61 | 63 | position: relative; |
— | — | @@ -102,43 +104,37 @@ |
103 | 105 | .flaggedrevs_short { |
104 | 106 | border: 1px solid #aaa; |
105 | 107 | background-color: #f9f9f9; |
106 | | - padding: 3px; |
| 108 | + padding: 5px; |
107 | 109 | font-size: 80%; |
108 | 110 | font-weight: normal; |
109 | | - margin: 8px; |
110 | | - text-align: left; |
| 111 | + margin: 0em 0em 0em .5em; |
111 | 112 | float: right; |
| 113 | + text-align: left; |
112 | 114 | max-width: 350px; |
113 | | - clear: both; |
| 115 | + line-height: 18px; |
114 | 116 | } |
115 | | -/* IE 7 only */ |
116 | | -*+html .flaggedrevs_short { |
117 | | - margin: 9px; |
118 | | -} |
119 | 117 | |
120 | | - |
121 | | -.fr-tab_current, |
122 | | -.fr-tab_stable, |
123 | | -.fr-tab_quality { |
| 118 | +.fr-icon-current, |
| 119 | +.fr-icon-stable, |
| 120 | +.fr-icon-quality { |
124 | 121 | padding: 0px; |
125 | 122 | margin: 0px; |
126 | 123 | width: 20px; |
127 | | - height: 18px;; |
| 124 | + height: 18px; |
128 | 125 | position: relative; |
129 | 126 | float: left; |
130 | | - top: -3px; |
131 | | - right: 0px; |
| 127 | + vertical-align: middle; |
132 | 128 | background-repeat: no-repeat; |
133 | 129 | background-position: 0px 0px; |
134 | 130 | } |
135 | 131 | |
136 | | -.fr-tab_current { |
| 132 | +.fr-icon-current { |
137 | 133 | background-image: url(../FlaggedRevs/img/1.png); |
138 | 134 | } |
139 | | -.fr-tab_stable { |
| 135 | +.fr-icon-stable { |
140 | 136 | background-image: url(../FlaggedRevs/img/2.png); |
141 | 137 | } |
142 | | -.fr-tab_quality { |
| 138 | +.fr-icon-quality { |
143 | 139 | background-image: url(../FlaggedRevs/img/3.png); |
144 | 140 | } |
145 | 141 | |
Index: trunk/extensions/FlaggedRevs/FlaggedArticle.php |
— | — | @@ -77,13 +77,21 @@ |
78 | 78 | |
79 | 79 | return FlaggedRevs::isPageReviewable( $wgTitle ); |
80 | 80 | } |
81 | | - |
82 | | - /** |
83 | | - * Adds the review notic tag by the title |
| 81 | + |
| 82 | + /** |
| 83 | + * Is this article reviewable? |
84 | 84 | */ |
85 | | - public function displayReviewTag( $notice ) { |
86 | | - $notice .= $this->reviewNotice; |
87 | | - |
| 85 | + private function displayTag() { |
| 86 | + global $wgOut; |
| 87 | + |
| 88 | + if( !$this->reviewNotice ) { |
| 89 | + return false; |
| 90 | + } |
| 91 | + if( FlaggedRevs::useSimpleUI() ) { |
| 92 | + $wgOut->mBodytext = $this->reviewNotice . $wgOut->mBodytext; |
| 93 | + } else { |
| 94 | + $wgOut->setSubtitle( $this->reviewNotice ); |
| 95 | + } |
88 | 96 | return true; |
89 | 97 | } |
90 | 98 | |
— | — | @@ -126,7 +134,6 @@ |
127 | 135 | $revid = $article->mRevision ? $article->mRevision->mId : $article->getLatest(); |
128 | 136 | if( !$revid ) |
129 | 137 | return true; |
130 | | - |
131 | 138 | $tag = $notes = ''; |
132 | 139 | # Check the newest stable version... |
133 | 140 | $tfrev = $this->getStableRev( true ); |
— | — | @@ -146,28 +153,41 @@ |
147 | 154 | $revs_since = FlaggedRevs::getRevCountSince( $article, $tfrev->getRevId() ); |
148 | 155 | |
149 | 156 | $synced = FlaggedRevs::flaggedRevIsSynced( $tfrev, $article, null, null ); |
| 157 | + # Give notice to newewer users if unreviewed edit completed... |
| 158 | + if( $wgRequest->getVal('shownotice') && !$synced && !$wgUser->isAllowed('review') ) { |
| 159 | + $pending = '<div id="mw-reviewnotice" class="flaggedrevs_preview plainlinks">' . |
| 160 | + wfMsgExt('revreview-edited',array('parseinline')) . '</div>'; |
| 161 | + # Notice should always use subtitle |
| 162 | + if( FlaggedRevs::useSimpleUI() ) { |
| 163 | + $wgOut->setSubtitle( $pending ); |
| 164 | + } else { |
| 165 | + $this->reviewNotice = $pending; |
| 166 | + } |
| 167 | + } |
150 | 168 | # If they are synced, do special styling |
151 | 169 | $simpleTag = !$synced; |
152 | 170 | # Construct some tagging |
153 | 171 | if( !$wgOut->isPrintable() ) { |
| 172 | + $css = 'fr-icon-current'; |
154 | 173 | if( FlaggedRevs::useSimpleUI() ) { |
155 | 174 | if( $synced ) { |
156 | 175 | $msg = $quality ? 'revreview-quick-quality-same' : 'revreview-quick-basic-same'; |
157 | | - $css = $quality ? 'fr-tab_quality' : 'fr-tab_stable'; |
| 176 | + $css = $quality ? 'fr-icon-quality' : 'fr-icon-stable'; |
158 | 177 | } else { |
159 | 178 | $msg = $quality ? 'revreview-quick-see-quality' : 'revreview-quick-see-basic'; |
160 | | - $css = 'fr-tab_current'; |
161 | 179 | } |
162 | | - $tag .= "<span class='{$css} plainlinks'></span>" . |
| 180 | + $tag .= "<span class='{$css}'></span>" . |
163 | 181 | wfMsgExt( $msg, array('parseinline'), $tfrev->getRevId(), $revs_since ); |
164 | | - $tag .= $this->prettyRatingBox( $tfrev, $flags, $revs_since, false, $synced ); |
| 182 | + $tag .= $this->prettyRatingBox( $tfrev, $flags, $revs_since, $synced, $synced ); |
165 | 183 | } else { |
166 | 184 | if( $synced ) { |
167 | 185 | $msg = $quality ? 'revreview-quality-same' : 'revreview-basic-same'; |
| 186 | + $css = $quality ? 'fr-icon-quality' : 'fr-icon-stable'; |
168 | 187 | } else { |
169 | 188 | $msg = $quality ? 'revreview-newest-quality' : 'revreview-newest-basic'; |
170 | 189 | } |
171 | | - $tag .= wfMsgExt( $msg, array('parseinline'), $tfrev->getRevId(), $time, $revs_since ); |
| 190 | + $tag .= "<span class='{$css}'></span>" . |
| 191 | + wfMsgExt( $msg, array('parseinline'), $tfrev->getRevId(), $time, $revs_since ); |
172 | 192 | # Hide clutter |
173 | 193 | if( !empty($flags) ) { |
174 | 194 | $tag .= " <span id='mw-revisiontoggle' class='flaggedrevs_toggle' style='display:none; cursor:pointer;'" . |
— | — | @@ -200,23 +220,24 @@ |
201 | 221 | $synced = FlaggedRevs::flaggedRevIsSynced( $tfrev, $article, $parserOut, null ); |
202 | 222 | # Construct some tagging |
203 | 223 | if( !$wgOut->isPrintable() ) { |
| 224 | + $css = $quality ? 'fr-icon-quality' : 'fr-icon-stable'; |
204 | 225 | if( FlaggedRevs::useSimpleUI() ) { |
205 | 226 | $msg = $quality ? 'revreview-quick-quality' : 'revreview-quick-basic'; |
206 | 227 | $msg = $synced ? $msg . '-same' : $msg; |
207 | | - $css = $quality ? 'fr-tab_quality' : 'fr-tab_stable'; |
208 | 228 | |
209 | | - $tag = "<span class='{$css} plainlinks'></span>" . |
| 229 | + $tag = "<span class='{$css}'></span>" . |
210 | 230 | wfMsgExt( $msg, array('parseinline'), $tfrev->getRevId(), $revs_since ); |
211 | 231 | $tag .= $this->prettyRatingBox( $tfrev, $flags, $revs_since, true, $synced ); |
212 | 232 | } else { |
213 | 233 | $msg = $quality ? 'revreview-quality' : 'revreview-basic'; |
214 | 234 | $msg = $synced ? $msg . '-same' : $msg; |
215 | 235 | |
216 | | - $tag = wfMsgExt( $msg, array('parseinline'), $tfrev->getRevId(), $time, $revs_since ); |
| 236 | + $tag = "<span class='{$css} plainlinks'></span>" . |
| 237 | + wfMsgExt( $msg, array('parseinline'), $tfrev->getRevId(), $time, $revs_since ); |
217 | 238 | if( !empty($flags) ) { |
218 | 239 | $tag .= " <span id='mw-revisiontoggle' class='flaggedrevs_toggle' style='display:none; cursor:pointer;'" . |
219 | 240 | " onclick='toggleRevRatings()'>" . wfMsg('revreview-toggle') . "</span>"; |
220 | | - $tag .= "<span id='mw-revisionratings' style='display:block;'>" . |
| 241 | + $tag .= "<span id='mw-revisionratings' style='display:block;'>" . |
221 | 242 | $this->addTagRatings( $flags ) . '</span>'; |
222 | 243 | } |
223 | 244 | } |
— | — | @@ -234,34 +255,35 @@ |
235 | 256 | else if( $simpleTag ) |
236 | 257 | $tagClass = 'flaggedrevs_notice'; |
237 | 258 | else if( $pristine ) |
238 | | - $tagClass = 'flaggedrevs_tag3'; |
| 259 | + $tagClass = 'flaggedrevs_pristine'; |
239 | 260 | else if( $quality ) |
240 | | - $tagClass = 'flaggedrevs_tag2'; |
| 261 | + $tagClass = 'flaggedrevs_quality'; |
241 | 262 | else |
242 | | - $tagClass = 'flaggedrevs_tag1'; |
| 263 | + $tagClass = 'flaggedrevs_basic'; |
243 | 264 | # Wrap tag contents in a div |
244 | 265 | if( $tag !='' ) |
245 | | - $tag = '<div id="mw-revisiontag" class="'.$tagClass.' plainlinks">'.$tag.'</div>'; |
| 266 | + $tag = '<div id="mw-revisiontag" style="overflow: visible;" class="'.$tagClass.' plainlinks">'.$tag.'</div>'; |
246 | 267 | # Set the new body HTML, place a tag on top |
247 | 268 | if( FlaggedRevs::useSimpleUI() ) { |
248 | | - $this->reviewNotice = $tag; |
| 269 | + $this->reviewNotice .= $tag; |
249 | 270 | } else { |
250 | | - $this->reviewNotice = $tag; |
| 271 | + $this->reviewNotice .= $tag; |
251 | 272 | } |
252 | 273 | $wgOut->mBodytext = $wgOut->mBodytext . $notes; |
253 | 274 | // Add "no reviewed version" tag, but not for main page |
254 | 275 | } else if( !$wgOut->isPrintable() && !FlaggedRevs::isMainPage( $article->getTitle() ) ) { |
255 | 276 | if( FlaggedRevs::useSimpleUI() ) { |
256 | | - $tag .= "<span class='fr-tab_current plainlinks'></span>" . |
| 277 | + $tag .= "<span class='fr-icon-current plainlinks'></span>" . |
257 | 278 | wfMsgExt('revreview-quick-none',array('parseinline')); |
258 | 279 | $tag = '<div id="mw-revisiontag" class="flaggedrevs_short plainlinks">'.$tag.'</div>'; |
259 | | - $this->reviewNotice = $tag; |
| 280 | + $this->reviewNotice .= $tag; |
260 | 281 | } else { |
261 | 282 | $tag = '<div id="mw-revisiontag" class="flaggedrevs_notice plainlinks">' . |
262 | 283 | wfMsgExt('revreview-noflagged', array('parseinline')) . '</div>'; |
263 | | - $this->reviewNotice = $tag; |
| 284 | + $this->reviewNotice .= $tag; |
264 | 285 | } |
265 | 286 | } |
| 287 | + $this->displayTag(); |
266 | 288 | |
267 | 289 | return true; |
268 | 290 | } |
— | — | @@ -284,7 +306,7 @@ |
285 | 307 | if( !$revid ) |
286 | 308 | return true; |
287 | 309 | # Set new body html text as that of now |
288 | | - $tag = ''; |
| 310 | + $tag = $warning = ''; |
289 | 311 | # Check the newest stable version |
290 | 312 | $tfrev = $this->getStableRev(); |
291 | 313 | if( !is_null($tfrev) ) { |
— | — | @@ -295,18 +317,31 @@ |
296 | 318 | $revs_since = FlaggedRevs::getRevCountSince( $editform->mArticle, $tfrev->getRevId() ); |
297 | 319 | # Construct some tagging |
298 | 320 | $quality = FlaggedRevs::isQuality( $flags ); |
299 | | - # Hide clutter |
| 321 | + # If this will be autoreviewed, notify the user... |
| 322 | + if( $wgFlaggedRevsAutoReview && $wgUser->isAllowed('review') && $tfrev->getRevId()==$editform->mArticle->getLatest() ) { |
| 323 | + # Check if user is allowed to renew the stable version. |
| 324 | + # If it has been reviewed too highly for this user, abort. |
| 325 | + foreach( $flags as $quality => $level ) { |
| 326 | + if( !Revisionreview::userCan($quality,$level) ) { |
| 327 | + return true; |
| 328 | + } |
| 329 | + } |
| 330 | + $msg = ($revid==$tfrev->getRevId()) ? 'revreview-auto-w' : 'revreview-auto-w-old'; |
| 331 | + $warning = '<div id="mw-autoreviewtag" class="flaggedrevs_warning plainlinks">' . |
| 332 | + wfMsgExt($msg,array('parseinline')) . '</div>'; |
| 333 | + } |
| 334 | + # Streamlined UI |
300 | 335 | if( FlaggedRevs::useSimpleUI() ) { |
301 | | - $msg = $quality ? 'revreview-quick-see-quality' : 'revreview-quick-see-basic'; |
302 | | - $tag = "<span class='fr-tab_current plainlinks'></span>" . |
303 | | - wfMsgExt( $msg,array('parseinline'), $tfrev->getRevId(), $revs_since ); |
304 | | - $tag .= $this->prettyRatingBox( $tfrev, $flags, $revs_since, false ); |
305 | | - $tag = '<div id="mw-revisiontag" class="flaggedrevs_short plainlinks">'.$tag.'</div>'; |
306 | | - |
307 | | - $this->reviewNotice = $tag; |
| 336 | + $msg = $quality ? 'revreview-newest-quality' : 'revreview-newest-basic'; |
| 337 | + $tag = "<span class='fr-checkbox'></span>" . |
| 338 | + wfMsgExt( $msg, array('parseinline'), $tfrev->getRevId(), $time, $revs_since ); |
| 339 | + $tag = '<div id="mw-revisiontag" class="flaggedrevs_notice plainlinks">' . $tag . '</div>'; |
| 340 | + $wgOut->setSubtitle( $tag . $warning ); |
| 341 | + # Standard UI |
308 | 342 | } else { |
309 | 343 | $msg = $quality ? 'revreview-newest-quality' : 'revreview-newest-basic'; |
310 | | - $tag = wfMsgExt( $msg, array('parseinline'), $tfrev->getRevId(), $time, $revs_since ); |
| 344 | + $tag = "<span class='fr-checkbox'></span>" . |
| 345 | + wfMsgExt( $msg, array('parseinline'), $tfrev->getRevId(), $time, $revs_since ); |
311 | 346 | # Hide clutter |
312 | 347 | if( !empty($flags) ) { |
313 | 348 | $tag .= ' <span id="mw-revisiontoggle" class="flaggedrevs_toggle" style="display:none; cursor:pointer;"' . |
— | — | @@ -316,31 +351,9 @@ |
317 | 352 | } |
318 | 353 | $tag = '<div id="mw-revisiontag" class="flaggedrevs_notice plainlinks">' . $tag . '</div>'; |
319 | 354 | |
320 | | - $this->reviewNotice = $tag; |
| 355 | + $this->reviewNotice .= $tag . $warning; |
321 | 356 | } |
322 | | - |
323 | | - if( !empty($flags) ) { |
324 | | - $tag = ' <span id="mw-revisiontoggle" class="flaggedrevs_toggle" style="display:none; cursor:pointer;"' . |
325 | | - ' onclick="toggleRevRatings()">' . wfMsg( 'revreview-toggle' ) . '</span>'; |
326 | | - $tag .= '<span id="mw-revisionratings" style="display:block;">' . |
327 | | - wfMsg('revreview-oldrating') . $this->addTagRatings( $flags ) . |
328 | | - '</span>'; |
329 | | - } |
330 | | - # If this will be autoreviewed, notify the user... |
331 | | - if( !$wgFlaggedRevsAutoReview ) |
332 | | - return true; |
333 | | - if( $wgUser->isAllowed('review') && $tfrev->getRevId()==$editform->mArticle->getLatest() ) { |
334 | | - # Check if user is allowed to renew the stable version. |
335 | | - # If it has been reviewed too highly for this user, abort. |
336 | | - foreach( $flags as $quality => $level ) { |
337 | | - if( !Revisionreview::userCan($quality,$level) ) { |
338 | | - return true; |
339 | | - } |
340 | | - } |
341 | | - $msg = ($revid==$tfrev->getRevId()) ? 'revreview-auto-w' : 'revreview-auto-w-old'; |
342 | | - $wgOut->addHTML( '<div id="mw-autoreviewtag" class="flaggedrevs_warning plainlinks">' . |
343 | | - '<span class="fr-checkbox"></span>' . wfMsgExt($msg,array('parseinline')) . '</div>' ); |
344 | | - } |
| 357 | + $this->displayTag(); |
345 | 358 | } |
346 | 359 | return true; |
347 | 360 | } |
— | — | @@ -876,6 +889,9 @@ |
877 | 890 | } else { |
878 | 891 | if( $frev ){ |
879 | 892 | $extraq .= "stable=0"; |
| 893 | + if( !$wgUser->isAllowed('review') && $this->showStableByDefault() ) { |
| 894 | + $extraq .= "&shownotice=1"; |
| 895 | + } |
880 | 896 | } |
881 | 897 | } |
882 | 898 | |
Index: trunk/extensions/FlaggedRevs/FlaggedRevsPage.i18n.php |
— | — | @@ -1,4 +1,4 @@ |
2 | | -<?php |
| 2 | +<?php |
3 | 3 | /** |
4 | 4 | * Internationalisation file for extension FlaggedRevs (group FlaggedRevsPage). |
5 | 5 | * |
— | — | @@ -32,16 +32,18 @@ |
33 | 33 | 'revreview-noflagged' => 'There are no reviewed revisions of this page, so it may \'\'\'not\'\'\' have been [[{{MediaWiki:Validationpage}}|checked]] for quality.', |
34 | 34 | 'stabilization-tab' => 'vet', |
35 | 35 | 'tooltip-ca-default' => 'Quality assurance settings', |
| 36 | + |
| 37 | + 'revreview-edited' => "'''New edits will be incorporated into the [[{{MediaWiki:Validationpage}}|stable version]] once an established user reviews them. The ''draft'' is shown below. Thanks!'''", |
36 | 38 | |
37 | 39 | 'validationpage' => '{{ns:help}}:Article validation', |
38 | 40 | |
39 | 41 | 'revreview-quick-none' => '\'\'\'[[{{MediaWiki:Validationpage}}|Current revision]]\'\'\' (unreviewed)', |
40 | | - 'revreview-quick-see-quality' => '\'\'\'Draft\'\'\' [[{{fullurl:{{FULLPAGENAMEE}}|stable=1}} view stable page]] ([{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} compare])', |
41 | | - 'revreview-quick-see-basic' => '\'\'\'Draft\'\'\' [[{{fullurl:{{FULLPAGENAMEE}}|stable=1}} view stable page]] ([{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} compare])', |
42 | | - 'revreview-quick-basic' => '\'\'\'[[{{MediaWiki:Validationpage}}|Sighted]]\'\'\' [[{{fullurl:{{FULLPAGENAMEE}}|stable=0}} view draft]] ([{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} compare])', |
43 | | - 'revreview-quick-quality' => '\'\'\'[[{{MediaWiki:Validationpage}}|Quality]]\'\'\' [[{{fullurl:{{FULLPAGENAMEE}}|stable=0}} view draft]] ([{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} compare])', |
44 | | - 'revreview-quick-basic-same' => '\'\'\'[[{{MediaWiki:Validationpage}}|Sighted]]\'\'\' (no draft)', |
45 | | - 'revreview-quick-quality-same' => '\'\'\'[[{{MediaWiki:Validationpage}}|Quality]]\'\'\' (no draft)', |
| 42 | + 'revreview-quick-see-quality' => '\'\'\'Draft\'\'\' [[{{fullurl:{{FULLPAGENAMEE}}|stable=1}} view article]] ([{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} compare])', |
| 43 | + 'revreview-quick-see-basic' => '\'\'\'Draft\'\'\' [[{{fullurl:{{FULLPAGENAMEE}}|stable=1}} view article]] ([{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} compare])', |
| 44 | + 'revreview-quick-basic' => '\'\'\'[[{{MediaWiki:Validationpage}}|Sighted article]]\'\'\' [[{{fullurl:{{FULLPAGENAMEE}}|stable=0}} view draft]] ([{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} compare])', |
| 45 | + 'revreview-quick-quality' => '\'\'\'[[{{MediaWiki:Validationpage}}|Quality article]]\'\'\' [[{{fullurl:{{FULLPAGENAMEE}}|stable=0}} view draft]] ([{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} compare])', |
| 46 | + 'revreview-quick-basic-same' => '\'\'\'[[{{MediaWiki:Validationpage}}|Sighted article]]\'\'\'', |
| 47 | + 'revreview-quick-quality-same' => '\'\'\'[[{{MediaWiki:Validationpage}}|Quality article]]\'\'\'', |
46 | 48 | |
47 | 49 | 'revreview-newest-basic' => 'The [{{fullurl:{{FULLPAGENAMEE}}|stable=1}} latest sighted revision] ([{{fullurl:Special:Stableversions|page={{FULLPAGENAMEE}}}} list all]) was [{{fullurl:Special:Log|type=review&page={{FULLPAGENAMEE}}}} approved] on <i>$2</i>. [{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} $3 {{plural:$3|change|changes}}] {{plural:$3|needs|need}} review.', |
48 | 50 | 'revreview-newest-quality' => 'The [{{fullurl:{{FULLPAGENAMEE}}|stable=1}} latest quality revision] ([{{fullurl:Special:Stableversions|page={{FULLPAGENAMEE}}}} list all]) was [{{fullurl:Special:Log|type=review&page={{FULLPAGENAMEE}}}} approved] on <i>$2</i>. [{{fullurl:{{FULLPAGENAMEE}}|oldid=$1&diff=cur}} $3 {{plural:$3|change|changes}}] {{plural:$3|needs|need}} review.', |