37 include_once
"./Modules/LearningModule/classes/class.ilObjContentObjectGUI.php";
38 include_once
"./Modules/LearningModule/classes/class.ilObjDlBook.php";
47 function ilObjDlBookGUI($a_data,$a_id = 0,$a_call_by_reference =
true, $a_prepare_output =
true)
51 # BETTER DO IT HERE THAN IN PARENT CLASS ( PROBLEMS FOR import, create)
57 $this->lm_tree =& $this->
object->getLMTree();
63 include_once(
"./Modules/LearningModule/classes/class.ilObjDlBook.php");
65 $this->link_params =
"ref_id=".$this->ref_id;
73 $this->tpl->setCurrentBlock(
"ContentStyle");
74 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
76 $this->tpl->parseCurrentBlock();
79 $this->tpl->setCurrentBlock(
"SyntaxStyle");
80 $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
82 $this->tpl->parseCurrentBlock();
87 if(!count($parsed_post))
91 $this->ctrl->setParameterByClass(
'illmpresentationgui',
'frame',
'maincontent');
92 $this->ctrl->setParameterByClass(
'illmpresentationgui',
'obj_id',(
int)
$_GET[
'obj_id']);
93 $this->ctrl->redirectByClass(
'illmpresentationgui',
'layout');
95 $tmp_tpl =
new ilTemplate(
"tpl.citation.xsl",
true,
true,
"Modules/LearningModule");
96 $tmp_tpl->setVariable(
"CITATIONS",$this->lng->txt(
"cont_citations"));
98 foreach($parsed_post as $key =>
$data)
100 $tmp_tpl->setCurrentBlock(
"citation_row");
102 $tmp_tpl->setVariable(
"PAGES_ROW",
$data[
"text"]);
103 $tmp_tpl->parseCurrentBlock();
105 $xsl = $tmp_tpl->get();
107 $this->
object->initBibItemObject();
108 $xml = $this->
object->bib_obj->getXML();
113 $args = array(
'/_xml' => $xml,
'/_xsl' => $xsl );
115 $params = array (
'target_id' =>
$_SESSION[
"bib_id"]);
117 $output =
xslt_process($xh,
"arg:/_xml",
"arg:/_xsl",NULL,$args, $params);
119 $this->tpl->setCurrentBlock(
"ilPage");
120 $this->tpl->setVariable(
"PAGE_CONTENT",$output);
121 $this->tpl->parseCurrentBlock();
131 if(count(
$_POST[
"tr_id"]) > 1)
134 $message_text = $this->lng->txt(
"cont_select_one_translation_warning");
137 else if(!$a_target_id and (
$_POST[
"action"] ==
"show" or
$_POST[
"action"] ==
"details"))
140 $message_text = $this->lng->txt(
"cont_select_one_edition");
143 else if(is_array($a_target_id) and count($a_target_id) > 1)
146 $message_text = $this->lng->txt(
"cont_msg_multiple_editions");
149 else if(is_array($a_target_id))
151 $a_target_id = $a_target_id[0];
160 $this->
object->initBibItemObject();
163 $this->tpl->setCurrentBlock(
"ContentStyle");
164 $this->tpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
166 $this->tpl->parseCurrentBlock();
169 $this->tpl->setCurrentBlock(
"SyntaxStyle");
170 $this->tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
172 $this->tpl->parseCurrentBlock();
175 $this->tpl->setCurrentBlock(
"ilPage");
177 $tmp_tpl =
new ilTemplate(
"tpl.bibliography.xsl",
true,
true,
"Modules/LearningModule");
178 $tmp_tpl->setVariable(
"TITLE",$this->lng->txt(
"title"));
179 $tmp_tpl->setVariable(
"EDITION",$this->lng->txt(
"cont_edition"));
180 $tmp_tpl->setVariable(
"AUTHORS",$this->lng->txt(
"authors"));
184 $this->ctrl->setParameterByClass(
"illmpresentationgui",
"frame",
"maincontent");
185 $action = $this->ctrl->getLinkTargetByClass(
"illmpresentationgui",
"layout");
186 $params = array (
'mode' =>
"view_full",
188 'target_id' =>
"$a_target_id");
190 $tmp_tpl->setVariable(
"BOOKTITLE",$this->lng->txt(
"cont_booktitle"));
191 $tmp_tpl->setVariable(
"CROSS_REFERENCE",$this->lng->txt(
"cont_cross_reference"));
192 $tmp_tpl->setVariable(
"DETAILS",$this->lng->txt(
"cont_details"));
193 $tmp_tpl->setVariable(
"EDITOR",$this->lng->txt(
"editor"));
194 $tmp_tpl->setVariable(
"HOW_PUBLISHED",$this->lng->txt(
"cont_how_published"));
195 $tmp_tpl->setVariable(
"WHERE_PUBLISHED",$this->lng->txt(
"cont_where_published"));
196 $tmp_tpl->setVariable(
"INSTITUTION",$this->lng->txt(
"institution"));
197 $tmp_tpl->setVariable(
"JOURNAL",$this->lng->txt(
"cont_journal"));
198 $tmp_tpl->setVariable(
"KEYWORD",$this->lng->txt(
"cont_keyword"));
199 $tmp_tpl->setVariable(
"PAGES",$this->lng->txt(
"cont_pages"));
200 $tmp_tpl->setVariable(
"SCHOOL",$this->lng->txt(
"cont_school"));
201 $tmp_tpl->setVariable(
"MONTH",$this->lng->txt(
"cont_month"));
202 $tmp_tpl->setVariable(
"PUBLISHER",$this->lng->txt(
"cont_publisher"));
203 $tmp_tpl->setVariable(
"SERIES",$this->lng->txt(
"cont_series"));
204 $tmp_tpl->setVariable(
"SERIES_TITLE",$this->lng->txt(
"cont_series_title"));
205 $tmp_tpl->setVariable(
"SERIES_EDITOR",$this->lng->txt(
"cont_series_editor"));
206 $tmp_tpl->setVariable(
"SERIES_VOLUME",$this->lng->txt(
"cont_series_volume"));
207 $tmp_tpl->setVariable(
"YEAR",$this->lng->txt(
"cont_year"));
208 $tmp_tpl->setVariable(
"ISBN",$this->lng->txt(
"cont_isbn"));
209 $tmp_tpl->setVariable(
"URL",$this->lng->txt(
"cont_url"));
213 $this->ctrl->setParameterByClass(
"illmpresentationgui",
"frame",
"maincontent");
214 $action = $this->ctrl->getLinkTargetByClass(
"illmpresentationgui",
"layout");
215 $params = array (
'mode' =>
"view_simple",
216 'action' => $action);
217 $this->ctrl->clearParametersByClass(
"illmpresentationgui");
218 if($translations = $this->object->getTranslations())
220 foreach($translations as $tr_id)
224 $tmp_tpl->setCurrentBlock(
"TRANSLATION_ROW");
225 $tmp_tpl->setVariable(
"ROW_TITLE",$tmp_obj->getTitle());
226 $tmp_tpl->setVariable(
"ROW_ID",$tr_id);
227 $tmp_tpl->parseCurrentBlock();
230 $tmp_tpl->setCurrentBlock(
"TRANSLATION");
231 $tmp_tpl->setVariable(
"TRANSLATION_HEADER",$this->lng->txt(
"cont_translations"));
232 $tmp_tpl->parseCurrentBlock();
234 $tmp_tpl->setVariable(
"DETAILS",$this->lng->txt(
"cont_details"));
235 $tmp_tpl->setVariable(
"SHOW",$this->lng->txt(
"cont_show"));
236 $tmp_tpl->setVariable(
"SHOW_CITATION",$this->lng->txt(
"cont_show_citation"));
237 $tmp_tpl->setVariable(
"GO",$this->lng->txt(
"go"));
245 $xsl = $tmp_tpl->get();
246 $xml = $this->
object->bib_obj->getXML();
252 $args = array(
'/_xml' => $xml,
'/_xsl' => $xsl );
256 $output =
xslt_process($xh,
"arg:/_xml",
"arg:/_xsl",NULL,$args, $params);
257 $this->tpl->setVariable(
"PAGE_CONTENT",$output);
268 #$this->object =& new ilObjDlBook($this->id, true);
269 $this->
object->export(
$_GET[
"ref_id"]);
284 $this->tpl->addBlockfile(
"CONTENT",
"offline_content",
"tpl.offline_export.html",
"Modules/LearningModule");
285 $this->tpl->touchBlock(
"offline_content");
287 $this->tpl->setVariable(
"TXT_TYPE",
"Export-Type");
289 if (
$_GET[
"print"]==1)
291 $this->tpl->setVariable(
"TXT_ACTION",
"Digilib-Book - print");
292 $this->tpl->setVariable(
"TXT_PRINTEXPORT",$this->lng->txt(
"Print") );
293 $this->tpl->setVariable(
"PRINT_CHECKED",
"checked");
294 $this->tpl->setVariable(
"EXPORT_TARGET",
"_blank");
298 $this->tpl->setVariable(
"TXT_ACTION",
"Digilib-Book - download");
299 $this->tpl->setVariable(
"TXT_HTMLEXPORT",$this->lng->txt(
"HTML export") );
300 $this->tpl->setVariable(
"TXT_PDFEXPORT",$this->lng->txt(
"PDF export") );
301 $this->tpl->setVariable(
"TXT_XMLEXPORT",$this->lng->txt(
"XML export (only complete book)") );
302 $this->tpl->setVariable(
"OFFLINE_CHECKED",
"checked");
305 $this->tpl->setVariable(
"TXT_PAGES",$this->lng->txt(
"Pages") );
306 $this->tpl->setVariable(
"TXT_PAGESALL",$this->lng->txt(
"all"));
307 $this->tpl->setVariable(
"TXT_PAGESCHAPTER",$this->lng->txt(
"chapter") );
308 if (
$_GET[
"obj_id"] !=
"") $this->tpl->setVariable(
"TXT_PAGESPAGE",$this->lng->txt(
"this page"));
309 $this->tpl->setVariable(
"TXT_PAGESFROM",$this->lng->txt(
"pages from") );
310 $this->tpl->setVariable(
"TXT_PAGESTO",$this->lng->txt(
"to") );
312 $this->tpl->setVariable(
"BTN_VALUE",$this->lng->txt(
"start export") );
313 $this->tpl->setVariable(
"BTN_C_VALUE",$this->lng->txt(
"cancel") );
315 $this->ctrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
316 $this->tpl->setVariable(
"EXPORT_ACTION",
317 $this->ctrl->getLinkTargetByClass(
"illmpresentationgui",
"offlineexport"));
318 $this->ctrl->clearParametersByClass(
"illmpresentationgui");
324 include_once(
"./classes/class.ilTemplate.php");
326 $tpl_menu =&
new ilTemplate(
"tpl.buttons.html",
true,
true);
328 $tpl_menu->setCurrentBlock(
"btn_cell");
330 #$tpl_menu->setVariable("BTN_LINK","./ilias.php?frame=maincontent&ref_id=".$_GET["ref_id"].
331 #"&obj_id=".$_GET["obj_id"]);
332 $this->ctrl->setParameterByClass(
'illmpresentationgui',
'frame',
'maincontent');
333 $this->ctrl->setParameterByClass(
'illmpresentationgui',
'obj_id',(
int)
$_GET[
'obj_id']);
334 $tpl_menu->setVariable(
'BTN_LINK',$this->ctrl->getLinkTargetByClass(
'illmpresentationgui',
'layout'));
335 $tpl_menu->setVariable(
"BTN_TXT",$this->lng->txt(
"back"));
336 $tpl_menu->parseCurrentBlock();
338 $tpl_menu->setCurrentBlock(
"btn_row");
339 $tpl_menu->parseCurrentBlock();
341 return $tpl_menu->get();
350 include_once(
"./classes/class.ilTemplate.php");
352 $tpl_menu =&
new ilTemplate(
"tpl.lm_menu.html",
true,
true,
"Modules/LearningModule");
354 $tpl_menu->setCurrentBlock(
"lm_menu_btn");
357 if (
$_POST[
"action"]==
"details" && count(
$_POST[
"target"])==1)
359 $this->ctrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
360 $tpl_menu->setVariable(
"BTN_LINK",
361 $this->ctrl->getLinkTargetByClass(
"illmpresentationgui",
"exportbibinfo"));
362 $tpl_menu->setVariable(
"BTN_TXT",$this->lng->txt(
"download"));
363 $tpl_menu->parseCurrentBlock();
365 $this->ctrl->setParameterByClass(
"illmpresentationgui",
"print",
"1");
366 $tpl_menu->setVariable(
"BTN_LINK",
367 $this->ctrl->getLinkTargetByClass(
"illmpresentationgui",
"exportbibinfo"));
368 $tpl_menu->setVariable(
"BTN_TXT",$this->lng->txt(
"print"));
369 $tpl_menu->parseCurrentBlock();
370 $this->ctrl->clearParametersByClass(
"illmpresentationgui");
375 $this->ctrl->setParameterByClass(
"illmpresentationgui",
"obj_id",
$_GET[
"obj_id"]);
376 $tpl_menu->setVariable(
"BTN_LINK",
377 $this->ctrl->getLinkTargetByClass(
"illmpresentationgui",
"offlineexportform"));
378 $tpl_menu->setVariable(
"BTN_TXT",$this->lng->txt(
"download"));
379 $tpl_menu->parseCurrentBlock();
381 $this->ctrl->setParameterByClass(
"illmpresentationgui",
"print",
"1");
382 $tpl_menu->setVariable(
"BTN_LINK",
383 $this->ctrl->getLinkTargetByClass(
"illmpresentationgui",
"offlineexportform"));
384 $tpl_menu->setVariable(
"BTN_TXT",$this->lng->txt(
"print") );
385 $tpl_menu->parseCurrentBlock();
387 $this->ctrl->clearParametersByClass(
"illmpresentationgui");
389 $tpl_menu->setCurrentBlock(
"btn_row");
390 $tpl_menu->parseCurrentBlock();
392 return $tpl_menu->get();
402 $this->tpl->setVariable(
"BTN1_NAME",
"addTranslation");
403 $this->tpl->setVariable(
"BTN1_TEXT",$this->lng->txt(
"cont_new_assignment"));
405 if($trs = $this->object->getTranslations())
407 include_once
"./classes/class.ilObjectFactory.php";
411 $this->tpl->setCurrentBlock(
"TRANSLATION_ROW");
412 $this->tpl->setVariable(
"ROW_ID",$tr);
413 $this->tpl->setVariable(
"ROW_TITLE",$tmp_obj->getTitle());
414 $this->tpl->parseCurrentBlock();
418 $this->tpl->setVariable(
"BTN2_NAME",
"deleteTranslation");
419 $this->tpl->setVariable(
"BTN2_TEXT",$this->lng->txt(
"cont_del_assignment"));
421 $this->tpl->setCurrentBlock(
"TRANSLATION");
422 $this->tpl->setVariable(
"TRANSLATION_HEADER",$this->lng->txt(
"cont_translations"));
423 $this->tpl->parseCurrentBlock();
431 if(isset(
$_POST[
"cancel"]))
433 $this->ctrl->redirect($this,
"properties");
436 if(isset(
$_POST[
"select"]))
438 if(is_array(
$_POST[
"id"]))
440 foreach(
$_POST[
"id"] as $id)
442 if($id != $this->object->getRefId())
444 $this->
object->addTranslation($id);
448 $this->ctrl->redirect($this,
"properties");
454 $this->tpl->addBlockfile(
"ADM_CONTENT",
"adm_content",
"tpl.dbk_search_translation.html",
"Modules/LearningModule");
455 $this->tpl->setVariable(
"F_ACTION",
456 $this->ctrl->getLinkTarget($this,
"addTranslation"));
462 switch(count($result[
"meta"]))
468 if($result[
"meta"][0][
"id"] == $this->object->getRefId())
475 $show_search =
false;
481 $this->lng->loadLanguageModule(
"search");
483 $this->tpl->setVariable(
"SEARCH_TXT",$this->lng->txt(
"cont_insert_search"));
484 $this->tpl->setVariable(
"SEARCH_ASSIGN_TR",$this->lng->txt(
"cont_assign_translation"));
485 $this->tpl->setVariable(
"SEARCH_SEARCH_TERM",$this->lng->txt(
"search_search_term"));
486 $this->tpl->setVariable(
"BTN1_VALUE",$this->lng->txt(
"search"));
487 $this->tpl->setVariable(
"BTN2_VALUE",$this->lng->txt(
"cancel"));
497 $this->ctrl->redirect($this,
"properties");
500 $this->
object->deleteTranslations(
$_POST[
"id"]);
502 $this->ctrl->redirect($this,
"properties");
508 include_once
"./classes/class.ilObjectFactory.php";
510 foreach($a_result[
"meta"] as $book)
518 $this->tpl->setCurrentBlock(
"TR_SELECT_ROW");
519 $this->tpl->setVariable(
"ROW_ID",$book[
"id"]);
520 $this->tpl->setVariable(
"ROW_TITLE",$tmp_obj->getTitle());
521 $this->tpl->setVariable(
"ROW_DESCRIPTION",$tmp_obj->getDescription());
522 $this->tpl->setVariable(
"ROW_KONTEXT",
$path);
523 $this->tpl->parseCurrentBlock();
527 $this->tpl->setCurrentBlock(
"TR_SELECT");
528 $this->tpl->setVariable(
"SELECT_TXT",$this->lng->txt(
"cont_select_translation"));
529 $this->tpl->setVariable(
"SELECT_TITLE",$this->lng->txt(
"title"));
530 $this->tpl->setVariable(
"SELECT_DESCRIPTION",$this->lng->txt(
"description"));
531 $this->tpl->setVariable(
"SELECT_KONTEXT",$this->lng->txt(
"context"));
533 $this->tpl->setVariable(
"BTN1_VALUE",$this->lng->txt(
"assign"));
534 $this->tpl->setVariable(
"BTN2_VALUE",$this->lng->txt(
"cancel"));
535 $this->tpl->parseCurrentBlock();
541 include_once(
"./classes/class.ilSearch.php");
544 $search->setPerformUpdate(
false);
545 $search->setSearchString(
$_POST[
"search_str"]);
546 $search->setCombination(
"and");
547 $search->setSearchFor(array(0 =>
'dbk'));
548 $search->setSearchIn(array(
'dbk' =>
'meta'));
549 $search->setSearchType(
'new');
551 if($search->validate($message))
553 $search->performSearch();
558 $this->ctrl->redirect($this,
"addTranslation");
561 return $search->getResultByType(
'dbk');
568 include_once(
"./Services/Tree/classes/class.ilTree.php");
572 if(!
$tree->isInTree($a_startnode_id) or !
$tree->isInTree($a_endnode_id))
576 $tmpPath =
$tree->getPathFull($a_endnode_id, $a_startnode_id);
579 for ($i = 1; $i < (count($tmpPath) - 1); $i++)
586 $path .= $tmpPath[$i][
"title"];
595 $message =
"SELECT ONE<br />";
603 if(!is_array(
$_POST[
"pgt_id"]))
607 foreach(
$_POST[
"pgt_id"] as $key => $id)
609 switch(
$_POST[
"ct_option"][$key])
612 $output[] = array(
"text" => $id,
617 $output[] = array(
"text" => $id.
"f",
622 $output[] = array(
"text" => $id.
"ff",
633 $output[] = array(
"text" => $start.
"".$id,
642 return $output ? $output : array();
651 $xsl = file_get_contents($tpl->tplPath.
"/tpl.citation_paragraph.xsl");
652 $args = array(
'/_xml' => $page_xml,
'/_xsl' => $xsl );
654 $params = array (
'start_id' => $a_start,
657 $output =
xslt_process($xh,
"arg:/_xml",
"arg:/_xsl",NULL,$args, $params);