]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-18058 glossary rates - secured ; merged from 19_STABLE
authorstronk7 <stronk7>
Wed, 6 May 2009 09:25:54 +0000 (09:25 +0000)
committerstronk7 <stronk7>
Wed, 6 May 2009 09:25:54 +0000 (09:25 +0000)
lang/en_utf8/glossary.php
mod/glossary/rate.php

index 167f33afb26728c3df51809f10c85afcfb260a96..c426781ce6028f3b984e0c87306235fae970a642 100644 (file)
@@ -147,6 +147,7 @@ $string['importentriesfromxml'] = 'Import entries from XML file';
 $string['includegroupbreaks'] = 'Include group breaks';
 $string['invalidid'] = 'Incorrect glossary id';
 $string['invalidglossaryformat'] = 'Invalid Glossary Format';
+$string['invalidrate'] = 'Invalid glossary rate ($a)';
 $string['isglobal'] = 'Is this glossary global?';
 $string['letter'] = 'letter';
 $string['linkcategory'] = 'Automatically link this category';
index 14375131c7bde9b380e36a980ccf61200761a77a..2523422b4072513067ec110d23387d10392e9170 100644 (file)
     }
 
     if ($data = data_submitted()) {    // form submitted
+
+    /// Calculate scale values
+        $scale_values = make_grades_menu($glossary->scale);
+
         foreach ((array)$data as $entryid => $rating) {
             if (!is_numeric($entryid)) {
                 continue;
             }
+
             if (!$entry = $DB->get_record('glossary_entries', array('id'=>$entryid))) {
                 continue;
             }
                 continue;
             }
 
+        /// Check rate is valid for that glossary scale values
+            if (!array_key_exists($rating, $scale_values) && $rating != -999) {
+                print_error('invalidrate', 'glossary', '', $rating);
+            }
+
             if ($oldrating = $DB->get_record("glossary_ratings", array("userid"=>$USER->id, "entryid"=>$entry->id))) {
                 //Check if we must delete the rate
                 if ($rating == -999) {