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;
 
  184        function create($a_upload = 
false, $a_omit_page_creation = 
false)
 
  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"]);
 
  231                if (!$a_omit_page_creation)
 
  234                        $this->page_object->setId($this->
getId());
 
  235                        $this->page_object->setParentId($term->getGlossaryId());
 
  236                        $this->page_object->create();
 
  245                #ilDB::_lockTables(array('glossary_definition' => 'WRITE')); 
  252                $q = 
"SELECT * FROM glossary_definition WHERE id = ".
 
  253                        $ilDB->quote($this->
id, 
"integer");
 
  254                $def_set = 
$ilDB->query($q);
 
  255                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
  256                $this->
setNr($def_rec[
"nr"]);
 
  259                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  261                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  262                        " AND nr > ".$ilDB->quote($this->getNr(), 
"integer"));
 
  265                $ilDB->manipulate(
"DELETE FROM glossary_definition ".
 
  266                        " WHERE id = ".
$ilDB->quote($this->getId(), 
"integer"));
 
  269                $ilDB->unlockTables();
 
  272                $this->page_object->delete();
 
  289                #ilDB::_lockTables(array('glossary_definition' => 'WRITE')); 
  296                $q = 
"SELECT * FROM glossary_definition WHERE id = ".
 
  297                        $ilDB->quote($this->
id, 
"integer");
 
  298                $def_set = 
$ilDB->query($q);
 
  299                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
  300                $this->
setNr($def_rec[
"nr"]);
 
  302                if ($this->
getNr() < 2)
 
  304                        $ilDB->unlockTables();
 
  309                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  311                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  312                        " AND nr = ".$ilDB->quote(($this->getNr() - 1), 
"integer"));
 
  315                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  317                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  318                        " AND id = ".$ilDB->quote($this->getId(), 
"integer"));
 
  321                $ilDB->unlockTables();
 
  330                #ilDB::_lockTables(array('glossary_definition' => 'WRITE')); 
  336                $q = 
"SELECT * FROM glossary_definition WHERE id = ".
 
  337                        $ilDB->quote($this->
id, 
"integer");
 
  338                $def_set = 
$ilDB->query($q);
 
  339                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
  340                $this->
setNr($def_rec[
"nr"]);
 
  343                $q = 
"SELECT max(nr) as max_nr FROM glossary_definition WHERE term_id = ".
 
  345                $max_set = 
$ilDB->query($q);
 
  346                $max_rec = 
$ilDB->fetchAssoc($max_set);
 
  348                if ($this->
getNr() >= $max_rec[
"max_nr"])
 
  350                        $ilDB->unlockTables();
 
  355                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  357                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  358                        " AND nr = ".$ilDB->quote(($this->getNr() + 1), 
"integer"));
 
  361                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  363                        " WHERE term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
" ".
 
  364                        " AND id = ".$ilDB->quote($this->getId(), 
"integer"));
 
  367                $ilDB->unlockTables();
 
  378                $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  379                        " term_id = ".
$ilDB->quote($this->getTermId(), 
"integer").
", ".
 
  380                        " nr = ".$ilDB->quote($this->getNr(), 
"integer").
", ".
 
  381                        " short_text = ".$ilDB->quote($this->getShortText(), 
"text").
", ".
 
  382                        " short_text_dirty = ".$ilDB->quote($this->getShortTextDirty(), 
"integer").
" ".
 
  383                        " WHERE id = ".$ilDB->quote($this->getId(), 
"integer"));
 
  398                        include_once(
"./Modules/Glossary/classes/class.ilObjGlossary.php");
 
  399                        include_once(
"./Modules/Glossary/classes/class.ilGlossaryTerm.php");
 
  402                        if ($snippet_length > 0)
 
  404                                $a_length = $snippet_length;
 
  410                if (is_int(strpos(substr(
$text, $a_length - 16 - 5, 10), 
"[tex]")))
 
  417                $ltexs = strrpos($short, 
"[tex]");
 
  418                $ltexe = strrpos($short, 
"[/tex]");
 
  421                        $ltexe = strpos(
$text, 
"[/tex]", $ltexs);
 
  435                $this->page_object->buildDom();
 
  436                $text = $this->page_object->getFirstParagraphText();
 
  453                $q = 
