From 466ea2349aceb6905618d875776696c1172e1be0 Mon Sep 17 00:00:00 2001 From: willcast Date: Mon, 29 Sep 2003 17:45:42 +0000 Subject: [PATCH] - Implementing output text filters for glossary entries dynalink.php::glossary_dynamic_link($courseid, $text, $glossaryid = NULL) --- mod/glossary/dynalink.php | 66 ++++++++++++++++++++++++++++++++++++++ mod/glossary/showentry.php | 38 ++++++++++++++++++++++ mod/glossary/view.php | 9 ++++-- 3 files changed, 111 insertions(+), 2 deletions(-) create mode 100644 mod/glossary/dynalink.php create mode 100644 mod/glossary/showentry.php diff --git a/mod/glossary/dynalink.php b/mod/glossary/dynalink.php new file mode 100644 index 0000000000..e2ac283224 --- /dev/null +++ b/mod/glossary/dynalink.php @@ -0,0 +1,66 @@ +id,"concept ASC"); + } + if ( $entries ) { + foreach ( $entries as $entry ) { + + $href_tag_begin = "name: $entry->concept") ."\" href=\"$CFG->wwwroot/mod/glossary/showentry.php?courseid=$courseid&eid=$entry->id\" ". + "onClick=\"return openpopup('/mod/glossary/showentry.php?courseid=$courseid&eid=$entry->id', 'entry', 'menubar=0,location=0,scrollbars,resizable,width=600,height=450', 0);\">"; + + $concept = trim(strip_tags($entry->concept)); + + $text = glossary_link_concepts($text,$concept,$href_tag_begin); + } + } + } + + return $text; + } + + function glossary_link_concepts($text,$concept,$href_tag_begin,$href_tag_end = "") { + $list_of_words = eregi_replace("[^-a-zA-Z0-9&']", " ", $concept); + $list_array = explode(" ", $list_of_words); + for ($i=0; $i/is',$text,$list_of_words); + + foreach (array_unique($list_of_words[0]) as $key=>$value) { + $final['<|'.$key.'|>'] = $value; + } + + $text = str_replace($final,array_keys($final),$text); + $list_of_words_cp = eregi_replace(" +", "|", $list_of_words_cp); + + if ($list_of_words_cp{0}=="|") { + $list_of_words_cp{0} = ""; + } + if ($list_of_words_cp{strlen($list_of_words_cp)-1}=="|") { + $list_of_words_cp{strlen($list_of_words_cp)-1}=""; + } + $list_of_words_cp = "(".trim($list_of_words_cp).")"; + + $text = eregi_replace("$list_of_words_cp", "$href_tag_begin"."\\1"."$href_tag_end", $text); + + $text = str_replace(array_keys($final),$final,$text); + + return stripslashes($text); + } +?> diff --git a/mod/glossary/showentry.php b/mod/glossary/showentry.php new file mode 100644 index 0000000000..5735c3095c --- /dev/null +++ b/mod/glossary/showentry.php @@ -0,0 +1,38 @@ +cellheading2; + + echo "\n
"; + echo ""; + echo "
"; + if ($entry->attachment) { + $entry->course = $courseid; + echo "
"; + echo glossary_print_attachments($entry,"html"); + echo "
"; + } + echo "$entry->concept: "; + echo format_text($entry->definition, $entry->format); + echo "
"; + } + +?> + + + diff --git a/mod/glossary/view.php b/mod/glossary/view.php index 72e45d1ff6..dde2c4d852 100644 --- a/mod/glossary/view.php +++ b/mod/glossary/view.php @@ -4,6 +4,7 @@ require_once("../../config.php"); require_once("lib.php"); + require_once("dynalink.php"); require_variable($id); // Course Module ID, or @@ -242,9 +243,13 @@ } } if ($search) { - $entry->concept = highlight($search,$concept); - $entry->definition = highlight($search,$definition); + $entry->concept = highlight($search,$concept); + $entry->definition = highlight($search,$definition); } + if ( !glossary->mainglossary ) { + $entry->definition = glossary_dynamic_link($course->id,$definition); + } + glossary_print_entry($course, $cm, $glossary, $entry,$currentview,$cat); if ( $glossary->displayformat != 0 ) { -- 2.39.5