MDL-50710 block_glossary_random: more precise sorting
authorMarina Glancy <marina@moodle.com>
Mon, 30 Nov 2015 01:15:40 +0000 (09:15 +0800)
committerMarina Glancy <marina@moodle.com>
Mon, 30 Nov 2015 01:16:28 +0000 (09:16 +0800)
blocks/glossary_random/block_glossary_random.php

index a16d200..6ca3bb5 100644 (file)
@@ -84,14 +84,13 @@ class block_glossary_random extends block_base {
             $limitfrom = 0;
             $limitnum = 1;
 
-            $BROWSE = 'timemodified';
+            $orderby = 'timemodified ASC';
 
             switch ($this->config->type) {
 
                 case BGR_RANDOMLY:
                     $i = rand(1,$numberofentries);
                     $limitfrom = $i-1;
-                    $SORT = 'ASC';
                     break;
 
                 case BGR_NEXTONE:
@@ -104,11 +103,10 @@ class block_glossary_random extends block_base {
                         $i = 1;
                     }
                     $limitfrom = $i-1;
-                    $SORT = 'ASC';
                     break;
 
                 case BGR_NEXTALPHA:
-                    $BROWSE = 'concept';
+                    $orderby = 'concept ASC';
                     if (isset($this->config->previous)) {
                         $i = $this->config->previous + 1;
                     } else {
@@ -118,20 +116,19 @@ class block_glossary_random extends block_base {
                         $i = 1;
                     }
                     $limitfrom = $i-1;
-                    $SORT = 'ASC';
                     break;
 
                 default:  // BGR_LASTMODIFIED
                     $i = $numberofentries;
                     $limitfrom = 0;
-                    $SORT = 'DESC';
+                    $orderby = 'timemodified DESC, id DESC';
                     break;
             }
 
             if ($entry = $DB->get_records_sql("SELECT id, concept, definition, definitionformat, definitiontrust
                                                  FROM {glossary_entries}
                                                 WHERE glossaryid = ? AND approved = 1
-                                             ORDER BY $BROWSE $SORT", array($this->config->glossary), $limitfrom, $limitnum)) {
+                                             ORDER BY $orderby", array($this->config->glossary), $limitfrom, $limitnum)) {
 
                 $entry = reset($entry);