Example #1
0
 /**
  * Get an entry.
  *
  * @param int $id The entry ID.
  * @return array Containing entry and warnings.
  * @since Moodle 3.1
  * @throws moodle_exception
  * @throws invalid_parameter_exception
  */
 public static function get_entry_by_id($id)
 {
     global $DB, $USER;
     $params = self::validate_parameters(self::get_entry_by_id_parameters(), array('id' => $id));
     $id = $params['id'];
     $warnings = array();
     // Get and validate the glossary.
     $entry = $DB->get_record('glossary_entries', array('id' => $id), '*', MUST_EXIST);
     list($glossary, $context) = self::validate_glossary($entry->glossaryid);
     if (empty($entry->approved) && $entry->userid != $USER->id && !has_capability('mod/glossary:approve', $context)) {
         throw new invalid_parameter_exception('invalidentry');
     }
     $entry = glossary_get_entry_by_id($id);
     self::fill_entry_details($entry, $context);
     return array('entry' => $entry, 'warnings' => $warnings);
 }
Example #2
0
     list($allentries, $count) = glossary_get_entries_to_approve($glossary, $context, $hook, $sortkey, $sortorder, $offset, $pagelimit);
     break;
 case GLOSSARY_STANDARD_VIEW:
 default:
     $fullpivot = false;
     switch ($mode) {
         case 'search':
             list($allentries, $count) = glossary_get_entries_by_search($glossary, $context, $hook, $fullsearch, $sortkey, $sortorder, $offset, $pagelimit);
             break;
         case 'term':
             $printpivot = false;
             list($allentries, $count) = glossary_get_entries_by_term($glossary, $context, $hook, $offset, $pagelimit);
             break;
         case 'entry':
             $printpivot = false;
             $entry = glossary_get_entry_by_id($hook);
             $canapprove = has_capability('mod/glossary:approve', $context);
             if ($entry && ($entry->glossaryid == $glossary->id || $entry->sourceglossaryid != $glossary->id) && (!empty($entry->approved) || $entry->userid == $USER->id || $canapprove)) {
                 $count = 1;
                 $allentries = array($entry);
             } else {
                 $count = 0;
                 $allentries = array();
             }
             unset($entry, $canapprove);
             break;
         case 'letter':
         default:
             list($allentries, $count) = glossary_get_entries_by_letter($glossary, $context, $hook, $offset, $pagelimit);
             break;
     }