r95536 MediaWiki - Code Review archive

Repository:MediaWiki
Revision:r95535‎ | r95536 | r95537 >
Date:22:07, 25 August 2011
Author:awjrichards
Status:reverted
Tags:
Comment:
MFT r95535
Modified paths:
  • /branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNoticeLogPager.php (modified) (history)

Diff [purge]

Index: branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNoticeLogPager.php
@@ -1,127 +1,73 @@
22 <?php
33
4 -class CentralNoticeLogPager extends ReverseChronologicalPager {
 4+class CentralNoticeBannerLogPager extends CentralNoticeLogPager {
55 var $viewPage, $special;
66
77 function __construct( $special ) {
8 - global $wgRequest;
98 $this->special = $special;
10 - parent::__construct();
 9+ parent::__construct($special);
1110
12 - // Override paging defaults
13 - list( $this->mLimit, /* $offset */ ) = $this->mRequest->getLimitOffset( 20, '' );
14 - $this->mLimitsShown = array( 20, 50, 100 );
15 -
16 - $this->viewPage = SpecialPage::getTitleFor( 'CentralNotice' );
 11+ $this->viewPage = SpecialPage::getTitleFor( 'NoticeTemplate', 'view' );
1712 }
1813
1914 /**
2015 * Sort the log list by timestamp
2116 */
2217 function getIndexField() {
23 - return 'notlog_timestamp';
 18+ return 'tmplog_timestamp';
2419 }
2520
2621 /**
2722 * Pull log entries from the database
2823 */
2924 function getQueryInfo() {
30 - global $wgRequest;
31 -
32 - $filterStartDate = 0;
33 - $filterEndDate = 0;
34 - $startYear = $wgRequest->getVal( 'start_year' );
35 - if ( $startYear === 'other' ) $startYear = null;
36 - $startMonth = $wgRequest->getVal( 'start_month' );
37 - if ( $startMonth === 'other' ) $startMonth = null;
38 - $startDay = $wgRequest->getVal( 'start_day' );
39 - if ( $startDay === 'other' ) $startDay = null;
40 - $endYear = $wgRequest->getVal( 'end_year' );
41 - if ( $endYear === 'other' ) $endYear = null;
42 - $endMonth = $wgRequest->getVal( 'end_month' );
43 - if ( $endMonth === 'other' ) $endMonth = null;
44 - $endDay = $wgRequest->getVal( 'end_day' );
45 - if ( $endDay === 'other' ) $endDay = null;
46 -
47 - if ( $startYear && $startMonth && $startDay ) {
48 - $filterStartDate = $startYear . $startMonth . $startDay;
49 - }
50 - if ( $endYear && $endMonth && $endDay ) {
51 - $filterEndDate = $endYear . $endMonth . $endDay;
52 - }
53 - $filterCampaign = $wgRequest->getVal( 'campaign' );
54 - $filterUser = $wgRequest->getVal( 'user' );
55 - $reset = $wgRequest->getVal( 'centralnoticelogreset' );
56 -
57 - $info = array(
58 - 'tables' => array( 'cn_notice_log' ),
 25+ return array(
 26+ 'tables' => array( 'cn_template_log' ),
5927 'fields' => '*',
60 - 'conds' => array()
6128 );
62 -
63 - if ( !$reset ) {
64 - if ( $filterStartDate > 0 ) {
65 - $filterStartDate = intval( $filterStartDate.'000000' );
66 - $info['conds'][] = "notlog_timestamp >= $filterStartDate";
67 - }
68 - if ( $filterEndDate > 0 ) {
69 - $filterEndDate = intval( $filterEndDate.'000000' );
70 - $info['conds'][] = "notlog_timestamp < $filterEndDate";
71 - }
72 - if ( $filterCampaign ) {
73 - $info['conds'][] = "notlog_not_name LIKE '$filterCampaign'";
74 - }
75 - if ( $filterUser ) {
76 - $user = User::newFromName( $filterUser );
77 - $userId = $user->getId();
78 - $info['conds'][] = "notlog_user_id = $userId";
79 - }
80 - }
81 -
82 - return $info;
8329 }
8430
85 - /**
 31+ /**
8632 * Generate the content of each table row (1 row = 1 log entry)
8733 */
8834 function formatRow( $row ) {
8935 global $wgLang, $wgExtensionAssetsPath;
9036
9137 // Create a user object so we can pull the name, user page, etc.
92 - $loggedUser = User::newFromId( $row->notlog_user_id );
 38+ $loggedUser = User::newFromId( $row->tmplog_user_id );
9339 // Create the user page link
9440 $userLink = $this->getSkin()->makeLinkObj( $loggedUser->getUserPage(),
9541 $loggedUser->getName() );
9642 $userTalkLink = $this->getSkin()->makeLinkObj( $loggedUser->getTalkPage(),
9743 wfMsg ( 'centralnotice-talk-link' ) );
9844
99 - // Create the campaign link
100 - $campaignLink = $this->getSkin()->makeLinkObj( $this->viewPage,
101 - htmlspecialchars( $row->notlog_not_name ),
102 - 'method=listNoticeDetail&notice=' . urlencode( $row->notlog_not_name ) );
 45+ // Create the banner link
 46+ $bannerLink = $this->getSkin()->makeLinkObj( $this->viewPage,
 47+ htmlspecialchars( $row->tmplog_template_name ),
 48+ 'template=' . urlencode( $row->tmplog_template_name ) );
10349
10450 // Begin log entry primary row
10551 $htmlOut = Xml::openElement( 'tr' );
10652
10753 $htmlOut .= Xml::openElement( 'td', array( 'valign' => 'top' ) );
108 - if ( $row->notlog_action !== 'removed' ) {
109 - $htmlOut .= '<a href="javascript:toggleLogDisplay(\''.$row->notlog_id.'\')">'.
110 - '<img src="'.$wgExtensionAssetsPath.'/CentralNotice/collapsed.png" id="cn-collapsed-'.$row->notlog_id.'" style="display:block;"/>'.
111 - '<img src="'.$wgExtensionAssetsPath.'/CentralNotice/uncollapsed.png" id="cn-uncollapsed-'.$row->notlog_id.'" style="display:none;"/>'.
 54+ if ( $row->tmplog_action !== 'removed' ) {
 55+ $htmlOut .= '<a href="javascript:toggleLogDisplay(\''.$row->tmplog_id.'\')">'.
 56+ '<img src="'.$wgExtensionAssetsPath.'/CentralNotice/collapsed.png" id="cn-collapsed-'.$row->tmplog_id.'" style="display:block;vertical-align:baseline;"/>'.
 57+ '<img src="'.$wgExtensionAssetsPath.'/CentralNotice/uncollapsed.png" id="cn-uncollapsed-'.$row->tmplog_id.'" style="display:none;vertical-align:baseline;"/>'.
11258 '</a>';
11359 }
11460 $htmlOut .= Xml::closeElement( 'td' );
11561 $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top', 'class' => 'primary' ),
116 - $wgLang->date( $row->notlog_timestamp ) . ' ' . $wgLang->time( $row->notlog_timestamp )
 62+ $wgLang->date( $row->tmplog_timestamp ) . ' ' . $wgLang->time( $row->tmplog_timestamp )
11763 );
11864 $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top', 'class' => 'primary' ),
11965 wfMsg ( 'centralnotice-user-links', $userLink, $userTalkLink )
12066 );
12167 $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top', 'class' => 'primary' ),
122 - $row->notlog_action
 68+ $row->tmplog_action
12369 );
12470 $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top', 'class' => 'primary' ),
125 - $campaignLink
 71+ $bannerLink
12672 );
12773 $htmlOut .= Xml::tags( 'td', array(),
12874 '&nbsp;'
@@ -130,17 +76,17 @@
13177 // End log entry primary row
13278 $htmlOut .= Xml::closeElement( 'tr' );
13379
134 - if ( $row->notlog_action !== 'removed' ) {
 80+ if ( $row->tmplog_action !== 'removed' ) {
13581 // Begin log entry secondary row
136 - $htmlOut .= Xml::openElement( 'tr', array( 'id' => 'cn-log-details-'.$row->notlog_id, 'style' => 'display:none;' ) );
 82+ $htmlOut .= Xml::openElement( 'tr', array( 'id' => 'cn-log-details-'.$row->tmplog_id, 'style' => 'display:none;' ) );
13783
13884 $htmlOut .= Xml::tags( 'td', array( 'valign' => 'top' ),
13985 '&nbsp;' // force a table cell in older browsers
14086 );
14187 $htmlOut .= Xml::openElement( 'td', array( 'valign' => 'top', 'colspan' => '5' ) );
142 - if ( $row->notlog_action == 'created' ) {
 88+ if ( $row->tmplog_action == 'created' ) {
14389 $htmlOut .= $this->showInitialSettings( $row );
144 - } else if ( $row->notlog_action == 'modified' ) {
 90+ } else if ( $row->tmplog_action == 'modified' ) {
14591 $htmlOut .= $this->showChanges( $row );
14692 }
14793 $htmlOut .= Xml::closeElement( 'td' );
@@ -152,53 +98,62 @@
15399 return $htmlOut;
154100 }
155101
 102+ function getStartBody() {
 103+ $htmlOut = '';
 104+ $htmlOut .= Xml::openElement( 'table', array( 'id' => 'cn-campaign-logs', 'cellpadding' => 3 ) );
 105+ $htmlOut .= Xml::openElement( 'tr' );
 106+ $htmlOut .= Xml::element( 'th', array( 'style' => 'width: 20px;' ) );
 107+ $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 130px;' ),
 108+ wfMsg ( 'centralnotice-timestamp' )
 109+ );
 110+ $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 160px;' ),
 111+ wfMsg ( 'centralnotice-user' )
 112+ );
 113+ $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 100px;' ),
 114+ wfMsg ( 'centralnotice-action' )
 115+ );
 116+ $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 160px;' ),
 117+ wfMsg ( 'centralnotice-banner' )
 118+ );
 119+ $htmlOut .= Xml::tags( 'td', array(),
 120+ '&nbsp;'
 121+ );
 122+ $htmlOut .= Xml::closeElement( 'tr' );
 123+ return $htmlOut;
 124+ }
 125+
 126+ /**
 127+ * Close table
 128+ */
 129+ function getEndBody() {
 130+ $htmlOut = '';
 131+ $htmlOut .= Xml::closeElement( 'table' );
 132+ return $htmlOut;
 133+ }
 134+
