Changeset 7881009
- Timestamp:
- 08/03/10 15:57:22 (22 months ago)
- Branches:
- ('vitrine', 'afe109c61a407808bd54d88bcccb1cde726a010a')
- Children:
- 40b776200594c701c753128afba06482fdad2096
- Parents:
- d2251881ea09088527fdec8e434808958380de12e57f6dda83963d9f5539d698c854d55864eec824
- git-author:
- Benoit Grégoire <benoitg@coeus.ca>2010-08-03 15:57:22-04:00
- git-committer:
- Benoit Grégoire <benoitg@coeus.ca>2010-08-03 15:57:22-04:00
- Files:
-
- 13 added
- 32 edited
-
html/admin/group_editor.php (modified) (1 diff)
-
html/admin/vcard_admin.php (modified) (2 diffs)
-
html/admin/virtual_hosts_admin.php (modified) (1 diff)
-
html/admin/vocabulary_admin.php (modified) (2 diffs)
-
html/classes/AbstractSpider.php (modified) (1 diff)
-
html/classes/File.php (modified) (1 diff)
-
html/classes/JS_DOMSelectBoxManager.php (modified) (1 diff)
-
html/classes/Lom.php (modified) (1 diff)
-
html/classes/LomAnnotation.php (modified) (2 diffs)
-
html/classes/LomContribution.php (modified) (2 diffs)
-
html/classes/Menus.php (modified) (2 diffs)
-
html/classes/PopUpHelpGenerator.php (modified) (2 diffs)
-
html/classes/SearchEngine.php (modified) (19 diffs)
-
html/classes/Style.php (modified) (1 diff)
-
html/classes/ThemeList.php (modified) (1 diff)
-
html/classes/VCard.php (modified) (6 diffs)
-
html/classes/VCardList.php (modified) (3 diffs)
-
html/classes/VocabularyList.php (modified) (4 diffs)
-
html/config/config.php (modified) (2 diffs)
-
html/import/import.php (modified) (2 diffs)
-
html/include/schema_validate.php (modified) (3 diffs)
-
html/my_bookmarks.php (modified) (4 diffs)
-
html/signup.php (modified) (2 diffs)
-
html/suggest.php (modified) (1 diff)
-
html/themes/base_theme/stylesheet.css (modified) (1 diff)
-
html/themes/custom_themes/NTIC.ORG/stylesheet.css (modified) (1 diff)
-
sql/nested_set_api.sql (modified) (4 diffs)
-
html/admin/spider_admin.php (modified) (1 diff)
-
html/admin/spider_interface.php (modified) (1 diff)
-
html/custom_content/default/Documentation.php (modified) (2 diffs)
-
html/custom_content/default/Presentation.php (modified) (3 diffs)
-
html/custom_content/default/videos/creating.mov (added)
-
html/custom_content/default/videos/fiche.mov (added)
-
html/custom_content/default/videos/gestion.mov (added)
-
html/custom_content/default/videos/guided_tour.mov (added)
-
html/custom_content/default/videos/modele.mov (added)
-
html/custom_content/default/videos/tour.mov (added)
-
html/custom_content/default/videos/using.mov (added)
-
html/custom_content/guide/Presentation.php (added)
-
html/custom_content/guide/images/entete_logo.gif (added)
-
html/custom_content/guide/images/guide_en.jpg (added)
-
html/custom_content/guide/images/guide_fr.jpg (added)
-
html/custom_content/guide_en/Presentation.php (added)
-
html/favicon.ico (added)
-
html/include/common.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
html/admin/group_editor.php
r3550449 r146c4215 37 37 $menus = new Menus(); 38 38 $meta_array = array ( 39 '<script type="text/javascript" src=" /ajax/controller.php?client=all&stub=AjaxVocabulary"></script>',40 '<script type="text/javascript" src=" /ajax/menuhandler.js"></script>'39 '<script type="text/javascript" src="' . URL_ROOT_PATH . 'ajax/controller.php?client=all&stub=AjaxVocabulary"></script>', 40 '<script type="text/javascript" src="' . URL_ROOT_PATH . 'ajax/menuhandler.js"></script>' 41 41 ); 42 42 $title = _("Eureka, Group LO editor"); 43 43 echo $style->getHeader(null, $title, true, false, array ( 44 "" . BASE_URL_PATH . "images/b_add_o.gif",45 "" . BASE_URL_PATH . "images/b_delete_o.gif"44 URL_ROOT_PATH . "images/b_add_o.gif", 45 URL_ROOT_PATH . "images/b_delete_o.gif" 46 46 ), $meta_array); 47 47 echo $menus->getMainLeftMenu(); -
html/admin/vcard_admin.php
r3550449 r146c4215 334 334 break; 335 335 } 336 $redirect_url = BASE_URL_PATH."admin/lom_admin.php?action=".$_REQUEST['redirect_action']."&lom_id=".$_REQUEST['redirect_lom_id']."§ion=".$_REQUEST['redirect_section'];336 $redirect_url = FICHE_ADMIN_URL."?action=".$_REQUEST['redirect_action']."&lom_id=".$_REQUEST['redirect_lom_id']."§ion=".$_REQUEST['redirect_section']; 337 337 echo "<script type='text/javascript'>SubmitOpenerWindow('".$redirect_url."','true');</script>"; 338 338 } … … 585 585 break; 586 586 } 587 $redirect_url = BASE_URL_PATH."admin/lom_admin.php?action=".$_REQUEST['redirect_action']."&lom_id=".$_REQUEST['redirect_lom_id']."§ion=".$_REQUEST['redirect_section'];587 $redirect_url = FICHE_ADMIN_URL."?action=".$_REQUEST['redirect_action']."&lom_id=".$_REQUEST['redirect_lom_id']."§ion=".$_REQUEST['redirect_section']; 588 588 echo "<script type='text/javascript'>SubmitOpenerWindow('".$redirect_url."','false');</script>"; 589 589 -
html/admin/virtual_hosts_admin.php
r3550449 r146c4215 36 36 $style = new Style(); 37 37 $menus = new Menus(); 38 $meta_array = array ('<script type="text/javascript" src=" /ajax/controller.php?client=all&stub=AjaxVocabulary"></script>', '<script type="text/javascript" src="/ajax/menuhandler.js"></script>');39 echo $style->getHeader(null, _("Eureka, Virtual hosts management"), false, false, array ("". BASE_URL_PATH."images/b_add_o.gif", "".BASE_URL_PATH."images/b_delete_o.gif"), $meta_array);38 $meta_array = array ('<script type="text/javascript" src="'.URL_ROOT_PATH.'ajax/controller.php?client=all&stub=AjaxVocabulary"></script>', '<script type="text/javascript" src="'.URL_ROOT_PATH.'ajax/menuhandler.js"></script>'); 39 echo $style->getHeader(null, _("Eureka, Virtual hosts management"), false, false, array ("".URL_ROOT_PATH."images/b_add_o.gif", "".URL_ROOT_PATH."images/b_delete_o.gif"), $meta_array); 40 40 echo $menus->getMainLeftMenu('ADMIN_VIRTUAL_HOSTS'); 41 41 //pretty_print_r($_REQUEST); -
html/admin/vocabulary_admin.php
r3550449 r146c4215 36 36 error_reporting(E_ALL); 37 37 $meta_array = array ( 38 '<script type="text/javascript" src=" /ajax/controller.php?client=all&stub=AjaxVocabulary"></script>',39 '<script type="text/javascript" src=" /ajax/menuhandler.js"></script>'38 '<script type="text/javascript" src="'.URL_ROOT_PATH.'ajax/controller.php?client=all&stub=AjaxVocabulary"></script>', 39 '<script type="text/javascript" src="'.URL_ROOT_PATH.'ajax/menuhandler.js"></script>' 40 40 ); 41 41 $style = new Style(); … … 43 43 if (empty ($_REQUEST['action']) || ($_REQUEST['action'] != "exportall" && $_REQUEST['action'] != "export")) 44 44 { 45 echo $style->getHeader(null, _("Eureka, Vocabularies management"), false, false, array ("". BASE_URL_PATH."images/b_add_o.gif", "".BASE_URL_PATH."images/b_delete_o.gif"), $meta_array);45 echo $style->getHeader(null, _("Eureka, Vocabularies management"), false, false, array ("".URL_ROOT_PATH."images/b_add_o.gif", "".URL_ROOT_PATH."images/b_delete_o.gif"), $meta_array); 46 46 echo $menus->getMainLeftMenu('ADMIN_THESAURUS'); 47 47 } -
html/classes/AbstractSpider.php
r3550449 r2b2d3e9 60 60 $db->ExecuterSqlResUnique("SELECT spider_id, protocol FROM spiders WHERE spider_id = {$spider_id};", $spider_row, false); 61 61 require_once('classes/'.$spider_row['protocol'].".php"); 62 $retval = &new $spider_row['protocol']($id);62 $retval = new $spider_row['protocol']($id); 63 63 self :: $object_cache[$id] = $retval; 64 64 } -
html/classes/File.php
r3550449 r146c4215 141 141 */ 142 142 public function getURL() { 143 return BASE_URL_PATH."file_download.php?lom_id={$this->mId[0]}&filename=".urlencode($this->mId[1])."";143 return URL_ROOT_PATH."file_download.php?lom_id={$this->mId[0]}&filename=".urlencode($this->mId[1]); 144 144 } 145 145 -
html/classes/JS_DOMSelectBoxManager.php
r3550449 r146c4215 1 1 <?php 2 require_once 'config/config.php'; 2 3 // This JavaScript code requires the HttpRequestWrapper to work properly 3 echo '<script type="text/javascript" src=" /js/DOMSelectBoxManager.js"></script>'."\n";4 echo '<script type="text/javascript" src=" /js/HttpRequestWrapper.js"></script>'."\n";4 echo '<script type="text/javascript" src="'.URL_ROOT_PATH.'js/DOMSelectBoxManager.js"></script>'."\n"; 5 echo '<script type="text/javascript" src="'.URL_ROOT_PATH.'js/HttpRequestWrapper.js"></script>'."\n"; -
html/classes/Lom.php
r3550449 r146c4215 2609 2609 echo "<div class='localisation'>\n"; 2610 2610 if ($current_user->isInBookmarks($this)) 2611 echo "<a href=' my_bookmarks.php?action=remove&oai_id={$this->getOaiId()->getEntry()}'><img style='vertical-align: middle;' src='" . BASE_URL_PATH . "images/b_remove_basket.gif'> " . _("Remove from my bookmarks") . "</a>\n";2611 echo "<a href='".BOOKMARKS_URL."?action=remove&oai_id={$this->getOaiId()->getEntry()}'><img style='vertical-align: middle;' src='" . BASE_URL_PATH . "images/b_remove_basket.gif'> " . _("Remove from my bookmarks") . "</a>\n"; 2612 2612 else 2613 echo "<a href=' my_bookmarks.php?action=add&oai_id={$this->getOaiId()->getEntry()}'><img style='vertical-align: middle;' src='" . BASE_URL_PATH . "images/b_add_basket.gif'> " . _("Add to my bookmarks") . "</a>\n";2613 echo "<a href='".BOOKMARKS_URL."?action=add&oai_id={$this->getOaiId()->getEntry()}'><img style='vertical-align: middle;' src='" . BASE_URL_PATH . "images/b_add_basket.gif'> " . _("Add to my bookmarks") . "</a>\n"; 2614 2614 echo "</div>\n"; 2615 2615 echo "</td></tr></table>"; -
html/classes/LomAnnotation.php
r3550449 r146c4215 220 220 if (!empty ($lom_8_annotation_row['lom_8_1_entity_vcards_id'])) 221 221 { 222 $RefPrefixe = "/display_vcard.php";222 $RefPrefixe = URL_ROOT_PATH."display_vcard.php"; 223 223 224 224 echo "<tr>"; … … 239 239 elseif ($vcard_result['photo_data'] != null) 240 240 { 241 echo "<img src=' /image_view.php?vcard_id=".$lom_8_annotation_row['lom_8_1_entity_vcards_id']."&type=photo' height='45px'>\n";241 echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$lom_8_annotation_row['lom_8_1_entity_vcards_id']."&type=photo' height='45px'>\n"; 242 242 echo "</TD>\n"; 243 243 } -
html/classes/LomContribution.php
r3550449 r146c4215 267 267 } 268 268 269 $RefPrefixe = "/display_vcard.php";269 $RefPrefixe = URL_ROOT_PATH."display_vcard.php"; 270 270 271 271 $lom_contributions_row = $this->mRow; … … 357 357 echo "<br>\n"; 358 358 } 359 echo "<a href='".htmlspecialchars( BASE_URL_PATH."search.php?action=execute_search&search_lo_contrib_vcard_id=".$value['vcards_id'])."'>".sprintf(_("Show other resources from the same %s"), $role_caption)."</a>\n";359 echo "<a href='".htmlspecialchars(SEARCH_URL."?action=execute_search&search_lo_contrib_vcard_id=".$value['vcards_id'])."'>".sprintf(_("Show other resources from the same %s"), $role_caption)."</a>\n"; 360 360 361 361 echo "</td>\n</tr>\n"; -
html/classes/Menus.php
r3971923 r7881009 84 84 $retval .= "<ul>\n"; 85 85 // Options génériques 86 $retval .= $this->getEntry(_("Home"), BASE_URL_PATH .'', $active == 'HOME');87 $retval .= $this->getEntry(_("Thematic navigation"), BASE_URL_PATH.'navigate_themes.php', $active == 'NAVIGATE_THEMES');88 $retval .= $this->getEntry(_("Search"), BASE_URL_PATH.'search.php', $active == 'SEARCH');86 $retval .= $this->getEntry(_("Home"), BASE_URL_PATH, $active == 'HOME'); 87 $retval .= $this->getEntry(_("Thematic navigation"), NAVIGATE_THEMES_URL, $active == 'NAVIGATE_THEMES'); 88 $retval .= $this->getEntry(_("Search"), SEARCH_URL, $active == 'SEARCH'); 89 89 if(VirtualHost::getCurrentVirtualHost()->isBookmarksEnabled()){ 90 $retval .= $this->getEntry(_("Bookmarks"), B ASE_URL_PATH.'my_bookmarks.php', $active == 'MY_BOOKMARKS');90 $retval .= $this->getEntry(_("Bookmarks"), BOOKMARKS_URL, $active == 'MY_BOOKMARKS'); 91 91 } 92 92 // Everybody can suggest learning objects that will go in a dropbox … … 114 114 { 115 115 $retval .= $this->getEntry(_("Broken links checker"), BROKEN_LINKS_CHECKER_URL, $active == 'BROKEN_LINKS_CHECKER'); 116 $retval .= $this->getEntry(_("Users list"), BASE_URL_PATH.'admin/user_list.php', $active == 'ADMIN_USERS');116 $retval .= $this->getEntry(_("Users list"), USER_LIST_URL, $active == 'ADMIN_USERS'); 117 117 } 118 118 119 119 // Super-users and VCard-admin can edit VCards 120 120 if($usager->IsSuperAdmin() || $usager->IsVCardsAdmin()) 121 $retval .= $this->getEntry(_("vCards management"), BASE_URL_PATH.'admin/vcard_admin.php', $active == 'ADMIN_VCARD');121 $retval .= $this->getEntry(_("vCards management"), VCARD_ADMIN_URL, $active == 'ADMIN_VCARD'); 122 122 123 123 if ($usager->IsSuperAdmin()) 124 124 { 125 $retval .= $this->getEntry(_("Vocabularies management, taxonomies and thesauri"), BASE_URL_PATH.'admin/vocabulary_admin.php', $active == 'ADMIN_THESAURUS');126 $retval .= $this->getEntry(_("Application profiles management"), BASE_URL_PATH.'admin/application_profile_admin.php', $active == 'ADMIN_PROFILES');127 $retval .= $this->getEntry(_("Virtual hosts management"), BASE_URL_PATH.'admin/virtual_hosts_admin.php', $active == 'ADMIN_VIRTUAL_HOSTS');128 //$retval .= $this->getEntry(_("Robots management"), BASE_URL_PATH.'admin/spider_admin.php', $active == 'ADMIN_ROBOTS');125 $retval .= $this->getEntry(_("Vocabularies management, taxonomies and thesauri"), VOCABULARY_ADMIN_URL, $active == 'ADMIN_THESAURUS'); 126 $retval .= $this->getEntry(_("Application profiles management"), APPLICATION_PROFILE_ADMIN_URL, $active == 'ADMIN_PROFILES'); 127 $retval .= $this->getEntry(_("Virtual hosts management"), VIRTUAL_HOST_ADMIN_URL, $active == 'ADMIN_VIRTUAL_HOSTS'); 128 //$retval .= $this->getEntry(_("Robots management"), SPIDER_ADMIN_URL, $active == 'ADMIN_ROBOTS'); 129 129 } 130 130 -
html/classes/PopUpHelpGenerator.php
r3550449 r6fcfc31 38 38 function getUniqueTooltipId($prefix, $id) 39 39 { 40 return $prefix.$id.'_' .mt_rand();40 return $prefix.$id.'_';//.mt_rand(); 41 41 } 42 42 … … 82 82 @param boolean showNumber ( show element number ) 83 83 @param string caption_style (one of the three caption styles) 84 @param string Return the id of the tooltip div 84 85 @return The generated caption HTML code 85 86 */ 86 function getLomCaptionHelp($element, $obligation = null, $showNumber = true, $caption_style = "normal", $prefix = "" )87 function getLomCaptionHelp($element, $obligation = null, $showNumber = true, $caption_style = "normal", $prefix = "", &$tooltip_id=null) 87 88 { 88 89 // get a valid css style class -
html/classes/SearchEngine.php
rd225188 r7881009 41 41 private $valid_search_terms = null; 42 42 private $ignored_search_terms = null; 43 private $search_term_patterns = null;44 private $search_term_replacements = null;45 43 46 44 private $search_lom_status = null; … … 157 155 return $retval; 158 156 } 157 158 static function localeToPostgresqlIndexingLanguage(Locale $locale) { 159 $lang = $locale->getLang()->getShort(); //Two letter code 160 $indexingLanguages = self::getIndexingLanguages(); 161 $tsConfigs = self::getSupportedPostgresTextSearchConfigurations(); 162 $retval='simple'; 163 if(FALSE!==$key=array_search($lang, $tsConfigs)) { 164 if(FALSE!==array_search($key, $indexingLanguages)) { 165 $retval=$key; 166 } 167 } 168 return $retval; 169 } 170 159 171 /** SQL fragment to limit a query to the candidate LO thaking the virtual host's themes and languages 160 172 * in consideration. Note that this query will return null if there … … 316 328 switch ($criteria) { 317 329 case 'RELEVANCE': 318 $this->ordering_criteria_sql=' count';330 $this->ordering_criteria_sql='total_rank'; 319 331 break; 320 332 case 'VALIDATION_DATE': … … 460 472 } 461 473 462 /** SQL fragment to limit a query to the selected themes according to theme limit restrictions. DO notuse to JOIN with LOs, NOT queries will not work474 /** SQL fragment to limit a query to the selected themes according to theme limit restrictions. DO NOT use to JOIN with LOs, NOT queries will not work 463 475 * @return SQL fragment */ 464 476 private function getSqlThemeLimitWhere() { … … 678 690 //Keyword search (themes and LO) 679 691 if (!empty ($this->valid_search_terms)) { 680 // ( even those that are not related, since it's more efficient to join afterwards ) 681 $sql_langstring_entries_match = "SELECT langstrings_id, value FROM langstring_entries WHERE {$this->getSqlSearchTermsCriteria()}"; 682 //$db->ExecuterSql("$sql_langstring_entries_match", $temp, true); 692 // ( even langstrings that are not related, since it's more efficient to join afterwards ) 693 $tsQuery = $this->getSqlSearchTermsTSQuery(); 694 $sql_langstring_entries_match = "SELECT langstrings_id, langstring_entries_id, value 695 ,ts_rank_cd(valuesearchable_index_col, $tsQuery, 16|4) as rank 696 FROM langstring_entries 697 WHERE valuesearchable_index_col @@ $tsQuery"; 698 //$db->ExecuterSql("$sql_langstring_entries_match ORDER BY rank desc", $temp, true); 683 699 $sql = "CREATE TEMP TABLE {$this->value_match_table} AS $sql_langstring_entries_match;"; 684 700 $sql .= "CREATE INDEX {$this->value_match_table}_idx ON {$this->value_match_table} (langstrings_id)"; … … 697 713 $sql_join = ""; 698 714 /* lom_1_2_title_langstrings_id */ 699 $sql_1_2 = "\n(SELECT lom_id, lom_status_identifier, value, '1_2' as element, CAST(NULL AS integer) as source_langstring_id FROM lom JOIN langstrings ON (lom_1_2_title_langstrings_id = langstrings.langstrings_id) NATURAL JOIN {$this->value_match_table}) \n";715 $sql_1_2 = "\n(SELECT lom_id, lom_status_identifier, value, {$this->value_match_table}.rank, '1_2' as element, CAST({$this->value_match_table}.langstring_entries_id AS integer) as source_langstring_value_id FROM lom JOIN langstrings ON (lom_1_2_title_langstrings_id = langstrings.langstrings_id) NATURAL JOIN {$this->value_match_table}) \n"; 700 716 /* lom_1_4_descriptions_has_langstrings */ 701 $sql_1_4 = "\n(SELECT lom_id, lom_status_identifier, value, '1_4' as element, CAST(NULL AS integer) as source_langstring_id FROM lom NATURAL JOIN lom_1_4_descriptions_has_langstrings NATURAL JOIN langstrings NATURAL JOIN {$this->value_match_table}) \n";717 $sql_1_4 = "\n(SELECT lom_id, lom_status_identifier, value, {$this->value_match_table}.rank, '1_4' as element, CAST({$this->value_match_table}.langstring_entries_id AS integer) as source_langstring_value_id FROM lom NATURAL JOIN lom_1_4_descriptions_has_langstrings NATURAL JOIN langstrings NATURAL JOIN {$this->value_match_table}) \n"; 702 718 /* lom_1_5_keywords_has_langstrings */ 703 $sql_1_5 = "\n(SELECT lom_id, lom_status_identifier, value, '1_5' as element, CAST(NULL AS integer) as source_langstring_id FROM lom NATURAL JOIN lom_1_5_keywords_has_langstrings NATURAL JOIN langstrings NATURAL JOIN {$this->value_match_table}) \n";719 $sql_1_5 = "\n(SELECT lom_id, lom_status_identifier, value, {$this->value_match_table}.rank, '1_5' as element, CAST({$this->value_match_table}.langstring_entries_id AS integer) as source_langstring_value_id FROM lom NATURAL JOIN lom_1_5_keywords_has_langstrings NATURAL JOIN langstrings NATURAL JOIN {$this->value_match_table}) \n"; 704 720 /* lom_9_2_taxon_path, vocabulaires VDEX */ 705 $sql_9_2_vdex = "\n(SELECT lom_id, lom_status_identifier, value, '9_2' as element, vdex_3_vocabulary_name AS source_langstring_id FROM lom " . $this->getSqlLomThemeJoin() . " NATURAL JOIN vocabularies JOIN {$this->value_match_table} ON (vdex_6_3_caption={$this->value_match_table}.langstrings_id OR vdex_6_4_description={$this->value_match_table}.langstrings_id) ) \n";721 $sql_9_2_vdex = "\n(SELECT lom_id, lom_status_identifier, value, {$this->value_match_table}.rank, '9_2' as element, CAST({$this->value_match_table}.langstring_entries_id AS integer) as source_langstring_value_id FROM lom " . $this->getSqlLomThemeJoin() . " NATURAL JOIN vocabularies JOIN {$this->value_match_table} ON (vdex_6_3_caption={$this->value_match_table}.langstrings_id OR vdex_6_4_description={$this->value_match_table}.langstrings_id) ) \n"; 706 722 /* lom_9_2_taxon_path, lom_9_2_2_taxons */ 707 $sql_9_2_manual = "\n((SELECT lom_id, lom_status_identifier, value, '9_2' as element, lom_9_2_1_taxum_source_langstring_id AS source_langstring_id FROM lom NATURAL JOIN lom_has_lom_9_classification NATURAL JOIN lom_9_classification NATURAL JOIN lom_9_classification_has_lom_9_2_taxon_path NATURAL JOIN lom_9_2_taxon_path NATURAL JOIN lom_9_2_taxon_path_has_lom_9_2_2_taxons NATURAL JOIN lom_9_2_2_taxons JOIN {$this->value_match_table} ON (lom_9_2_2_taxons.lom_9_2_2_2_entry_langstrings_id={$this->value_match_table}.langstrings_id) ) \n";723 $sql_9_2_manual = "\n((SELECT lom_id, lom_status_identifier, value, {$this->value_match_table}.rank, '9_2' as element, CAST({$this->value_match_table}.langstring_entries_id AS integer) as source_langstring_value_id AS source_langstring_value_id FROM lom NATURAL JOIN lom_has_lom_9_classification NATURAL JOIN lom_9_classification NATURAL JOIN lom_9_classification_has_lom_9_2_taxon_path NATURAL JOIN lom_9_2_taxon_path NATURAL JOIN lom_9_2_taxon_path_has_lom_9_2_2_taxons NATURAL JOIN lom_9_2_2_taxons JOIN {$this->value_match_table} ON (lom_9_2_2_taxons.lom_9_2_2_2_entry_langstrings_id={$this->value_match_table}.langstrings_id) ) \n"; 708 724 /* Also look in the id of the taxon */ 709 $sql_9_2_manual .= "\n UNION (SELECT lom_id, lom_9_2_2_1_id as value, '9_2' as element, lom_9_2_1_taxum_source_langstring_id AS source_langstring_id FROM lom NATURAL JOIN lom_has_lom_9_classification NATURAL JOIN lom_9_classification NATURAL JOIN lom_9_classification_has_lom_9_2_taxon_path NATURAL JOIN lom_9_2_taxon_path NATURAL JOIN lom_9_2_taxon_path_has_lom_9_2_2_taxons NATURAL JOIN lom_9_2_2_taxons JOIN {$this->value_match_table} ON (lom_9_2_2_taxons.lom_9_2_2_2_entry_langstrings_id={$this->value_match_table}.langstrings_id) )) \n";725 $sql_9_2_manual .= "\n UNION (SELECT lom_id, lom_9_2_2_1_id as value, {$this->value_match_table}.rank, '9_2' as element, CAST({$this->value_match_table}.langstring_entries_id AS integer) as source_langstring_value_id AS source_langstring_value_id FROM lom NATURAL JOIN lom_has_lom_9_classification NATURAL JOIN lom_9_classification NATURAL JOIN lom_9_classification_has_lom_9_2_taxon_path NATURAL JOIN lom_9_2_taxon_path NATURAL JOIN lom_9_2_taxon_path_has_lom_9_2_2_taxons NATURAL JOIN lom_9_2_2_taxons JOIN {$this->value_match_table} ON (lom_9_2_2_taxons.lom_9_2_2_2_entry_langstrings_id={$this->value_match_table}.langstrings_id) )) \n"; 710 726 711 727 /* Keyword search in elements having a vocabulary as value */ 712 728 $sqlVocabularyElements = ""; 713 729 foreach(self::getVocabularyLomElementInfo() as $elementNo => $elementConfig){ 714 $sqlVocabularyElement = "\n(SELECT lom_id, lom_status_identifier, value, '{$elementNo}' as element, vdex_6_3_caption AS source_langstring_id FROM lom " . $elementConfig['LOM_TO_VOC_TERM_SQL_JOIN'] . " JOIN {$this->value_match_table} ON (vdex_6_3_caption={$this->value_match_table}.langstrings_id OR vdex_6_4_description={$this->value_match_table}.langstrings_id) ) \n";730 $sqlVocabularyElement = "\n(SELECT lom_id, lom_status_identifier, value, {$this->value_match_table}.rank, '{$elementNo}' as element, CAST({$this->value_match_table}.langstring_entries_id AS integer) as source_langstring_value_id FROM lom " . $elementConfig['LOM_TO_VOC_TERM_SQL_JOIN'] . " JOIN {$this->value_match_table} ON (vdex_6_3_caption={$this->value_match_table}.langstrings_id OR vdex_6_4_description={$this->value_match_table}.langstrings_id) ) \n"; 715 731 716 732 //$db->ExecuterSql($sql_vocabulary_elements, $tmp, true); … … 721 737 //$db->ExecuterSql($sql_union_query, $learning_objects_results, true);// For debug only 722 738 } else { 723 $sql_union_query = "(SELECT lom_id, lom_status_identifier, lom_2_2_status_identifier, CAST(NULL as text) as value, CAST(NULL as text) as element, CAST(NULL AS integer) as source_langstring_id FROM lom)";739 $sql_union_query = "(SELECT lom_id, lom_status_identifier, lom_2_2_status_identifier, CAST(NULL as text) as value, CAST(NULL as float) as rank, CAST(NULL as text) as element, CAST(NULL AS integer) as source_langstring_value_id FROM lom)"; 724 740 } 725 741 … … 737 753 /* Limit to specific LO contributions (specific VCard) */ 738 754 if ($this->search_vcard) { 739 $sql_search_limiting_vcard_join = " JOIN lom_2_3_has_lom_contributions USING (lom_id) JOIN lom_contributions AS resource_contribution ON (lom_2_3_has_lom_contributions.lom_contributions_id=resource_contribution.lom_contributions_id) JOIN lom_contributions_has_vcards AS resource_vcard ON (resource_contribution.lom_contributions_id=resource_vcard.lom_contributions_id)";755 $sql_search_limiting_vcard_join = " JOIN lom_2_3_has_lom_contributions USING (lom_id) JOIN lom_contributions AS resource_contribution USING (lom_contributions_id) JOIN lom_contributions_has_vcards AS resource_vcard USING (lom_contributions_id)"; 740 756 $vcard_id = $this->search_vcard->getId(); 741 757 $sql_search_limiting_vcard_where = " AND resource_vcard.vcards_id='{$vcard_id}' "; … … 779 795 } 780 796 781 $sql_search_query = "SELECT DISTINCT union_query.lom_id, value, element, source_langstring_id FROM $sql_union_query AS union_query $sql_candidate_lom_join $sql_term_limit_candidate_lom_join $sql_advanced_conditions_join $sql_search_limiting_vcard_join $sql_search_language_join WHERE 1=1 $sql_advanced_conditions_where $sql_search_limiting_vcard_where $sql_search_limiting_lom_status $sql_search_language_where {$this->additional_where_string}";797 $sql_search_query = "SELECT DISTINCT union_query.lom_id, value, rank, element, source_langstring_value_id FROM $sql_union_query AS union_query $sql_candidate_lom_join $sql_term_limit_candidate_lom_join $sql_advanced_conditions_join $sql_search_limiting_vcard_join $sql_search_language_join WHERE 1=1 $sql_advanced_conditions_where $sql_search_limiting_vcard_where $sql_search_limiting_lom_status $sql_search_language_where {$this->additional_where_string}"; 782 798 //$db->ExecuterSql($sql_search_query, $learning_objects_results, true);// For debug only 783 799 // Merge all queries and execute them in one shot … … 788 804 //$db->ExecuterSql("SELECT * FROM {$this->lom_match_table}", $learning_objects_results, true);// For debug only 789 805 // get stats and results 790 $sql = "SELECT COUNT({$this->lom_match_table}.lom_id) as count, $selectListStr FROM {$this->lom_match_table} JOIN lom on ({$this->lom_match_table}.lom_id=lom.lom_id) {$this->additional_join_string} GROUP BY {$this->lom_match_table}.lom_id, lom.validation_date, $selectListStr ORDER BY {$this->ordering_criteria_sql} {$this->ordering_direction_sql}";806 $sql = "SELECT COUNT({$this->lom_match_table}.lom_id) as count, SUM(rank)/(10*COUNT({$this->lom_match_table}.lom_id)) AS total_rank, $selectListStr FROM {$this->lom_match_table} JOIN lom on ({$this->lom_match_table}.lom_id=lom.lom_id) {$this->additional_join_string} GROUP BY {$this->lom_match_table}.lom_id, lom.validation_date, $selectListStr ORDER BY {$this->ordering_criteria_sql} {$this->ordering_direction_sql}"; 791 807 $db->ExecuterSql($sql, $learning_objects_results, false); // Store the results 792 808 $this->learning_objects_results = & $learning_objects_results; … … 914 930 return $this->search_resource_language_locale; 915 931 } 932 916 933 /** 917 * Builds the search terms WHERE criteria934 * Builds the search terms tsquery for the WHERE criteria 918 935 * @return SQL WHERE formatted string 919 936 */ 920 private function getSqlSearchTerms Criteria() {937 private function getSqlSearchTermsTSQuery() { 921 938 global $db; 922 939 foreach ($this->valid_search_terms as $term) { 923 940 $escapedTerms[]= $db->EscapeString($term); 924 941 } 925 /* @FIXME */926 942 927 943 $queryLanguages = self::getIndexingLanguages(); … … 939 955 $searchTermCriterias[] = $searchTermsCriteria; 940 956 } 941 $retval = " valuesearchable_index_col @@(\n".implode(' || ', $searchTermCriterias)."\n)";957 $retval = "(\n".implode(' || ', $searchTermCriterias)."\n)"; 942 958 943 959 return $retval; 944 960 } 961 945 962 /** get stored search keywords */ 946 963 public function getSearchKeywords() { … … 953 970 public function setSearchKeywords($keywords) { 954 971 $this->search_keywords = $keywords; 955 $this->search_term_patterns = array ();956 $this->search_term_replacements = array ();957 972 if($this->search_match_mode == 'exact_string') { 958 973 $this->valid_search_terms[] = $keywords; 959 $this->search_term_patterns[] = "/$keywords/i";960 $this->search_term_replacements[] = "<span class='search_matching_text'>$keywords</span>";961 974 962 975 } … … 969 982 else { 970 983 $this->valid_search_terms[] = $search_term; 971 $this->search_term_patterns[] = "/$search_term/i";972 $this->search_term_replacements[] = "<span class='search_matching_text'>$search_term</span>";973 984 } 974 985 } … … 1398 1409 $ret_html .= "<div id='paragraphe_1'>"; 1399 1410 $ret_html .= "<dl>"; 1400 1401 1411 /* Output search parameters ( terms, advanced options ... ) */ 1402 1412 … … 1592 1602 1593 1603 /* Found ressources */ 1594 1604 $tsHeadlineOptions = 'StartSel="<span class=\'\'search_matching_text\'\'>", StopSel="</span>", MaxWords=35, MinWords=15, ShortWord=3, HighlightAll=FALSE'; 1605 $summaryTsHeadlineOptions = 'StartSel="<span class=\'\'search_matching_text\'\'>", StopSel="</span>", MaxWords=35, MinWords=34, ShortWord=3, HighlightAll=FALSE'; 1606 1607 1608 $summaryRegconfig = self::localeToPostgresqlIndexingLanguage(Session::getObject()->getPrefLocale()); 1609 $rank_denominator = (float) $this->learning_objects_results[0]['total_rank'];//To divide by the maximim rank 1595 1610 $num_total_results = $this->getResultNum(); 1596 1611 if ($this->learning_objects_results != NULL) { … … 1639 1654 $id = $lo->getId(); 1640 1655 $ret_html .= "<div class='found_resource'>\n"; 1641 1656 if (!empty ($this->valid_search_terms)) { 1657 $rank = (int)(100*($this->learning_objects_results[$i]['total_rank'])/$rank_denominator); 1658 1659 $ret_html .= "<div class='rank' style='width: {$rank}%;'></div>\n"; 1660 } 1642 1661 /* Result title and summary */ 1643 1662 //$ret_html .= "<p>\n"; … … 1670 1689 // Edit button ( if available ) 1671 1690 if ($current_user && $current_user->hasEditAccess($lom_id)) { 1672 $ret_html .= "<a class ='edit_button' href=' /admin/lom_admin.php?action=edit&lom_id=" . $lom_id . "' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_edit_fiche_$id\",\"\",\"" . BASE_URL_PATH . "images/b_edit_o.gif\",1);'><img src='" . BASE_URL_PATH . "images/b_edit.gif' id='b_edit_fiche_$id' WIDTH='24' HEIGHT='24' ALT='" . _("Edit this learning object") . "' TITLE='" . _("Edit this learning object") . "'></a>"; // Title1691 $ret_html .= "<a class ='edit_button' href='".FICHE_ADMIN_URL."?action=edit&lom_id=" . $lom_id . "' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_edit_fiche_$id\",\"\",\"" . BASE_URL_PATH . "images/b_edit_o.gif\",1);'><img src='" . BASE_URL_PATH . "images/b_edit.gif' id='b_edit_fiche_$id' WIDTH='24' HEIGHT='24' ALT='" . _("Edit this learning object") . "' TITLE='" . _("Edit this learning object") . "'></a>"; // Title 1673 1692 } 1674 1693 $ret_html .= "<a href='".LOM_DISPLAY_URL."?format=HTML&lom_id=" . $lom_id . "'><em>" . $lo->getTitle()->getString() . "</em></a></p>\n"; 1675 1694 /* Summary */ 1676 1695 if(!empty($this->search_term_patterns)){ 1677 $match_str = preg_replace($this->search_term_patterns, $this->search_term_replacements, $lo->getSummary(200)); 1696 $sql = "SELECT ts_headline('$summaryRegconfig', '".$db->escapeString($lo->getSummary(240))."', $tsQuery, E'$summaryTsHeadlineOptions')"; 1697 $db->ExecuterSql($sql, $summary_results, false); 1698 1699 $match_str = $summary_results[0]['ts_headline']; 1678 1700 } 1679 1701 else { 1680 $match_str = $lo->getSummary(200); 1681 } 1682 $ret_html .= "<p>" . $match_str . "</p>\n"; 1702 $match_str = $lo->getSummary(240); 1703 } 1704 1705 $ret_html .= "<p> " . $match_str . "</p>\n"; 1683 1706 1684 1707 /* If there are valid text search terms, display the matching fields */ 1685 1708 if (!empty ($this->valid_search_terms)) { 1709 $tsQuery = $this->getSqlSearchTermsTSQuery(); 1686 1710 $ret_html .= "<table cellspacing='0' cellpadding='0'>\n"; 1687 1711 $ret_html .= "<tr>\n"; 1688 1712 $ret_html .= "<td valign='top'><a nohref style='cursor: pointer;' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_plus_fiche_$id\",\"\",\"" . BASE_URL_PATH . "images/b_plus_o.gif\",1);' onclick='toggleCollapsibleBlock(\"$collapse_id\");'><img src='" . BASE_URL_PATH . "images/b_plus.gif' id='b_plus_fiche_$id' WIDTH='24' HEIGHT='24' ALT=''></a></td>"; 1689 $ret_html .= "<td width='100%' style='padding-left: 7px;'>" . sprintf( _("The specified string was found in %d field(s)"), $count) . ":</td>";1713 $ret_html .= "<td width='100%' style='padding-left: 7px;'>" . sprintf(ngettext("The specified string was found in the following field:","The specified string was found in the following %d fields:",$count), $count) . "</td>"; 1690 1714 $ret_html .= "</table>"; 1691 1715 $ret_html .= "<div id='$collapse_id' class='collapsible_details_block'>"; 1692 $sql = "SELECT * FROM {$this->lom_match_table} WHERE lom_id = $lom_id ORDER BY element"; 1716 1717 $sql = "SELECT *, ts_headline('$summaryRegconfig', value, $tsQuery, E'$tsHeadlineOptions') FROM {$this->lom_match_table} WHERE lom_id = $lom_id ORDER BY element"; 1693 1718 $db->ExecuterSql($sql, $element_results, false); 1694 1719 foreach ($element_results as $element_row) { 1695 if (true) //Show the matching string 1696 { 1697 $match_str = preg_replace($this->search_term_patterns, $this->search_term_replacements, $element_row['value']); 1698 } else { 1699 $match_str = null; 1700 } 1701 if (!empty ($element_row['source_langstring_id'])) { 1702 $str = new Langstring($element_row['source_langstring_id']); 1703 $source = " Source: {$str->getString()}"; 1704 } else { 1705 $source = ""; 1706 } 1707 1708 $id = $popupgen->getUniqueTooltipId("help_" . $element_row['element'], $prefix); 1709 $popup = $popupgen->getLomCaptionHelp($element_row['element'], null, false, "normal", $prefix); 1720 //Show the matching string 1721 $match_str = $element_row['ts_headline']; 1722 1723 $id = null; 1724 $popup = $popupgen->getLomCaptionHelp($element_row['element'], null, false, "normal", $prefix, $id); 1710 1725 $ret_html .= "<br>"; 1711 1726 $element = $element_row['element']; //$ret_html .= "<a href='#' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_question_".$id."_".$element."\",\"\",\"".BASE_URL_PATH."images/b_question_o.gif\",1);' ".$popupgen->getTrig("desc_{$prefix}{$element}")."><img src='".BASE_URL_PATH."images/b_question.gif' id='b_question_".$id."_".$element."' style='float: left;margin: 0px 7px 0px 0px;' WIDTH='24' HEIGHT='24'></a>"; 1712 1727 $click_trigger = $popupgen->getClickTrigger($id); 1713 1728 $hover_trigger = $popupgen->getHoverTrigger($id); 1714 $ret_html .= "<img alt=' ' src='" . BASE_URL_PATH . "images/b_question.gif' id='b_question_" . $id . "_" . $element . "' $click_trigger $hover_trigger style='float: left;margin: 0px 7px 0px 0px;' WIDTH='24' HEIGHT='24'>";1715 $ret_html .= "$popup" ;1716 $ret_html .= " <a href='#'>$source</a><br>$match_str";1729 $ret_html .= "<img alt='?' src='" . BASE_URL_PATH . "images/b_question.gif' id='b_question_" . $id . "_" . $element . "' $click_trigger $hover_trigger style='float: left;margin: 0px 7px 0px 0px;' WIDTH='24' HEIGHT='24'>"; 1730 $ret_html .= "$popup".": "; 1731 $ret_html .= "$match_str"; 1717 1732 $ret_html .= "<br>"; 1718 1733 } … … 1730 1745 $ret_html .= "[{$i}]"; 1731 1746 else 1732 $ret_html .= "<a href=' /search.php?action=resume_search&results_page={$i}'>{$i}</a>";1747 $ret_html .= "<a href='".SEARCH_URL."?action=resume_search&results_page={$i}'>{$i}</a>"; 1733 1748 } 1734 1749 $ret_html .= "</p>"; 1735 1750 } else { 1736 $ret_html .= _("No learning object ha sbeen found in the database") . "<br>\n";1751 $ret_html .= _("No learning object have been found in the database") . "<br>\n"; 1737 1752 } 1738 1753 return $ret_html; -
html/classes/Style.php
r3971923 r7881009 90 90 91 91 // Add the new style sheet 92 $stylesheets = $vhost->getStyle Sheets();92 $stylesheets = $vhost->getStylesheets(); 93 93 94 94 foreach($stylesheets as $stylesheetUrl) { -
html/classes/ThemeList.php
r3550449 r146c4215 308 308 $id = $fiche->getId(); 309 309 // Display admin buttonsDelete ( edit + duplicate ) 310 echo "<A HREF='".htmlspecialchars( "/admin/lom_admin.php?action=edit&lom_id=".$id."&return_url=".urlencode(NAVIGATE_THEMES_URL)."")."' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_edit_fiche_".$id."\",\"\",\"".BASE_URL_PATH."images/b_edit_o.gif\",1);'><img src='".BASE_URL_PATH."images/b_edit.gif' id='b_edit_fiche_".$id."' WIDTH='24' HEIGHT='24' ALT='"._("Edit this learning object")."' TITLE='"._("Edit this learning object")."'></a>\n";311 echo "<A HREF='".htmlspecialchars( "/admin/lom_admin.php?action=edit&new_lom_auto_create=true&new_lom_template_id=".$fiche->GetId()."&new_lom_theme_id=$theme_id[0]")."' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_duplicate_fiche_".$id."\",\"\",\"".BASE_URL_PATH."images/b_duplicate_o.gif\",1);'><img src='".BASE_URL_PATH."images/b_duplicate.gif' id='b_duplicate_fiche_".$id."' WIDTH='24' HEIGHT='24' ALT='"._("Duplicate this learning object")."' TITLE='"._("Duplicate this learning object")."'></A>\n";310 echo "<A HREF='".htmlspecialchars(FICHE_ADMIN_URL."?action=edit&lom_id=".$id."&return_url=".urlencode(NAVIGATE_THEMES_URL)."")."' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_edit_fiche_".$id."\",\"\",\"".BASE_URL_PATH."images/b_edit_o.gif\",1);'><img src='".BASE_URL_PATH."images/b_edit.gif' id='b_edit_fiche_".$id."' WIDTH='24' HEIGHT='24' ALT='"._("Edit this learning object")."' TITLE='"._("Edit this learning object")."'></a>\n"; 311 echo "<A HREF='".htmlspecialchars(FICHE_ADMIN_URL."?action=edit&new_lom_auto_create=true&new_lom_template_id=".$fiche->GetId()."&new_lom_theme_id=$theme_id[0]")."' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_duplicate_fiche_".$id."\",\"\",\"".BASE_URL_PATH."images/b_duplicate_o.gif\",1);'><img src='".BASE_URL_PATH."images/b_duplicate.gif' id='b_duplicate_fiche_".$id."' WIDTH='24' HEIGHT='24' ALT='"._("Duplicate this learning object")."' TITLE='"._("Duplicate this learning object")."'></A>\n"; 312 312 } 313 313 -
html/classes/VCard.php
r3550449 r146c4215 597 597 elseif ($this->mRow[$requestedImage.'_data'] != null) 598 598 { 599 return '/image_view.php?vcard_id='.$this->getId().'&type='.$requestedImage;599 return IMAGE_VIEW_URL.'?vcard_id='.$this->getId().'&type='.$requestedImage; 600 600 } 601 601 else … … 731 731 elseif ($vcards_row['logo_data'] != null) { 732 732 echo "<tr><TH class='th_left'>"._("Thumbnail")."</TH><td>\n"; 733 echo "<img src=' /image_view.php?vcard_id=".$this->mId."&type=logo'></TD></TR>\n";733 echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&type=logo'></TD></TR>\n"; 734 734 735 735 } … … 955 955 elseif ($vcards_row['photo_data'] != null) { 956 956 echo "<tr><TH class='th_left'>"._("Thumbnail")."</TH><td>\n"; 957 echo "<img src=' /image_view.php?vcard_id=".$this->mId."&type=photo'></TD></TR>\n";957 echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&type=photo'></TD></TR>\n"; 958 958 959 959 } … … 1111 1111 echo "<TABLE class='spreadsheet_user'>"; 1112 1112 echo "<tr><TH class='th_left'>"._("Thumbnail")."</TH><td>\n"; 1113 echo "<img src=' /image_view.php?vcard_id=".$this->mId."&type=photo' height='100px'></TD></TR>\n";1113 echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&type=photo' height='100px'></TD></TR>\n"; 1114 1114 echo "</TD></TR>\n"; 1115 1115 echo "</TABLE>"; … … 1154 1154 // Sinon celle sauvegardée dans la BD 1155 1155 elseif ($vcards_row['photo_data'] != null) { 1156 echo "<img src=' /image_view.php?vcard_id=".$this->mId."&type=photo' height='100px'>\n";1156 echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&type=photo' height='100px'>\n"; 1157 1157 } 1158 1158 echo "<p>"; … … 1192 1192 // Sinon celle sauvegardée dans la BD 1193 1193 elseif ($vcards_row['logo_data'] != null) { 1194 echo "<img src=' /image_view.php?vcard_id=".$this->mId."&type=logo' height='100px'>\n";1194 echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&type=logo' height='100px'>\n"; 1195 1195 } 1196 1196 -
html/classes/VCardList.php
r3550449 r146c4215 25 25 */ 26 26 27 require_once 'config/config.php'; 27 28 require_once 'GenericDataObject.php'; 28 29 require_once 'VCard.php'; … … 59 60 // Since 8.Annotation isn't related to a contribution. Dont' send the contrib_id 60 61 echo "<p>"; 61 echo "<input type='button' name='add_vcard' size='30' value='"._("Create a new vCard")."' onclick= \" return popupwindow( ".htmlentities("'vcard_admin.php?action=newcompact&lom_element=$lom_element&container_id=$container_id&redirect_action=edit"."&redirect_lom_id=".$_REQUEST['lom_id']."&redirect_section=".$_REQUEST['section'])."', 'newVCard','640','480')\";>\n";62 echo "<input type='button' name='add_vcard' size='30' value='"._("Create a new vCard")."' onclick= \" return popupwindow('".htmlentities(VCARD_ADMIN_URL."?action=newcompact&lom_element=$lom_element&container_id=$container_id&redirect_action=edit"."&redirect_lom_id=".$_REQUEST['lom_id']."&redirect_section=".$_REQUEST['section'])."', 'newVCard','640','480')\";>\n"; 62 63 echo "</p>"; 63 64 64 65 echo "<p>"; 65 echo "<input type='button' name='import_vcard' size ='30' value='"._("Import a new vCard")."' onclick= \" return popupwindow( ".htmlentities("'vcard_admin.php?action=importcompact&lom_element=$lom_element&container_id=$container_id&redirect_action=edit"."&redirect_lom_id=".$_REQUEST['lom_id']."&redirect_section=".$_REQUEST['section'])."', 'importVCard','640','300')\";>\n";66 echo "<input type='button' name='import_vcard' size ='30' value='"._("Import a new vCard")."' onclick= \" return popupwindow('".htmlentities(VCARD_ADMIN_URL."?action=importcompact&lom_element=$lom_element&container_id=$container_id&redirect_action=edit"."&redirect_lom_id=".$_REQUEST['lom_id']."&redirect_section=".$_REQUEST['section'])."', 'importVCard','640','300')\";>\n"; 66 67 echo "</p>"; 67 68 } … … 156 157 // Group in a table so it doesn't get disaligned when the Order textbox is shown 157 158 $retval = "<table border='0'>\n"; 158 $retval .= "<tr><td>\n".$generateur->generateFromArray($orgs_array, $selected_org, $name_id."_orgs", "", true, _("[Entities not affiliated to an organisation"), "onChange='loadXMLToSelectBox(\" /http_answerer.php?className=VCardList&exportParams[]=\" + this.options[this.selectedIndex].value + \"&exportParams[]=".$limit_to."\", Array(\"".$name_id."\", null, ".$permetValeurNulle."));'")."</td></tr>\n";159 $retval .= "<tr><td>\n".$generateur->generateFromArray($orgs_array, $selected_org, $name_id."_orgs", "", true, _("[Entities not affiliated to an organisation"), "onChange='loadXMLToSelectBox(\"".URL_ROOT_PATH."http_answerer.php?className=VCardList&exportParams[]=\" + this.options[this.selectedIndex].value + \"&exportParams[]=".$limit_to."\", Array(\"".$name_id."\", null, ".$permetValeurNulle."));'")."</td></tr>\n"; 159 160 $retval .= "<tr><td><select name ='$name_id' id='$name_id'></select></td></tr>\n"; 160 161 $retval .= "</table>\n"; 161 162 162 163 // Pre-load the values ( first time only ) 163 $retval .= '<script type="text/javascript"> loadXMLToSelectBox(" /http_answerer.php?className=VCardList&exportParams[]='.$selected_org.'&exportParams[]='.$limit_to.'", Array("'.$name_id.'", "'.$selectedClefPrimaire.'", '.$permetValeurNulle.')); </script>';164 $retval .= '<script type="text/javascript"> loadXMLToSelectBox("'.URL_ROOT_PATH.'http_answerer.php?className=VCardList&exportParams[]='.$selected_org.'&exportParams[]='.$limit_to.'", Array("'.$name_id.'", "'.$selectedClefPrimaire.'", '.$permetValeurNulle.')); </script>'; 164 165 165 166 return $retval; -
html/classes/VocabularyList.php
r3550449 r33c1773 61 61 } 62 62 63 function _ construct($id, $criterions = "")63 function __construct($id, $criterions = "") 64 64 { 65 65 parent :: __construct(); … … 87 87 $sql = "SELECT vdex_4_vocabulary_identifier FROM vocabularies WHERE is_system_vocabulary = true "; 88 88 if($this->mCriterions != "") 89 $sql .= " AND ".$ criterions;89 $sql .= " AND ".$this->mCriterions; 90 90 $sql .= " ORDER BY vdex_4_vocabulary_identifier"; 91 91 … … 109 109 $sql = "SELECT vdex_4_vocabulary_identifier FROM vocabularies WHERE is_system_vocabulary = true "; 110 110 if($this->mCriterions != "") 111 $sql .= " AND ".$ criterions;111 $sql .= " AND ".$this->mCriterions; 112 112 $sql .= " ORDER BY vdex_4_vocabulary_identifier"; 113 113 $this->mBd->ExecuterSql($sql, $resultats, FALSE); … … 140 140 $sql = "SELECT vdex_4_vocabulary_identifier FROM vocabularies WHERE is_system_vocabulary = true "; 141 141 if($this->mCriterions != "") 142 $sql .= " AND ".$ criterions;142 $sql .= " AND ".$this->mCriterions; 143 143 $sql .= " ORDER BY vdex_4_vocabulary_identifier"; 144 144 $this->mBd->ExecuterSql($sql, $resultats, FALSE); -
html/config/config.php
rd225188 r7881009 55 55 define("BASE_FILE_PATH", $_SERVER['DOCUMENT_ROOT']); 56 56 define("CUSTOM_CONTENT_FILE_PATH", BASE_FILE_PATH.'/custom_content/'); 57 define("BASE_URL_PATH", 'http://' . $_SERVER['HTTP_HOST'] . '/'); 57 define("URL_ROOT_PATH", '/'); 58 define("BASE_URL_PATH", 'http://' . $_SERVER['HTTP_HOST'] . URL_ROOT_PATH); 58 59 59 60 define("SYSTEM_FULL_PATH", "/var/www/eureka.ntic.org/"); … … 108 109 define('ECL_RECEIVER_URN', 'eureka_search_service'); 109 110 110 define("NAVIGATE_THEMES_URL", BASE_URL_PATH . 'navigate_themes.php'); 111 define("THEME_ADMIN_URL", BASE_URL_PATH . 'admin/theme_admin.php'); 112 define("FICHE_ADMIN_URL", BASE_URL_PATH . 'admin/lom_admin.php'); 113 define("LOM_DISPLAY_URL", BASE_URL_PATH . 'display_lo.php'); 114 define("VOCABULARY_ADMIN_URL", BASE_URL_PATH . 'admin/vocabulary_admin.php'); 115 define("APPLICATION_PROFILE_ADMIN_URL", BASE_URL_PATH . 'admin/application_profile_admin.php'); 116 define("VIRTUAL_HOST_ADMIN_URL", BASE_URL_PATH . 'admin/virtual_hosts_admin.php'); 117 define("VOCABULARY_RELATION_ADMIN_URL", BASE_URL_PATH . 'admin/vocabulary_relation_admin.php'); 118 define("GROUP_EDITOR_URL", BASE_URL_PATH . 'admin/group_editor.php'); 119 define("BROKEN_LINKS_CHECKER_URL", BASE_URL_PATH.'admin/check_broken_links.php'); 120 121 122 define("CUSTOM_THEMES_URL_PATH", BASE_URL_PATH . 'themes/custom_themes/'); 123 define("BASE_THEME_URL_PATH", BASE_URL_PATH . 'themes/base_theme/'); 111 define("NAVIGATE_THEMES_URL", URL_ROOT_PATH . 'navigate_themes.php'); 112 define("LOM_DISPLAY_URL", URL_ROOT_PATH . 'display_lo.php'); 113 define("SEARCH_URL", URL_ROOT_PATH . 'search.php'); 114 define("BOOKMARKS_URL", URL_ROOT_PATH . 'my_bookmarks.php'); 115 define("IMAGE_VIEW_URL", URL_ROOT_PATH . 'image_view.php'); 116 117 define("ADMIN_ROOT_PATH", URL_ROOT_PATH . 'admin/'); 118 define("THEME_ADMIN_URL", ADMIN_ROOT_PATH . 'theme_admin.php'); 119 define("FICHE_ADMIN_URL", ADMIN_ROOT_PATH . 'lom_admin.php'); 120 define("VCARD_ADMIN_URL", ADMIN_ROOT_PATH . 'vcard_admin.php'); 121 define("VOCABULARY_ADMIN_URL", ADMIN_ROOT_PATH . 'vocabulary_admin.php'); 122 define("APPLICATION_PROFILE_ADMIN_URL", ADMIN_ROOT_PATH . 'application_profile_admin.php'); 123 define("SPIDER_ADMIN_URL", ADMIN_ROOT_PATH . 'spider_admin.php'); 124 define("SPIDER_INTERFACE_URL", ADMIN_ROOT_PATH . 'spider_interface.php'); 125 define("USER_LIST_URL", ADMIN_ROOT_PATH . 'user_list.php'); 126 define("VIRTUAL_HOST_ADMIN_URL", ADMIN_ROOT_PATH . 'virtual_hosts_admin.php'); 127 define("VOCABULARY_RELATION_ADMIN_URL", ADMIN_ROOT_PATH . 'vocabulary_relation_admin.php'); 128 define("GROUP_EDITOR_URL", ADMIN_ROOT_PATH . 'group_editor.php'); 129 define("BROKEN_LINKS_CHECKER_URL", ADMIN_ROOT_PATH . 'check_broken_links.php'); 130 131 define("CUSTOM_THEMES_URL_PATH", URL_ROOT_PATH . 'themes/custom_themes/'); 132 define("BASE_THEME_URL_PATH", URL_ROOT_PATH . 'themes/base_theme/'); 124 133 define("CUSTOM_THEMES_FILE_PATH", BASE_FILE_PATH.'/themes/custom_themes/'); 125 134 define("STYLESHEET_FILENAME", 'stylesheet.css'); -
html/import/import.php
r3550449 r146c4215 30 30 $style = new Style(); 31 31 $menus = new Menus(); 32 echo $style->getHeader(null, _("Eureka, Import learning objects"), false, false, array("". BASE_URL_PATH."images/b_go_o.gif"));32 echo $style->getHeader(null, _("Eureka, Import learning objects"), false, false, array("".URL_ROOT_PATH."images/b_go_o.gif")); 33 33 echo $menus->getMainLeftMenu('IMPORT'); 34 34 echo "<div id='right'>\n"; … … 42 42 { 43 43 if($current_user->IsEurekaAdmin()) 44 echo "<li><a href=' /import/import_lom.php'>"._("Import a LOM learning object")."</a></li>\n";44 echo "<li><a href='import_lom.php'>"._("Import a LOM learning object")."</a></li>\n"; 45 45 if($current_user->IsSuperAdmin()) 46 46 { 47 echo "<li><a href=' /import/import_gabarit.php'>"._("LOM template importer")."</a></li>\n";48 echo "<li><a href=' /import/import_isef.php'>Importation ISEF</a></li>\n";49 echo "<li><a href=' /import/import_labo.php'>Importation Labo Virtuel</a></li>\n";50 echo "<li><a href=' /import/import_sesamath.php'>Importation Sesamath</a></li>\n";51 echo "<li><a href=' /admin/spider_admin.php'>"._("Spider management")."</a></li>\n";52 echo "<li><a href=' /admin/spider_interface.php?verbose=true'>"._("Run spiders")."</a></li>\n";47 echo "<li><a href='import_gabarit.php'>"._("LOM template importer")."</a></li>\n"; 48 echo "<li><a href='import_isef.php'>Importation ISEF</a></li>\n"; 49 echo "<li><a href='import_labo.php'>Importation Labo Virtuel</a></li>\n"; 50 echo "<li><a href='import_sesamath.php'>Importation Sesamath</a></li>\n"; 51 echo "<li><a href='../admin/spider_admin.php'>"._("Spider management")."</a></li>\n"; 52 echo "<li><a href='../admin/spider_interface.php?verbose=true'>"._("Run spiders")."</a></li>\n"; 53 53 } 54 54 } -
html/include/schema_validate.php
rad2acc5 r1a4c106 25 25 */ 26 26 error_reporting(E_ALL); 27 define('REQUIRED_SCHEMA_VERSION', 2 2);27 define('REQUIRED_SCHEMA_VERSION', 23); 28 28 29 29 /** Check that the database schema is up to date. If it isn't, offer to update it. */ … … 423 423 424 424 $sql .= "UPDATE schema_info SET value='$new_schema_version' WHERE tag='schema_version';\n"; 425 //$sql .= "DROP index langstring_entries_value_index;\n";425 $sql .= "DROP index langstring_entries_value_index;\n"; 426 426 $sql .= "ALTER TABLE langstring_entries ADD COLUMN valuesearchable_index_col tsvector;\n"; 427 427 $sql .= <<<EOT … … 462 462 } 463 463 464 $new_schema_version = 23; 465 if ($current_schema_version < $new_schema_version && $new_schema_version <= REQUIRED_SCHEMA_VERSION) 466 { 467 echo "<h2>"._("Preparing SQL statements to update schema to version:")." $new_schema_version</h2>"; 468 469 $sql .= "UPDATE schema_info SET value='$new_schema_version' WHERE tag='schema_version';\n"; 470 $sql .= "CREATE INDEX lom_3_1_has_lom_identifiers_lom_id_lom_identifiers_id_index ON lom_3_1_has_lom_identifiers (lom_id, lom_identifiers_id);\n"; 471 } 464 472 $db->execSqlUpdate("BEGIN;\n$sql\nCOMMIT;\n", true); 465 473 $db->execSqlUpdate("VACUUM ANALYSE;\n", true); -
html/my_bookmarks.php
r3550449 r146c4215 64 64 $style = new Style(); 65 65 $menus = new Menus(); 66 echo $style->getHeader(null, _("Eureka, Bookmarks"), false, false, array("". BASE_URL_PATH."images/b_go_o.gif", "".BASE_URL_PATH."images/b_delete_o.gif", "".BASE_URL_PATH."images/b_edit_o.gif"));66 echo $style->getHeader(null, _("Eureka, Bookmarks"), false, false, array("".URL_ROOT_PATH."images/b_go_o.gif", "".URL_ROOT_PATH."images/b_delete_o.gif", "".URL_ROOT_PATH."images/b_edit_o.gif")); 67 67 echo $menus->getMainLeftMenu('MY_BOOKMARKS'); 68 68 echo "<div id='right'>\n"; … … 87 87 // Ensure the user is at least a Eureka admin 88 88 if($session->AccessControl('EurekaAdmin', true)) 89 $edit_button = "<a href=' /admin/lom_admin.php?action=edit&lom_id=".$lo->getId()."' ALT='"._("Edit this learning object")."' TITLE='"._("Edit this learning object")."' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_edit_fiche_{$lo->getId()}\",\"\",\"".BASE_URL_PATH."images/b_edit_o.gif\",1);'><img src='".BASE_URL_PATH."images/b_edit.gif' id='b_edit_fiche_{$lo->getId()}' WIDTH='24' HEIGHT='24'></a> ";90 $delete_button = "<a href='?action=remove&oai_id={$oai_id}' alt='"._("Remove from my basket")."' title='"._("Remove from my basket")."' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_delete_fiche_{$lo->getId()}\",\"\",\"". BASE_URL_PATH."images/b_delete_o.gif\",1);'><img src='".BASE_URL_PATH."images/b_delete.gif' id='b_delete_fiche_{$lo->getId()}' WIDTH='24' HEIGHT='24'></a> ";89 $edit_button = "<a href='".FICHE_ADMIN_URL."?action=edit&lom_id=".$lo->getId()."' ALT='"._("Edit this learning object")."' TITLE='"._("Edit this learning object")."' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_edit_fiche_{$lo->getId()}\",\"\",\"".URL_ROOT_PATH."images/b_edit_o.gif\",1);'><img src='".URL_ROOT_PATH."images/b_edit.gif' id='b_edit_fiche_{$lo->getId()}' WIDTH='24' HEIGHT='24'></a> "; 90 $delete_button = "<a href='?action=remove&oai_id={$oai_id}' alt='"._("Remove from my basket")."' title='"._("Remove from my basket")."' onMouseOut='MM_swapImgRestore();' onMouseOver='MM_swapImage(\"b_delete_fiche_{$lo->getId()}\",\"\",\"".URL_ROOT_PATH."images/b_delete_o.gif\",1);'><img src='".URL_ROOT_PATH."images/b_delete.gif' id='b_delete_fiche_{$lo->getId()}' WIDTH='24' HEIGHT='24'></a> "; 91 91 echo "<li>{$edit_button}{$delete_button}<a href='".htmlspecialchars(LOM_DISPLAY_URL."?format=HTML&lom_id=".$lo->getId())."'><b>".$lo->getTitle()->getString()."</b></a>"; 92 92 /* lom_1_4_descriptions_has_langstrings */ … … 109 109 $session = Session::getObject(); 110 110 echo "<h2>"._("When you are viewing a learning object, use the basket icon to add the learning object to your bookmarks (as shown below).")."</h2><br/>"; 111 $img_src = "". BASE_URL_PATH."images/bookmarks_help_".substr($session->getPrefLocale()->getPOSIXLocale(), 0, 2).".png";111 $img_src = "".URL_ROOT_PATH."images/bookmarks_help_".substr($session->getPrefLocale()->getPOSIXLocale(), 0, 2).".png"; 112 112 echo "<img alt='"._("Screenshot of the bookmarks page")."' src=\"{$img_src}\">"; 113 113 } … … 120 120 { 121 121 echo "<h2>"._("You must login to see your bookmarks.")."</h2>"; 122 echo "<p><a href=' signup.php'><b>"._("Click here to signup")."</b></a><br/>";122 echo "<p><a href='".URL_ROOT_PATH."signup.php'><b>"._("Click here to signup")."</b></a><br/>"; 123 123 124 124 $session = Session::getObject(); 125 125 echo "<h2>"._("Once you have subscribed, you will be able to use the basket icon to add the learning ojbect to your bookmarks (as shown below).")."</h2><br/>"; 126 $img_src = "".BASE_URL_PATH."images/bookmarks_help_".substr($session->getPrefLocale()->getPOSIXLocale(), 0, 2).".png";126 $img_src = URL_ROOT_PATH."images/bookmarks_help_".substr($session->getPrefLocale()->getPOSIXLocale(), 0, 2).".png"; 127 127 echo "<img alt='"._("Screenshot of the bookmarks page")."' src=\"{$img_src}\">"; 128 128 } -
html/signup.php
r3550449 r146c4215 67 67 if($user->setPassword($_REQUEST['password_1']) === true) 68 68 { 69 header("Location: my_bookmarks.php?action=registration_confirmation");69 header("Location: ".BOOKMARKS_URL."?action=registration_confirmation"); 70 70 exit; 71 71 } … … 108 108 if($captcha_enabled === true) 109 109 echo "<tr><td><b>"._("Validation code")." : </b></td><td><br>"; 110 echo "<img src=' generate_captcha.php' width=150 height=40><br>\n";110 echo "<img src='".URL_ROOT_PATH."generate_captcha.php' width=150 height=40><br>\n"; 111 111 echo "<input type='text' name='captcha' size='44' maxlength='44'>\n"; 112 112 echo "</td></tr>\n"; -
html/suggest.php
r3550449 r146c4215 84 84 $db->ExecuterSqlResUnique($sql, $themes, false); 85 85 86 header("Location: /admin/lom_admin.php?action=edit&return_url=/suggest.php&new_lom_auto_create=true&new_lom_template_id={$themes['template_id']}&new_lom_theme_id={$themes['suggestion_theme_id']}&new_lom_status=UNPROCESSED&edit_profile={$themes['suggestion_profile_name_vdex_6_1_identifier']},{$themes['suggestion_profile_obligation_vdex_6_1_identifier']}");86 header("Location: ".FICHE_ADMIN_URL."?action=edit&return_url=/suggest.php&new_lom_auto_create=true&new_lom_template_id={$themes['template_id']}&new_lom_theme_id={$themes['suggestion_theme_id']}&new_lom_status=UNPROCESSED&edit_profile={$themes['suggestion_profile_name_vdex_6_1_identifier']},{$themes['suggestion_profile_obligation_vdex_6_1_identifier']}"); 87 87 } 88 88 } -
html/themes/base_theme/stylesheet.css
r3550449 rdd37b7c 124 124 float: left; 125 125 width: 100%; 126 } 127 128 /* Width will be set according to the confidence value, with 100% being the best result */ 129 .rank { 130 border: 1px solid lightgreen; 126 131 } 127 132 -
html/themes/custom_themes/NTIC.ORG/stylesheet.css
rfc4464f rdd37b7c 44 44 h2 { 45 45 color: #394382; 46 } 47 48 /* Width will be set according to the confidence value, with 100% being the best result */ 49 .rank { 50 border: none; 46 51 } 47 52 -
sql/nested_set_api.sql
r3550449 rb61af96 218 218 rec_subtree_root RECORD; 219 219 sqlstring TEXT; 220 move INTEGER;220 move_distance INTEGER; 221 221 level_change INTEGER; 222 222 BEGIN … … 251 251 -- Calculate the move size (signed for direction) and level difference 252 252 IF new_parent_id IS NOT NULL THEN 253 move :=rec_new_parent.ns_right-rec_subtree_root.ns_left;253 move_distance:=rec_new_parent.ns_right-rec_subtree_root.ns_left; 254 254 level_change:=rec_new_parent.ns_level+ 1 - rec_subtree_root. ns_level; 255 255 ELSE 256 move :=(SELECT MAX(ns_right) FROM vocabulary_terms WHERE vdex_4_vocabulary_identifier = voc_id)+1-rec_subtree_root.ns_left;256 move_distance:=(SELECT MAX(ns_right) FROM vocabulary_terms WHERE vdex_4_vocabulary_identifier = voc_id)+1-rec_subtree_root.ns_left; 257 257 level_change:=0 - rec_subtree_root. ns_level; 258 258 END IF; 259 IF move = 0 THEN259 IF move_distance = 0 THEN 260 260 RAISE EXCEPTION ''voc_move_subtree(): Move distance is 0''; 261 261 END IF; 262 --RAISE EXCEPTION ''voc_move_subtree(): move : % and level_change: %'',move,level_change;262 --RAISE EXCEPTION ''voc_move_subtree(): move_distance: % and level_change: %'',move_distance,level_change; 263 263 264 264 --Create the hole to move the subtree … … 274 274 END IF; 275 275 276 IF move < 0 THEN276 IF move_distance < 0 THEN 277 277 --Update the subtree record, it was moved as well while punching the hole before it 278 278 SELECT INTO rec_subtree_root vdex_6_1_identifier, ns_left, ns_right, ns_level, (ns_right-ns_left)+1 as width FROM vocabulary_terms WHERE vdex_4_vocabulary_identifier = voc_id AND vdex_6_1_identifier = subtree_root_id; … … 281 281 END IF; 282 282 --Adjust the move distance 283 move := move - rec_subtree_root.width;283 move_distance := move_distance - rec_subtree_root.width; 284 284 END IF; 285 --RAISE EXCEPTION ''voc_move_subtree(): Final move : % and level_change: %'',move,level_change;285 --RAISE EXCEPTION ''voc_move_subtree(): Final move_distance: % and level_change: %'',move_distance,level_change; 286 286 287 287 --Move the subtree in it''s final place 288 UPDATE vocabulary_terms SET ns_left = ns_left + move , ns_right=ns_right + move, ns_level=ns_level+level_change WHERE vdex_4_vocabulary_identifier = voc_id AND ns_left >= rec_subtree_root.ns_left AND ns_right <= rec_subtree_root.ns_right;288 UPDATE vocabulary_terms SET ns_left = ns_left + move_distance, ns_right=ns_right + move_distance, ns_level=ns_level+level_change WHERE vdex_4_vocabulary_identifier = voc_id AND ns_left >= rec_subtree_root.ns_left AND ns_right <= rec_subtree_root.ns_right; 289 289 IF NOT FOUND THEN 290 290 RAISE EXCEPTION ''voc_move_subtree(): No rows affected while moving subtree in final location''; -
html/admin/spider_admin.php
r3550449 r3971923 75 75 } 76 76 else if(isset($_REQUEST['run_action'])) { 77 set_time_limit(3000); 78 ini_set('memory_limit', '256M'); 77 79 $spider->run(true);//Harvest in verbose mode 78 80 } -
html/admin/spider_interface.php
r3550449 r3971923 76 76 if (!empty ($spiders)) 77 77 { 78 set_time_limit(3000); 79 ini_set('memory_limit', '256M'); 80 78 81 if ($verbose) 79 82 echo "<h1>"._("Synchronization process started.")."</h1>\n"; -
html/custom_content/default/Documentation.php
r3550449 r3971923 9 9 10 10 <h2>Tour guidé</h2> 11 <p>Pour vous familiariser avec les fonctions de base d'Eurêka, nous vous recommandons de commencer par ce <a href=' http://eureka.ntic.org/videos/tour.mov'>Tour guidé<a></p>11 <p>Pour vous familiariser avec les fonctions de base d'Eurêka, nous vous recommandons de commencer par ce <a href='custom_content/default/videos/tour.mov'>Tour guidé<a></p> 12 12 <ul> 13 <li><a href=' http://eureka.ntic.org/videos/tour.mov'>Tour guidé<a></li>13 <li><a href='custom_content/default/videos/tour.mov'>Tour guidé<a></li> 14 14 </ul> 15 15 <h2>Fonctions d'édition de ressources et de gestion</h2> 16 16 17 17 <ul> 18 <li><a href=' http://eureka.ntic.org/videos/fiche.mov'>Utilisation d'un modÚle/Gestion des vCards</a></li>19 <li><a href=' http://eureka.ntic.org/videos/modele.mov'>Création d'un modÚle</a></li>20 <li><a href=' http://eureka.ntic.org/videos/gestion.mov'>Gestion</a></li>18 <li><a href='custom_content/default/videos/fiche.mov'>Utilisation d'un modÚle/Gestion des vCards</a></li> 19 <li><a href='custom_content/default/videos/modele.mov'>Création d'un modÚle</a></li> 20 <li><a href='custom_content/default/videos/gestion.mov'>Gestion</a></li> 21 21 </ul> 22 22 … … 33 33 34 34 <h2>Guided tour</h2> 35 <p>To familiarize yourself with Eureka's basic functionnality, we recommend that you begin with this <a href=' http://eureka.ntic.org/videos/guided_tour.mov'>Guided tour<a></p>35 <p>To familiarize yourself with Eureka's basic functionnality, we recommend that you begin with this <a href='custom_content/default/videos/guided_tour.mov'>Guided tour<a></p> 36 36 <ul> 37 <li><a href=' http://eureka.ntic.org/videos/guided_tour.mov'>Guided tour</a></li>37 <li><a href='custom_content/default/videos/guided_tour.mov'>Guided tour</a></li> 38 38 </ul> 39 39 40 40 <h2>Learning resource edition and management functions</h2> 41 41 <ul> 42 <li><a href=' http://eureka.ntic.org/videos/creating.mov'>How to create a record template</a></li>43 <li><a href=' http://eureka.ntic.org/videos/using.mov'>Using a template to create a record</a></li>42 <li><a href='custom_content/default/videos/creating.mov'>How to create a record template</a></li> 43 <li><a href='custom_content/default/videos/using.mov'>Using a template to create a record</a></li> 44 44 </ul> 45 45 -
html/custom_content/default/Presentation.php
r3550449 r3971923 2 2 class Presentation extends CustomContent { 3 3 4 function getMenuTitle($language) { 5 return "Qui sommes-nous?"; 6 } 4 static function displayContent($language) { 7 5 8 static function displayContent($language) {6 if (strncasecmp($language, 'fr', 2) == 0) { 9 7 ?> 10 8 <h1>Qui sommes-nous?</h1> 11 <p class='ElegantText'><span class='DropCap'>D</span>éveloppé afin de favoriser le partage et l'échange de ressources d'enseignement et d'apprentissage (REA) dans le cadre d'un projet de coopération Québec-Wallonie-Bruxelles, Eurêka est la partie québécoise d'un dépÃŽt francophone de métadonnées, basé sur le logiciel libre.</p> 9 <img src="images/ente_logo.jpg" align="left"> 10 <p class='ElegantText'>Développé par la <a href="http://ntic.org/accueil.php3?lang=fr">la Vitrine Technologie-Education</a> afin de favoriser le partage et l'échange de ressources d'enseignement et d'apprentissage (REA) dans le cadre d'un projet de coopération Québec-Wallonie-Bruxelles, Eurêka est la partie québécoise d'un dépÃŽt francophone de métadonnées, basé sur le logiciel libre.</p> 12 11 <span class='ElegantText'> 13 12 <table width='350' align='center'> 14 <tr><td><img src=" ".BASE_URL_PATH."images/logos/gala_octas.jpg" alt="Photo prise lors du gala des Octas 2005"></td></tr>15 <tr><td> De gauche à droite:<br><b><a href='mailto:info@ntic.org'>Pierre-Julien Guay</a></b>, responsable de la <a href='http://ntic.org'>Vitrine APO</a>,13 <tr><td><img src="images/logos/gala_octas.jpg" alt="Photo prise lors du gala des Octas 2005"></td></tr> 14 <tr><td>Photo prise lors du gala des Octas 2005.<br> De gauche à droite:<br><b>Pierre-Julien Guay</b>, responsable de la <a href='http://ntic.org'>Vitrine APO</a>, 16 15 co-rédacteur de Metadata for Learning Resources (MLR) à ISO/IEC JTC1 SC36, 17 <br><b> <a href='mailto:benoit.gregoire@polymtl.ca'>Benoit Grégoire</a></b>, président de Technologies Coeus inc.16 <br><b>Benoit Grégoire</b>, président de Technologies Coeus inc. 18 17 <br><b>François Proulx</b>, chargé du projet Eurêka chez Coeus.</td></tr> 19 18 </table> 20 19 <br> 21 <h1>Contributions financiÚres</h1>22 23 <table border="0" cellpadding="2" cellspacing="2">24 <tbody>25 <tr>26 <td><a href="http://www.mels.gouv.qc.ca/"><img style="border: 0px solid ; width: 215px; height: 100px;" src="".BASE_URL_PATH."images/logos/meq.gif" alt=""></a></td>27 <td class='ElegantText'>Direction générale des affaires universitaires et collégiales<br>28 <br>Direction générale des ressources didactiques</td>29 </tr>30 </tbody>31 </table>32 33 <table border="0" cellpadding="2" cellspacing="2">34 <tbody>35 <tr>36 <td style="text-align: center;"><a href="http://www.ccdmd.qc.ca/"><img style="border: 0px solid ; width: 96px; height: 55px;" src="".BASE_URL_PATH."images/logos/ccdmd.jpg" alt=""></a></td>37 <td style="text-align: center;"><a href="http://www.telequebec.tv/"><img style="border: 0px solid ; width: 81px; height: 57px;" src="".BASE_URL_PATH."images/logos/tele-quebec.jpg" alt=""></a></td>38 <td style="text-align: center;"><a href="http://www.aquops.qc.ca/"><img style="border: 0px solid ; width: 76px; height: 43px;" src="".BASE_URL_PATH."images/logos/aquops.jpg" alt=""></a></td>39 <td style="text-align: center;"><a href="http://c-rdi.qc.ca/"><img style="border: 0px solid ; width: 107px; height: 74px;" src="".BASE_URL_PATH."images/logos/crdi.gif" alt=""></a></td>40 <td style="text-align: center;"><a href="http://www.cslaval.qc.ca/"><img style="border: 0px solid ; width: 77px; height: 42px;" src="".BASE_URL_PATH."images/logos/cs_laval.jpg" alt=""></a></td>41 </tr>42 <tr>43 <td style="text-align: center;"><small>Centre collégial de développement de matériel didactique</small></td>44 <td style="text-align: center;"><small>Télé-Québec</small></td>45 <td style="text-align: center;"><small>Association québécoise des utilisateurs de l'ordinateur au primaire - secondaire</small></td>46 <td style="text-align: center;"><small>Centre de ressources didactiques informatisées</small></td>47 <td style="text-align: center;"><small>Commission scolaire de Laval</small></td>48 </tr>49 </tbody>50 </table>51 20 </span> 52 21 <p class='ElegantText'>La partie wallone, développée par l'Agence pour l'Enseignement et la Recherche Scientifique (AGERS) se nomme <a href="http://www.enseignement.be/respel/">RESPEL</a> (RESsources PEdagogiques en Ligne).</p> … … 54 23 <table width="400" border="0" cellpadding="2"> 55 24 <tr> 56 <td><div align="center"><a href='http://normetic.org/'><img src=" ".BASE_URL_PATH."images/logos/Normetic%20Logo-lg.jpg" width="161" height="61" alt=''><a/></div></td>57 <td><div align="center"><a href='http://www.cancore.ca/fr/'><img src=" ".BASE_URL_PATH."images/logos/cancore.gif" width="114" height="61" alt=''></a></div></td>58 <td><div align="center"><a href='http://www.imsglobal.org/metadata/'><img src=" ".BASE_URL_PATH."images/logos/ims.jpg" width="45" height="61" alt=''></a></div></td>25 <td><div align="center"><a href='http://normetic.org/'><img src="images/logos/Normetic%20Logo-lg.jpg" width="161" height="61" alt=''><a/></div></td> 26 <td><div align="center"><a href='http://www.cancore.ca/fr/'><img src="images/logos/cancore.gif" width="114" height="61" alt=''></a></div></td> 27 <td><div align="center"><a href='http://www.imsglobal.org/metadata/'><img src="images/logos/ims.jpg" width="45" height="61" alt=''></a></div></td> 59 28 </tr> 60 29 <tr> … … 69 38 <p class='ElegantText'>L'idée maîtresse est que cette ressource est suffisamment modulaire pour être réutilisée dans un contexte différent de celui de sa création. Une séquence vidéo sur la sécurité routiÚre conçue pour un cours de conduite peut, par exemple, être utilisée dans un cours de physique (accélération, vecteurs) ou de psychologie (réflexes, consommation d'alcool ou de drogue).</p> 70 39 <p class='ElegantText'>Le concept de granularité renvoie à la notion de taille. Le modÚle SCORM (Sharable Content Object Reference Model) considÚre trois niveaux de granularité:</p> 71 72 40 <p class='ElegantText'><b>1. </b>Les granules sont des objets de granularité trÚs fine tels que des images ou des sons. On peut utiliser un certain nombre de granules pour composer un objet partageable, par exemple une page web comportant plusieurs images de bactéries à différents stades de développement avec les explications appropriées. De façon générale, nous croyons que les granules ont peu de chance d'être réutilisés sans texte explicatif ou sans consigne et qu'il ne devraient pas être inclus dans Eurêka.</p> 73 41 <p class='ElegantText'><b>2. </b>Les objets partageables sont de granularité moyenne et peuvent représenter entre une et dix minutes d'interaction. Ce peut être des séquences vidéos, des exercices interactifs ou imprimables, par exemple. Il s'agit du type idéal d'objet à recenser dans Eurêka.</p> 74 42 <p class='ElegantText'><b>3. </b>Les séquences consistent en un assemblage d'objets d'apprentissage dans un ordre précis. Ces séquences se retrouvent habituellement dans des sites pédagogiques accompagnant un cours ou dans une plateforme de téléformation. Un bon nombre de références disciplinaires générales sont ainsi recensées dans Eurêka.</p> 43 75 44 <?php 76 45 46 } 47 else { 48 ?> 49 <<h1>Who we are</h1> 50 <img src="images/ente_logo.jpg" align="left"> 51 <p class='ElegantText'>Developed by Vitrine <a href="http://ntic.org/accueil.php3?lang=en">Technologie-Education</a> in order to promote the sharing and exchange of learning object resources in a project between Québec-Wallonies-Bruselles, Eureka is the Quebec 52 part of a French depository of metadata based on open software.</p> 53 <span class='ElegantText'> 54 <table width='350' align='center'> 55 <tr><td><img src="images/logos/gala_octas.jpg" alt="Picture taken at the Octas 2005 awards"></td></tr> 56 <tr><td>Picture taken at the Octas 2005 awards. <br>From left to right :<br><b>Pierre-Julien Guay</b>, manager of <a href='http://ntic.org'>Vitrine Technologie-Ãducation</a>, 57 and co-editor de ISO/IEC 19788 Metadata for Learning Resources (MLR) international standard, 58 <br><b>Benoit Grégoire</b>, president of Technologies Coeus inc. 59 <br><b>François Proulx</b>, project manager of the Eurêka project at TechnologiesCoeus inc.</td></tr> 60 </table> 61 <br> 62 </span> 63 <p class='ElegantText'>The wallon part was developed for l'Enseignement et la Recherche Scientifique (AGERS), also known as RESPEL (RESsources PEdagogiques en Ligne).</p> 64 <p class='ElegantText'><b>Our metadata is compatible with the following standard and application profiles:</b></p> 65 <table width="400" border="0" cellpadding="2"> 66 <tr> 67 <td><div align="center"><a href='http://normetic.org/'><img src="images/logos/Normetic%20Logo-lg.jpg" width="161" height="61" alt=''><a/></div></td> 68 <td><div align="center"><a href='http://www.cancore.ca/fr/'><img src="images/logos/cancore.gif" width="114" height="61" alt=''></a></div></td> 69 <td><div align="center"><a href='http://www.imsglobal.org/metadata/'><img src="images/logos/ims.jpg" width="45" height="61" alt=''></a></div></td> 70 </tr> 71 <tr> 72 <td><div align="center"><a href='http://normetic.org/'>Normetic, Quebec</a></div></td> 73 <td><div align="center"><a href='http://www.cancore.ca/fr/'>CanCore</a></div></td> 74 <td><div align="center"><a href='http://www.imsglobal.org/metadata/'>IEEE-LOM</a></div></td> 75 </tr> 76 </table> 77 77 78 <h1>What is a learning resource?</h1> 79 <p class='ElegantText'>A learning object is usually a digital resource which can be incorporated into a teaching and learning assignment. It can also be an electronic publication, an artical and an interactive exercise, animation or video or audio document. 80 <p class='ElegantText'>The main idea is that the resource is sufficiently modular that it can be reused in differnet contexts than for which it was created. A video for road safety could, for example be used in a physics course (acceleration, vectors) or psychology ) reflexes, alcohol and drug use).</p> 81 <p class='ElegantText'>The concept of granulairty is one of size. The SCORM model (Sharable Content Object Reference Model) has three levels of granularity.</p> 82 <p class='ElegantText'><b>1. </b>The granularity of very fine grained objects such as those for images and sound. We can use a certain number of granularity to compose a shareable object such as a web page which has several images of bacteria in different stages of development with appropriate explanations. In general, we believe that the granularity has little chance of being reused without an explanatory text should not be included in Eureka.</b>.</p> 83 <p class='ElegantText'><b>2. </b>Shareable objects are of medium granulairty and can be demonstrated interactively in under ten minutes. They can be a series of videos, interactive exercises or printed material, for example</p> 84 <p class='ElegantText'><b>3. </b>The sequence consists of assembling learning objects in a precise order. This sequence is usually found in pedagogical sites which accompay a course or in a teleteaching platform. Many references are listed in Eureka.</p> 85 <?php 86 87 88 } 78 89 } 79 } 90 } //End class 80 91 ?> -
html/include/common.php
r3550449 r3971923 115 115 116 116 // Specify location of translation tables 117 //echo SYSTEM_FULL_PATH."po"; 117 118 bindtextdomain("eureka", SYSTEM_FULL_PATH."po"); 118 119 // set text domain to convert to UTF-8
Note: See TracChangeset
for help on using the changeset viewer.
