|
@@ -23,11 +23,12 @@ define('SCORE_DIV_PERCENT_WITH_CUSTOM', 9); // X / Y (XX %) - Good!
|
|
|
define('SCORE_CUSTOM', 10); // Good!
|
|
|
define('SCORE_DIV_SIMPLE_WITH_CUSTOM', 11); // X - Good!
|
|
|
|
|
|
+define('SCORE_DIV_SIMPLE_WITH_CUSTOM_LETTERS', 12); // X (ex) - Good!
|
|
|
+
|
|
|
define('SCORE_BOTH',1);
|
|
|
define('SCORE_ONLY_DEFAULT',2);
|
|
|
define('SCORE_ONLY_CUSTOM',3);
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* Class to display scores according to the settings made by the platform admin.
|
|
|
* This class works as a singleton: call instance() to retrieve an object.
|
|
@@ -55,8 +56,7 @@ class ScoreDisplay
|
|
|
/**
|
|
|
* Compare the custom display of 2 scores, can be useful in sorting
|
|
|
*/
|
|
|
- public static function compare_scores_by_custom_display ($score1, $score2)
|
|
|
- {
|
|
|
+ public static function compare_scores_by_custom_display ($score1, $score2) {
|
|
|
if (!isset($score1)) {
|
|
|
return (isset($score2) ? 1 : 0);
|
|
|
} elseif (!isset($score2)) {
|
|
@@ -271,8 +271,7 @@ class ScoreDisplay
|
|
|
}
|
|
|
|
|
|
// Internal functions
|
|
|
- private function display_default ($score, $type) {
|
|
|
-
|
|
|
+ private function display_default ($score, $type) {
|
|
|
switch ($type) {
|
|
|
case SCORE_DIV : // X / Y
|
|
|
return $this->display_as_div($score);
|
|
@@ -295,7 +294,23 @@ class ScoreDisplay
|
|
|
if (!empty($custom)) {
|
|
|
$custom = ' - '.$custom;
|
|
|
}
|
|
|
- return $this->display_simple_score($score).$custom;
|
|
|
+ return $this->display_simple_score($score).$custom;
|
|
|
+ break;
|
|
|
+ case SCORE_DIV_SIMPLE_WITH_CUSTOM_LETTERS:
|
|
|
+ $custom = $this->display_custom($score);
|
|
|
+ if (!empty($custom)) {
|
|
|
+ $custom = ' - '.$custom;
|
|
|
+ }
|
|
|
+ //needs sudo apt-get install php5-intl
|
|
|
+ if (class_exists(NumberFormatter)) {
|
|
|
+ $iso = api_get_language_isocode();
|
|
|
+ $f = new NumberFormatter($iso, NumberFormatter::SPELLOUT);
|
|
|
+ $letters = $f->format($score[0]);
|
|
|
+ $letters = api_strtoupper($letters);
|
|
|
+ $letters = " ($letters) ";
|
|
|
+ }
|
|
|
+ return $this->display_simple_score($score).$letters.$custom;
|
|
|
+ break;
|
|
|
case SCORE_CUSTOM: // Good!
|
|
|
return $this->display_custom($score);
|
|
|
}
|
|
@@ -440,7 +455,7 @@ class ScoreDisplay
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private function sort_display ($item1, $item2) {
|
|
|
+ private function sort_display($item1, $item2) {
|
|
|
if ($item1['score'] == $item2['score']) {
|
|
|
return 0;
|
|
|
} else {
|