"SELECT * FROM glossary_definition WHERE term_id = ".
 
  454                        $ilDB->quote($a_term_id, 
"integer").
 
  456                $def_set = 
$ilDB->query($q);
 
  457                while ($def_rec = 
$ilDB->fetchAssoc($def_set))
 
  459                        $defs[] = array(
"term_id" => $def_rec[
"term_id"],
 
  460                                "page_id" => $def_rec[
"page_id"], 
"id" => $def_rec[
"id"],
 
  461                                "short_text" => strip_tags($def_rec[
"short_text"], 
"<br>"),
 
  462                                "nr" => $def_rec[
"nr"],
 
  463                                "short_text_dirty" => $def_rec[
"short_text_dirty"]);
 
  474                $a_xml_writer->xmlStartTag(
"Definition", $attrs);
 
  479                $a_xml_writer->xmlEndTag(
"Definition");
 
  492                include_once(
"Services/MetaData/classes/class.ilMD2XML.php");
 
  494                $md2xml->setExportMode(
true);
 
  495                $md2xml->startExport();
 
  496                $a_xml_writer->appendXML($md2xml->getXML());
 
  504                if ($a_tag == 
"Identifier" && $a_param == 
"Entry")
 
  506                        $a_value = 
"il_".IL_INST_ID.
"_gdf_".$this->
getId();
 
  522                $this->page_object->buildDom();
 
  523                $this->page_object->insertInstIntoIDs($a_inst);
 
  524                $this->mobs_contained = $this->page_object->collectMediaObjects(
false);
 
  525                include_once(
"./Services/COPage/classes/class.ilPCFileList.php");
 
  527                $xml = $this->page_object->getXMLFromDom(
false, 
false, 
false, 
"", 
true);
 
  528                $xml = str_replace(
"&",
"&", $xml);
 
  529                $a_xml_writer->appendXML($xml);
 
  531                $this->page_object->freeDom();
 
  539                include_once 
'Services/MetaData/classes/class.ilMDCreator.php';
 
  546                $md_creator->setTitle($this->
getTitle());
 
  547                $md_creator->setTitleLanguage(
$lang);
 
  549                $md_creator->setDescriptionLanguage(
$lang);
 
  550                $md_creator->setKeywordLanguage(
$lang);
 
  551                $md_creator->setLanguage(
$lang);
 
  553                $md_creator->create();
 
  563                include_once(
"Services/MetaData/classes/class.ilMD.php");
 
  564                include_once(
"Services/MetaData/classes/class.ilMDGeneral.php");
 
  565                include_once(
"Services/MetaData/classes/class.ilMDDescription.php");
 
  569                $md_gen =& $md->getGeneral();
 
  570                $md_gen->setTitle($this->
getTitle());
 
  573                $md_des_ids =& $md_gen->getDescriptionIds();
 
  574                if (count($md_des_ids) > 0)
 
  576                        $md_des =& $md_gen->getDescription($md_des_ids[0]);
 
  589                include_once(
'Services/MetaData/classes/class.ilMD.php');
 
  611                include_once 
'Services/MetaData/classes/class.ilMD.php';
 
  620                                $md_gen = $md->getGeneral();
 
  623                                $this->
setTitle($md_gen->getTitle());
 
  625                                foreach($md_gen->getDescriptionIds() as 
$id)
 
  627                                        $md_des = $md_gen->getDescription(
$id);
 
  649                $q = 
"SELECT * FROM glossary_definition WHERE id = ".
 
  650                        $ilDB->quote($a_def_id, 
"integer");
 
  651                $def_set = 
$ilDB->query($q);
 
  652                $def_rec = 
$ilDB->fetchAssoc($def_set);
 
  654                return $def_rec[
"term_id"];
 
  667                include_once(
"./Modules/Glossary/classes/class.ilGlossaryTerm.php");
 
  672                        $ilDB->manipulate(
"UPDATE glossary_definition SET ".
 
  673                                " short_text_dirty = ".
$ilDB->quote(1, 
"integer").
 
  674                                " 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
create($a_upload=false, $a_omit_page_creation=false)
Create definition.
exportXMLMetaData(&$a_xml_writer)
export content objects meta data to xml (see ilias_co.dtd)
shortenShortText($text)
Shorten short text.
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)