156135 function showInitialSettings( $row ) {
157136 global $wgLang;
158137 $details = '';
159138 $details .= wfMsg (
160139 'centralnotice-log-label',
161 - wfMsg ( 'centralnotice-start-date' ),
162 - $wgLang->date( $row->notlog_end_start ).' '.$wgLang->time( $row->notlog_end_start )
 140+ wfMsg ( 'centralnotice-anon' ),
 141+ ($row->tmplog_end_anon ? 'on' : 'off')
163142 )."<br/>";
164143 $details .= wfMsg (
165144 'centralnotice-log-label',
166 - wfMsg ( 'centralnotice-end-date' ),
167 - $wgLang->date( $row->notlog_end_end ).' '.$wgLang->time( $row->notlog_end_end )
 145+ wfMsg ( 'centralnotice-account' ),
 146+ ($row->tmplog_end_account ? 'on' : 'off')
168147 )."<br/>";
169148 $details .= wfMsg (
170149 'centralnotice-log-label',
171 - wfMsg ( 'centralnotice-projects' ),
172 - $row->notlog_end_projects
 150+ wfMsg ( 'centralnotice-fundraising' ),
 151+ ($row->tmplog_end_fundraising ? 'on' : 'off')
173152 )."<br/>";
174 - $language_count = count( explode ( ', ', $row->notlog_end_languages ) );
175 - $languageList = '';
176 - if ( $language_count > 15 ) {
177 - $languageList = wfMsg ( 'centralnotice-multiple-languages', $language_count );
178 - } elseif ( $language_count > 0 ) {
179 - $languageList = $row->notlog_end_languages;
180 - }
181 - $details .= wfMsg (
182 - 'centralnotice-log-label',
183 - wfMsg ( 'centralnotice-languages' ),
184 - $languageList
185 - )."<br/>";
186 - $details .= wfMsg (
187 - 'centralnotice-log-label',
188 - wfMsg ( 'centralnotice-geo' ),
189 - ($row->notlog_end_geo ? 'on' : 'off')
190 - )."<br/>";
191 - if ( $row->notlog_end_geo ) {
192 - $country_count = count( explode ( ', ', $row->notlog_end_countries ) );
193 - $countryList = '';
194 - if ( $country_count > 20 ) {
195 - $countryList = wfMsg ( 'centralnotice-multiple-countries', $country_count );
196 - } elseif ( $country_count > 0 ) {
197 - $countryList = $row->notlog_end_countries;
198 - }
 153+ if ( $row->tmplog_end_landingpages ) {
199154 $details .= wfMsg (
200155 'centralnotice-log-label',
201 - wfMsg ( 'centralnotice-countries' ),
202 - $countryList
 156+ wfMsg ( 'centralnotice-landingpages' ),
 157+ $row->tmplog_end_landingpages
203158 )."<br/>";
204159 }
205160 return $details;
@@ -207,70 +162,25 @@
208163 function showChanges( $row ) {
209164 global $wgLang;
210165 $details = '';
211 - if ( $row->notlog_begin_start !== $row->notlog_end_start ) {
 166+ $details .= $this->testBooleanChange( 'anon', $row );
 167+ $details .= $this->testBooleanChange( 'account', $row );
 168+ $details .= $this->testBooleanChange( 'fundraising', $row );
 169+ $details .= $this->testTextChange( 'landingpages', $row );
 170+ if ( $row->tmplog_content_change ) {
 171+ // Show changes to banner content
212172 $details .= wfMsg (
213173 'centralnotice-log-label',
214 - wfMsg ( 'centralnotice-start-date' ),
215 - wfMsg (
216 - 'centralnotice-changed',
217 - $wgLang->date( $row->notlog_begin_start ).' '.$wgLang->time( $row->notlog_begin_start ),
218 - $wgLang->date( $row->notlog_end_start ).' '.$wgLang->time( $row->notlog_end_start )
219 - )
 174+ wfMsg ( 'centralnotice-banner-content' ),
 175+ wfMsg ( 'centralnotice-banner-content-changed' )
220176 )."<br/>";
221177 }
222 - if ( $row->notlog_begin_end !== $row->notlog_end_end ) {
223 - $details .= wfMsg (
224 - 'centralnotice-log-label',
225 - wfMsg ( 'centralnotice-end-date' ),
226 - wfMsg (
227 - 'centralnotice-changed',
228 - $wgLang->date( $row->notlog_begin_end ).' '.$wgLang->time( $row->notlog_begin_end ),
229 - $wgLang->date( $row->notlog_end_end ).' '.$wgLang->time( $row->notlog_end_end )
230 - )
231 - )."<br/>";
232 - }
233 - $details .= $this->testBooleanChange( 'enabled', $row );
234 - $details .= $this->testBooleanChange( 'preferred', $row );
235 - $details .= $this->testBooleanChange( 'locked', $row );
236 - $details .= $this->testBooleanChange( 'geo', $row );
237 - $details .= $this->testSetChange( 'projects', $row );
238 - $details .= $this->testSetChange( 'languages', $row );
239 - $details .= $this->testSetChange( 'countries', $row );
240 - if ( $row->notlog_begin_banners !== $row->notlog_end_banners ) {
241 - // Show changes to banner weights and assignment
242 - $beginBannersObject = json_decode( $row->notlog_begin_banners );
243 - $endBannersObject = json_decode( $row->notlog_end_banners );
244 - $beginBanners = array();
245 - $endBanners = array();
246 - foreach( $beginBannersObject as $key => $weight ) {
247 - $beginBanners[$key] = $key.' ('.$weight.')';
248 - }
249 - foreach( $endBannersObject as $key => $weight ) {
250 - $endBanners[$key] = $key.' ('.$weight.')';
251 - }
252 - if ( $beginBanners ) {
253 - $before = implode( ', ', $beginBanners );
254 - } else {
255 - $before = wfMsg ( 'centralnotice-no-assignments' );
256 - }
257 - if ( $endBanners ) {
258 - $after = implode( ', ', $endBanners );
259 - } else {
260 - $after = wfMsg ( 'centralnotice-no-assignments' );
261 - }
262 - $details .= wfMsg (
263 - 'centralnotice-log-label',
264 - wfMsg ( 'centralnotice-templates' ),
265 - wfMsg ( 'centralnotice-changed', $before, $after)
266 - )."<br/>";
267 - }
268178 return $details;
269179 }
270180
271181 private function testBooleanChange( $param, $row ) {
272182 $result = '';
273 - $beginField = 'notlog_begin_'.$param;
274 - $endField = 'notlog_end_'.$param;
 183+ $beginField = 'tmplog_begin_'.$param;
 184+ $endField = 'tmplog_end_'.$param;
275185 if ( $row->$beginField !== $row->$endField ) {
276186 $result .= wfMsg (
277187 'centralnotice-log-label',
@@ -284,73 +194,22 @@
285195 }
286196 return $result;
287197 }
288 -
289 - private function testSetChange( $param, $row ) {
 198+
 199+ private function testTextChange( $param, $row ) {
290200 $result = '';
291 - $beginField = 'notlog_begin_'.$param;
292 - $endField = 'notlog_end_'.$param;
 201+ $beginField = 'tmplog_begin_'.$param;
 202+ $endField = 'tmplog_end_'.$param;
293203 if ( $row->$beginField !== $row->$endField ) {
294 - $beginSet = array();
295 - $endSet = array();
296 - if ( $row->$beginField ) {
297 - $beginSet = explode( ', ', $row->$beginField );
298 - }
299 - if ( $row->$endField ) {
300 - $endSet = explode( ', ', $row->$endField );
301 - }
302 - $added = array_diff( $endSet, $beginSet );
303 - $removed = array_diff( $beginSet, $endSet );
304 - $differences = '';
305 - if ( $added ) {
306 - $differences .= wfMsg ( 'centralnotice-added', implode( ', ', $added ) );
307 - if ( $removed ) $differences .= '; ';
308 - }
309 - if ( $removed ) {
310 - $differences .= wfMsg ( 'centralnotice-removed', implode( ', ', $removed ) );
311 - }
312204 $result .= wfMsg (
313205 'centralnotice-log-label',
314206 wfMsg ( 'centralnotice-'.$param ),
315 - $differences
 207+ wfMsg (
 208+ 'centralnotice-changed',
 209+ $row->$beginField,
 210+ $row->$endField
 211+ )
316212 )."<br/>";
317213 }
318214 return $result;
319215 }
320 -
321 - /**
322 - * Specify table headers
323 - */
324 - function getStartBody() {
325 - $htmlOut = '';
326 - $htmlOut .= Xml::openElement( 'table', array( 'id' => 'cn-campaign-logs', 'cellpadding' => 3 ) );
327 - $htmlOut .= Xml::openElement( 'tr' );
328 - $htmlOut .= Xml::element( 'th', array( 'style' => 'width: 20px;' ) );
329 - $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 130px;' ),
330 - wfMsg ( 'centralnotice-timestamp' )
331 - );
332 - $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 160px;' ),
333 - wfMsg ( 'centralnotice-user' )
334 - );
335 - $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 100px;' ),
336 - wfMsg ( 'centralnotice-action' )
337 - );
338 - $htmlOut .= Xml::element( 'th', array( 'align' => 'left', 'style' => 'width: 160px;' ),
339 - wfMsg ( 'centralnotice-notice' )
340 - );
341 - $htmlOut .= Xml::tags( 'td', array(),
342 - '&nbsp;'
343 - );
344 - $htmlOut .= Xml::closeElement( 'tr' );
345 - return $htmlOut;
346 - }
347 -
348 - /**
349 - * Close table
350 - */
351 - function getEndBody() {
352 - $htmlOut = '';
353 - $htmlOut .= Xml::closeElement( 'table' );
354 - return $htmlOut;
355 - }
356 -
357216 }
Property changes on: branches/wmf/1.17wmf1/extensions/CentralNotice/CentralNoticeLogPager.php
___________________________________________________________________
Added: svn:mergeinfo
358217 Merged /trunk/phase3/extensions/CentralNotice/CentralNoticeLogPager.php:r63545-63546,63549,63643,63764,63897-63901,64113,64509,65387,65391,65555,65590,65650,65816,77555,77558-77560,77563-77565,77573
359218 Merged /trunk/extensions/CentralNotice/CentralNoticeBannerLogPager.php:r95524-95535
360219 Merged /branches/wmf-deployment/extensions/CentralNotice/CentralNoticeLogPager.php:r60970
361220 Merged /branches/wmf/1.16wmf4/extensions/CentralNotice/CentralNoticeLogPager.php:r67177,69199,76243,77266
362221 Merged /trunk/extensions/CentralNotice/CentralNoticeLogPager.php:r62820-67552,67557,67559-71720,71725-71731,71734-71739,71748-71753,71774-71997,72058-72131,72136-73830,73847,73850,73852,73855,73959,73963,73973,73980,73983,73991,73994-73995,74000-74321,74325-74406,75376-75470,75567,75643,75646,75674,75680,75726,75849,75889,75908,75973,76141,76145,76333,76347,76351,76356-76358,76361,76363,76462,76543,76763,77622-79761,79780,79783-80145,80147-80148,80150,80152-80602,81461-83563,83565-91117,91146,91368-92408,92767

Follow-up revisions

RevisionCommit summaryAuthorDate
r95538Revert r95536, botched mergeawjrichards22:20, 25 August 2011

Past revisions this follows-up on

RevisionCommit summaryAuthorDate
r95535updating function namekaldari22:03, 25 August 2011

Status & tagging log