4 require_once
"./Services/Object/classes/class.ilObjectGUI.php";
5 require_once
"./Modules/Wiki/classes/class.ilObjWiki.php";
50 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
true)
54 $this->ctrl = $DIC->ctrl();
55 $this->lng = $DIC->language();
56 $this->
user = $DIC->user();
57 $this->tpl = $DIC[
"tpl"];
58 $this->tabs = $DIC->tabs();
59 $this->access = $DIC->access();
60 $this->error = $DIC[
"ilErr"];
62 $this->help = $DIC[
"ilHelp"];
63 $this->locator = $DIC[
"ilLocator"];
64 $this->toolbar = $DIC->toolbar();
66 $lng = $DIC->language();
72 parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
73 $lng->loadLanguageModule(
"obj");
74 $lng->loadLanguageModule(
"wiki");
76 if (
$_GET[
"page"] !=
"") {
89 $next_class = $this->ctrl->getNextClass($this);
90 $cmd = $this->ctrl->getCmd();
96 if ($cmd ==
"printView" || $cmd ==
"pdfExport") {
100 switch ($next_class) {
101 case "ilinfoscreengui":
107 case 'ilpermissiongui':
109 $ilTabs->activateTab(
"perm_settings");
110 include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
112 $ret = $this->ctrl->forwardCommand($perm_gui);
115 case 'ilsettingspermissiongui':
118 $ilTabs->activateTab(
"settings");
120 include_once(
"Services/AccessControl/classes/class.ilSettingsPermissionGUI.php");
122 $perm_gui->setPermissions(
array(
"edit_wiki_navigation",
"delete_wiki_pages",
"activate_wiki_protection",
123 "wiki_html_export"));
124 $perm_gui->setRoleRequiredPermissions(
array(
"edit_content"));
125 $perm_gui->setRoleProhibitedPermissions(
array(
"write"));
126 $ret = $this->ctrl->forwardCommand($perm_gui);
129 case 'ilwikipagegui':
131 include_once(
"./Modules/Wiki/classes/class.ilWikiPageGUI.php");
136 $this->
object->getRefId()
138 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
140 $this->
object->getStyleSheetId(),
144 if (!$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()) &&
146 !$ilAccess->checkAccess(
"edit_content",
"", $this->object->getRefId()) ||
147 $wpage_gui->getPageObject()->getBlocked()
149 $wpage_gui->setEnableEditing(
false);
155 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
156 $wpage_gui->activateMetaDataEditor($this->
object,
"wpg", $wpage_gui->getId());
159 $ret = $this->ctrl->forwardCommand($wpage_gui);
165 case 'ilobjectcopygui':
166 include_once
'./Services/Object/classes/class.ilObjectCopyGUI.php';
168 $cp->setType(
'wiki');
169 $this->ctrl->forwardCommand($cp);
172 case 'ilpublicuserprofilegui':
173 require_once
'./Services/User/classes/class.ilPublicUserProfileGUI.php';
175 $ret = $this->ctrl->forwardCommand($profile_gui);
179 case "ilobjstylesheetgui":
180 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheetGUI.php");
181 $this->ctrl->setReturn($this,
"editStyleProperties");
184 if ($cmd ==
"create" ||
$_GET[
"new_type"]==
"sty") {
185 $style_gui->setCreationMode(
true);
188 if ($cmd ==
"confirmedDelete") {
189 $this->
object->setStyleSheetId(0);
190 $this->
object->update();
193 $ret = $this->ctrl->forwardCommand($style_gui);
195 if ($cmd ==
"save" || $cmd ==
"copyStyle" || $cmd ==
"importStyle") {
197 $this->
object->setStyleSheetId($style_id);
198 $this->
object->update();
199 $this->ctrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
206 $ilTabs->activateTab(
"export");
207 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
209 $exp_gui->addFormat(
"xml");
210 $exp_gui->addFormat(
"html",
"", $this,
"exportHTML");
211 $ret = $this->ctrl->forwardCommand($exp_gui);
215 case "ilcommonactiondispatchergui":
216 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
218 $this->ctrl->forwardCommand($gui);
225 $ilTabs->activateTab(
"settings");
227 include_once(
"Services/Rating/classes/class.ilRatingGUI.php");
229 $gui->setObject($this->
object->getId(), $this->
object->getType());
230 $gui->setExportCallback(
array($this,
"getSubObjectTitle"), $this->lng->txt(
"page"));
231 $this->ctrl->forwardCommand($gui);
234 case "ilwikistatgui":
238 $ilTabs->activateTab(
"statistics");
240 include_once
"Modules/Wiki/classes/class.ilWikiStatGUI.php";
242 $this->ctrl->forwardCommand($gui);
245 case "ilwikipagetemplategui":
248 $ilTabs->activateTab(
"settings");
250 include_once(
"./Modules/Wiki/classes/class.ilWikiPageTemplateGUI.php");
252 $this->ctrl->forwardCommand($wptgui);
255 case 'ilobjectmetadatagui':
258 $ilTabs->activateTab(
"advmd");
259 include_once
'Services/Object/classes/class.ilObjectMetaDataGUI.php';
261 $this->ctrl->forwardCommand($md_gui);
264 case 'ilrepositoryobjectsearchgui':
267 $ilTabs->setTabActive(
"wiki_search_results");
268 $ilCtrl->setReturn($this,
'view');
269 include_once
'./Services/Search/classes/class.ilRepositoryObjectSearchGUI.php';
271 $this->
object->getRefId(),
275 $ilCtrl->forwardCommand($search_gui);
278 case 'ilobjnotificationsettingsgui':
280 $ilTabs->activateTab(
"settings");
282 include_once(
"./Services/Notification/classes/class.ilObjNotificationSettingsGUI.php");
284 $this->ctrl->forwardCommand($gui);
293 if ($cmd !=
"cancelObject") {
294 if ($cmd !=
"infoScreenObject") {
295 if (!in_array($cmd,
array(
"createObject",
"saveObject",
"importFileObject"))) {
316 if (is_object($this->
object)) {
336 $forms =
array(self::CFORM_NEW => $this->form_gui,
354 $ilErr->raiseError($this->lng->txt(
"permission_denied"),
$ilErr->MESSAGE);
358 if ($this->form_gui->checkInput()) {
360 $short_item = $this->form_gui->getItemByPostVar(
"shorttitle");
361 $short_item->setAlert(
$lng->txt(
"wiki_short_title_already_in_use"));
364 $_POST[
"title"] = $this->form_gui->getInput(
"title");
365 $_POST[
"desc"] = $this->form_gui->getInput(
"description");
366 return parent::saveObject();
370 $this->form_gui->setValuesByPost();
371 $tpl->setContent($this->form_gui->getHtml());
382 $newObj->
setTitle($this->form_gui->getInput(
"title"));
383 $newObj->
setDescription($this->form_gui->getInput(
"description"));
384 $newObj->setIntroduction($this->form_gui->getInput(
"intro"));
385 $newObj->setStartPage($this->form_gui->getInput(
"startpage"));
386 $newObj->setShortTitle($this->form_gui->getInput(
"shorttitle"));
387 $newObj->setRating($this->form_gui->getInput(
"rating"));
389 $newObj->setRatingForNewPages($this->form_gui->getInput(
"rating_new"));
390 $newObj->setRatingCategories($this->form_gui->getInput(
"rating_ext"));
392 $newObj->setRatingOverall($this->form_gui->getInput(
"rating_overall"));
393 $newObj->setPageToc($this->form_gui->getInput(
"page_toc"));
398 $newObj->setPublicNotes($this->form_gui->getInput(
"public_notes"));
400 $newObj->setOnline($this->form_gui->getInput(
"online"));
416 $this->ctrl->setCmd(
"showSummary");
417 $this->ctrl->setCmdClass(
"ilinfoscreengui");
432 $ilTabs->activateTab(
"info_short");
434 if (!$ilAccess->checkAccess(
"visible",
"", $this->object->getRefId())) {
435 $ilErr->raiseError($this->lng->txt(
"msg_no_perm_read"),
$ilErr->MESSAGE);
438 include_once(
"./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
440 $info->enablePrivateNotes();
441 if (trim($this->
object->getIntroduction()) !=
"") {
442 $info->addSection(
$lng->txt(
"wiki_introduction"));
443 $info->addProperty(
"", nl2br($this->
object->getIntroduction()));
447 include_once(
"./Modules/Wiki/classes/class.ilWikiContributor.php");
448 include_once(
"./Services/Tracking/classes/class.ilLPMarks.php");
453 $info->addSection($this->lng->txt(
"wiki_feedback_from_tutor"));
454 if ($lpcomment !=
"") {
456 $this->lng->txt(
"wiki_comment"),
462 $this->lng->txt(
"wiki_mark"),
469 $this->lng->txt(
"status"),
470 $this->lng->txt(
"wiki_passed")
475 $this->lng->txt(
"status"),
476 $this->lng->txt(
"wiki_failed")
489 if ($ilAccess->checkAccess(
"read",
"", $this->object->getRefId())) {
494 $this->lng->loadLanguageModule(
"meta");
495 $this->lng->loadLanguageModule(
"wiki");
502 $this->ctrl->forwardCommand(
$info);
504 if ($ilAccess->checkAccess(
"read",
"", $this->object->getRefId())) {
527 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
535 "wiki_what_links_here",
536 $this->ctrl->getLinkTargetByClass(
544 $this->ctrl->getLinkTargetByClass(
560 $ilTabs->activateTab(
"wiki_pages");
562 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
572 $ilTabs->addSubTabTarget(
574 $this->ctrl->getLinkTarget($this,
"allPages"),
577 $ilTabs->addSubTabTarget(
578 "wiki_recent_changes",
579 $this->ctrl->getLinkTarget($this,
"recentChanges"),
582 $ilTabs->addSubTabTarget(
584 $this->ctrl->getLinkTarget($this,
"newPages"),
587 $ilTabs->addSubTabTarget(
588 "wiki_popular_pages",
589 $this->ctrl->getLinkTarget($this,
"popularPages"),
592 $ilTabs->addSubTabTarget(
593 "wiki_orphaned_pages",
594 $this->ctrl->getLinkTarget($this,
"orphanedPages"),
611 $ilHelp->setScreenIdComponent(
"wiki");
614 if (in_array(
$ilCtrl->getCmdClass(),
array(
"",
"ilobjwikigui",
615 "ilinfoscreengui",
"ilpermissiongui",
"ilexportgui",
"ilratingcategorygui",
"ilobjnotificationsettingsgui",
"iltaxmdgui",
616 "ilwikistatgui",
"ilwikipagetemplategui",
"iladvancedmdsettingsgui",
"ilsettingspermissiongui",
'ilrepositoryobjectsearchgui' 617 )) || (in_array(
$ilCtrl->getNextClass(),
array(
"ilpermissiongui")))) {
618 if (
$_GET[
"page"] !=
"") {
619 $this->tabs_gui->setBackTarget(
620 $lng->txt(
"wiki_last_visited_page"),
629 if ($ilAccess->checkAccess(
'read',
"", $this->object->getRefId())) {
630 $this->tabs_gui->addTab(
632 $lng->txt(
"wiki_pages"),
633 $this->ctrl->getLinkTarget($this,
"allPages")
638 if ($ilAccess->checkAccess(
'visible',
"", $this->object->getRefId())) {
639 $this->tabs_gui->addTab(
641 $lng->txt(
"info_short"),
642 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary")
647 if ($ilAccess->checkAccess(
'write',
"", $this->object->getRefId())) {
648 $this->tabs_gui->addTab(
650 $lng->txt(
"settings"),
651 $this->ctrl->getLinkTarget($this,
"editSettings")
655 include_once
"Services/Object/classes/class.ilObjectMetaDataGUI.php";
657 $mdtab = $mdgui->getTab();
659 $this->tabs_gui->addTab(
661 $this->lng->txt(
"meta_data"),
668 if ($ilAccess->checkAccess(
'write',
"", $this->object->getRefId())) {
669 $this->tabs_gui->addTab(
671 $lng->txt(
"wiki_contributors"),
672 $this->ctrl->getLinkTarget($this,
"listContributors")
677 if ($ilAccess->checkAccess(
'statistics_read',
"", $this->object->getRefId())) {
678 $this->tabs_gui->addTab(
680 $lng->txt(
"statistics"),
681 $this->ctrl->getLinkTargetByClass(
"ilWikiStatGUI",
"initial")
685 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
686 $this->tabs_gui->addTab(
689 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
"")
694 if ($ilAccess->checkAccess(
'edit_permission',
"", $this->object->getRefId())) {
695 $this->tabs_gui->addTab(
697 $lng->txt(
"perm_settings"),
698 $this->ctrl->getLinkTargetByClass(
"ilpermissiongui",
"perm")
716 array(
"general_settings",
"style",
"imp_pages",
"rating_categories",
717 "page_templates",
"advmd",
"permission_settings",
"notifications")
719 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
723 $lng->txt(
"wiki_general_settings"),
724 $ilCtrl->getLinkTarget($this,
'editSettings')
729 "permission_settings",
730 $lng->txt(
"obj_permission_settings"),
731 $this->ctrl->getLinkTargetByClass(
"ilsettingspermissiongui",
"")
737 $lng->txt(
"wiki_style"),
738 $ilCtrl->getLinkTarget($this,
'editStyleProperties')
742 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
746 $lng->txt(
"wiki_navigation"),
747 $ilCtrl->getLinkTarget($this,
'editImportantPages')
751 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
755 $lng->txt(
"wiki_page_templates"),
756 $ilCtrl->getLinkTargetByClass(
"ilwikipagetemplategui",
"")
760 if ($this->
object->getRating() && $this->
object->getRatingCategories()) {
761 $lng->loadLanguageModule(
"rating");
764 $lng->txt(
"rating_categories"),
765 $ilCtrl->getLinkTargetByClass(
array(
'ilratinggui',
'ilratingcategorygui'),
'')
771 $lng->txt(
"notifications"),
772 $ilCtrl->getLinkTargetByClass(
"ilobjnotificationsettingsgui",
'')
776 $ilTabs->activateSubTab($a_active);
795 include_once
'Modules/Wiki/classes/class.ilECSWikiSettings.php';
797 $ecs->addSettingsToForm($this->form_gui,
'wiki');
799 $tpl->setContent($this->form_gui->getHtml());
813 $lng->loadLanguageModule(
"wiki");
814 $ilTabs->activateTab(
"settings");
816 require_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
822 $this->form_gui->addItem($tit);
840 $this->form_gui->addItem($des);
846 $this->form_gui->addItem($intro);
849 if ($a_mode ==
"edit") {
851 foreach ($pages as $p) {
856 $this->form_gui->addItem(
$si);
859 if ($a_mode ==
"edit") {
862 $sp->setMaxLength(200);
863 $sp->setRequired(
true);
864 $this->form_gui->addItem($sp);
869 $this->form_gui->addItem($online);
874 $lng->loadLanguageModule(
'rating');
876 $rate->
setInfo(
$lng->txt(
'rating_activate_rating_info'));
877 $this->form_gui->addItem($rate);
880 $this->form_gui->addItem($rating);
897 $this->form_gui->addItem($comments);
906 $page_toc->
setInfo(
$lng->txt(
"wiki_page_toc_info"));
907 $this->form_gui->addItem($page_toc);
909 if ($a_mode ==
"edit") {
911 include_once(
'Services/AdvancedMetaData/classes/class.ilAdvancedMDRecord.php');
914 $link_md->
setInfo(
$lng->txt(
"wiki_link_md_values_info"));
915 $this->form_gui->addItem($link_md);
920 $feat->setTitle($this->lng->txt(
'obj_features'));
921 $this->form_gui->addItem($feat);
923 include_once
'./Services/Container/classes/class.ilContainer.php';
924 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
938 if ($a_mode !=
"create") {
939 $this->form_gui->setTitle(
$lng->txt(
"wiki_settings"));
940 $this->form_gui->addCommandButton(
"saveSettings",
$lng->txt(
"save"));
942 $this->form_gui->setTitle(
$lng->txt(
"wiki_new"));
943 $this->form_gui->addCommandButton(
"save",
$lng->txt(
"wiki_add"));
944 $this->form_gui->addCommandButton(
"cancel",
$lng->txt(
"cancel"));
948 if ($a_mode ==
"create") {
949 $ilCtrl->setParameter($this,
"new_type",
"wiki");
952 $this->form_gui->setFormAction(
$ilCtrl->getFormAction($this,
"saveSettings"));
961 if ($a_mode ==
"create") {
963 $values[
"rating_new"] =
true;
967 $this->form_gui->setValuesByArray($values);
969 $values[
"online"] = $this->
object->getOnline();
970 $values[
"title"] = $this->
object->getTitle();
973 $values[
"shorttitle"] = $this->
object->getShortTitle();
974 $values[
"description"] = $this->
object->getLongDescription();
975 $values[
"rating_overall"] = $this->
object->getRatingOverall();
976 $values[
"rating"] = $this->
object->getRating();
978 $values[
"rating_new"] = $this->
object->getRatingForNewPages();
979 $values[
"rating_ext"] = $this->
object->getRatingCategories();
980 $values[
"public_notes"] = $this->
object->getPublicNotes();
981 $values[
"intro"] = $this->
object->getIntroduction();
983 $values[
"page_toc"] = $this->
object->getPageToc();
984 $values[
"link_md_values"] = $this->
object->getLinkMetadataValues();
987 $this->form_gui->setValuesByArray($values,
true);
1006 if ($this->form_gui->checkInput()) {
1008 $this->form_gui->getInput(
"shorttitle") != $this->
object->getShortTitle()) {
1009 $short_item = $this->form_gui->getItemByPostVar(
"shorttitle");
1010 $short_item->setAlert(
$lng->txt(
"wiki_short_title_already_in_use"));
1012 $this->
object->setTitle($this->form_gui->getInput(
"title"));
1013 $this->
object->setDescription($this->form_gui->getInput(
"description"));
1014 $this->
object->setOnline($this->form_gui->getInput(
"online"));
1016 $this->
object->setShortTitle($this->form_gui->getInput(
"shorttitle"));
1017 $this->
object->setRatingOverall($this->form_gui->getInput(
"rating_overall"));
1018 $this->
object->setRating($this->form_gui->getInput(
"rating"));
1020 $this->
object->setRatingForNewPages($this->form_gui->getInput(
"rating_new"));
1021 $this->
object->setRatingCategories($this->form_gui->getInput(
"rating_ext"));
1024 $this->
object->setPublicNotes($this->form_gui->getInput(
"public_notes"));
1026 $this->
object->setIntroduction($this->form_gui->getInput(
"intro"));
1028 $this->
object->setPageToc($this->form_gui->getInput(
"page_toc"));
1029 $this->
object->setLinkMetadataValues($this->form_gui->getInput(
"link_md_values"));
1030 $this->
object->update();
1032 include_once
'./Services/Object/classes/class.ilObjectServiceSettingsGUI.php';
1042 include_once
'Modules/Wiki/classes/class.ilECSWikiSettings.php';
1044 if ($ecs->handleSettingsUpdate()) {
1046 $ilCtrl->redirect($this,
"editSettings");
1051 $this->form_gui->setValuesByPost();
1052 $this->tpl->setContent($this->form_gui->getHTML());
1064 $ilTabs->activateTab(
"wiki_contributors");
1066 include_once(
"./Modules/Wiki/classes/class.ilWikiContributorsTableGUI.php");
1074 $tpl->setContent($table_gui->getHTML());
1093 include_once(
"./Modules/Wiki/classes/class.ilWikiContributor.php");
1094 include_once(
"./Services/Tracking/classes/class.ilLPMarks.php");
1096 foreach (
$users as $user_id) {
1097 if ($user_id !=
"") {
1103 if ($marks_obj->getMark() != $new_mark ||
1107 $marks_obj->setMark($new_mark);
1108 $marks_obj->setComment($new_comment);
1109 $marks_obj->update();
1118 $ilCtrl->redirect($this,
"listContributors");
1126 if (is_object($this->
object)) {
1127 $ilLocator->addItem(
1128 $this->
object->getTitle(),
1140 $ilAccess = $DIC->access();
1142 $lng = $DIC->language();
1143 $ilNavigationHistory = $DIC[
"ilNavigationHistory"];
1145 $i = strpos($a_target,
"_");
1147 $a_page = substr($a_target,
$i+1);
1148 $a_target = substr($a_target, 0,
$i);
1151 if ($a_target ==
"wpage") {
1152 $a_page_arr = explode(
"_", $a_page);
1153 $wpg_id = (int) $a_page_arr[0];
1154 $ref_id = (int) $a_page_arr[1];
1155 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1162 foreach ($refs as
$r) {
1163 if ($ilAccess->checkAccess(
"read",
"", $r)) {
1170 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
1171 $_GET[
"cmd"] =
"viewPage";
1172 $_GET[
"ref_id"] = $a_target;
1173 $_GET[
"page"] = $a_page;
1174 $_GET[
"baseClass"] =
"ilwikihandlergui";
1175 $_GET[
"cmdClass"] =
"ilobjwikigui";
1182 include(
"ilias.php");
1184 } elseif ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
1186 } elseif ($ilAccess->checkAccess(
"read",
"", ROOT_FOLDER_ID)) {
1188 $lng->txt(
"msg_no_perm_read_item"),
1202 if ($a_page ==
"") {
1206 $goto =
"goto.php?target=wiki_" . $a_ref_id .
"_" .
1225 $ilTabs->clearTargets();
1226 $tpl->setHeaderActionMenu(null);
1228 $page = (
$_GET[
"page"] !=
"")
1230 : $this->
object->getStartPage();
1231 $_GET[
"page"] = $page;
1233 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1235 $page = $this->
object->getStartPage();
1240 $ilCtrl->redirect($this,
"infoScreen");
1247 include_once(
"./Modules/Wiki/classes/class.ilWikiPageGUI.php");
1252 $this->
object->getRefId()
1254 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1256 $this->
object->getStyleSheetId(),
1264 $ilCtrl->setCmdClass(
"ilwikipagegui");
1266 if (!$ilAccess->checkAccess(
"write",
"", $this->object->getRefId()) &&
1268 !$ilAccess->checkAccess(
"edit_content",
"", $this->object->getRefId()) ||
1269 $wpage_gui->getPageObject()->getBlocked()
1271 $wpage_gui->setEnableEditing(
false);
1277 if ($ilAccess->checkAccess(
"write",
"", $this->object->getRefId())) {
1278 $wpage_gui->activateMetaDataEditor($this->
object,
"wpg", $wpage_gui->getId());
1297 include_once(
"./Modules/Wiki/classes/class.ilWikiPagesTableGUI.php");
1309 $tpl->setContent($table_gui->getHTML());
1321 include_once(
"./Modules/Wiki/classes/class.ilWikiPagesTableGUI.php");
1333 $tpl->setContent($table_gui->getHTML());
1345 include_once(
"./Modules/Wiki/classes/class.ilWikiPagesTableGUI.php");
1357 $tpl->setContent($table_gui->getHTML());
1369 if ($a_page ==
"") {
1370 $a_page =
$_GET[
"page"];
1373 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1381 if (!$this->
object->getTemplateSelectionOnCreation()) {
1383 include_once(
"./Services/Utilities/classes/class.ilStr.php");
1385 ilUtil::sendFailure($this->lng->txt(
"wiki_page_title_too_long") .
" (" . $a_page .
")",
true);
1387 $ilCtrl->redirectByClass(
"ilwikipagegui",
"preview");
1389 $this->
object->createWikiPage($a_page);
1393 $ilCtrl->redirectByClass(
"ilwikipagegui",
"edit");
1397 $ilCtrl->redirect($this,
"showTemplateSelection");
1411 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1425 include_once(
"./Modules/Wiki/classes/class.ilWikiRecentChangesTableGUI.php");
1436 $tpl->setContent($table_gui->getHTML());
1456 $lng = $DIC->language();
1457 $ilAccess = $DIC->access();
1460 $tpl->addJavaScript(
"./Modules/Wiki/js/WikiPres.js");
1464 $tpl->addOnLoadCode(
"il.Wiki.Pres.init('" .
$ilCtrl->getLinkTargetByClass(
"ilobjwikigui",
"",
"",
false,
false) .
"');");
1466 if ($a_wpg_id > 0 && !$a_wp) {
1467 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1472 include_once
'./Services/Search/classes/class.ilRepositoryObjectSearchGUI.php';
1475 #include_once("./Modules/Wiki/classes/class.ilWikiSearchBlockGUI.php"); 1476 #$wiki_search_block = new ilWikiSearchBlockGUI(); 1477 #$rcontent = $wiki_search_block->getHTML(); 1480 if ($a_wpg_id > 0) {
1490 $a_wp->getRating()) {
1491 include_once(
"./Services/Rating/classes/class.ilRatingGUI.php");
1493 $rgui->setObject($wiki_id,
"wiki", $a_wpg_id,
"wpg");
1495 $rgui->setYourRatingText(
"#");
1496 $rcontent .= $rgui->getBlockHTML(
$lng->txt(
"wiki_rate_page"));
1502 if ($ilAccess->checkAccess(
"write",
"", $a_wiki_ref_id) ||
1503 $ilAccess->checkAccess(
"edit_page_meta",
"", $a_wiki_ref_id)) {
1505 "edit" =>
$ilCtrl->getLinkTargetByClass(
"ilwikipagegui",
"editAdvancedMetaData"),
1506 "hide" =>
$ilCtrl->getLinkTargetByClass(
"ilwikipagegui",
"hideAdvancedMetaData")
1509 include_once(
"./Services/Object/classes/class.ilObjectMetaDataGUI.php");
1511 $callback = $wiki->getLinkMetadataValues()
1512 ?
array($wiki,
"decorateAdvMDValue")
1515 $rcontent .= $mdgui->getBlockHTML($cmd, $callback);
1522 include_once(
"./Modules/Wiki/classes/class.ilWikiImportantPagesBlockGUI.php");
1524 $rcontent.= $imp_pages_block->getHTML();
1528 if ($a_wpg_id > 0) {
1529 include_once(
"./Modules/Wiki/classes/class.ilWikiFunctionsBlockGUI.php");
1531 $wiki_functions_block->setPageObject($a_wp);
1532 $rcontent .= $wiki_functions_block->getHTML();
1535 $tpl->setRightContent($rcontent);
1547 include_once(
"./Modules/Wiki/classes/class.ilWikiPagesTableGUI.php");
1559 $tpl->setContent($table_gui->getHTML());
1565 if (is_array(
$_POST[
"wordr"])) {
1567 $page_ids = array_keys(
$_POST[
"wordr"]);
1570 elseif ((
int)
$_GET[
"wpg_id"]) {
1571 $page_ids =
array((
int) $_GET[
"wpg_id"]);
1583 $this->ctrl->redirect($this,
"");
1591 $tpl->setCurrentBlock(
"SyntaxStyle");
1593 "LOCATION_SYNTAX_STYLESHEET",
1596 $tpl->parseCurrentBlock();
1601 include_once(
"./Modules/Wiki/classes/class.ilWikiPageGUI.php");
1605 foreach ($page_ids as $p_id) {
1607 $page_gui->setWiki($this->
object);
1608 $page_gui->setOutputMode(
"print");
1609 $page_content.= $page_gui->showPage();
1611 if ($a_pdf_export) {
1612 $page_content .=
'<p style="page-break-after:always;"></p>';
1616 $page_content =
'<div class="ilInvisibleBorder">' . $page_content .
'</div>';
1618 if (!$a_pdf_export) {
1619 $page_content .=
'<script type="text/javascript" language="javascript1.2"> 1621 il.Util.addOnLoad(function () { 1628 $tpl->setVariable(
"CONTENT", $page_content);
1630 if (!$a_pdf_export) {
1634 return $tpl->get(
"DEFAULT",
false,
false,
false,
true,
false,
false);
1642 require_once
'Services/PDFGeneration/classes/class.ilPDFGeneration.php';
1648 $html = preg_replace(
"/\?dummy\=[0-9]+/",
"",
$html);
1649 $html = preg_replace(
"/\?vers\=[0-9A-Za-z\-]+/",
"",
$html);
1652 include_once
"Services/PDFGeneration/classes/class.ilPDFGeneration.php";
1653 include_once
"Services/PDFGeneration/classes/class.ilPDFGenerationJob.php";
1656 $job->setAutoPageBreak(
true)
1657 ->setMarginLeft(
"10")
1658 ->setMarginRight(
"10")
1659 ->setMarginTop(
"10")
1660 ->setMarginBottom(
"10")
1661 ->setOutputMode(
"D")
1662 ->setFilename(
"wiki.pdf")
1663 ->setCreator(
"ILIAS Wiki")
1664 ->setImageScale(1.25)
1669 $html = preg_replace(
"/src=\"\\.\\//ims",
"src=\"" . ILIAS_HTTP_PATH .
"/",
$html);
1670 $html = preg_replace(
"/href=\"\\.\\//ims",
"href=\"" . ILIAS_HTTP_PATH .
"/",
$html);
1688 include_once(
"./Modules/Wiki/classes/class.ilWikiSearchResultsTableGUI.php");
1690 $ilTabs->setTabActive(
"wiki_search_results");
1692 if (trim(
$_POST[
"search_term"]) ==
"") {
1694 $ilCtrl->redirectByClass(
"ilwikipagegui",
"preview");
1710 $tpl->setContent($table_gui->getHTML());
1720 if ($a_tpl != null) {
1726 $ctpl->setCurrentBlock(
"ContentStyle");
1728 "LOCATION_CONTENT_STYLESHEET",
1731 $ctpl->parseCurrentBlock();
1746 $tpl->setContent($this->form->getHTML());
1748 $ilTabs->activateTab(
"settings");
1764 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1765 $lng->loadLanguageModule(
"style");
1767 include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
1770 $fixed_style =
$ilSetting->get(
"fixed_content_style_id");
1771 $style_id = $this->
object->getStyleSheetId();
1773 if ($fixed_style > 0) {
1776 $this->lng->txt(
"global_fixed") .
")");
1777 $this->form->addItem($st);
1785 $st_styles[0] = $this->lng->txt(
"default");
1788 if ($style_id > 0) {
1793 $this->form->addItem($st);
1798 $this->form->addCommandButton(
1800 $lng->txt(
"style_edit_style")
1802 $this->form->addCommandButton(
1804 $lng->txt(
"style_delete_style")
1820 $style_sel->setValue($style_id);
1821 $this->form->addItem($style_sel);
1823 $this->form->addCommandButton(
1824 "saveStyleSettings",
1827 $this->form->addCommandButton(
1829 $lng->txt(
"sty_create_ind_style")
1833 $this->form->setTitle(
$lng->txt(
"wiki_style"));
1834 $this->form->setFormAction(
$ilCtrl->getFormAction($this));
1844 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"create");
1854 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"edit");
1864 $ilCtrl->redirectByClass(
"ilobjstylesheetgui",
"delete");
1874 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
1875 if (
$ilSetting->get(
"fixed_content_style_id") <= 0 &&
1877 || $this->
object->getStyleSheetId() == 0)) {
1879 $this->
object->update();
1882 $this->ctrl->redirect($this,
"editStyleProperties");
1905 $ipages_ids =
array();
1906 foreach ($ipages as
$i) {
1907 $ipages_ids[] = $i[
"page_id"];
1911 include_once(
"./Modules/Wiki/classes/class.ilWikiPage.php");
1914 foreach ($pages as $p) {
1915 if (!in_array($p[
"id"], $ipages_ids)) {
1919 if (count($options) > 0) {
1920 include_once(
"./Services/Form/classes/class.ilSelectInputGUI.php");
1922 $si->setOptions($options);
1924 $ilToolbar->addInputItem(
$si);
1925 $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this));
1926 $ilToolbar->addFormButton(
$lng->txt(
"add"),
"addImportantPage");
1930 $ilTabs->activateTab(
"settings");
1933 include_once(
"./Modules/Wiki/classes/class.ilImportantPagesTableGUI.php");
1936 $tpl->setContent($imp_table->getHTML());
1952 if (
$_POST[
"imp_page_id"] > 0) {
1953 $this->
object->addImportantPage((
int)
$_POST[
"imp_page_id"]);
1956 $ilCtrl->redirect($this,
"editImportantPages");
1968 if (!is_array(
$_POST[
"imp_page_id"]) || count(
$_POST[
"imp_page_id"]) == 0) {
1970 $ilCtrl->redirect($this,
"editImportantPages");
1972 include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
1974 $cgui->setFormAction(
$ilCtrl->getFormAction($this));
1975 $cgui->setHeaderText(
$lng->txt(
"wiki_sure_remove_imp_pages"));
1976 $cgui->setCancel(
$lng->txt(
"cancel"),
"editImportantPages");
1977 $cgui->setConfirm(
$lng->txt(
"remove"),
"removeImportantPages");
1979 foreach (
$_POST[
"imp_page_id"] as
$i) {
1983 $tpl->setContent($cgui->getHTML());
2000 if (is_array(
$_POST[
"imp_page_id"])) {
2001 foreach (
$_POST[
"imp_page_id"] as
$i) {
2002 $this->
object->removeImportantPage((
int) $i);
2006 $ilCtrl->redirect($this,
"editImportantPages");
2019 $this->
object->saveOrderingAndIndentation(
$_POST[
"ord"],
$_POST[
"indent"]);
2021 $ilCtrl->redirect($this,
"editImportantPages");
2034 if (!is_array(
$_POST[
"imp_page_id"]) || count(
$_POST[
"imp_page_id"]) != 1) {
2037 $this->
object->removeImportantPage((
int)
$_POST[
"imp_page_id"][0]);
2039 $this->
object->update();
2042 $ilCtrl->redirect($this,
"editImportantPages");
2051 require_once(
"./Modules/Wiki/classes/class.ilWikiHTMLExport.php");
2053 $cont_exp->buildExportFile();
2065 include_once
"Modules/Wiki/classes/class.ilWikiPage.php";
2067 if ($page->getWikiId() == $a_wiki_id) {
2068 return $page->getTitle();
2081 include_once
"Modules/Wiki/classes/class.ilWikiPage.php";
2097 $ilTabs->clearTargets();
2101 $tpl->setContent($form->getHTML());
2112 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
2117 $hi->setValue(
$_GET[
"page"]);
2118 $form->addItem($hi);
2124 if ($this->
object->getEmptyPageTemplate()) {
2126 $radg->addOption($op1);
2129 include_once(
"./Modules/Wiki/classes/class.ilWikiPageTemplate.php");
2132 foreach ($ts as
$t) {
2134 $radg->addOption($op);
2137 $form->addItem($radg);
2140 $form->addCommandButton(
"createPageUsingTemplate",
$lng->txt(
"wiki_create_page"));
2141 $form->addCommandButton(
"cancelCreationPageUsingTemplate",
$lng->txt(
"cancel"));
2143 $form->setTitle(
$lng->txt(
"wiki_new_page") .
": " .
$_GET[
"page"]);
2159 if (
$form->checkInput()) {
2160 $a_page =
$_POST[
"page"];
2161 $this->
object->createWikiPage($a_page, (
int)
$_POST[
"page_templ"]);
2165 $ilCtrl->redirectByClass(
"ilwikipagegui",
"edit");
2170 $form->setValuesByPost();
2184 $ilCtrl->redirectByClass(
"ilwikipagegui",
"preview");
2198 if ($a_perm ==
"create") {
2199 return parent::checkPermissionBool($a_perm, $a_cmd,
$a_type, $a_ref_id);
2202 $a_ref_id = $this->
object->getRefId();
2204 include_once(
"./Modules/Wiki/classes/class.ilWikiPerm.php");
2219 $this->log->debug(
"init");
2221 $this->
object->initUserHTMLExport();
2229 $this->log->debug(
"start");
2231 $this->
object->startUserHTMLExport();
2239 $this->log->debug(
"get progress");
2241 $p = $this->
object->getUserHTMLExportProgress();
2243 include_once(
"./Services/UIComponent/ProgressBar/classes/class.ilProgressBar.php");
2245 $pb->setCurrent($p[
"progress"]);
2247 $r =
new stdClass();
2248 $r->progressBar = $pb->render();
2249 $r->status = $p[
"status"];
2250 include_once(
"./Services/JSON/classes/class.ilJsonUtil.php");
2251 $this->log->debug(
"status: " .
$r->status);
2261 $this->log->debug(
"download");
2263 $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 shortenText( $a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
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.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
saveGradingObject()
Save grading.
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.
addPageTabs()
Add Page Tabs.
static _lookupTitle($a_id)
lookup object title
static _getStandardStyles( $a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
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
static _getSelectedRecordsByObject($a_obj_type, $a_ref_id, $a_sub_type="")
Get selected records by object.
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(isset($_POST['submit'])) $form
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.
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.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static getSyntaxStylePath()
get syntax style path
static getContentStylePath($a_style_id, $add_random=true)
get content 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 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.
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.
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.
Handles general notification settings, see e.g.
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)
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
if(!isset($_REQUEST['ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
Confirmation screen class.
afterSave(ilObject $newObj)
save object public