4require_once(
"./Modules/Glossary/classes/class.ilGlossaryDefPage.php");
 
   54                $q = 
"SELECT * FROM glossary_definition WHERE id = ".
 
   55                        $ilDB->quote($this->
id, 
"integer");
 
   56                $def_set = 
$ilDB->query($q);
 
   57                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
   61                $this->
setNr($def_rec[
"nr"]);
 
   84                $this->term_id = $a_term_id;
 
  114                $this->page_object =& $a_page_object;
 
  137                $this->title = $a_title;
 
  147                return $this->description;
 
  157                $this->description = $a_description;
 
  167                $this->short_text_dirty = $a_val;
 
  190                $this->
setId($ilDB->nextId(
"glossary_definition"));
 
  198                $q = 
"SELECT max(nr) AS max_nr FROM glossary_definition WHERE term_id = ".
 
  200                $max_set = 
$ilDB->query($q);
 
  201                $max_rec = 
$ilDB->fetchAssoc($max_set);
 
  202                $max = (int) $max_rec[
"max_nr"];
 
  205                $ilDB->manipulate(
"INSERT INTO glossary_definition (id, term_id, short_text, nr, short_text_dirty)".
 
  207                        $ilDB->quote($this->getId(), 
"integer").
",".
 
  210                        $ilDB->quote(($max + 1), 
"integer").
", ".
 
  215                $ilDB->unlockTables();
 
  218                $q = 
"SELECT nr FROM glossary_definition WHERE id = ".
 
  219                        $ilDB->quote($this->
id, 
"integer");
 
  220                $def_set = 
$ilDB->query($q);
 
  221                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
  222                $this->
setNr($def_rec[
"nr"]);
 
  232                $this->page_object->setId($this->
getId());
 
  233                $this->page_object->setParentId($term->getGlossaryId());
 
  234                $this->page_object->create();
 
  242                #ilDB::_lockTables(array('glossary_definition' => 'WRITE')); 
  249                $q = 
"SELECT * FROM glossary_definition WHERE id = ".
 
  250                        $ilDB->quote($this->
id, 
"integer");
 
  251                $def_set = 
$ilDB->query($q);
 
  252                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
  253                $this->
setNr($def_rec[
"nr"]);
 
  256                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  258                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  259                        " AND nr > ".$ilDB->quote($this->getNr(), 
"integer"));
 
  262                $ilDB->manipulate(
"DELETE FROM glossary_definition ".
 
  263                        " WHERE id = ".
$ilDB->quote($this->getId(), 
"integer"));
 
  266                $ilDB->unlockTables();
 
  269                $this->page_object->delete();
 
  286                #ilDB::_lockTables(array('glossary_definition' => 'WRITE')); 
  293                $q = 
"SELECT * FROM glossary_definition WHERE id = ".
 
  294                        $ilDB->quote($this->
id, 
"integer");
 
  295                $def_set = 
$ilDB->query($q);
 
  296                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
  297                $this->
setNr($def_rec[
"nr"]);
 
  299                if ($this->
getNr() < 2)
 
  301                        $ilDB->unlockTables();
 
  306                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  308                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  309                        " AND nr = ".$ilDB->quote(($this->getNr() - 1), 
"integer"));
 
  312                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  314                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  315                        " AND id = ".$ilDB->quote($this->getId(), 
"integer"));
 
  318                $ilDB->unlockTables();
 
  327                #ilDB::_lockTables(array('glossary_definition' => 'WRITE')); 
  333                $q = 
"SELECT * FROM glossary_definition WHERE id = ".
 
  334                        $ilDB->quote($this->
id, 
"integer");
 
  335                $def_set = 
$ilDB->query($q);
 
  336                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
  337                $this->
setNr($def_rec[
"nr"]);
 
  340                $q = 
"SELECT max(nr) as max_nr FROM glossary_definition WHERE term_id = ".
 
  342                $max_set = 
$ilDB->query($q);
 
  343                $max_rec = 
$ilDB->fetchAssoc($max_set);
 
  345                if ($this->
getNr() >= $max_rec[
"max_nr"])
 
  347                        $ilDB->unlockTables();
 
  352                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  354                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  355                        " AND nr = ".$ilDB->quote(($this->getNr() + 1), 
"integer"));
 
  358                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  360                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  361                        " AND id = ".$ilDB->quote($this->getId(), 
"integer"));
 
  364                $ilDB->unlockTables();
 
  375                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  376                        " term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
", ".
 
  377                        " nr = ".$ilDB->quote($this->getNr(), 
"integer").
", ".
 
  378                        " short_text = ".$ilDB->quote($this->getShortText(), 
"text").
", ".
 
  379                        " short_text_dirty = ".$ilDB->quote($this->getShortTextDirty(), 
"integer").
" ".
 
  380                        " WHERE id = ".$ilDB->quote($this->getId(), 
"integer"));
 
  395                        include_once(
"./Modules/Glossary/classes/class.ilObjGlossary.php");
 
  396                        include_once(
"./Modules/Glossary/classes/class.ilGlossaryTerm.php");
 
  399                        if ($snippet_length > 0)
 
  401                                $a_length = $snippet_length;
 
  405                $text = str_replace(
"<br/>", 
"<br>", $text);
 
  406                $text = strip_tags($text, 
"<br>");
 
  407                if (is_int(strpos(substr($text, $a_length - 16 - 5, 10), 
"[tex]")))
 
  414                $ltexs = strrpos($short, 
"[tex]");
 
  415                $ltexe = strrpos($short, 
"[/tex]");
 
  418                        $ltexe = strpos($text, 
"[/tex]", $ltexs);
 
  432                $this->page_object->buildDom();
 
  433                $text = $this->page_object->getFirstParagraphText();
 
  450                $q = 
