From 8ca9ce76651bb1ab912c7038ba49e402364b13c5 Mon Sep 17 00:00:00 2001 From: Kris Field Date: Mon, 19 Nov 2018 22:35:28 -0600 Subject: [PATCH 01/11] configurable css --- extension.json | 12 +++++++++-- includes/PageScore.php | 19 ++++-------------- modules/base/ext.watchanalytics.base.css | 2 +- modules/pagescores/pagescores.css | 20 +++++-------------- .../ext.watchanalytics.pendingreviews.css | 12 ----------- 5 files changed, 20 insertions(+), 45 deletions(-) diff --git a/extension.json b/extension.json index 5fbd28c..79e9b8a 100644 --- a/extension.json +++ b/extension.json @@ -211,8 +211,16 @@ "PendingReviewsNumberWatchSuggestions": 20, "PendingReviewsShowWatchSuggestionsIfReviewsUnder": 5, "WatchAnalyticsPageScoreNamespaces": [0, 1], - "WatchAnalyticsWatchQualityColors": [5, 1.5], - "WatchAnalyticsReviewStatusColors": [4, 2] + "WatchAnalyticsWatchQualityColors": { + "5" : "excellent", + "1.5" : "okay", + "0" : "danger" + }, + "WatchAnalyticsReviewStatusColors": { + "4" : "excellent", + "2" : "okay", + "0" : "danger" + } }, "manifest_version": 1 } diff --git a/includes/PageScore.php b/includes/PageScore.php index 63eca90..dab6364 100644 --- a/includes/PageScore.php +++ b/includes/PageScore.php @@ -52,15 +52,7 @@ class PageScore { public $cssColorClasses; public function __construct ( Title $title ) { - $this->mTitle = $title; - $this->cssColorClasses = array( - 'excellent', - // 'good', - 'okay', - // 'warning', - 'danger', - ); } static public function noPageScore () { @@ -109,17 +101,14 @@ public function getScoreColor ( $score, $configVariable ) { $scoreArr = $GLOBALS[ $configVariable ]; - $scoreArrCount = count( $scoreArr ); - for ( $i = 0; $i < $scoreArrCount; $i++ ) { // ) as $index => $upperBound - if ( $score > $scoreArr[ $i ] ) { - return $this->cssColorClasses[ $i ]; + foreach ($scoreArr as $scoreThreshold => $style) { + if ( $score > $scoreThreshold ) { + return $style; } } - return $this->cssColorClasses[ count( $scoreArr ) ]; - + return 'danger'; } - public function getPageScoreTemplate () { // simple explanation of what PageScores are diff --git a/modules/base/ext.watchanalytics.base.css b/modules/base/ext.watchanalytics.base.css index 5de9353..e2870d5 100644 --- a/modules/base/ext.watchanalytics.base.css +++ b/modules/base/ext.watchanalytics.base.css @@ -12,4 +12,4 @@ .watch-analytics-watchers-needed-link { font-weight: bold; -} \ No newline at end of file +} diff --git a/modules/pagescores/pagescores.css b/modules/pagescores/pagescores.css index dfdf3f6..13d50ce 100644 --- a/modules/pagescores/pagescores.css +++ b/modules/pagescores/pagescores.css @@ -29,35 +29,25 @@ margin: 0; float: left; border-radius: 4px; - border-width: 1px; border-style: solid; + font-weight: bold; } .ext-watchanalytics-pagescores-danger > div { background-color: #d33; border-color: #d33; - color: white; + color: #fff; } -.ext-watchanalytics-pagescores-warning > div { +.ext-watchanalytics-pagescores-okay > div { background-color: #fc3; border-color: #fc3; - color: white; -} -.ext-watchanalytics-pagescores-okay > div { - background-color: khaki; - border-color: khaki; - color: #333; -} -.ext-watchanalytics-pagescores-good > div { - background-color: greenyellow; - border-color: greenyellow; - color: #333; + color: #fff; } .ext-watchanalytics-pagescores-excellent > div { background-color: #00af89; border-color: #00af89; - color: white; + color: #fff; } .ext-watchanalytics-pagescores-left { diff --git a/modules/pendingreviews/ext.watchanalytics.pendingreviews.css b/modules/pendingreviews/ext.watchanalytics.pendingreviews.css index a4b0f46..4f5cb30 100644 --- a/modules/pendingreviews/ext.watchanalytics.pendingreviews.css +++ b/modules/pendingreviews/ext.watchanalytics.pendingreviews.css @@ -117,16 +117,6 @@ td.pendingreviews-review-links a:hover { border-color: #00af89; } -.pendingreviews-light-blue-button { - background-color: #eaf3ff; - border-color: #36c; -} - -.pendingreviews-light-blue-button:hover { - background-color: #36c; - border-color: #36c; -} - .pendingreviews-orange-button { background-color: #fc3; border-color: #fc3; @@ -189,5 +179,3 @@ a.pendingreviews-nav-link-inactive { a.pendingreviews-nav-link-inactive:visited { color: #c8ccd1; } - - From 30f2410fae3f56f178992a6189ba61b9b8c654ef Mon Sep 17 00:00:00 2001 From: Kris Field Date: Mon, 19 Nov 2018 22:36:15 -0600 Subject: [PATCH 02/11] remove config section --- README.md | 56 ------------------------------------------------------- 1 file changed, 56 deletions(-) diff --git a/README.md b/README.md index cf4e6ec..5314aa6 100644 --- a/README.md +++ b/README.md @@ -6,59 +6,3 @@ MediaWiki-WatchAnalytics Extension:WatchAnalytics identifies under-reviewed content on a wiki, helping users target weak points and improve accountability. See https://www.mediawiki.org/wiki/Extension:WatchAnalytics for more information - -## Config - -### egWatchAnalyticsPageCounter - -Description: TBD - -Default: false - -### egPendingReviewsEmphasizeDays - -Description: TBD - -Default: 7 - -### egPendingReviewsRedPagesThreshold - -Description: TBD - -Default: 2 - -### egPendingReviewsOrangePagesThreshold - -Description: TBD - -Default: 4 - -### egPendingReviewsNumberWatchSuggestions - -Description: TBD - -Default: 20 - -### egPendingReviewsShowWatchSuggestionsIfReviewsUnder - -Description: TBD - -Default: 5 - -### egWatchAnalyticsPageScoreNamespaces - -Description: TBD - -Default: Main namespace (NS_MAIN) and Talk namespace (NS_TALK) - -### egWatchAnalyticsWatchQualityColors - -Description: TBD - -Default: [5, 1.5] - -### egWatchAnalyticsReviewStatusColors - -Description: TBD - -Default: [4, 2] From 8ad6de6e72a64171976e25c4de4ea282cbd0f089 Mon Sep 17 00:00:00 2001 From: Kris Field Date: Tue, 20 Nov 2018 22:07:32 -0600 Subject: [PATCH 03/11] combines pagescore and pendingreview colors --- extension.json | 6 +-- i18n/en.json | 10 ++-- includes/PageScore.php | 4 +- modules/base/ext.watchanalytics.base.css | 30 +++++++++++ modules/pagescores/pagescores.css | 26 ---------- .../ext.watchanalytics.pendingreviews.css | 11 ---- specials/SpecialPendingReviews.php | 52 +++++++------------ 7 files changed, 60 insertions(+), 79 deletions(-) diff --git a/extension.json b/extension.json index 79e9b8a..b40ec02 100644 --- a/extension.json +++ b/extension.json @@ -217,9 +217,9 @@ "0" : "danger" }, "WatchAnalyticsReviewStatusColors": { - "4" : "excellent", - "2" : "okay", - "0" : "danger" + "5" : "excellent", + "3" : "okay", + "1" : "danger" } }, "manifest_version": 1 diff --git a/i18n/en.json b/i18n/en.json index f4d53e3..81b25fe 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -86,9 +86,9 @@ "pendingreviews-timediff-just-now": "Changed just now", "pendingreviews-no-revisions": "No page content changes", "pendingreviews-num-reviews": "You have $1 pending {{PLURAL:$1|review|reviews}}.", - "pendingreviews-reviewer-criticality-red": "Pages reviewed by {{PLURAL:$1|1 person|$1 people}} or fewer", - "pendingreviews-reviewer-criticality-orange": "Pages reviewed by {{PLURAL:$1|1 person|$1 people}} or fewer", - "pendingreviews-reviewer-criticality-green": "Pages reviewed by more than {{PLURAL:$1|1 person|$1 people}}", + "pendingreviews-reviewer-criticality-danger": "Pages reviewed by {{PLURAL:$1|1 person|$1 people}} or fewer", + "pendingreviews-reviewer-criticality-okay": "Pages reviewed by {{PLURAL:$1|1 person|$1 people}} or fewer", + "pendingreviews-reviewer-criticality-excellent": "Pages reviewed by $1 or more people", "watch-analytics-page-score-tooltip": "Scores indicate how well this page is being reviewed", "watch-analytics-page-score-scrutiny-label": "Scrutiny", @@ -98,8 +98,8 @@ "watchanalytics-pagestats-editors-list-title": "Page editors", "watchanalytics-pagestats-editors-list-item": "$1 - {{PLURAL:$2|1 revision|$2 revisions}}", "watchanalytics-pagestats-watchers-title": "Page watchers", - "watchanalytics-pagestats-watchers-list-item-reviewed": "$1 - reviewed latest", - "watchanalytics-pagestats-watchers-list-item-unreviewed": "$1 - review pending", + "watchanalytics-pagestats-watchers-list-item-reviewed": "$1 - reviewed latest", + "watchanalytics-pagestats-watchers-list-item-unreviewed": "$1 - review pending", "watchanalytics-pagestats-chart-header": "Number of reviewers over time", "watchanalytics-unreview-button": "Defer review", diff --git a/includes/PageScore.php b/includes/PageScore.php index dab6364..f1d1655 100644 --- a/includes/PageScore.php +++ b/includes/PageScore.php @@ -102,7 +102,7 @@ public function getScoreColor ( $score, $configVariable ) { $scoreArr = $GLOBALS[ $configVariable ]; foreach ($scoreArr as $scoreThreshold => $style) { - if ( $score > $scoreThreshold ) { + if ( $score >= $scoreThreshold ) { return $style; } } @@ -144,7 +144,7 @@ public function getBadge ( $label, $score, $color, $showLabel = false ) { } return - "
+ "
$label
diff --git a/modules/base/ext.watchanalytics.base.css b/modules/base/ext.watchanalytics.base.css index e2870d5..42f4916 100644 --- a/modules/base/ext.watchanalytics.base.css +++ b/modules/base/ext.watchanalytics.base.css @@ -13,3 +13,33 @@ .watch-analytics-watchers-needed-link { font-weight: bold; } + +.ext-watchanalytics-criticality-danger > div { + background-color: #d33; + border-color: #d33; + color: #fff; +} + +tr.ext-watchanalytics-criticality-danger td:first-child { + border-left: solid #d33 5px; +} + +.ext-watchanalytics-criticality-okay > div { + background-color: #fc3; + border-color: #fc3; + color: #fff; +} + +tr.ext-watchanalytics-criticality-okay td:first-child { + border-left: solid #fc3 5px; +} + +.ext-watchanalytics-criticality-excellent > div { + background-color: #00af89; + border-color: #00af89; + color: #fff; +} + +tr.ext-watchanalytics-criticality-excellent td:first-child { + border-left: solid #00af89 5px; +} diff --git a/modules/pagescores/pagescores.css b/modules/pagescores/pagescores.css index 13d50ce..f5704a8 100644 --- a/modules/pagescores/pagescores.css +++ b/modules/pagescores/pagescores.css @@ -34,34 +34,8 @@ font-weight: bold; } -.ext-watchanalytics-pagescores-danger > div { - background-color: #d33; - border-color: #d33; - color: #fff; -} -.ext-watchanalytics-pagescores-okay > div { - background-color: #fc3; - border-color: #fc3; - color: #fff; -} -.ext-watchanalytics-pagescores-excellent > div { - background-color: #00af89; - border-color: #00af89; - color: #fff; -} - .ext-watchanalytics-pagescores-left { background-color: white !important; color: #333 !important; display: none; } - - -/*#ext-watchanalytics-pagescores:hover .ext-watchanalytics-pagescores-left { - border-radius: 4px 0 0 4px; - display: inherit; -} -#ext-watchanalytics-pagescores:hover .ext-watchanalytics-pagescores-right { - border-radius: 0 4px 4px 0; -} -*/ diff --git a/modules/pendingreviews/ext.watchanalytics.pendingreviews.css b/modules/pendingreviews/ext.watchanalytics.pendingreviews.css index 4f5cb30..71b6941 100644 --- a/modules/pendingreviews/ext.watchanalytics.pendingreviews.css +++ b/modules/pendingreviews/ext.watchanalytics.pendingreviews.css @@ -37,7 +37,6 @@ table.pendingreviews-list td.pendingreviews-top-cell { } tr.pendingreviews-row td:first-child { - border-left: solid #ddd 5px; padding-left: 5px; } /*tr.pendingreviews-row-hover td:first-child { @@ -50,16 +49,6 @@ tr.pendingreviews-row-hover td { background-color: #f9f9f9; } -tr.pendingreviews-criticality-red td:first-child { - border-left: solid #d33 5px; -} -tr.pendingreviews-criticality-orange td:first-child { - border-left: solid #fc3 5px; -} -tr.pendingreviews-criticality-green td:first-child { - border-left: solid #00af89 5px; -} - .pendingreviews-legend { float:right; margin-bottom: 10px; diff --git a/specials/SpecialPendingReviews.php b/specials/SpecialPendingReviews.php index aefeea4..a8aa68b 100644 --- a/specials/SpecialPendingReviews.php +++ b/specials/SpecialPendingReviews.php @@ -114,6 +114,7 @@ public function execute( $parser = null ) { // functions causes the CSS to load later, which makes the page styles // apply late. This looks bad. $wgOut->addModuleStyles( [ + 'ext.watchanalytics.base', 'ext.watchanalytics.specials', 'ext.watchanalytics.pendingreviews.styles', ] ); @@ -352,16 +353,12 @@ public function getRowHTML ( PendingReview $item, $rowCount, $displayTitle, $but // FIXME: wow this is ugly $rowClass = ( $rowCount % 2 === 0 ) ? 'pendingreviews-even-row' : 'pendingreviews-odd-row'; - if ( $item->numReviewers > $GLOBALS['egPendingReviewsOrangePagesThreshold'] ) { - $reviewCriticality = 'green'; // page is "green" because it has lots of reviewers - } - else if ( $item->numReviewers > $GLOBALS['egPendingReviewsRedPagesThreshold'] ) { - $reviewCriticality = 'orange'; - } - else { - $reviewCriticality = 'red'; // page is red because it has very few reviewers + $scoreArr = $GLOBALS['egWatchAnalyticsReviewStatusColors']; + foreach ($scoreArr as $scoreThreshold => $style) { + if ( $item->numReviewers >= $scoreThreshold ) { + $reviewCriticalityClass = 'ext-watchanalytics-criticality-' .$style; + } } - $reviewCriticalityClass = 'pendingreviews-criticality-' . $reviewCriticality; $classAndAttr = "class='pendingreviews-row $rowClass $reviewCriticalityClass pendingreviews-row-$rowCount' pendingreviews-row-count='$rowCount'"; @@ -628,29 +625,20 @@ public function getPageHeader( $user ) { */ public function getPendingReviewsLegend () { - $redMaxReviewers = $GLOBALS['egPendingReviewsRedPagesThreshold'] - 1; - $orangeMaxReviewers = $GLOBALS['egPendingReviewsOrangePagesThreshold'] - 1; - - $redReviewersMsg = $this->msg( - 'pendingreviews-reviewer-criticality-red', - $redMaxReviewers - )->text(); - - $orangeReviewersMsg = $this->msg( - 'pendingreviews-reviewer-criticality-orange', - $orangeMaxReviewers - )->text(); - - $greenReviewersMsg = $this->msg( - 'pendingreviews-reviewer-criticality-green', - $orangeMaxReviewers - )->text(); - - return " - - - -
$redReviewersMsg
$orangeReviewersMsg
$greenReviewersMsg
"; + $scoreArr = $GLOBALS['egWatchAnalyticsReviewStatusColors']; + + $html = ""; + foreach ($scoreArr as $scoreThreshold => $style) { + $msg = $this->msg( + "pendingreviews-reviewer-criticality-$style", + $scoreThreshold + )->text(); + + $html .= ""; + } + $html .= '
$msg
'; + + return $html; } From c0e11b02dd27a14019a3b2ac8e7248f7cbdaf180 Mon Sep 17 00:00:00 2001 From: Kris Field Date: Wed, 21 Nov 2018 22:01:34 -0600 Subject: [PATCH 04/11] They've gone into plaid --- extension.json | 7 +++---- i18n/en.json | 6 +++--- includes/PageScore.php | 1 + modules/base/ext.watchanalytics.base.css | 26 ++++++++++++++++++++++++ specials/SpecialPendingReviews.php | 22 +++++++++++++++++++- 5 files changed, 54 insertions(+), 8 deletions(-) diff --git a/extension.json b/extension.json index b40ec02..1ab0cc2 100644 --- a/extension.json +++ b/extension.json @@ -212,14 +212,13 @@ "PendingReviewsShowWatchSuggestionsIfReviewsUnder": 5, "WatchAnalyticsPageScoreNamespaces": [0, 1], "WatchAnalyticsWatchQualityColors": { + "50" : "plaid", "5" : "excellent", - "1.5" : "okay", - "0" : "danger" + "1.5" : "okay" }, "WatchAnalyticsReviewStatusColors": { "5" : "excellent", - "3" : "okay", - "1" : "danger" + "3" : "okay" } }, "manifest_version": 1 diff --git a/i18n/en.json b/i18n/en.json index 81b25fe..42d931f 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -86,9 +86,9 @@ "pendingreviews-timediff-just-now": "Changed just now", "pendingreviews-no-revisions": "No page content changes", "pendingreviews-num-reviews": "You have $1 pending {{PLURAL:$1|review|reviews}}.", - "pendingreviews-reviewer-criticality-danger": "Pages reviewed by {{PLURAL:$1|1 person|$1 people}} or fewer", - "pendingreviews-reviewer-criticality-okay": "Pages reviewed by {{PLURAL:$1|1 person|$1 people}} or fewer", - "pendingreviews-reviewer-criticality-excellent": "Pages reviewed by $1 or more people", + "pendingreviews-reviewer-criticality-danger": "Pages reviewed by 0 - {{PLURAL:$1|1 person|$1 people}}", + "pendingreviews-reviewer-criticality-danger-zero": "Pages reviewed by 0 people", + "pendingreviews-reviewer-criticality-generic": "Pages reviewed by $1 or more people", "watch-analytics-page-score-tooltip": "Scores indicate how well this page is being reviewed", "watch-analytics-page-score-scrutiny-label": "Scrutiny", diff --git a/includes/PageScore.php b/includes/PageScore.php index f1d1655..30fcaf4 100644 --- a/includes/PageScore.php +++ b/includes/PageScore.php @@ -100,6 +100,7 @@ public function getNumReviews () { public function getScoreColor ( $score, $configVariable ) { $scoreArr = $GLOBALS[ $configVariable ]; + krsort( $scoreArr, SORT_NUMERIC ); foreach ($scoreArr as $scoreThreshold => $style) { if ( $score >= $scoreThreshold ) { diff --git a/modules/base/ext.watchanalytics.base.css b/modules/base/ext.watchanalytics.base.css index 42f4916..9fd6538 100644 --- a/modules/base/ext.watchanalytics.base.css +++ b/modules/base/ext.watchanalytics.base.css @@ -24,6 +24,32 @@ tr.ext-watchanalytics-criticality-danger td:first-child { border-left: solid #d33 5px; } +.ext-watchanalytics-criticality-plaid > div { + background: + repeating-linear-gradient( + -45deg, + transparent 0%, + transparent 25%, + #eaf3ff 0, + #eaf3ff 50% + ), + repeating-linear-gradient( + 45deg, + transparent 0, + transparent 25%, + #d5fdf4 0, + #d5fdf4 50% + ), + repeating-linear-gradient( + transparent 20%, + transparent 25%, + #fef6e7 0, + #fef6e7 50% + ), white; + background-blend-mode: multiply; + background-size: 10px 10px; +} + .ext-watchanalytics-criticality-okay > div { background-color: #fc3; border-color: #fc3; diff --git a/specials/SpecialPendingReviews.php b/specials/SpecialPendingReviews.php index a8aa68b..ecdb79b 100644 --- a/specials/SpecialPendingReviews.php +++ b/specials/SpecialPendingReviews.php @@ -354,9 +354,13 @@ public function getRowHTML ( PendingReview $item, $rowCount, $displayTitle, $but $rowClass = ( $rowCount % 2 === 0 ) ? 'pendingreviews-even-row' : 'pendingreviews-odd-row'; $scoreArr = $GLOBALS['egWatchAnalyticsReviewStatusColors']; + //making sure array is sorted from highest to lowest + krsort( $scoreArr, SORT_NUMERIC ); foreach ($scoreArr as $scoreThreshold => $style) { if ( $item->numReviewers >= $scoreThreshold ) { $reviewCriticalityClass = 'ext-watchanalytics-criticality-' .$style; + } else { + $reviewCriticalityClass = 'ext-watchanalytics-criticality-danger'; } } @@ -626,16 +630,32 @@ public function getPageHeader( $user ) { public function getPendingReviewsLegend () { $scoreArr = $GLOBALS['egWatchAnalyticsReviewStatusColors']; + //making sure array is sorted from highest to lowest + krsort( $scoreArr, SORT_NUMERIC ); $html = ""; foreach ($scoreArr as $scoreThreshold => $style) { $msg = $this->msg( - "pendingreviews-reviewer-criticality-$style", + "pendingreviews-reviewer-criticality-generic", $scoreThreshold )->text(); $html .= ""; } + + //bottom threshold will always be "danger" class + //Get lowest value in array + end( $scoreArr ); + $smallestThreshold = key( $scoreArr ); + + if ( $smallestThreshold == 1) { + $msg = $this->msg( "pendingreviews-reviewer-criticality-danger-zero" )->text(); + } else { + $msg = $this->msg( "pendingreviews-reviewer-criticality-danger", $smallestThreshold-1 )->text(); + } + + $html .= ""; + $html .= '
$msg
$msg
'; return $html; From 86e4b684419c38f9790597b39d3b450eb58ebce2 Mon Sep 17 00:00:00 2001 From: Kris Field Date: Fri, 30 Nov 2018 17:52:59 -0600 Subject: [PATCH 05/11] more plaid --- modules/base/ext.watchanalytics.base.css | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/modules/base/ext.watchanalytics.base.css b/modules/base/ext.watchanalytics.base.css index 9fd6538..54a66b9 100644 --- a/modules/base/ext.watchanalytics.base.css +++ b/modules/base/ext.watchanalytics.base.css @@ -29,25 +29,31 @@ tr.ext-watchanalytics-criticality-danger td:first-child { repeating-linear-gradient( -45deg, transparent 0%, - transparent 25%, - #eaf3ff 0, - #eaf3ff 50% + transparent 20%, + #d33 0, + #d33 50% ), repeating-linear-gradient( 45deg, transparent 0, - transparent 25%, - #d5fdf4 0, - #d5fdf4 50% + transparent 20%, + #00af89 0, + #00af89 50% ), repeating-linear-gradient( + transparent 0%, transparent 20%, - transparent 25%, - #fef6e7 0, - #fef6e7 50% + #fc3 0, + #fc3 50% ), white; background-blend-mode: multiply; background-size: 10px 10px; + color: #000; + text-shadow: + -1px -1px 0 #fff, + 1px -1px 0 #fff, + -1px 1px 0 #fff, + 1px 1px 0 #fff; } .ext-watchanalytics-criticality-okay > div { From 52d9a17a7f960dac7535bbc5c119a88ad044405d Mon Sep 17 00:00:00 2001 From: Kris Field Date: Fri, 30 Nov 2018 18:14:07 -0600 Subject: [PATCH 06/11] remove merge conflict marks --- includes/PageScore.php | 31 +---------------------- specials/SpecialPendingReviews.php | 40 +----------------------------- 2 files changed, 2 insertions(+), 69 deletions(-) diff --git a/includes/PageScore.php b/includes/PageScore.php index e5f57a5..2b6bc54 100644 --- a/includes/PageScore.php +++ b/includes/PageScore.php @@ -18,20 +18,8 @@ class PageScore { */ public $cssColorClasses; -<<<<<<< HEAD - public function __construct ( Title $title ) { - $this->mTitle = $title; -======= public function __construct( Title $title ) { $this->mTitle = $title; - $this->cssColorClasses = [ - 'excellent', - // 'good', - 'okay', - // 'warning', - 'danger', - ]; ->>>>>>> master } public static function noPageScore() { @@ -77,7 +65,6 @@ public function getScoreColor( $score, $configVariable ) { $scoreArr = $GLOBALS[ $configVariable ]; krsort( $scoreArr, SORT_NUMERIC ); -<<<<<<< HEAD foreach ($scoreArr as $scoreThreshold => $style) { if ( $score >= $scoreThreshold ) { return $style; @@ -86,20 +73,8 @@ public function getScoreColor( $score, $configVariable ) { return 'danger'; } - public function getPageScoreTemplate () { - -======= - $scoreArrCount = count( $scoreArr ); - for ( $i = 0; $i < $scoreArrCount; $i++ ) { // ) as $index => $upperBound - if ( $score > $scoreArr[ $i ] ) { - return $this->cssColorClasses[ $i ]; - } - } - return $this->cssColorClasses[ count( $scoreArr ) ]; - } - public function getPageScoreTemplate() { ->>>>>>> master + // simple explanation of what PageScores are $pageScoresTooltip = wfMessage( 'watch-analytics-page-score-tooltip' )->text(); @@ -129,12 +104,8 @@ public function getBadge( $label, $score, $color, $showLabel = false ) { $rightStyle = ""; } -<<<<<<< HEAD return "
-======= - return "
->>>>>>> master
$label
diff --git a/specials/SpecialPendingReviews.php b/specials/SpecialPendingReviews.php index 336341f..d66592b 100644 --- a/specials/SpecialPendingReviews.php +++ b/specials/SpecialPendingReviews.php @@ -337,7 +337,6 @@ public function getRowHTML( PendingReview $item, $rowCount, $displayTitle, $butt // FIXME: wow this is ugly $rowClass = ( $rowCount % 2 === 0 ) ? 'pendingreviews-even-row' : 'pendingreviews-odd-row'; -<<<<<<< HEAD $scoreArr = $GLOBALS['egWatchAnalyticsReviewStatusColors']; //making sure array is sorted from highest to lowest krsort( $scoreArr, SORT_NUMERIC ); @@ -347,14 +346,6 @@ public function getRowHTML( PendingReview $item, $rowCount, $displayTitle, $butt } else { $reviewCriticalityClass = 'ext-watchanalytics-criticality-danger'; } -======= - if ( $item->numReviewers > $GLOBALS['egPendingReviewsOrangePagesThreshold'] ) { - $reviewCriticality = 'green'; // page is "green" because it has lots of reviewers - } elseif ( $item->numReviewers > $GLOBALS['egPendingReviewsRedPagesThreshold'] ) { - $reviewCriticality = 'orange'; - } else { - $reviewCriticality = 'red'; // page is red because it has very few reviewers ->>>>>>> master } $classAndAttr = "class='pendingreviews-row $rowClass " . @@ -620,9 +611,7 @@ public function getPageHeader( User $user ) { * * @return string HTML for legend (table) */ -<<<<<<< HEAD - public function getPendingReviewsLegend () { - + public function getPendingReviewsLegend() { $scoreArr = $GLOBALS['egWatchAnalyticsReviewStatusColors']; //making sure array is sorted from highest to lowest krsort( $scoreArr, SORT_NUMERIC ); @@ -653,33 +642,6 @@ public function getPendingReviewsLegend () { $html .= ''; return $html; - -======= - public function getPendingReviewsLegend() { - $redMaxReviewers = $GLOBALS['egPendingReviewsRedPagesThreshold'] - 1; - $orangeMaxReviewers = $GLOBALS['egPendingReviewsOrangePagesThreshold'] - 1; - - $redReviewersMsg = $this->msg( - 'pendingreviews-reviewer-criticality-red', - $redMaxReviewers - )->text(); - - $orangeReviewersMsg = $this->msg( - 'pendingreviews-reviewer-criticality-orange', - $orangeMaxReviewers - )->text(); - - $greenReviewersMsg = $this->msg( - 'pendingreviews-reviewer-criticality-green', - $orangeMaxReviewers - )->text(); - - return " - - - -
$redReviewersMsg
$orangeReviewersMsg
$greenReviewersMsg
"; ->>>>>>> master } /** From 033c4bed748ffea30b3b41c98a5e06c8a884e62b Mon Sep 17 00:00:00 2001 From: Kris Field Date: Fri, 30 Nov 2018 20:22:01 -0600 Subject: [PATCH 07/11] formatting fixes --- includes/PageScore.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/includes/PageScore.php b/includes/PageScore.php index 2b6bc54..0d77765 100644 --- a/includes/PageScore.php +++ b/includes/PageScore.php @@ -65,7 +65,7 @@ public function getScoreColor( $score, $configVariable ) { $scoreArr = $GLOBALS[ $configVariable ]; krsort( $scoreArr, SORT_NUMERIC ); - foreach ($scoreArr as $scoreThreshold => $style) { + foreach ( $scoreArr as $scoreThreshold => $style ) { if ( $score >= $scoreThreshold ) { return $style; } @@ -74,7 +74,6 @@ public function getScoreColor( $score, $configVariable ) { } public function getPageScoreTemplate() { - // simple explanation of what PageScores are $pageScoresTooltip = wfMessage( 'watch-analytics-page-score-tooltip' )->text(); @@ -104,8 +103,7 @@ public function getBadge( $label, $score, $color, $showLabel = false ) { $rightStyle = ""; } - return - "
+ return "
$label
From 11fa13cfbf2459e511bb4563c924a40db79aca9f Mon Sep 17 00:00:00 2001 From: Kris Field Date: Fri, 30 Nov 2018 20:22:43 -0600 Subject: [PATCH 08/11] formatting fixes --- specials/SpecialPendingReviews.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/specials/SpecialPendingReviews.php b/specials/SpecialPendingReviews.php index d66592b..e8cdc0f 100644 --- a/specials/SpecialPendingReviews.php +++ b/specials/SpecialPendingReviews.php @@ -338,11 +338,11 @@ public function getRowHTML( PendingReview $item, $rowCount, $displayTitle, $butt $rowClass = ( $rowCount % 2 === 0 ) ? 'pendingreviews-even-row' : 'pendingreviews-odd-row'; $scoreArr = $GLOBALS['egWatchAnalyticsReviewStatusColors']; - //making sure array is sorted from highest to lowest + // making sure array is sorted from highest to lowest krsort( $scoreArr, SORT_NUMERIC ); - foreach ($scoreArr as $scoreThreshold => $style) { + foreach ( $scoreArr as $scoreThreshold => $style ) { if ( $item->numReviewers >= $scoreThreshold ) { - $reviewCriticalityClass = 'ext-watchanalytics-criticality-' .$style; + $reviewCriticalityClass = 'ext-watchanalytics-criticality-' . $style; } else { $reviewCriticalityClass = 'ext-watchanalytics-criticality-danger'; } @@ -613,11 +613,11 @@ public function getPageHeader( User $user ) { */ public function getPendingReviewsLegend() { $scoreArr = $GLOBALS['egWatchAnalyticsReviewStatusColors']; - //making sure array is sorted from highest to lowest + // making sure array is sorted from highest to lowest krsort( $scoreArr, SORT_NUMERIC ); $html = ""; - foreach ($scoreArr as $scoreThreshold => $style) { + foreach ( $scoreArr as $scoreThreshold => $style ) { $msg = $this->msg( "pendingreviews-reviewer-criticality-generic", $scoreThreshold @@ -626,15 +626,15 @@ public function getPendingReviewsLegend() { $html .= ""; } - //bottom threshold will always be "danger" class - //Get lowest value in array + // bottom threshold will always be "danger" class + // Get lowest value in array end( $scoreArr ); $smallestThreshold = key( $scoreArr ); - if ( $smallestThreshold == 1) { + if ( $smallestThreshold == 1 ) { $msg = $this->msg( "pendingreviews-reviewer-criticality-danger-zero" )->text(); } else { - $msg = $this->msg( "pendingreviews-reviewer-criticality-danger", $smallestThreshold-1 )->text(); + $msg = $this->msg( "pendingreviews-reviewer-criticality-danger", $smallestThreshold - 1 )->text(); } $html .= ""; From ed716b7db6cb20fda7f4f0e8060d50c44586845d Mon Sep 17 00:00:00 2001 From: Kris Field Date: Fri, 30 Nov 2018 20:32:37 -0600 Subject: [PATCH 09/11] clean up css formatting --- modules/base/ext.watchanalytics.base.css | 56 ++++++++++++------------ 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/modules/base/ext.watchanalytics.base.css b/modules/base/ext.watchanalytics.base.css index 54a66b9..6f242d1 100644 --- a/modules/base/ext.watchanalytics.base.css +++ b/modules/base/ext.watchanalytics.base.css @@ -26,34 +26,34 @@ tr.ext-watchanalytics-criticality-danger td:first-child { .ext-watchanalytics-criticality-plaid > div { background: - repeating-linear-gradient( - -45deg, - transparent 0%, - transparent 20%, - #d33 0, - #d33 50% - ), - repeating-linear-gradient( - 45deg, - transparent 0, - transparent 20%, - #00af89 0, - #00af89 50% - ), - repeating-linear-gradient( - transparent 0%, - transparent 20%, - #fc3 0, - #fc3 50% - ), white; - background-blend-mode: multiply; - background-size: 10px 10px; - color: #000; - text-shadow: - -1px -1px 0 #fff, - 1px -1px 0 #fff, - -1px 1px 0 #fff, - 1px 1px 0 #fff; + repeating-linear-gradient( + -45deg, + transparent 0%, + transparent 20%, + #d33 0, + #d33 50% + ), + repeating-linear-gradient( + 45deg, + transparent 0, + transparent 20%, + #00af89 0, + #00af89 50% + ), + repeating-linear-gradient( + transparent 0%, + transparent 20%, + #fc3 0, + #fc3 50% + ), white; + background-blend-mode: multiply; + background-size: 10px 10px; + color: #000; + text-shadow: + -1px -1px 0 #fff, + 1px -1px 0 #fff, + -1px 1px 0 #fff, + 1px 1px 0 #fff; } .ext-watchanalytics-criticality-okay > div { From 07545ed431c7c1c08d6e0779015e5c371ae6e16f Mon Sep 17 00:00:00 2001 From: Kris Field Date: Fri, 7 Dec 2018 18:58:16 -0600 Subject: [PATCH 10/11] handle settings changes --- extension.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extension.json b/extension.json index cf38562..6e10b78 100644 --- a/extension.json +++ b/extension.json @@ -214,7 +214,8 @@ "WatchAnalyticsWatchQualityColors": { "50" : "plaid", "5" : "excellent", - "1.5" : "okay" + "1.5" : "okay", + "_merge_strategy": "array_plus" }, "WatchAnalyticsReviewStatusColors": { "5" : "excellent", From f791691c1150c64fd1bae7b97a35de26ba4a7306 Mon Sep 17 00:00:00 2001 From: Kris Field Date: Fri, 7 Dec 2018 19:00:36 -0600 Subject: [PATCH 11/11] review status settings handling --- extension.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/extension.json b/extension.json index 6e10b78..5048cc2 100644 --- a/extension.json +++ b/extension.json @@ -219,7 +219,8 @@ }, "WatchAnalyticsReviewStatusColors": { "5" : "excellent", - "3" : "okay" + "3" : "okay", + "_merge_strategy": "array_plus" } }, "manifest_version": 1
$msg
$msg