course)) { error("Course is misconfigured"); } if (! $glossary = get_record("glossary", "id", $cm->instance)) { error("Course module is incorrect"); } global $CFG; if ( !$entriesbypage = $glossary->entbypage ) { $entriesbypage = $CFG->glossary_entbypage; } if ($course->category) { require_login($course->id); if (isguest()) { error("You must be logged to use this page."); } } /// stablishing flag variables if ( $sortorder = strtolower($sortorder) ) { if ($sortorder != 'asc' and $sortorder != 'desc') { $sortorder = ''; } } if ( $sortkey = strtoupper($sortkey) ) { if ($sortkey != 'CREATION' and $sortkey != 'UPDATE' and $sortkey != 'FIRSTNAME' and $sortkey != 'LASTNAME' ) { $sortkey = ''; } } switch ( $mode = strtolower($mode) ) { case 'entry': /// Looking for a certain entry id $tab = GLOSSARY_STANDARD_VIEW; break; case 'cat': /// Looking for a certain cat $tab = GLOSSARY_CATEGORY_VIEW; if ( $hook > 0 ) { $category = get_record("glossary_categories","id",$hook); } break; case 'approval': /// Looking for entries waiting for approval $tab = GLOSSARY_APPROVAL_VIEW; if ( !$hook and !$sortkey and !$sortorder) { $hook = 'ALL'; } break; case 'term': /// Looking for entries that include certain term in its concept, definition or aliases $tab = GLOSSARY_STANDARD_VIEW; break; case 'date': $tab = GLOSSARY_DATE_VIEW; if ( !$sortkey ) { $sortkey = 'UPDATE'; } if ( !$sortorder ) { $sortorder = 'desc'; } break; case 'author': /// Looking for entries, browsed by author $tab = GLOSSARY_AUTHOR_VIEW; if ( !$hook ) { $hook = 'ALL'; } if ( !$sortkey ) { $sortkey = 'FIRSTNAME'; } if ( !$sortorder ) { $sortorder = 'asc'; } break; case 'letter': /// Looking for entries that begin with a certain letter, ALL or SPECIAL characters default: $tab = GLOSSARY_STANDARD_VIEW; if ( !$hook ) { $hook = 'ALL'; } break; } include_once("sql.php"); $entriesshown = 0; $currentpivot = ''; if ( $hook == 'SPECIAL' ) { $alphabet = explode(",", get_string("alphabet")); } $tableisopen = 0; $site = get_record("course","id",1); echo '
' . userdate(time()) . '
'; echo '' . $site->fullname . ''; if ( $allentries ) { foreach ($allentries as $entry) { /// Setting the pivot for the current entry $pivot = $entry->pivot; if ( !$fullpivot ) { $pivot = $pivot[0]; } /// /// Validating special cases not covered by the SQL statement /// /// if we're browsing by alphabet and the current concept does not begin with /// the letter we are look for. $showentry = 1; if ( $mode == 'letter' and $hook != 'SPECIAL' and $hook != 'ALL' ) { if ( substr($entry->concept, 0, strlen($hook)) != $hook ) { $showentry = 0; } } /// if we're browsing for letter, looking for special characters not covered /// in the alphabet if ( $showentry and $hook == 'SPECIAL' ) { $initial = $entry->concept[0]; for ($i = 0; $i < count($alphabet); $i++) { $curletter = $alphabet[$i]; if ( $curletter == $initial ) { $showentry = 0; break; } } } /// if we're browsing categories, looking for entries not categorised. if ( $showentry and $mode == 'cat' and $hook == GLOSSARY_SHOW_NOT_CATEGORISED ) { if ( record_exists("glossary_entries_categories", "entryid", $entry->id)) { $showentry = 0; } } /// if the entry is not approved, deal with it based on the current view and /// user. if ( $showentry and $mode != 'approval' ) { if ( !$entry->approved and isteacher($course->id, $entry->userid) ) { $showentry = 0; } } /// ok, if it's a valid entry.. Print it. if ( $showentry ) { if ( !$tableisopen ) { echo '
'; $user = get_record("user","id",$entry->uid); $pivottoshow = fullname($user, isteacher($course->id)); } else { echo ' | '; } echo "$pivottoshow" ; echo ' | '; echo '||
'. $entry->concept . ': | '; echo '';
if ( $entry->attachment) {
glossary_print_entry_attachment($entry);
}
echo strip_tags($entry->definition);
echo ' |