"SELECT * FROM glossary_definition WHERE term_id = ".
 
  451                        $ilDB->quote($a_term_id, 
"integer").
 
  453                $def_set = 
$ilDB->query($q);
 
  454                while ($def_rec = 
$ilDB->fetchAssoc($def_set))
 
  456                        $defs[] = array(
"term_id" => $def_rec[
"term_id"],
 
  457                                "page_id" => $def_rec[
"page_id"], 
"id" => $def_rec[
"id"],
 
  458                                "short_text" => strip_tags($def_rec[
"short_text"], 
"<br>"),
 
  459                                "nr" => $def_rec[
"nr"],
 
  460                                "short_text_dirty" => $def_rec[
"short_text_dirty"]);
 
  471                $a_xml_writer->xmlStartTag(
"Definition", $attrs);
 
  476                $a_xml_writer->xmlEndTag(
"Definition");
 
  489                include_once(
"Services/MetaData/classes/class.ilMD2XML.php");
 
  491                $md2xml->setExportMode(
true);
 
  492                $md2xml->startExport();
 
  493                $a_xml_writer->appendXML($md2xml->getXML());
 
  501                if ($a_tag == 
"Identifier" && $a_param == 
"Entry")
 
  503                        $a_value = 
"il_".IL_INST_ID.
"_gdf_".$this->
getId();
 
  519                $this->page_object->buildDom();
 
  520                $this->page_object->insertInstIntoIDs($a_inst);
 
  521                $this->mobs_contained = $this->page_object->collectMediaObjects(
false);
 
  522                include_once(
"./Services/COPage/classes/class.ilPCFileList.php");
 
  524                $xml = $this->page_object->getXMLFromDom(
false, 
false, 
false, 
"", 
true);
 
  525                $xml = str_replace(
"&",
"&", $xml);
 
  526                $a_xml_writer->appendXML($xml);
 
  528                $this->page_object->freeDom();
 
  536                include_once 
'Services/MetaData/classes/class.ilMDCreator.php';
 
  543                $md_creator->setTitle($this->
getTitle());
 
  544                $md_creator->setTitleLanguage(
$lang);
 
  546                $md_creator->setDescriptionLanguage(
$lang);
 
  547                $md_creator->setKeywordLanguage(
$lang);
 
  548                $md_creator->setLanguage(
$lang);
 
  550                $md_creator->create();
 
  560                include_once(
"Services/MetaData/classes/class.ilMD.php");
 
  561                include_once(
"Services/MetaData/classes/class.ilMDGeneral.php");
 
  562                include_once(
"Services/MetaData/classes/class.ilMDDescription.php");
 
  566                $md_gen =& $md->getGeneral();
 
  567                $md_gen->setTitle($this->
getTitle());
 
  570                $md_des_ids =& $md_gen->getDescriptionIds();
 
  571                if (count($md_des_ids) > 0)
 
  573                        $md_des =& $md_gen->getDescription($md_des_ids[0]);
 
  586                include_once(
'Services/MetaData/classes/class.ilMD.php');
 
  608                include_once 
'Services/MetaData/classes/class.ilMD.php';
 
  617                                $md_gen = $md->getGeneral();
 
  620                                $this->
setTitle($md_gen->getTitle());
 
  622                                foreach($md_gen->getDescriptionIds() as 
$id)
 
  624                                        $md_des = $md_gen->getDescription(
$id);
 
  646                $q = 
"SELECT * FROM glossary_definition WHERE id = ".
 
  647                        $ilDB->quote($a_def_id, 
"integer");
 
  648                $def_set = 
$ilDB->query($q);
 
  649                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
  651                return $def_rec[
"term_id"];
 
  664                include_once(
"./Modules/Glossary/classes/class.ilGlossaryTerm.php");
 
  669                        $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  670                                " short_text_dirty = ".
$ilDB->quote(1, 
"integer").
 
  671                                " WHERE term_id = ".$ilDB->quote(
$term_id, 
"integer")
 
Glossary definition page object.
Class ilGlossaryDefinition.
getDefinitionList($a_term_id)
static
exportXML(&$a_xml_writer, $a_inst)
export xml
createMetaData()
create meta data entry
getTitle()
get title of content object
updateMetaData()
update meta data entry
setDescription($a_description)
Set description.
_lookupTermId($a_def_id)
Looks up term id for a definition id.
setTitle($a_title)
set title of content object
setShortTextDirty($a_val)
Set short text dirty.
static setShortTextsDirty($a_glo_id)
Set short texts dirty.
exportXMLDefinition(&$a_xml_writer, $a_inst=0)
export page objects meta data to xml (see ilias_co.dtd)
assignPageObject(&$a_page_object)
getShortTextDirty()
Get short text dirty.
deleteMetaData()
delete meta data entry
getDescription()
Get description.
modifyExportIdentifier($a_tag, $a_param, $a_value)
read()
read data of content object
exportXMLMetaData(&$a_xml_writer)
export content objects meta data to xml (see ilias_co.dtd)
shortenShortText($text)
Shorten short text.
create($a_upload=false)
Create definition.
ilGlossaryDefinition($a_id=0)
Constructor @access public.
MDUpdateListener($a_element)
Meta data update listener.
static _lookGlossaryID($term_id)
get glossary id form term id
static _lookLanguage($term_id)
lookup term language
static getTermsOfGlossary($a_glo_id)
Get terms of glossary.
static lookupSnippetLength($a_id)
Lookup snippet length.
static collectFileItems($a_page, $a_domdoc)
Get all file items that are used within the page.
static shortenText($a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
redirection script todo: (a better solution should control the processing via a xml file)