4 require_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 = ".
199 $ilDB->quote($this->
getTermId(),
"integer");
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").
",".
208 $ilDB->quote($this->getTermId(),
"integer").
",".
209 $ilDB->quote($this->getShortText(),
"text").
", ".
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 = ".
344 $ilDB->quote($this->
getTermId(),
"integer");
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");
400 $glo_id = ilGlossaryTerm::_lookGlossaryId($this->
getTermId());
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");
670 foreach ($term_ids as $term_id)
672 $ilDB->manipulate(
"UPDATE glossary_definition SET ".
673 " short_text_dirty = ".$ilDB->quote(1,
"integer").
674 " WHERE term_id = ".$ilDB->quote($term_id,
"integer")
assignPageObject(&$a_page_object)
getDefinitionList($a_term_id)
static
modifyExportIdentifier($a_tag, $a_param, $a_value)
updateMetaData()
update meta data entry
getTitle()
get title of content object
static shortenText($a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
ilGlossaryDefinition($a_id=0)
Constructor public.
setShortTextDirty($a_val)
Set short text dirty.
setDescription($a_description)
Set description.
static collectFileItems($a_page, $a_domdoc)
Get all file items that are used within the page.
deleteMetaData()
delete meta data entry
setTitle($a_title)
set title of content object
exportXMLDefinition(&$a_xml_writer, $a_inst=0)
export page objects meta data to xml (see ilias_co.dtd)
redirection script todo: (a better solution should control the processing via a xml file) ...
read()
read data of content object
static _lookLanguage($term_id)
lookup term language
Glossary definition page object.
MDUpdateListener($a_element)
Meta data update listener.
static _lookGlossaryID($term_id)
get glossary id form term id
Class ilGlossaryDefinition.
getDescription()
Get description.
createMetaData()
create meta data entry
exportXML(&$a_xml_writer, $a_inst)
export xml
static getTermsOfGlossary($a_glo_id)
Get terms of glossary.
exportXMLMetaData(&$a_xml_writer)
export content objects meta data to xml (see ilias_co.dtd)
shortenShortText($text)
Shorten short text.
static setShortTextsDirty($a_glo_id)
Set short texts dirty.
getShortTextDirty()
Get short text dirty.
_lookupTermId($a_def_id)
Looks up term id for a definition id.
static lookupSnippetLength($a_id)
Lookup snippet length.
create($a_upload=false, $a_omit_page_creation=false)
Create definition.