Changeset 7881009


Ignore:
Timestamp:
08/03/10 15:57:22 (22 months ago)
Author:
Benoit Grégoire <benoitg@…>
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
Message:

Merge master

Files:
13 added
32 edited

Legend:

Unmodified
Added
Removed
  • html/admin/group_editor.php

    r3550449 r146c4215  
    3737    $menus = new Menus(); 
    3838    $meta_array = array ( 
    39     '<script type="text/javascript" src="/ajax/controller.php?client=all&amp;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&amp;stub=AjaxVocabulary"></script>', 
     40    '<script type="text/javascript" src="' . URL_ROOT_PATH . 'ajax/menuhandler.js"></script>' 
    4141    ); 
    4242    $title = _("Eureka, Group LO editor"); 
    4343    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" 
    4646    ), $meta_array); 
    4747    echo $menus->getMainLeftMenu(); 
  • html/admin/vcard_admin.php

    r3550449 r146c4215  
    334334                                break; 
    335335                        } 
    336                         $redirect_url = BASE_URL_PATH."admin/lom_admin.php?action=".$_REQUEST['redirect_action']."&lom_id=".$_REQUEST['redirect_lom_id']."&section=".$_REQUEST['redirect_section']; 
     336                        $redirect_url = FICHE_ADMIN_URL."?action=".$_REQUEST['redirect_action']."&lom_id=".$_REQUEST['redirect_lom_id']."&section=".$_REQUEST['redirect_section']; 
    337337                        echo "<script type='text/javascript'>SubmitOpenerWindow('".$redirect_url."','true');</script>"; 
    338338                    } 
     
    585585                        break; 
    586586                } 
    587                 $redirect_url = BASE_URL_PATH."admin/lom_admin.php?action=".$_REQUEST['redirect_action']."&lom_id=".$_REQUEST['redirect_lom_id']."&section=".$_REQUEST['redirect_section']; 
     587                $redirect_url = FICHE_ADMIN_URL."?action=".$_REQUEST['redirect_action']."&lom_id=".$_REQUEST['redirect_lom_id']."&section=".$_REQUEST['redirect_section']; 
    588588                echo "<script type='text/javascript'>SubmitOpenerWindow('".$redirect_url."','false');</script>"; 
    589589 
  • html/admin/virtual_hosts_admin.php

    r3550449 r146c4215  
    3636    $style = new Style(); 
    3737    $menus = new Menus(); 
    38     $meta_array = array ('<script type="text/javascript" src="/ajax/controller.php?client=all&amp;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&amp;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); 
    4040    echo $menus->getMainLeftMenu('ADMIN_VIRTUAL_HOSTS'); 
    4141    //pretty_print_r($_REQUEST); 
  • html/admin/vocabulary_admin.php

    r3550449 r146c4215  
    3636        error_reporting(E_ALL); 
    3737    $meta_array = array ( 
    38     '<script type="text/javascript" src="/ajax/controller.php?client=all&amp;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&amp;stub=AjaxVocabulary"></script>', 
     39    '<script type="text/javascript" src="'.URL_ROOT_PATH.'ajax/menuhandler.js"></script>' 
    4040        ); 
    4141        $style = new Style(); 
     
    4343        if (empty ($_REQUEST['action']) || ($_REQUEST['action'] != "exportall" && $_REQUEST['action'] != "export")) 
    4444        { 
    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); 
    4646                echo $menus->getMainLeftMenu('ADMIN_THESAURUS'); 
    4747        } 
  • html/classes/AbstractSpider.php

    r3550449 r2b2d3e9  
    6060            $db->ExecuterSqlResUnique("SELECT spider_id, protocol FROM spiders WHERE spider_id = {$spider_id};", $spider_row, false); 
    6161            require_once('classes/'.$spider_row['protocol'].".php"); 
    62             $retval = & new $spider_row['protocol']($id); 
     62            $retval = new $spider_row['protocol']($id); 
    6363            self :: $object_cache[$id] = $retval; 
    6464        } 
  • html/classes/File.php

    r3550449 r146c4215  
    141141     */ 
    142142    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]); 
    144144    } 
    145145 
  • html/classes/JS_DOMSelectBoxManager.php

    r3550449 r146c4215  
    11<?php 
     2require_once 'config/config.php'; 
    23    // 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  
    26092609                    echo "<div class='localisation'>\n"; 
    26102610                    if ($current_user->isInBookmarks($this)) 
    2611                     echo "<a href='my_bookmarks.php?action=remove&amp;oai_id={$this->getOaiId()->getEntry()}'><img style='vertical-align: middle;' src='" . BASE_URL_PATH . "images/b_remove_basket.gif'>&nbsp;" . _("Remove from my bookmarks") . "</a>\n"; 
     2611                    echo "<a href='".BOOKMARKS_URL."?action=remove&amp;oai_id={$this->getOaiId()->getEntry()}'><img style='vertical-align: middle;' src='" . BASE_URL_PATH . "images/b_remove_basket.gif'>&nbsp;" . _("Remove from my bookmarks") . "</a>\n"; 
    26122612                    else 
    2613                     echo "<a href='my_bookmarks.php?action=add&amp;oai_id={$this->getOaiId()->getEntry()}'><img style='vertical-align: middle;' src='" . BASE_URL_PATH . "images/b_add_basket.gif'>&nbsp;" . _("Add to my bookmarks") . "</a>\n"; 
     2613                    echo "<a href='".BOOKMARKS_URL."?action=add&amp;oai_id={$this->getOaiId()->getEntry()}'><img style='vertical-align: middle;' src='" . BASE_URL_PATH . "images/b_add_basket.gif'>&nbsp;" . _("Add to my bookmarks") . "</a>\n"; 
    26142614                    echo "</div>\n"; 
    26152615                    echo "</td></tr></table>"; 
  • html/classes/LomAnnotation.php

    r3550449 r146c4215  
    220220                        if (!empty ($lom_8_annotation_row['lom_8_1_entity_vcards_id'])) 
    221221                        { 
    222                                 $RefPrefixe = "/display_vcard.php"; 
     222                                $RefPrefixe = URL_ROOT_PATH."display_vcard.php"; 
    223223 
    224224                                echo "<tr>"; 
     
    239239                                elseif ($vcard_result['photo_data'] != null) 
    240240                                { 
    241                                         echo "<img src='/image_view.php?vcard_id=".$lom_8_annotation_row['lom_8_1_entity_vcards_id']."&amp;type=photo' height='45px'>\n"; 
     241                                        echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$lom_8_annotation_row['lom_8_1_entity_vcards_id']."&amp;type=photo' height='45px'>\n"; 
    242242                                        echo "</TD>\n"; 
    243243                                } 
  • html/classes/LomContribution.php

    r3550449 r146c4215  
    267267        } 
    268268 
    269         $RefPrefixe = "/display_vcard.php"; 
     269        $RefPrefixe = URL_ROOT_PATH."display_vcard.php"; 
    270270 
    271271        $lom_contributions_row = $this->mRow; 
     
    357357                        echo "<br>\n"; 
    358358                    } 
    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"; 
    360360 
    361361                    echo "</td>\n</tr>\n"; 
  • html/classes/Menus.php

    r3971923 r7881009  
    8484            $retval .= "<ul>\n"; 
    8585            // 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'); 
    8989            if(VirtualHost::getCurrentVirtualHost()->isBookmarksEnabled()){ 
    90                 $retval .= $this->getEntry(_("Bookmarks"), BASE_URL_PATH.'my_bookmarks.php',  $active == 'MY_BOOKMARKS'); 
     90                $retval .= $this->getEntry(_("Bookmarks"), BOOKMARKS_URL,  $active == 'MY_BOOKMARKS'); 
    9191            } 
    9292            // Everybody can suggest learning objects that will go in a dropbox 
     
    114114                { 
    115115                    $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'); 
    117117                } 
    118118                         
    119119                // Super-users and VCard-admin can edit VCards 
    120120                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'); 
    122122                 
    123123                if ($usager->IsSuperAdmin()) 
    124124                { 
    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'); 
    129129                } 
    130130 
  • html/classes/PopUpHelpGenerator.php

    r3550449 r6fcfc31  
    3838        function getUniqueTooltipId($prefix, $id) 
    3939        { 
    40                 return $prefix.$id.'_'.mt_rand(); 
     40                return $prefix.$id.'_';//.mt_rand(); 
    4141        } 
    4242 
     
    8282    @param boolean showNumber ( show element number ) 
    8383    @param string caption_style (one of the three caption styles) 
     84    @param string Return the id of the tooltip div 
    8485        @return The generated caption HTML code 
    8586        */ 
    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) 
    8788        { 
    8889        // get a valid css style class 
  • html/classes/SearchEngine.php

    rd225188 r7881009  
    4141    private $valid_search_terms = null; 
    4242    private $ignored_search_terms = null; 
    43     private $search_term_patterns = null; 
    44     private $search_term_replacements = null; 
    4543 
    4644    private $search_lom_status = null; 
     
    157155        return $retval; 
    158156    } 
     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 
    159171    /** SQL fragment to limit a query to the candidate LO thaking the virtual host's themes and languages 
    160172     * in consideration.  Note that this query will return null if there 
     
    316328        switch ($criteria) { 
    317329            case 'RELEVANCE': 
    318                 $this->ordering_criteria_sql='count'; 
     330                $this->ordering_criteria_sql='total_rank'; 
    319331                break; 
    320332            case 'VALIDATION_DATE': 
     
    460472    } 
    461473 
    462     /** 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 
     474    /** 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 
    463475     * @return SQL fragment */ 
    464476    private function getSqlThemeLimitWhere() { 
     
    678690        //Keyword search (themes and LO) 
    679691        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); 
    683699            $sql = "CREATE TEMP TABLE {$this->value_match_table} AS $sql_langstring_entries_match;"; 
    684700            $sql .= "CREATE INDEX {$this->value_match_table}_idx ON {$this->value_match_table} (langstrings_id)"; 
     
    697713            $sql_join = ""; 
    698714            /* 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"; 
    700716            /* 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"; 
    702718            /* 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"; 
    704720            /* 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"; 
    706722            /* 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"; 
    708724            /* 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"; 
    710726 
    711727            /* Keyword search in elements having a vocabulary as value */ 
    712728            $sqlVocabularyElements = ""; 
    713729            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"; 
    715731 
    716732                //$db->ExecuterSql($sql_vocabulary_elements, $tmp, true); 
     
    721737            //$db->ExecuterSql($sql_union_query, $learning_objects_results, true);// For debug only 
    722738        } 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)"; 
    724740        } 
    725741 
     
    737753        /* Limit to specific LO contributions (specific VCard) */ 
    738754        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)"; 
    740756            $vcard_id = $this->search_vcard->getId(); 
    741757            $sql_search_limiting_vcard_where = " AND resource_vcard.vcards_id='{$vcard_id}' "; 
     
    779795        } 
    780796          
    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}"; 
    782798        //$db->ExecuterSql($sql_search_query, $learning_objects_results, true);// For debug only 
    783799        // Merge all queries and execute them in one shot 
     
    788804        //$db->ExecuterSql("SELECT * FROM {$this->lom_match_table}", $learning_objects_results, true);// For debug only 
    789805        // 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}"; 
    791807        $db->ExecuterSql($sql, $learning_objects_results, false); // Store the results 
    792808        $this->learning_objects_results = & $learning_objects_results; 
     
    914930        return $this->search_resource_language_locale; 
    915931    } 
     932 
    916933    /** 
    917      * Builds the search terms WHERE criteria 
     934     * Builds the search terms tsquery for the WHERE criteria 
    918935     * @return SQL WHERE formatted string 
    919936     */ 
    920     private function getSqlSearchTermsCriteria() { 
     937    private function getSqlSearchTermsTSQuery() { 
    921938        global $db; 
    922939        foreach ($this->valid_search_terms as $term) { 
    923940            $escapedTerms[]= $db->EscapeString($term); 
    924941        } 
    925         /* @FIXME */ 
    926942 
    927943        $queryLanguages = self::getIndexingLanguages(); 
     
    939955            $searchTermCriterias[] = $searchTermsCriteria; 
    940956        } 
    941         $retval = "valuesearchable_index_col @@ (\n".implode(' || ', $searchTermCriterias)."\n)"; 
     957        $retval = "(\n".implode(' || ', $searchTermCriterias)."\n)"; 
    942958 
    943959        return $retval; 
    944960    } 
     961      
    945962    /** get stored search keywords */ 
    946963    public function getSearchKeywords() { 
     
    953970    public function setSearchKeywords($keywords) { 
    954971        $this->search_keywords = $keywords; 
    955         $this->search_term_patterns = array (); 
    956         $this->search_term_replacements = array (); 
    957972        if($this->search_match_mode == 'exact_string') { 
    958973            $this->valid_search_terms[] = $keywords; 
    959             $this->search_term_patterns[] = "/$keywords/i"; 
    960             $this->search_term_replacements[] = "<span class='search_matching_text'>$keywords</span>"; 
    961974 
    962975        } 
     
    969982                    else { 
    970983                        $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>"; 
    973984                    } 
    974985                } 
     
    13981409        $ret_html .= "<div id='paragraphe_1'>"; 
    13991410        $ret_html .= "<dl>"; 
    1400  
    14011411        /* Output search parameters ( terms, advanced options ... ) */ 
    14021412 
     
    15921602 
    15931603        /* 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 
    15951610        $num_total_results = $this->getResultNum(); 
    15961611        if ($this->learning_objects_results != NULL) { 
     
    16391654                $id = $lo->getId(); 
    16401655                $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                } 
    16421661                /* Result title and summary */ 
    16431662                //$ret_html .= "<p>\n"; 
     
    16701689                // Edit button ( if available ) 
    16711690                if ($current_user && $current_user->hasEditAccess($lom_id)) { 
    1672                     $ret_html .= "<a class ='edit_button' href='/admin/lom_admin.php?action=edit&amp;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 
     1691                    $ret_html .= "<a class ='edit_button' href='".FICHE_ADMIN_URL."?action=edit&amp;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 
    16731692                } 
    16741693                $ret_html .= "<a href='".LOM_DISPLAY_URL."?format=HTML&amp;lom_id=" . $lom_id . "'><em>" . $lo->getTitle()->getString() . "</em></a></p>\n"; 
    16751694                /* Summary */ 
    16761695                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']; 
    16781700                } 
    16791701                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"; 
    16831706 
    16841707                /* If there are valid text search terms, display the matching fields */ 
    16851708                if (!empty ($this->valid_search_terms)) { 
     1709                    $tsQuery = $this->getSqlSearchTermsTSQuery(); 
    16861710                    $ret_html .= "<table cellspacing='0' cellpadding='0'>\n"; 
    16871711                    $ret_html .= "<tr>\n"; 
    16881712                    $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>"; 
    16901714                    $ret_html .= "</table>"; 
    16911715                    $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"; 
    16931718                    $db->ExecuterSql($sql, $element_results, false); 
    16941719                    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); 
    17101725                        $ret_html .= "<br>"; 
    17111726                        $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>"; 
    17121727                        $click_trigger = $popupgen->getClickTrigger($id); 
    17131728                        $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"; 
    17171732                        $ret_html .= "<br>"; 
    17181733                    } 
     
    17301745                $ret_html .= "[{$i}]"; 
    17311746                else 
    1732                 $ret_html .= "<a href='/search.php?action=resume_search&amp;results_page={$i}'>{$i}</a>"; 
     1747                $ret_html .= "<a href='".SEARCH_URL."?action=resume_search&amp;results_page={$i}'>{$i}</a>"; 
    17331748            } 
    17341749            $ret_html .= "</p>"; 
    17351750        } else { 
    1736             $ret_html .= _("No learning object has been found in the database") . "<br>\n"; 
     1751            $ret_html .= _("No learning object have been found in the database") . "<br>\n"; 
    17371752        } 
    17381753        return $ret_html; 
  • html/classes/Style.php

    r3971923 r7881009  
    9090 
    9191        // Add the new style sheet 
    92         $stylesheets = $vhost->getStyleSheets(); 
     92        $stylesheets = $vhost->getStylesheets(); 
    9393 
    9494        foreach($stylesheets as $stylesheetUrl) { 
  • html/classes/ThemeList.php

    r3550449 r146c4215  
    308308                        $id = $fiche->getId(); 
    309309                        // 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"; 
    312312                    } 
    313313 
  • html/classes/VCard.php

    r3550449 r146c4215  
    597597                elseif ($this->mRow[$requestedImage.'_data'] != null) 
    598598                { 
    599                     return '/image_view.php?vcard_id='.$this->getId().'&amp;type='.$requestedImage; 
     599                    return IMAGE_VIEW_URL.'?vcard_id='.$this->getId().'&amp;type='.$requestedImage; 
    600600                } 
    601601                else 
     
    731731            elseif ($vcards_row['logo_data'] != null) { 
    732732                echo "<tr><TH class='th_left'>"._("Thumbnail")."</TH><td>\n"; 
    733                 echo "<img src='/image_view.php?vcard_id=".$this->mId."&amp;type=logo'></TD></TR>\n"; 
     733                echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&amp;type=logo'></TD></TR>\n"; 
    734734 
    735735            } 
     
    955955            elseif ($vcards_row['photo_data'] != null) { 
    956956                echo "<tr><TH class='th_left'>"._("Thumbnail")."</TH><td>\n"; 
    957                 echo "<img src='/image_view.php?vcard_id=".$this->mId."&amp;type=photo'></TD></TR>\n"; 
     957                echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&amp;type=photo'></TD></TR>\n"; 
    958958 
    959959            } 
     
    11111111                    echo "<TABLE class='spreadsheet_user'>"; 
    11121112                    echo "<tr><TH class='th_left'>"._("Thumbnail")."</TH><td>\n"; 
    1113                     echo "<img src='/image_view.php?vcard_id=".$this->mId."&amp;type=photo' height='100px'></TD></TR>\n"; 
     1113                    echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&amp;type=photo' height='100px'></TD></TR>\n"; 
    11141114                    echo "</TD></TR>\n"; 
    11151115                    echo "</TABLE>"; 
     
    11541154            // Sinon celle sauvegardée dans la BD 
    11551155            elseif ($vcards_row['photo_data'] != null) { 
    1156                 echo "<img src='/image_view.php?vcard_id=".$this->mId."&amp;type=photo' height='100px'>\n"; 
     1156                echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&amp;type=photo' height='100px'>\n"; 
    11571157            } 
    11581158            echo "<p>"; 
     
    11921192            // Sinon celle sauvegardée dans la BD 
    11931193            elseif ($vcards_row['logo_data'] != null) { 
    1194                 echo "<img src='/image_view.php?vcard_id=".$this->mId."&amp;type=logo' height='100px'>\n"; 
     1194                echo "<img src='".IMAGE_VIEW_URL."?vcard_id=".$this->mId."&amp;type=logo' height='100px'>\n"; 
    11951195            } 
    11961196 
  • html/classes/VCardList.php

    r3550449 r146c4215  
    2525*/ 
    2626 
     27require_once 'config/config.php'; 
    2728require_once 'GenericDataObject.php'; 
    2829require_once 'VCard.php'; 
     
    5960                // Since 8.Annotation isn't related to a contribution. Dont' send the contrib_id  
    6061                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"; 
    6263                echo "</p>"; 
    6364 
    6465                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"; 
    6667                echo "</p>"; 
    6768        } 
     
    156157        // Group in a table so it doesn't get disaligned when the Order textbox is shown 
    157158        $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&amp;exportParams[]=\" + this.options[this.selectedIndex].value + \"&amp;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&amp;exportParams[]=\" + this.options[this.selectedIndex].value + \"&amp;exportParams[]=".$limit_to."\", Array(\"".$name_id."\", null, ".$permetValeurNulle."));'")."</td></tr>\n"; 
    159160        $retval .= "<tr><td><select name ='$name_id' id='$name_id'></select></td></tr>\n"; 
    160161        $retval .= "</table>\n"; 
    161162         
    162163        // 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>'; 
    164165         
    165166        return $retval; 
  • html/classes/VocabularyList.php

    r3550449 r33c1773  
    6161    } 
    6262     
    63         function _construct($id, $criterions = "") 
     63        function __construct($id, $criterions = "") 
    6464        { 
    6565                parent :: __construct(); 
     
    8787                $sql = "SELECT  vdex_4_vocabulary_identifier FROM vocabularies WHERE is_system_vocabulary = true "; 
    8888                if($this->mCriterions != "") 
    89                         $sql .= " AND ".$criterions; 
     89                        $sql .= " AND ".$this->mCriterions; 
    9090                $sql .= " ORDER BY vdex_4_vocabulary_identifier"; 
    9191                 
     
    109109                $sql = "SELECT  vdex_4_vocabulary_identifier FROM vocabularies WHERE is_system_vocabulary = true  "; 
    110110                if($this->mCriterions != "") 
    111                         $sql .= " AND ".$criterions; 
     111                        $sql .= " AND ".$this->mCriterions; 
    112112                $sql .= " ORDER BY vdex_4_vocabulary_identifier"; 
    113113                $this->mBd->ExecuterSql($sql, $resultats, FALSE); 
     
    140140                $sql = "SELECT  vdex_4_vocabulary_identifier FROM vocabularies WHERE is_system_vocabulary = true  "; 
    141141                if($this->mCriterions != "") 
    142                         $sql .= " AND ".$criterions; 
     142                        $sql .= " AND ".$this->mCriterions; 
    143143                $sql .= " ORDER BY vdex_4_vocabulary_identifier"; 
    144144                $this->mBd->ExecuterSql($sql, $resultats, FALSE); 
  • html/config/config.php

    rd225188 r7881009  
    5555define("BASE_FILE_PATH",  $_SERVER['DOCUMENT_ROOT']); 
    5656define("CUSTOM_CONTENT_FILE_PATH",  BASE_FILE_PATH.'/custom_content/'); 
    57 define("BASE_URL_PATH",  'http://' . $_SERVER['HTTP_HOST'] . '/'); 
     57define("URL_ROOT_PATH",  '/'); 
     58define("BASE_URL_PATH",  'http://' . $_SERVER['HTTP_HOST'] . URL_ROOT_PATH); 
    5859 
    5960define("SYSTEM_FULL_PATH", "/var/www/eureka.ntic.org/"); 
     
    108109define('ECL_RECEIVER_URN', 'eureka_search_service'); 
    109110 
    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/'); 
     111define("NAVIGATE_THEMES_URL", URL_ROOT_PATH . 'navigate_themes.php'); 
     112define("LOM_DISPLAY_URL", URL_ROOT_PATH . 'display_lo.php'); 
     113define("SEARCH_URL", URL_ROOT_PATH . 'search.php'); 
     114define("BOOKMARKS_URL", URL_ROOT_PATH . 'my_bookmarks.php'); 
     115define("IMAGE_VIEW_URL", URL_ROOT_PATH . 'image_view.php'); 
     116 
     117define("ADMIN_ROOT_PATH", URL_ROOT_PATH . 'admin/'); 
     118define("THEME_ADMIN_URL", ADMIN_ROOT_PATH . 'theme_admin.php'); 
     119define("FICHE_ADMIN_URL", ADMIN_ROOT_PATH . 'lom_admin.php'); 
     120define("VCARD_ADMIN_URL", ADMIN_ROOT_PATH . 'vcard_admin.php'); 
     121define("VOCABULARY_ADMIN_URL", ADMIN_ROOT_PATH . 'vocabulary_admin.php'); 
     122define("APPLICATION_PROFILE_ADMIN_URL", ADMIN_ROOT_PATH . 'application_profile_admin.php'); 
     123define("SPIDER_ADMIN_URL", ADMIN_ROOT_PATH . 'spider_admin.php'); 
     124define("SPIDER_INTERFACE_URL", ADMIN_ROOT_PATH . 'spider_interface.php'); 
     125define("USER_LIST_URL", ADMIN_ROOT_PATH . 'user_list.php'); 
     126define("VIRTUAL_HOST_ADMIN_URL", ADMIN_ROOT_PATH . 'virtual_hosts_admin.php'); 
     127define("VOCABULARY_RELATION_ADMIN_URL", ADMIN_ROOT_PATH . 'vocabulary_relation_admin.php'); 
     128define("GROUP_EDITOR_URL", ADMIN_ROOT_PATH . 'group_editor.php'); 
     129define("BROKEN_LINKS_CHECKER_URL", ADMIN_ROOT_PATH . 'check_broken_links.php'); 
     130 
     131define("CUSTOM_THEMES_URL_PATH", URL_ROOT_PATH . 'themes/custom_themes/'); 
     132define("BASE_THEME_URL_PATH", URL_ROOT_PATH . 'themes/base_theme/'); 
    124133define("CUSTOM_THEMES_FILE_PATH",  BASE_FILE_PATH.'/themes/custom_themes/'); 
    125134define("STYLESHEET_FILENAME", 'stylesheet.css'); 
  • html/import/import.php

    r3550449 r146c4215  
    3030$style = new Style(); 
    3131$menus = new Menus(); 
    32 echo $style->getHeader(null, _("Eureka, Import learning objects"), false, false, array("".BASE_URL_PATH."images/b_go_o.gif")); 
     32echo $style->getHeader(null, _("Eureka, Import learning objects"), false, false, array("".URL_ROOT_PATH."images/b_go_o.gif")); 
    3333echo $menus->getMainLeftMenu('IMPORT'); 
    3434echo "<div id='right'>\n"; 
     
    4242{ 
    4343        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"; 
    4545        if($current_user->IsSuperAdmin()) 
    4646        { 
    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"; 
    5353        } 
    5454} 
  • html/include/schema_validate.php

    rad2acc5 r1a4c106  
    2525 */ 
    2626error_reporting(E_ALL); 
    27 define('REQUIRED_SCHEMA_VERSION', 22); 
     27define('REQUIRED_SCHEMA_VERSION', 23); 
    2828 
    2929/** Check that the database schema is up to date.  If it isn't, offer to update it. */ 
     
    423423 
    424424            $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"; 
    426426            $sql .= "ALTER TABLE langstring_entries ADD COLUMN valuesearchable_index_col tsvector;\n"; 
    427427           $sql .= <<<EOT 
     
    462462        } 
    463463 
     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        } 
    464472        $db->execSqlUpdate("BEGIN;\n$sql\nCOMMIT;\n", true); 
    465473        $db->execSqlUpdate("VACUUM ANALYSE;\n", true); 
  • html/my_bookmarks.php

    r3550449 r146c4215  
    6464$style = new Style(); 
    6565$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")); 
     66echo $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")); 
    6767echo $menus->getMainLeftMenu('MY_BOOKMARKS'); 
    6868echo "<div id='right'>\n"; 
     
    8787                // Ensure the user is at least a Eureka admin 
    8888                if($session->AccessControl('EurekaAdmin', true)) 
    89                                 $edit_button = "<a href='/admin/lom_admin.php?action=edit&amp;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>&nbsp;"; 
    90                 $delete_button = "<a href='?action=remove&amp;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>&nbsp;"; 
     89                                $edit_button = "<a href='".FICHE_ADMIN_URL."?action=edit&amp;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>&nbsp;"; 
     90                $delete_button = "<a href='?action=remove&amp;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>&nbsp;"; 
    9191            echo "<li>{$edit_button}{$delete_button}<a href='".htmlspecialchars(LOM_DISPLAY_URL."?format=HTML&lom_id=".$lo->getId())."'><b>".$lo->getTitle()->getString()."</b></a>"; 
    9292            /* lom_1_4_descriptions_has_langstrings */ 
     
    109109        $session = Session::getObject(); 
    110110        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"; 
    112112        echo "<img alt='"._("Screenshot of the bookmarks page")."' src=\"{$img_src}\">"; 
    113113    } 
     
    120120        { 
    121121            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/>"; 
    123123             
    124124            $session = Session::getObject(); 
    125125        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"; 
    127127        echo "<img alt='"._("Screenshot of the bookmarks page")."' src=\"{$img_src}\">"; 
    128128        } 
  • html/signup.php

    r3550449 r146c4215  
    6767                        if($user->setPassword($_REQUEST['password_1']) === true) 
    6868                        { 
    69                                 header("Location: my_bookmarks.php?action=registration_confirmation"); 
     69                                header("Location: ".BOOKMARKS_URL."?action=registration_confirmation"); 
    7070                                exit; 
    7171                        } 
     
    108108        if($captcha_enabled === true) 
    109109                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"; 
    111111                echo "<input type='text' name='captcha' size='44' maxlength='44'>\n"; 
    112112                echo "</td></tr>\n"; 
  • html/suggest.php

    r3550449 r146c4215  
    8484                $db->ExecuterSqlResUnique($sql, $themes, false); 
    8585                 
    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']}"); 
    8787        } 
    8888} 
  • html/themes/base_theme/stylesheet.css

    r3550449 rdd37b7c  
    124124        float: left; 
    125125        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; 
    126131} 
    127132 
  • html/themes/custom_themes/NTIC.ORG/stylesheet.css

    rfc4464f rdd37b7c  
    4444h2 { 
    4545        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; 
    4651} 
    4752 
  • sql/nested_set_api.sql

    r3550449 rb61af96  
    218218                rec_subtree_root RECORD; 
    219219                sqlstring TEXT; 
    220                 move INTEGER; 
     220                move_distance INTEGER; 
    221221                level_change INTEGER; 
    222222        BEGIN 
     
    251251                                -- Calculate the move size (signed for direction) and level difference  
    252252                                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; 
    254254                                        level_change:=rec_new_parent.ns_level+ 1 - rec_subtree_root. ns_level; 
    255255                                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;              
    257257                                        level_change:=0 - rec_subtree_root. ns_level; 
    258258                                END IF;  
    259                                 IF move = 0 THEN 
     259                                IF move_distance = 0 THEN 
    260260                                        RAISE EXCEPTION ''voc_move_subtree():  Move distance is 0'';     
    261261                                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; 
    263263 
    264264                                --Create the hole to move the subtree 
     
    274274                                END IF; 
    275275                                 
    276                                 IF move < 0 THEN 
     276                                IF move_distance < 0 THEN 
    277277                                        --Update the subtree record, it was moved as well while punching the hole before it 
    278278                                        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; 
     
    281281                                        END IF;  
    282282                                        --Adjust the move distance 
    283                                         move := move - rec_subtree_root.width; 
     283                                        move_distance := move_distance - rec_subtree_root.width; 
    284284                                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; 
    286286 
    287287                                --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; 
    289289                                        IF NOT FOUND THEN 
    290290                                                RAISE EXCEPTION ''voc_move_subtree():  No rows affected while moving subtree in final location'';        
  • html/admin/spider_admin.php

    r3550449 r3971923  
    7575                  } 
    7676                  else if(isset($_REQUEST['run_action'])) { 
     77                        set_time_limit(3000); 
     78                        ini_set('memory_limit', '256M'); 
    7779                      $spider->run(true);//Harvest in verbose mode 
    7880                  } 
  • html/admin/spider_interface.php

    r3550449 r3971923  
    7676    if (!empty ($spiders)) 
    7777    { 
     78        set_time_limit(3000); 
     79        ini_set('memory_limit', '256M'); 
     80 
    7881        if ($verbose) 
    7982        echo "<h1>"._("Synchronization process started.")."</h1>\n"; 
  • html/custom_content/default/Documentation.php

    r3550449 r3971923  
    99 
    1010<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> 
    1212<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> 
    1414</ul> 
    1515<h2>Fonctions d'édition de ressources et de gestion</h2> 
    1616 
    1717<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> 
    2121</ul> 
    2222 
     
    3333 
    3434<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> 
    3636<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> 
    3838</ul> 
    3939 
    4040<h2>Learning resource edition and management functions</h2> 
    4141<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> 
    4444</ul> 
    4545 
  • html/custom_content/default/Presentation.php

    r3550449 r3971923  
    22class Presentation extends CustomContent { 
    33 
    4     function getMenuTitle($language) { 
    5         return "Qui sommes-nous?"; 
    6     } 
     4    static function displayContent($language) { 
    75 
    8     static function displayContent($language) { 
     6        if (strncasecmp($language, 'fr', 2) == 0) { 
    97?> 
    108<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> 
    1211<span class='ElegantText'> 
    1312<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>, 
    1615co-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. 
    1817<br><b>François Proulx</b>, chargé du projet Eurêka chez Coeus.</td></tr> 
    1918</table> 
    2019<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&eacute;n&eacute;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&eacute;gial de d&eacute;veloppement de mat&eacute;riel didactique</small></td> 
    44       <td style="text-align: center;"><small>T&eacute;l&eacute;-Qu&eacute;bec</small></td> 
    45       <td style="text-align: center;"><small>Association qu&eacute;b&eacute;coise des utilisateurs de l'ordinateur au primaire - secondaire</small></td> 
    46       <td style="text-align: center;"><small>Centre de ressources didactiques informatis&eacute;es</small></td> 
    47       <td style="text-align: center;"><small>Commission scolaire de Laval</small></td> 
    48     </tr> 
    49   </tbody> 
    50 </table> 
    5120</span> 
    5221<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> 
     
    5423 <table width="400" border="0" cellpadding="2"> 
    5524<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> 
    5928</tr> 
    6029<tr>  
     
    6938<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>  
    7039<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  
    7240<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> 
    7341<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> 
    7442<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    
    7544    <?php 
    7645 
     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>, 
     57and 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> 
    7777 
     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        } 
    7889    } 
    79 } 
     90} //End class 
    8091?> 
  • html/include/common.php

    r3550449 r3971923  
    115115 
    116116// Specify location of translation tables 
     117//echo SYSTEM_FULL_PATH."po"; 
    117118bindtextdomain("eureka", SYSTEM_FULL_PATH."po"); 
    118119// set text domain to convert to UTF-8 
Note: See TracChangeset for help on using the changeset viewer.