Example #1
0
 static function GetGlossary()
 {
     if (empty(FSS_Glossary::$glossary)) {
         $db = JFactory::getDBO();
         $query = 'SELECT * FROM #__fss_glossary';
         $where = array();
         $where[] = " published = 1 ";
         $where[] = 'language in (' . $db->Quote(JFactory::getLanguage()->getTag()) . ',' . $db->Quote('*') . ')';
         $user = JFactory::getUser();
         $where[] = 'access IN (' . implode(',', $user->getAuthorisedViewLevels()) . ')';
         if (count($where) > 0) {
             $query .= " WHERE " . implode(" AND ", $where);
         }
         $query .= ' ORDER BY LENGTH(word) DESC';
         $db->setQuery($query);
         self::$glossary = $db->loadObjectList();
         $extra = array();
         foreach (self::$glossary as $offset => &$data) {
             $data->base_offset = -1;
             $altwords = explode("\n", $data->altwords);
             $awp = array();
             foreach ($altwords as $aw) {
                 $aw = trim($aw);
                 if (!$aw) {
                     continue;
                 }
                 $ex = clone $data;
                 $ex->is_clone = true;
                 $ex->word = $aw;
                 $ex->linkword = $data->word;
                 $ex->base_offset = $offset;
                 $extra[] = $ex;
             }
         }
         self::$glossary = array_merge(self::$glossary, $extra);
         // add javascript
         FSS_Helper::StylesAndJS(array('tooltip', 'glossary'));
     }
 }