dirroot/rss/rsslib.php"); global $CFG, $THEME, $USER; $debug = 0; $CFG->startpagetime = microtime(); optional_variable($id); // Course Module ID optional_variable($g); // Glossary ID optional_variable($tab,GLOSSARY_NO_VIEW); // browsing entries by categories? optional_variable($displayformat,-1); // override of the glossary display format $mode = optional_param('mode'); // term entry cat date letter search author approval $hook = optional_param('hook'); // the term, entry, cat, etc... to look for based on mode $fullsearch = optional_param('fullsearch',0);// full search (concept and definition) when searching? $sortkey = optional_param('sortkey'); // Sorted view: CREATION | UPDATE | FIRSTNAME | LASTNAME... $sortorder = optional_param('sortorder'); // it defines the order of the sorting (ASC or DESC) $offset = optional_param('offset',0); // entries to bypass (for paging purpouses) $page = optional_param('page',0); // Page to show (for paging purpouses) $show = optional_param('show'); // [ concept | alias ] => mode=term hook=$show if (!empty($id)) { if (! $cm = get_record("course_modules", "id", $id)) { error("Course Module ID was incorrect"); } if (! $course = get_record("course", "id", $cm->course)) { error("Course is misconfigured"); } if (! $glossary = get_record("glossary", "id", $cm->instance)) { error("Course module is incorrect"); } } else if (!empty($g)) { if (! $glossary = get_record("glossary", "id", $g)) { error("Course module is incorrect"); } if (! $course = get_record("course", "id", $glossary->course)) { error("Could not determine which course this belonged to!"); } if (!$cm = get_coursemodule_from_instance("glossary", $glossary->id, $course->id)) { error("Could not determine which course module this belonged to!"); } $id = $cm->id; } else { error("Must specify glossary ID or course module ID"); } if ($CFG->forcelogin) { require_login(); } /// redirecting if adding a new entry if ($tab == GLOSSARY_ADDENTRY_VIEW ) { redirect("edit.php?id=$cm->id&mode=$mode"); } /// setting the defaut number of entries per page if not set if ( !$entriesbypage = $glossary->entbypage ) { $entriesbypage = $CFG->glossary_entbypage; } /// If we have received a page, recalculate offset if ($page != 0 && $offset == 0) { $offset = $page * $entriesbypage; } /// setting the default values for the display mode of the current glossary /// only if the glossary is viewed by the first time if ( $dp = get_record('glossary_formats','name', $glossary->displayformat) ) { $printpivot = $dp->showgroup; if ( $mode == '' and $hook == '' and $show == '') { $mode = $dp->defaultmode; $hook = $dp->defaulthook; $sortkey = $dp->sortkey; $sortorder = $dp->sortorder; } } else { $printpivot = 1; if ( $mode == '' and $hook == '' and $show == '') { $mode = 'letter'; $hook = 'ALL'; } } if ( $displayformat == -1 ) { $displayformat = $glossary->displayformat; } if ( $show ) { $mode = 'term'; $hook = $show; $show = ''; } /// Processing standard security processes $navigation = ""; if ($course->category) { $navigation = "id\">$course->shortname ->"; require_login($course->id); } if (!$cm->visible and !isteacher($course->id)) { print_header(); notice(get_string("activityiscurrentlyhidden")); } add_to_log($course->id, "glossary", "view", "view.php?id=$cm->id&tab=$tab", $glossary->id, $cm->id); /// 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 'search': /// looking for terms containing certain word(s) $tab = GLOSSARY_STANDARD_VIEW; $searchterms = explode(' ', $hook); // Search for words independently foreach ($searchterms as $key => $searchterm) { if (strlen($searchterm) < 2) { unset($searchterms[$key]); } } $hook = trim(implode(' ', $searchterms)); break; case 'entry': /// Looking for a certain entry id $tab = GLOSSARY_STANDARD_VIEW; if ( $dp = get_record("glossary_formats","name", $glossary->displayformat) ) { $displayformat = $dp->popupformatname; } 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; } switch ( $tab ) { case GLOSSARY_IMPORT_VIEW: case GLOSSARY_EXPORT_VIEW: case GLOSSARY_APPROVAL_VIEW: $isuserframe = 0; break; default: $isuserframe = 1; break; } /// Printing the heading $strglossaries = get_string("modulenameplural", "glossary"); $strglossary = get_string("modulename", "glossary"); $strallcategories = get_string("allcategories", "glossary"); $straddentry = get_string("addentry", "glossary"); $strnoentries = get_string("noentries", "glossary"); $strsearchconcept = get_string("searchconcept", "glossary"); $strsearchindefinition = get_string("searchindefinition", "glossary"); $strsearch = get_string("search"); print_header(strip_tags("$course->shortname: $glossary->name"), "$course->fullname", "$navigation id\">$strglossaries -> $glossary->name", "", "", true, update_module_button($cm->id, $course->id, $strglossary), navmenu($course, $cm)); //If rss are activated at site and glossary level and this glossary has rss defined, show link if (isset($CFG->enablerssfeeds) && isset($CFG->glossary_enablerssfeeds) && $CFG->enablerssfeeds && $CFG->glossary_enablerssfeeds && $glossary->rsstype && $glossary->rssarticles) { echo '
'; $tooltiptext = get_string("rsssubscriberss","glossary",$glossary->name); if (empty($USER->id)) { $userid = 0; } else { $userid = $USER->id; } rss_print_link($course->id, $userid, "glossary", $glossary->id, $tooltiptext); echo ' |
' . stripslashes_safe($glossary->name);
if ( $isuserframe and $mode != 'search') {
/// the "Print" icon
echo " id&mode=$mode&hook=$hook&sortkey=$sortkey&sortorder=$sortorder&offset=$offset\">";
echo '';
}
echo '
';
echo format_text($glossary->intro);
print_simple_box_end();
}
/// Search box
// echo ' '; echo ' |