4 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
5 require_once
"./Modules/Wiki/classes/class.ilObjWiki.php";
35 function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
true)
43 parent::__construct($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
44 $lng->loadLanguageModule(
"obj");
45 $lng->loadLanguageModule(
"wiki");
47 if (
$_GET[
"page"] !=
"")
57 $next_class = $this->ctrl->getNextClass($this);
58 $cmd = $this->ctrl->getCmd();
64 if(
$cmd ==
"printView" ||
$cmd ==
"pdfExport")
71 case "ilinfoscreengui":
77 case 'ilpermissiongui':
79 $ilTabs->activateTab(
"perm_settings");
80 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
82 $ret = $this->ctrl->forwardCommand($perm_gui);
85 case 'ilsettingspermissiongui':
88 $ilTabs->activateTab(
"settings");
90 include_once(
"Services/AccessControl/classes/class.ilSettingsPermissionGUI.php");
92 $perm_gui->setPermissions(
array(
"edit_wiki_navigation",
"delete_wiki_pages",
"activate_wiki_protection",
94 $perm_gui->setRoleRequiredPermissions(
array(
"edit_content"));
95 $perm_gui->setRoleProhibitedPermissions(
array(
"write"));
96 $ret = $this->ctrl->forwardCommand($perm_gui);
101 include_once(
"./Modules/Wiki/classes/class.ilWikiPageGUI.php");
104 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
106 $this->
object->getStyleSheetId(),
"wiki"));
108 if (!$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()) &&
109 (!$ilAccess->checkAccess(
"edit_content",
"", $this->object->getRefId()) ||
110 $wpage_gui->getPageObject()->getBlocked()
113 $wpage_gui->setEnableEditing(
false);
119 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
121 $wpage_gui->activateMetaDataEditor($this->
object,
"wpg", $wpage_gui->getId());
124 $ret = $this->ctrl->forwardCommand($wpage_gui);
127 $tpl->setContent(
$ret);
131 case 'ilobjectcopygui':
132 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
134 $cp->setType(
'wiki');
135 $this->ctrl->forwardCommand($cp);
138 case 'ilpublicuserprofilegui':
139 require_once
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
141 $ret = $this->ctrl->forwardCommand($profile_gui);
142 $tpl->setContent(
$ret);
145 case "ilobjstylesheetgui":
146 include_once (
"./Services/Style/Content/classes/class.ilObjStyleSheetGUI.php");
147 $this->ctrl->setReturn($this,
"editStyleProperties");
150 if (
$cmd ==
"create" ||
$_GET[
"new_type"]==
"sty")
152 $style_gui->setCreationMode(
true);
155 if (
$cmd ==
"confirmedDelete")
157 $this->
object->setStyleSheetId(0);
158 $this->
object->update();
161 $ret = $this->ctrl->forwardCommand($style_gui);
163 if (
$cmd ==
"save" ||
$cmd ==
"copyStyle" ||
$cmd ==
"importStyle")
166 $this->
object->setStyleSheetId($style_id);
167 $this->
object->update();
168 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
175 $ilTabs->activateTab(
"export");
176 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
178 $exp_gui->addFormat(
"xml");
179 $exp_gui->addFormat(
"html",
"", $this,
"exportHTML");
180 $ret = $this->ctrl->forwardCommand($exp_gui);
184 case "ilcommonactiondispatchergui":
185 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
187 $this->ctrl->forwardCommand($gui);
194 $ilTabs->activateTab(
"settings");
196 include_once(
"Services/Rating/classes/class.ilRatingGUI.php");
198 $gui->setObject($this->
object->getId(), $this->
object->getType());
199 $gui->setExportCallback(
array($this,
"getSubObjectTitle"), $this->lng->txt(
"page"));
200 $this->ctrl->forwardCommand($gui);
203 case "ilwikistatgui":
207 $ilTabs->activateTab(
"statistics");
209 include_once
"Modules/Wiki/classes/class.ilWikiStatGUI.php";
211 $this->ctrl->forwardCommand($gui);
214 case "ilwikipagetemplategui":
217 $ilTabs->activateTab(
"settings");
219 include_once(
"./Modules/Wiki/classes/class.ilWikiPageTemplateGUI.php");
221 $this->ctrl->forwardCommand($wptgui);
224 case 'ilobjectmetadatagui';
227 $ilTabs->activateTab(
"advmd");
228 include_once
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
230 $this->ctrl->forwardCommand($md_gui);
233 case 'ilrepositoryobjectsearchgui':
236 $ilTabs->setTabActive(
"wiki_search_results");
237 $ilCtrl->setReturn($this,
'view');
238 include_once
'./Services/Search/classes/class.ilRepositoryObjectSearchGUI.php';
240 $this->
object->getRefId(),
244 $ilCtrl->forwardCommand($search_gui);
254 if (
$cmd !=
"infoScreenObject")
256 if (!in_array(
$cmd,
array(
"createObject",
"saveObject",
"importFileObject")))
279 if (is_object($this->
object))
300 $forms =
array(self::CFORM_NEW => $this->form_gui,
317 $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->
ilias->error_obj->MESSAGE);
321 if ($this->form_gui->checkInput())
325 $short_item = $this->form_gui->getItemByPostVar(
"shorttitle");
326 $short_item->setAlert($lng->txt(
"wiki_short_title_already_in_use"));
331 $_POST[
"title"] = $this->form_gui->getInput(
"title");
332 $_POST[
"desc"] = $this->form_gui->getInput(
"description");
333 return parent::saveObject();
337 $this->form_gui->setValuesByPost();
338 $tpl->setContent($this->form_gui->getHtml());
349 $newObj->
setTitle($this->form_gui->getInput(
"title"));
350 $newObj->
setDescription($this->form_gui->getInput(
"description"));
351 $newObj->setIntroduction($this->form_gui->getInput(
"intro"));
352 $newObj->setStartPage($this->form_gui->getInput(
"startpage"));
353 $newObj->setShortTitle($this->form_gui->getInput(
"shorttitle"));
354 $newObj->setRating($this->form_gui->getInput(
"rating"));
356 $newObj->setRatingForNewPages($this->form_gui->getInput(
"rating_new"));
357 $newObj->setRatingCategories($this->form_gui->getInput(
"rating_ext"));
359 $newObj->setRatingOverall($this->form_gui->getInput(
"rating_overall"));
360 $newObj->setPageToc($this->form_gui->getInput(
"page_toc"));
364 if (!$ilSetting->get(
"disable_comments"))
366 $newObj->setPublicNotes($this->form_gui->getInput(
"public_notes"));
368 $newObj->setOnline($this->form_gui->getInput(
"online"));
384 $this->ctrl->setCmd(
"showSummary");
385 $this->ctrl->setCmdClass(
"ilinfoscreengui");
396 $ilTabs->activateTab(
"info_short");
398 if (!$ilAccess->checkAccess(
"visible",
"", $this->object->getRefId()))
400 $this->
ilias->raiseError($this->lng->txt(
"msg_no_perm_read"),$this->
ilias->error_obj->MESSAGE);
403 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
405 $info->enablePrivateNotes();
406 if (trim($this->
object->getIntroduction()) !=
"")
408 $info->addSection($lng->txt(
"wiki_introduction"));
409 $info->addProperty(
"", nl2br($this->
object->getIntroduction()));
413 include_once(
"./Modules/Wiki/classes/class.ilWikiContributor.php");
414 include_once(
"./Services/Tracking/classes/class.ilLPMarks.php");
420 $info->addSection($this->lng->txt(
"wiki_feedback_from_tutor"));
421 if ($lpcomment !=
"")
423 $info->addProperty($this->lng->txt(
"wiki_comment"),
428 $info->addProperty($this->lng->txt(
"wiki_mark"),
434 $info->addProperty($this->lng->txt(
"status"),
435 $this->lng->txt(
"wiki_passed"));
439 $info->addProperty($this->lng->txt(
"status"),
440 $this->lng->txt(
"wiki_failed"));
452 if ($ilAccess->checkAccess(
"read",
"", $this->object->getRefId()))
458 $this->lng->loadLanguageModule(
"meta");
459 $this->lng->loadLanguageModule(
"wiki");
466 $this->ctrl->forwardCommand(
$info);
468 if ($ilAccess->checkAccess(
"read",
"", $this->object->getRefId()))
491 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
492 $ilCtrl->setParameter($this,
"wpg_id",
495 $ilTabs->addTarget(
"wiki_what_links_here",
496 $this->ctrl->getLinkTargetByClass(
"ilwikipagegui",
497 "whatLinksHere"),
"whatLinksHere");
498 $ilTabs->addTarget(
"wiki_print_view",
499 $this->ctrl->getLinkTargetByClass(
"ilwikipagegui",
500 "printViewSelection"),
"printViewSelection");
510 $ilTabs->activateTab(
"wiki_pages");
512 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
513 $ilCtrl->setParameter($this,
"wpg_id",
517 $ilTabs->addSubTabTarget(
"wiki_all_pages",
518 $this->ctrl->getLinkTarget($this,
"allPages"),
"allPages");
519 $ilTabs->addSubTabTarget(
"wiki_recent_changes",
520 $this->ctrl->getLinkTarget($this,
"recentChanges"),
"recentChanges");
521 $ilTabs->addSubTabTarget(
"wiki_new_pages",
522 $this->ctrl->getLinkTarget($this,
"newPages"),
"newPages");
523 $ilTabs->addSubTabTarget(
"wiki_popular_pages",
524 $this->ctrl->getLinkTarget($this,
"popularPages"),
"popularPages");
525 $ilTabs->addSubTabTarget(
"wiki_orphaned_pages",
526 $this->ctrl->getLinkTarget($this,
"orphanedPages"),
"orphanedPages");
538 $ilHelp->setScreenIdComponent(
"wiki");
541 if (in_array($ilCtrl->getCmdClass(),
array(
"",
"ilobjwikigui",
542 "ilinfoscreengui",
"ilpermissiongui",
"ilexportgui",
"ilratingcategorygui",
543 "ilwikistatgui",
"ilwikipagetemplategui",
"iladvancedmdsettingsgui",
"ilsettingspermissiongui",
'ilrepositoryobjectsearchgui' 544 )) || (in_array($ilCtrl->getNextClass(),
array(
"ilpermissiongui"))))
546 if (
$_GET[
"page"] !=
"")
548 $this->tabs_gui->setBackTarget($lng->txt(
"wiki_last_visited_page"),
554 if ($ilAccess->checkAccess(
'read',
"", $this->object->getRefId()))
556 $this->tabs_gui->addTab(
"wiki_pages",
557 $lng->txt(
"wiki_pages"),
558 $this->ctrl->getLinkTarget($this,
"allPages"));
562 if ($ilAccess->checkAccess(
'visible',
"", $this->object->getRefId()))
564 $this->tabs_gui->addTab(
"info_short",
565 $lng->txt(
"info_short"),
566 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary"));
570 if ($ilAccess->checkAccess(
'write',
"", $this->object->getRefId()))
572 $this->tabs_gui->addTab(
"settings",
573 $lng->txt(
"settings"),
574 $this->ctrl->getLinkTarget($this,
"editSettings"));
577 include_once
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
579 $mdtab = $mdgui->getTab();
582 $this->tabs_gui->addTab(
"advmd",
583 $this->lng->txt(
"meta_data"),
589 if ($ilAccess->checkAccess(
'write',
"", $this->object->getRefId()))
591 $this->tabs_gui->addTab(
"wiki_contributors",
592 $lng->txt(
"wiki_contributors"),
593 $this->ctrl->getLinkTarget($this,
"listContributors"));
597 if ($ilAccess->checkAccess(
'statistics_read',
"", $this->object->getRefId()))
599 $this->tabs_gui->addTab(
"statistics",
600 $lng->txt(
"statistics"),
601 $this->ctrl->getLinkTargetByClass(
"ilWikiStatGUI",
"initial"));
604 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
606 $this->tabs_gui->addTab(
"export",
608 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
""));
612 if ($ilAccess->checkAccess(
'edit_permission',
"", $this->object->getRefId()))
614 $this->tabs_gui->addTab(
"perm_settings",
615 $lng->txt(
"perm_settings"),
616 $this->ctrl->getLinkTargetByClass(
"ilpermissiongui",
"perm"));
628 if (in_array($a_active,
629 array(
"general_settings",
"style",
"imp_pages",
"rating_categories",
630 "page_templates",
"advmd",
"permission_settings")))
632 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
635 $ilTabs->addSubTab(
"general_settings",
636 $lng->txt(
"wiki_general_settings"),
637 $ilCtrl->getLinkTarget($this,
'editSettings'));
640 $ilTabs->addSubTab(
"permission_settings",
641 $lng->txt(
"obj_permission_settings"),
642 $this->ctrl->getLinkTargetByClass(
"ilsettingspermissiongui",
""));
645 $ilTabs->addSubTab(
"style",
646 $lng->txt(
"wiki_style"),
647 $ilCtrl->getLinkTarget($this,
'editStyleProperties'));
650 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
653 $ilTabs->addSubTab(
"imp_pages",
654 $lng->txt(
"wiki_navigation"),
655 $ilCtrl->getLinkTarget($this,
'editImportantPages'));
658 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
661 $ilTabs->addSubTab(
"page_templates",
662 $lng->txt(
"wiki_page_templates"),
663 $ilCtrl->getLinkTargetByClass(
"ilwikipagetemplategui",
""));
666 if ($this->
object->getRating() && $this->
object->getRatingCategories())
668 $lng->loadLanguageModule(
"rating");
669 $ilTabs->addSubTab(
"rating_categories",
670 $lng->txt(
"rating_categories"),
671 $ilCtrl->getLinkTargetByClass(
array(
'ilratinggui',
'ilratingcategorygui'),
''));
675 $ilTabs->activateSubTab($a_active);
694 include_once
'Modules/Wiki/classes/class.ilECSWikiSettings.php';
696 $ecs->addSettingsToForm($this->form_gui,
'wiki');
698 $tpl->setContent($this->form_gui->getHtml());
709 $lng->loadLanguageModule(
"wiki");
710 $ilTabs->activateTab(
"settings");
712 require_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
718 $this->form_gui->addItem($tit);
736 $this->form_gui->addItem($des);
742 $this->form_gui->addItem($intro);
745 if ($a_mode ==
"edit")
748 foreach ($pages as $p)
754 $this->form_gui->addItem(
$si);
758 $sp =
new ilTextInputGUI($lng->txt(
"wiki_start_page"),
"startpage");
759 if ($a_mode ==
"edit")
761 $sp->
setInfo($lng->txt(
"wiki_start_page_info"));
763 $sp->setMaxLength(200);
764 $sp->setRequired(
true);
765 $this->form_gui->addItem($sp);
770 $this->form_gui->addItem($online);
775 $lng->loadLanguageModule(
'rating');
776 $rate =
new ilCheckboxInputGUI($lng->txt(
'rating_activate_rating'),
'rating_overall');
777 $rate->
setInfo($lng->txt(
'rating_activate_rating_info'));
778 $this->form_gui->addItem($rate);
781 $this->form_gui->addItem($rating);
791 $extended =
new ilCheckboxInputGUI($lng->txt(
"wiki_activate_extended_rating"),
"rating_ext");
796 if (!$ilSetting->get(
"disable_comments"))
798 $comments =
new ilCheckboxInputGUI($lng->txt(
"wiki_public_comments"),
"public_notes");
799 $this->form_gui->addItem($comments);
808 $page_toc->
setInfo($lng->txt(
"wiki_page_toc_info"));
809 $this->form_gui->addItem($page_toc);
811 if($a_mode ==
"edit")
814 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
817 $link_md =
new ilCheckboxInputGUI($lng->txt(
"wiki_link_md_values"),
"link_md_values");
818 $link_md->
setInfo($lng->txt(
"wiki_link_md_values_info"));
819 $this->form_gui->addItem($link_md);
824 $feat->setTitle($this->lng->txt(
'obj_features'));
825 $this->form_gui->addItem($feat);
827 include_once
'./Services/Container/classes/class.ilContainer.php';
828 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
842 if ($a_mode !=
"create")
844 $this->form_gui->setTitle($lng->txt(
"wiki_settings"));
845 $this->form_gui->addCommandButton(
"saveSettings", $lng->txt(
"save"));
849 $this->form_gui->setTitle($lng->txt(
"wiki_new"));
850 $this->form_gui->addCommandButton(
"save", $lng->txt(
"wiki_add"));
851 $this->form_gui->addCommandButton(
"cancel", $lng->txt(
"cancel"));
855 if ($a_mode ==
"create")
857 $ilCtrl->setParameter($this,
"new_type",
"wiki");
860 $this->form_gui->setFormAction($ilCtrl->getFormAction($this,
"saveSettings"));
868 if ($a_mode ==
"create")
871 $values[
"rating_new"] =
true;
875 $this->form_gui->setValuesByArray($values);
879 $values[
"online"] = $this->
object->getOnline();
880 $values[
"title"] = $this->
object->getTitle();
883 $values[
"shorttitle"] = $this->
object->getShortTitle();
884 $values[
"description"] = $this->
object->getLongDescription();
885 $values[
"rating_overall"] = $this->
object->getRatingOverall();
886 $values[
"rating"] = $this->
object->getRating();
888 $values[
"rating_new"] = $this->
object->getRatingForNewPages();
889 $values[
"rating_ext"] = $this->
object->getRatingCategories();
890 $values[
"public_notes"] = $this->
object->getPublicNotes();
891 $values[
"intro"] = $this->
object->getIntroduction();
893 $values[
"page_toc"] = $this->
object->getPageToc();
894 $values[
"link_md_values"] = $this->
object->getLinkMetadataValues();
897 $this->form_gui->setValuesByArray($values,
true);
913 if ($this->form_gui->checkInput())
916 $this->form_gui->getInput(
"shorttitle") != $this->
object->getShortTitle())
918 $short_item = $this->form_gui->getItemByPostVar(
"shorttitle");
919 $short_item->setAlert($lng->txt(
"wiki_short_title_already_in_use"));
923 $this->
object->setTitle($this->form_gui->getInput(
"title"));
924 $this->
object->setDescription($this->form_gui->getInput(
"description"));
925 $this->
object->setOnline($this->form_gui->getInput(
"online"));
927 $this->
object->setShortTitle($this->form_gui->getInput(
"shorttitle"));
928 $this->
object->setRatingOverall($this->form_gui->getInput(
"rating_overall"));
929 $this->
object->setRating($this->form_gui->getInput(
"rating"));
931 $this->
object->setRatingForNewPages($this->form_gui->getInput(
"rating_new"));
932 $this->
object->setRatingCategories($this->form_gui->getInput(
"rating_ext"));
934 if (!$ilSetting->get(
"disable_comments"))
936 $this->
object->setPublicNotes($this->form_gui->getInput(
"public_notes"));
938 $this->
object->setIntroduction($this->form_gui->getInput(
"intro"));
940 $this->
object->setPageToc($this->form_gui->getInput(
"page_toc"));
941 $this->
object->setLinkMetadataValues($this->form_gui->getInput(
"link_md_values"));
942 $this->
object->update();
944 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
954 include_once
'Modules/Wiki/classes/class.ilECSWikiSettings.php';
956 if($ecs->handleSettingsUpdate())
959 $ilCtrl->redirect($this,
"editSettings");
964 $this->form_gui->setValuesByPost();
965 $this->tpl->setContent($this->form_gui->getHTML());
973 global
$tpl, $ilTabs;
976 $ilTabs->activateTab(
"wiki_contributors");
978 include_once(
"./Modules/Wiki/classes/class.ilWikiContributorsTableGUI.php");
983 $tpl->setContent($table_gui->getHTML());
997 $users = (is_array(
$_POST[
"user_id"])
1001 include_once(
"./Modules/Wiki/classes/class.ilWikiContributor.php");
1002 include_once(
"./Services/Tracking/classes/class.ilLPMarks.php");
1004 foreach($users as $user_id)
1013 if ($marks_obj->getMark() != $new_mark ||
1018 $marks_obj->setMark($new_mark);
1019 $marks_obj->setComment($new_comment);
1020 $marks_obj->update();
1030 $ilCtrl->redirect($this,
"listContributors");
1038 if (is_object($this->
object))
1040 $ilLocator->addItem($this->
object->getTitle(),
1047 global $ilAccess,
$ilErr,
$lng, $ilNavigationHistory;
1049 $i = strpos($a_target,
"_");
1052 $a_page = substr($a_target, $i+1);
1053 $a_target = substr($a_target, 0, $i);
1056 if ($a_target ==
"wpage")
1058 $a_page_arr = explode(
"_", $a_page);
1059 $wpg_id = (int) $a_page_arr[0];
1060 $ref_id = (int) $a_page_arr[1];
1061 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1071 foreach ($refs as
$r)
1073 if ($ilAccess->checkAccess(
"read",
"", $r))
1081 if ($ilAccess->checkAccess(
"read",
"", $a_target))
1083 $_GET[
"cmd"] =
"viewPage";
1084 $_GET[
"ref_id"] = $a_target;
1085 $_GET[
"page"] = $a_page;
1086 $_GET[
"baseClass"] =
"ilwikihandlergui";
1087 $_GET[
"cmdClass"] =
"ilobjwikigui";
1094 include(
"ilias.php");
1097 else if ($ilAccess->checkAccess(
"visible",
"", $a_target))
1101 else if ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID))
1108 $ilErr->raiseError($lng->txt(
"msg_no_perm_read"), $ilErr->FATAL);
1121 $goto =
"goto.php?target=wiki_".$a_ref_id.
"_".
1136 $ilTabs->clearTargets();
1137 $tpl->setHeaderActionMenu(null);
1139 $page = (
$_GET[
"page"] !=
"")
1141 : $this->
object->getStartPage();
1142 $_GET[
"page"] = $page;
1144 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1147 $page = $this->
object->getStartPage();
1153 $ilCtrl->redirect($this,
"infoScreen");
1160 include_once(
"./Modules/Wiki/classes/class.ilWikiPageGUI.php");
1163 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1165 $this->
object->getStyleSheetId(),
"wiki"));
1171 $ilCtrl->setCmdClass(
"ilwikipagegui");
1172 $ilCtrl->setCmd(
"preview");
1173 if (!$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()) &&
1174 (!$ilAccess->checkAccess(
"edit_content",
"", $this->object->getRefId()) ||
1175 $wpage_gui->getPageObject()->getBlocked()
1178 $wpage_gui->setEnableEditing(
false);
1184 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId()))
1186 $wpage_gui->activateMetaDataEditor($this->
object,
"wpg", $wpage_gui->getId());
1190 $html = $ilCtrl->forwardCommand($wpage_gui);
1193 $tpl->setContent(
$html);
1205 include_once(
"./Modules/Wiki/classes/class.ilWikiPagesTableGUI.php");
1213 $tpl->setContent($table_gui->getHTML());
1225 include_once(
"./Modules/Wiki/classes/class.ilWikiPagesTableGUI.php");
1233 $tpl->setContent($table_gui->getHTML());
1245 include_once(
"./Modules/Wiki/classes/class.ilWikiPagesTableGUI.php");
1253 $tpl->setContent($table_gui->getHTML());
1267 $a_page =
$_GET[
"page"];
1270 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1279 if (!$this->
object->getTemplateSelectionOnCreation())
1282 include_once(
"./Services/Utilities/classes/class.ilStr.php");
1287 $ilCtrl->redirectByClass(
"ilwikipagegui",
"preview");
1289 $this->
object->createWikiPage($a_page);
1293 $ilCtrl->redirectByClass(
"ilwikipagegui",
"edit");
1299 $ilCtrl->redirect($this,
"showTemplateSelection");
1313 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1327 include_once(
"./Modules/Wiki/classes/class.ilWikiRecentChangesTableGUI.php");
1335 $tpl->setContent($table_gui->getHTML());
1354 $tpl->addJavaScript(
"./Modules/Wiki/js/WikiPres.js");
1358 $tpl->addOnLoadCode(
"il.Wiki.Pres.init('".$ilCtrl->getLinkTargetByClass(
"ilobjwikigui",
"",
"",
false,
false).
"');");
1360 if ($a_wpg_id > 0 && !$a_wp)
1362 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1367 include_once
'./Services/Search/classes/class.ilRepositoryObjectSearchGUI.php';
1370 #include_once("./Modules/Wiki/classes/class.ilWikiSearchBlockGUI.php"); 1371 #$wiki_search_block = new ilWikiSearchBlockGUI(); 1372 #$rcontent = $wiki_search_block->getHTML(); 1388 include_once(
"./Services/Rating/classes/class.ilRatingGUI.php");
1390 $rgui->setObject($wiki_id,
"wiki", $a_wpg_id,
"wpg");
1392 $rgui->setYourRatingText(
"#");
1393 $rcontent .= $rgui->getBlockHTML($lng->txt(
"wiki_rate_page"));
1400 if($ilAccess->checkAccess(
"write",
"", $a_wiki_ref_id))
1403 "edit" => $ilCtrl->getLinkTargetByClass(
"ilwikipagegui",
"editAdvancedMetaData"),
1404 "hide" => $ilCtrl->getLinkTargetByClass(
"ilwikipagegui",
"hideAdvancedMetaData")
1407 include_once(
"./Services/Object/classes/class.ilObjectMetaDataGUI.php");
1409 $callback = $wiki->getLinkMetadataValues()
1410 ?
array($wiki,
"decorateAdvMDValue")
1413 $rcontent .= $mdgui->getBlockHTML(
$cmd, $callback);
1420 include_once(
"./Modules/Wiki/classes/class.ilWikiImportantPagesBlockGUI.php");
1422 $rcontent.= $imp_pages_block->getHTML();
1428 include_once(
"./Modules/Wiki/classes/class.ilWikiFunctionsBlockGUI.php");
1430 $wiki_functions_block->setPageObject($a_wp);
1431 $rcontent .= $wiki_functions_block->getHTML();
1434 $tpl->setRightContent($rcontent);
1446 include_once(
"./Modules/Wiki/classes/class.ilWikiPagesTableGUI.php");
1454 $tpl->setContent($table_gui->getHTML());
1460 if(is_array(
$_POST[
"wordr"]))
1463 $page_ids = array_keys(
$_POST[
"wordr"]);
1466 else if((
int)
$_GET[
"wpg_id"])
1468 $page_ids =
array((
int)$_GET[
"wpg_id"]);
1481 $this->ctrl->redirect($this,
"");
1484 $tpl =
new ilTemplate(
"tpl.main.html",
true,
true);
1489 $tpl->setCurrentBlock(
"SyntaxStyle");
1490 $tpl->setVariable(
"LOCATION_SYNTAX_STYLESHEET",
1492 $tpl->parseCurrentBlock();
1497 include_once(
"./Modules/Wiki/classes/class.ilWikiPageGUI.php");
1501 foreach ($page_ids as $p_id)
1504 $page_gui->setWiki($this->
object);
1505 $page_gui->setOutputMode(
"print");
1506 $page_content.= $page_gui->showPage();
1510 $page_content .=
'<p style="page-break-after:always;"></p>';
1514 $page_content =
'<div class="ilInvisibleBorder">'.$page_content.
'</div>';
1518 $page_content .=
'<script type="text/javascript" language="javascript1.2"> 1520 il.Util.addOnLoad(function () { 1527 $tpl->setVariable(
"CONTENT", $page_content);
1536 return $tpl->get(
"DEFAULT",
false,
false,
false,
true,
false,
false);
1544 require_once
'Services/PDFGeneration/classes/class.ilPDFGeneration.php';
1550 $html = preg_replace(
"/\?dummy\=[0-9]+/",
"",
$html);
1551 $html = preg_replace(
"/\?vers\=[0-9A-Za-z\-]+/",
"",
$html);
1553 include_once
"Services/PDFGeneration/classes/class.ilPDFGeneration.php";
1554 include_once
"Services/PDFGeneration/classes/class.ilPDFGenerationJob.php";
1557 $job->setAutoPageBreak(
true)
1558 ->setMarginLeft(
"10")
1559 ->setMarginRight(
"10")
1560 ->setMarginTop(
"10")
1561 ->setMarginBottom(
"10")
1562 ->setOutputMode(
"D")
1563 ->setFilename(
"wiki.pdf")
1564 ->setCreator(
"ILIAS Wiki")
1565 ->setImageScale(1.25)
1580 include_once(
"./Modules/Wiki/classes/class.ilWikiSearchResultsTableGUI.php");
1582 $ilTabs->setTabActive(
"wiki_search_results");
1584 if (trim(
$_POST[
"search_term"]) ==
"")
1587 $ilCtrl->redirectByClass(
"ilwikipagegui",
"preview");
1593 $this->
object->getId(), $search_results,
$_POST[
"search_term"]);
1596 $tpl->setContent($table_gui->getHTML());
1615 $ctpl->setCurrentBlock(
"ContentStyle");
1616 $ctpl->setVariable(
"LOCATION_CONTENT_STYLESHEET",
1618 $ctpl->parseCurrentBlock();
1628 global $ilTabs,
$tpl;
1633 $tpl->setContent($this->form->getHTML());
1635 $ilTabs->activateTab(
"settings");
1648 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1649 $lng->loadLanguageModule(
"style");
1651 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1654 $fixed_style = $ilSetting->get(
"fixed_content_style_id");
1655 $style_id = $this->
object->getStyleSheetId();
1657 if ($fixed_style > 0)
1661 $this->lng->txt(
"global_fixed").
")");
1662 $this->form->addItem($st);
1669 $st_styles[0] = $this->lng->txt(
"default");
1679 $this->form->addItem($st);
1684 $this->form->addCommandButton(
"editStyle",
1685 $lng->txt(
"style_edit_style"));
1686 $this->form->addCommandButton(
"deleteStyle",
1687 $lng->txt(
"style_delete_style"));
1695 $st_styles,
false,
true);
1696 $style_sel =
new ilSelectInputGUI($lng->txt(
"style_current_style"),
"style_id");
1698 $style_sel->setValue($style_id);
1699 $this->form->addItem($style_sel);
1701 $this->form->addCommandButton(
"saveStyleSettings",
1703 $this->form->addCommandButton(
"createStyle",
1704 $lng->txt(
"sty_create_ind_style"));
1707 $this->form->setTitle($lng->txt(
"wiki_style"));
1708 $this->form->setFormAction($ilCtrl->getFormAction($this));
1718 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
1728 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
1738 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
1748 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1749 if ($ilSetting->get(
"fixed_content_style_id") <= 0 &&
1751 || $this->
object->getStyleSheetId() == 0))
1754 $this->
object->update();
1757 $this->ctrl->redirect($this,
"editStyleProperties");
1776 $ipages_ids =
array();
1777 foreach ($ipages as $i)
1779 $ipages_ids[] = $i[
"page_id"];
1783 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1786 foreach ($pages as $p)
1788 if (!in_array($p[
"id"], $ipages_ids))
1793 if (count($options) > 0)
1795 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
1797 $si->setOptions($options);
1798 $si->setInfo($lng->txt(
""));
1799 $ilToolbar->addInputItem(
$si);
1800 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
1801 $ilToolbar->addFormButton($lng->txt(
"add"),
"addImportantPage");
1805 $ilTabs->activateTab(
"settings");
1808 include_once(
"./Modules/Wiki/classes/class.ilImportantPagesTableGUI.php");
1811 $tpl->setContent($imp_table->getHTML());
1826 if (
$_POST[
"imp_page_id"] > 0)
1828 $this->
object->addImportantPage((
int)
$_POST[
"imp_page_id"]);
1831 $ilCtrl->redirect($this,
"editImportantPages");
1841 if (!is_array(
$_POST[
"imp_page_id"]) || count(
$_POST[
"imp_page_id"]) == 0)
1844 $ilCtrl->redirect($this,
"editImportantPages");
1848 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1850 $cgui->setFormAction($ilCtrl->getFormAction($this));
1851 $cgui->setHeaderText($lng->txt(
"wiki_sure_remove_imp_pages"));
1852 $cgui->setCancel($lng->txt(
"cancel"),
"editImportantPages");
1853 $cgui->setConfirm($lng->txt(
"remove"),
"removeImportantPages");
1855 foreach (
$_POST[
"imp_page_id"] as $i)
1860 $tpl->setContent($cgui->getHTML());
1876 if (is_array(
$_POST[
"imp_page_id"]))
1878 foreach (
$_POST[
"imp_page_id"] as $i)
1880 $this->
object->removeImportantPage((
int) $i);
1884 $ilCtrl->redirect($this,
"editImportantPages");
1896 $this->
object->saveOrderingAndIndentation(
$_POST[
"ord"],
$_POST[
"indent"]);
1898 $ilCtrl->redirect($this,
"editImportantPages");
1910 if (!is_array(
$_POST[
"imp_page_id"]) || count(
$_POST[
"imp_page_id"]) != 1)
1916 $this->
object->removeImportantPage((
int)
$_POST[
"imp_page_id"][0]);
1918 $this->
object->update();
1921 $ilCtrl->redirect($this,
"editImportantPages");
1930 require_once(
"./Modules/Wiki/classes/class.ilWikiHTMLExport.php");
1932 $cont_exp->buildExportFile();
1944 include_once
"Modules/Wiki/classes/class.ilWikiPage.php";
1946 if($page->getWikiId() == $a_wiki_id)
1948 return $page->getTitle();
1961 include_once
"Modules/Wiki/classes/class.ilWikiPage.php";
1974 $ilTabs->clearTargets();
1978 $tpl->setContent($form->getHTML());
1988 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
1993 $hi->setValue(
$_GET[
"page"]);
1994 $form->addItem($hi);
2000 if ($this->
object->getEmptyPageTemplate())
2003 $radg->addOption($op1);
2006 include_once(
"./Modules/Wiki/classes/class.ilWikiPageTemplate.php");
2012 $radg->addOption($op);
2015 $form->addItem($radg);
2018 $form->addCommandButton(
"createPageUsingTemplate", $lng->txt(
"wiki_create_page"));
2019 $form->addCommandButton(
"cancelCreationPageUsingTemplate", $lng->txt(
"cancel"));
2021 $form->setTitle($lng->txt(
"wiki_new_page").
": ".
$_GET[
"page"]);
2022 $form->setFormAction($ilCtrl->getFormAction($this));
2035 if ($form->checkInput())
2037 $a_page =
$_POST[
"page"];
2038 $this->
object->createWikiPage($a_page, (
int)
$_POST[
"page_templ"]);
2042 $ilCtrl->redirectByClass(
"ilwikipagegui",
"edit");
2045 $ilCtrl->redirect($this,
"");
2049 $form->setValuesByPost();
2050 $tpl->setContent($form->getHtml());
2063 $ilCtrl->redirectByClass(
"ilwikipagegui",
"preview");
2077 if($a_perm ==
"create")
2079 return parent::checkPermissionBool($a_perm, $a_cmd,
$a_type, $a_ref_id);
2085 $a_ref_id = $this->
object->getRefId();
2087 include_once(
"./Modules/Wiki/classes/class.ilWikiPerm.php");
2102 $this->log->debug(
"init");
2104 $this->
object->initUserHTMLExport();
2112 $this->log->debug(
"start");
2114 $this->
object->startUserHTMLExport();
2122 $this->log->debug(
"get progress");
2124 $p = $this->
object->getUserHTMLExportProgress();
2126 include_once(
"./Services/UIComponent/ProgressBar/classes/class.ilProgressBar.php");
2128 $pb->setCurrent($p[
"progress"]);
2130 $r =
new stdClass();
2131 $r->progressBar = $pb->render();
2132 $r->status = $p[
"status"];
2133 include_once(
"./Services/JSON/classes/class.ilJsonUtil.php");
2134 $this->log->debug(
"status: ".
$r->status);
2144 $this->log->debug(
"download");
2146 $this->
object->deliverUserHTMLExport();
static renderSideBlock($a_wpg_id, $a_wiki_ref_id, $a_wp=null)
Side column.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
UI class for handling permissions that can be configured having the write permission for an object...
isOnlineHelpWiki()
Is wiki an online help wiki?
setSideBlock($a_wpg_id=0)
Side column.
infoScreen()
show information screen
static getGotoLink($a_ref_id, $a_page="")
Get goto link.
exportHTML()
Create html package.
This class represents an option in a radio group.
static lookupTitle($a_page_id)
Checks whether a page with given title exists.
static getContentPrintStyle()
get content print style
initStylePropertiesForm()
Init style properties form.
getAllInfo($a_type=self::TYPE_ALL)
Get all info.
editStylePropertiesObject()
Edit style properties.
allPagesObject()
All pages of wiki.
TableGUI class for listing users that contributed to the wiki.
getUserHTMLExportProgressObject()
Get user html export progress.
static check($a_perm, $a_ref_id, $a_cmd="")
Check permission.
setValue($a_value)
Set Value.
saveStyleSettingsObject()
Save style settings.
static _lookupImportantPagesList($a_wiki_id)
Get important pages list.
const IL_WIKI_POPULAR_PAGES
Wiki page template gui class.
GUI class for the workflow of copying objects.
TableGUI class for recent changes in wiki.
addImportantPageObject()
Add important pages.
orphanedPagesObject()
Orphaned pages.
static checkShortTitleAvailability($a_short_title)
Check availability of short title.
static lookupSubObjectTitle($a_wiki_id, $a_page_id)
Get title for wiki page (used in ilNotesGUI)
Wiki statistics GUI class.
Class ilObject Basic functions for all objects.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
saveGradingObject()
Save grading.
static _getStandardStyles($a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
static _writeStatus($a_obj_id, $a_user_id, $a_status)
Write success status.
static _lookupStartPage($a_wiki_id)
Lookup start page.
gotoStartPageObject()
Go to start page.
static getGUIForTitle($a_wiki_id, $a_title, $a_old_nr=0, $a_wiki_ref_id=0)
Get wiki page gui for id and title.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
TableGUI class for wiki pages table.
static shortenText($a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
addPageTabs()
Add Page Tabs.
static _lookupTitle($a_id)
lookup object title
downloadUserHTMLExportObject()
Download user html export file.
initCreationForms($a_new_type)
static _lookupRatingCategories($a_wiki_id)
Lookup whether rating categories are activated.
fillCloneTemplate($a_tpl_varname, $a_type)
Fill object clone template This method can be called from any object GUI class that wants to offer ob...
static lookupAdvancedMetadataHidden($a_page_id)
static getPageIdForTitle($a_wiki_id, $a_title)
Get wiki page object for id and title.
confirmRemoveImportantPagesObject()
Confirm important pages deletion.
static _getAllReferences($a_id)
get all reference ids of object
setTitle($a_title)
set object title
saveObject()
save object public
popularPagesObject()
Popular pages.
createStyleObject()
Create Style.
static _lookupStatus($a_obj_id, $a_user_id)
Lookup current success status (STATUS_NOT_GRADED|STATUS_PASSED|STATUS_FAILED)
static getRandomPage($a_wiki_id)
Get a random page.
static _lookupStandard($a_id)
Lookup standard flag.
BlockGUI class for wiki functions block.
static _lookupRating($a_wiki_id)
Lookup whether rating is activated.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
startUserHTMLExportObject()
Export html (as user)
static hasAutoRating($a_type, $a_ref_id)
Check if auto rating is active for parent group/course.
printViewObject($a_pdf_export=false)
Export User Interface Class.
static lookupWikiId($a_page_id)
Lookup wiki id.
initImportForm($a_new_type)
Init object import form.
setSettingsSubTabs($a_active)
Set sub tabs.
prepareOutput($a_show_subobjects=true)
prepare output
static _performSearch($a_wiki_id, $a_searchterm)
Search in Wiki.
GUI class for public user profile presentation.
static _getPageIdForWikiTitle($a_wiki_id, $a_title)
Checks whether a page with given title exists.
static encode($mixed, $suppress_native=false)
editImportantPagesObject()
List important pages.
static getInstance()
Factory.
if(!is_array($argv)) $options
saveSettingsObject()
Save Settings.
static makeUrlTitle($a_par)
Set page parameter for Url Embedding.
addPagesSubTabs()
Add Pages SubTabs.
initTemplateSelectionForm()
Init template selection form.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
getSubObjectTitle($a_id, $a_type)
Used for rating export.
static formSelect($selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
listContributorsObject()
List all contributors.
Important pages wiki block.
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
special template class to simplify handling of ITX/PEAR
omitLocator($a_omit=true)
static getEffectiveContentStyleId($a_style_id, $a_type="")
Get effective Style Id.
cancelCreationPageUsingTemplateObject()
Cancel page creation using a template.
setAsStartPageObject()
Confirm important pages deletion.
initUserHTMLExportObject()
Export html (as user)
This class represents a text property in a property form.
setCols($a_cols)
Set Cols.
createPageUsingTemplateObject()
Save creation with template form.
Class ilWikiPage GUI class.
redirection script todo: (a better solution should control the processing via a xml file) ...
static _getSelectedRecordsByObject($a_obj_type, $a_obj_id, $a_sub_type="")
Get selected records by object.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static getSyntaxStylePath()
get syntax style path
showTemplateSelectionObject()
Show template selection.
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
static getAllWikiPages($a_wiki_id)
Get all pages of wiki.
static makeDbTitle($a_par)
Handle page GET parameter.
Create styles array
The data for the language used.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
getSettingsFormValues($a_mode="edit")
static _wikiPageExists($a_wiki_id, $a_title)
Check whether page exists for wiki or not.
static getContentStylePath($a_style_id)
get content style path
static prepareGeneration()
Prepare the PDF generation This initializes the purpose for MathJax rendering It has to be called bef...
static getSearchBlockHTML($a_title)
Get standar search block html.
randomPageObject()
Go to random page.
deleteStyleObject()
Delete Style.
initSettingsForm($a_mode="edit")
Init Settings Form.
static exists($a_wiki_id, $a_title)
Checks whether a page with given title exists.
Class ilPDFGenerationJob.
editSettingsObject()
Edit settings.
This class represents a non editable value in a property form.
setContentStyleSheet($a_tpl=null)
Set content style sheet.
Create new PHPExcel object
obj_idprivate
Class ilObjStyleSheetGUI.
This class represents a text area property in a property form.
const IL_WIKI_ORPHANED_PAGES
gotoPageObject($a_page="")
Go to specific page.
performSearchObject()
Search.
static isOnlineHelpWiki($a_ref_id)
Is wiki an online help wiki?
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
getRefId()
get reference id public
Wiki HTML exporter class.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
setDescription($a_desc)
set object description
static getLogger($a_component_id)
Get component logger.
static _lookupMark($a_usr_id, $a_obj_id)
update()
update object in db
static _lookupComment($a_usr_id, $a_obj_id)
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor public.
newPagesObject()
Latest pages.
TableGUI class for recent changes in wiki.
removeImportantPagesObject()
Remove important pages.
static redirect($a_script)
http redirect to other script
saveOrderingAndIndentObject()
Save important pages ordering and indentation.
addHeaderAction()
Add header action menu.
static doJob(ilPDFGenerationJob $job)
editStyleObject()
Edit Style.
recentChangesObject()
Recent Changes.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
viewPageObject()
view wiki page
Confirmation screen class.
afterSave(ilObject $newObj)
save object public