ILIAS  release_8 Revision v8.23
ilBlogPostingGUI Class Reference

Class ilBlogPosting GUI class. More...

+ Inheritance diagram for ilBlogPostingGUI:
+ Collaboration diagram for ilBlogPostingGUI:

Public Member Functions

 __construct (int $a_node_id, object $a_access_handler=null, int $a_id=0, int $a_old_nr=0, bool $a_enable_public_notes=true, bool $a_may_contribute=true, int $a_style_sheet_id=0)
 
 executeCommand ()
 
 setBlogPosting (ilBlogPosting $a_posting)
 
 preview (string $a_mode=null)
 
 previewEmbedded ()
 Needed for portfolio/blog handling. More...
 
 previewFullscreen ()
 Needed for portfolio/blog handling. More...
 
 showPage (string $a_title="")
 
 postOutputProcessing (string $a_output)
 Finalizing output processing. More...
 
 getTabs (string $a_activate="")
 
 deleteBlogPostingConfirmationScreen ()
 
 cancelBlogPostingDeletion ()
 
 confirmBlogPostingDeletion ()
 
 editTitle (ilPropertyFormGUI $a_form=null)
 
 updateTitle ()
 
 initTitleForm ()
 
 editDate (ilPropertyFormGUI $a_form=null)
 
 updateDate ()
 
 initDateForm ()
 
 observeNoteAction (int $a_blog_id, int $a_posting_id, string $a_type, string $a_action, int $a_note_id)
 
 getActivationCaptions ()
 
 deactivatePageToList ()
 
 deactivatePage (bool $a_to_list=false)
 
 activatePageToList ()
 
 activatePage (bool $a_to_list=false)
 
 editKeywords ()
 Diplay the keywords form. More...
 
 saveKeywordsForm ()
 
 getDisabledText ()
 
 getCommentsHTMLExport ()
 
 finishEditing ()
 
- Public Member Functions inherited from ilPageObjectGUI
 __construct (string $a_parent_type, int $a_id, int $a_old_nr=0, bool $a_prevent_get_id=false, string $a_lang="", string $concrete_lang="")
 
 setTemplate (ilGlobalTemplateInterface $main_tpl)
 
 afterConstructor ()
 
 setAdvMdRecordObject (int $a_adv_ref_id, string $a_adv_type, string $a_adv_subtype="-")
 Set object, that defines the adv md records being used. More...
 
 getAdvMdRecordObject ()
 Get adv md record type. More...
 
 setParentType (string $a_val)
 
 getParentType ()
 
 setId (int $a_val)
 
 getId ()
 
 setOldNr (int $a_val)
 Set old nr (historic page) More...
 
 getOldNr ()
 
 setLanguage (string $a_val)
 
 getLanguage ()
 
 setEnablePCType (string $a_pc_type, bool $a_val)
 
 getEnablePCType (string $a_pc_type)
 
 setPageConfig (ilPageConfig $a_val)
 
 getPageConfig ()
 
 setPageObject (ilPageObject $a_pg_obj)
 
 getPageObject ()
 
 setOutputMode (string $a_mode=self::PRESENTATION)
 
 getOutputMode ()
 
 setTemplateOutput (bool $a_output=true)
 
 outputToTemplate ()
 
 setPresentationTitle (string $a_title="")
 
 getPresentationTitle ()
 
 setHeader (string $a_title="")
 
 getHeader ()
 
 setLinkParams (string $l_params="")
 
 getLinkParams ()
 
 setLinkFrame (string $l_frame="")
 
 getLinkFrame ()
 
 setPageLinker (\ILIAS\COPage\PageLinker $page_linker)
 
 getLinkXML ()
 
 setQuestionHTML (array $question_html)
 
 getQuestionHTML ()
 
 setTemplateTargetVar (string $a_variable)
 
 getTemplateTargetVar ()
 
 getTemplateOutputVar ()
 
 setSourcecodeDownloadScript (string $script_name)
 
 getSourcecodeDownloadScript ()
 
 setTabs (ilTabsGUI $a_tabs)
 
 setPageBackTitle (string $a_title)
 
 setFileDownloadLink (string $a_download_link)
 
 getFileDownloadLink ()
 
 setFullscreenLink (string $a_fullscreen_link)
 
 getFullscreenLink ()
 
 setIntLinkReturn (string $a_return)
 
 enableChangeComments (bool $a_enabled)
 
 isEnabledChangeComments ()
 
 enableNotes (bool $a_enabled, int $a_parent_id)
 
 isEnabledNotes ()
 
 setOfflineDirectory (string $offdir)
 
 getOfflineDirectory ()
 
 setViewPageLink (string $a_link, string $a_target="")
 set link for "view page" button More...
 
 getViewPageLink ()
 
 getViewPageTarget ()
 
 getViewPageText ()
 
 setActivationListener (object $a_obj, string $a_meth)
 
 setEnabledNews (bool $a_enabled, int $a_news_obj_id=0, string $a_news_obj_type="")
 
 getEnabledNews ()
 
 setTabHook (object $a_object, string $a_function)
 
 setEditPreview (bool $a_editpreview)
 Set Display first Edit tab, then Preview tab, instead of Page and Edit. More...
 
 getEditPreview ()
 
 setEnabledTabs (bool $a_enabledtabs)
 
 getEnabledTabs ()
 
 setEnabledPageFocus (bool $a_enabledpagefocus)
 
 setOpenPlaceHolder (string $a_val)
 
 getOpenPlaceHolder ()
 
 getEnabledPageFocus ()
 
 setPrependingHtml (string $a_prependinghtml)
 
 getPrependingHtml ()
 
 setEnableEditing (bool $a_enableediting)
 
 getEnableEditing ()
 
 setRawPageContent (bool $a_rawpagecontent)
 Set Get raw page content only. More...
 
 getRawPageContent ()
 
 setStyleId (int $a_styleid)
 
 getStyleId ()
 
 setCompareMode (bool $a_val)
 
 getCompareMode ()
 
 setAbstractOnly (bool $a_val, string $pcid="")
 Get only abstract (first text paragraph) More...
 
 getAbstractOnly ()
 
 setRenderPageContainer (bool $a_val)
 
 getRenderPageContainer ()
 
 getDisabledText ()
 
 getEnabledHref ()
 
 setEnabledHref (bool $enable)
 
 activateMetaDataEditor (ilObject $a_rep_obj, string $a_type, int $a_sub_obj_id, object $a_observer_obj=null, string $a_observer_func="")
 Activate meda data editor. More...
 
 determineFileDownloadLink ()
 
 determineFullscreenLink ()
 
 determineSourcecodeDownloadScript ()
 
 getComponentPluginsXML ()
 Put information about activated plugins into XML. More...
 
 executeCommand ()
 execute command More...
 
 setQEditTabs (string $a_active)
 Set question editing tabs. More...
 
 onFeedbackEditingForwarding ()
 
 deactivatePage ()
 
 activatePage ()
 
 showPage ()
 display content of page More...
 
 replaceCurlyBrackets (string $output)
 
 getActivationCaptions ()
 Get captions for activation action menu entries. More...
 
 setEditMode ()
 Set edit mode. More...
 
 setDefaultLinkXml ()
 
 setLinkXml (string $xml)
 
 getProfileBackUrl ()
 
 setProfileBackUrl (string $url)
 
 downloadFile ()
 
 displayMediaFullscreen ()
 
 displayMedia (bool $a_fullscreen=false)
 
 download_paragraph ()
 download source code paragraph More...
 
 insertPageToc (string $a_output)
 
 insertResources (string $a_output)
 
 insertAdvTrigger (string $a_output)
 Insert adv content trigger. More...
 
 postOutputProcessing (string $a_output)
 Finalizing output processing. More...
 
 previewHistory ()
 Preview history. More...
 
 preview ()
 
 edit ()
 
 getBlockingInfoMessage ()
 
 insertJSAtPlaceholder ()
 
 presentation (string $a_mode=self::PRESENTATION)
 
 getHTML ()
 
 showMediaFullscreen (int $a_style_id=0)
 show fullscreen view of media object More...
 
 displayValidationError ($a_error)
 display validation error More...
 
 history ()
 Get history table as HTML. More...
 
 rollbackConfirmation ()
 Rollback confirmation. More...
 
 rollback ()
 Rollback to a previous version. More...
 
 setScreenIdComponent ()
 
 getTabs (string $a_activate="")
 
 compareVersion ()
 Compares two revisions of the page. More...
 
 replaceDiffTags (string $a_html)
 
 editActivation ()
 Edit activation (only, if scheduled page activation is activated in administration) More...
 
 initActivationForm ()
 Init activation form. More...
 
 getActivationFormValues ()
 Get values for activation form. More...
 
 saveActivation ()
 Save Activation. More...
 
 getNotesHTML (object $a_content_object=null, bool $a_enable_private_notes=true, bool $a_enable_public_notes=false, bool $a_enable_notes_deletion=false, callable $a_callback=null, bool $export=false)
 Get html for public and/or private notes. More...
 
 processAnswer ()
 Process answer. More...
 
 initialOpenedContent ()
 Initially opened content. More...
 
 initOpenedContentForm ()
 
 saveInitialOpenedContent ()
 
 switchToLanguage ()
 Switch to language. More...
 
 confirmPageTranslationCreation ()
 Confirm page translation creation. More...
 
 editMasterLanguage ()
 Edit master language. More...
 
 createPageTranslation ()
 Create page translation. More...
 
 releasePageLock ()
 Release page lock. More...
 
 finishEditing ()
 
 getPagePermaLink ()
 
 getAdditionalPageActions ()
 Get additional page actions. More...
 

Static Public Member Functions

static getSnippet (int $a_id, bool $a_truncate=false, int $a_truncate_length=500, string $a_truncate_sign="...", bool $a_include_picture=false, int $a_picture_width=144, int $a_picture_height=144, string $a_export_directory=null)
 Get first text paragraph of page. More...
 
- Static Public Member Functions inherited from ilPageObjectGUI
static getTinyMenu (string $a_par_type, bool $a_int_links=false, bool $a_wiki_links=false, bool $a_keywords=false, $a_style_id=0, $a_paragraph_styles=true, $a_save_return=true, $a_anchors=false, $a_save_new=true, $a_user_links=false, \ILIAS\COPage\Editor\Server\UIWrapper $ui_wrapper=null)
 Get Tiny Menu. More...
 

Data Fields

bool $add_date = false
 
- Data Fields inherited from ilPageObjectGUI
const PRESENTATION = "presentation"
 
const EDIT = "edit"
 
const PREVIEW = "preview"
 
const OFFLINE = "offline"
 
const PRINTING = "print"
 
string $page_back_title = ""
 
ilPageObject $obj
 
string $presentation_title = ""
 
string $target_script = ""
 
string $return_location = ""
 
string $target_var = ""
 
string $template_output_var = ""
 
bool $output2template = false
 
string $link_params = ""
 
string $sourcecode_download_script = ""
 
bool $change_comments = false
 
bool $activation = false
 
bool $activated = true
 
bool $editpreview = false
 
bool $use_meta_data = false
 
ilObject $meta_data_rep_obj = null
 
int $meta_data_sub_obj_id = 0
 
string $meta_data_type = ""
 
object $meta_data_observer_obj = null
 
string $meta_data_observer_func = ""
 
bool $link_xml_set = false
 
bool $enableediting = true
 
bool $rawpagecontent = false
 
bool $enabledcontentincludes = false
 
bool $compare_mode = false
 
ilPageConfig $page_config = null
 
bool $tabs_enabled = true
 
bool $render_page_container = false
 
string $pl_start = "{{{{{"
 
string $pl_end = "}}}}}"
 

Protected Member Functions

 checkAccess (string $a_cmd)
 
 isInWorkspace ()
 Is current page part of personal workspace blog? More...
 
 showPageHeading ()
 
 getPageHeading ()
 Get page heading see also https://docu.ilias.de/goto_docu_wiki_wpage_5793_1357.html the presentation heading has a defined layout, title is not from page content. More...
 
 cancelEdit ()
 
 initKeywordsForm ()
 
 getParentObjId ()
 
 getFirstMediaObjectAsTag (int $a_width=144, int $a_height=144, string $a_export_directory=null)
 
 showEditToolbar ()
 
- Protected Member Functions inherited from ilPageObjectGUI
 initPageObject ()
 Init page object. More...
 
 showEditToolbar ()
 Show edit toolbar. More...
 
 setEditorToolContext ()
 Set editor tool context. More...
 
 initEditing ()
 
 showEditLockInfo ()
 
 setBackToEditTabs ()
 
 isPageContainerToBeRendered ()
 
 addResourcesToTemplate (ilGlobalTemplateInterface $tpl)
 Add resources to template. More...
 

Static Protected Member Functions

static parseImage (int $src_width, int $src_height, int $tgt_width, int $tgt_height)
 

Protected Attributes

ILIAS Notes Service $notes
 
ILIAS Blog ReadingTime ReadingTimeManager $reading_time_manager
 
StandardGUIRequest $blog_request
 
ilTabsGUI $tabs
 
ilLocatorGUI $locator
 
ilSetting $settings
 
int $node_id
 
object $access_handler = null
 
bool $enable_public_notes = false
 
bool $may_contribute = false
 
bool $fetchall = false
 
int $blpg = 0
 
string $term = ""
 
- Protected Attributes inherited from ilPageObjectGUI
int $requested_ref_id
 
int $requested_pg_id
 
string $requested_file_id
 
string $requested_transl
 
int $requested_old_nr
 
EditGUIRequest $request
 
EditSessionRepository $edit_repo
 
string $exp_target_script = ""
 
string $exp_id = ""
 
string $exp_frame = ""
 
string $act_meth = ""
 
object $act_obj
 
int $notes_parent_id = 0
 
ilPropertyFormGUI $form
 
int $styleid = 0
 
bool $enabledpagefocus
 
string $link_xml
 
int $old_nr = 0
 
int $id
 
string $language
 
ilGlobalTemplateInterface $tpl
 
ilLanguage $lng
 
ilCtrl $ctrl
 
ilTabsGUI $tabs_gui
 
ilAccessHandler $access
 
ilLogger $log
 
ilObjUser $user
 
ilHelpGUI $help
 
string $output_mode = ""
 
string $parent_type = ""
 
string $file_download_link = ''
 
string $fullscreen_link = ''
 
string $link_frame = ''
 
ILIAS GlobalScreen ScreenContext ContextServices $tool_context
 
ILIAS DI UIServices $ui
 
ILIAS COPage PageLinker $page_linker
 
string $abstract_pcid = ""
 
ilToolbarGUI $toolbar
 
string $open_place_holder = ""
 
int $requested_user_id = 0
 
int $requested_q_id = 0
 
int $requested_history_mode = 0
 
bool $enabled_news = false
 
int $news_obj_id = 0
 
string $news_obj_type = ""
 
array $tab_hook = null
 
string $view_page_link = ""
 
string $view_page_target = ""
 
string $offline_directory = ""
 
bool $notes_enabled = false
 
string $prependinghtml = ""
 
string $header = ""
 
string $int_link_return = ""
 
bool $enabled_href = true
 
int $adv_ref_id = null
 
string $adv_type = null
 
string $adv_subtype = null
 
string $concrete_lang = ""
 
string $profile_back_url = ""
 
ilComponentFactory $component_factory
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilBlogPostingGUI::__construct ( int  $a_node_id,
object  $a_access_handler = null,
int  $a_id = 0,
int  $a_old_nr = 0,
bool  $a_enable_public_notes = true,
bool  $a_may_contribute = true,
int  $a_style_sheet_id = 0 
)

Definition at line 44 of file class.ilBlogPostingGUI.php.

References $DIC, ilPageObjectGUI\$lng, ilPageObjectGUI\$tpl, ILIAS\GlobalScreen\Provider\__construct(), ilObjStyleSheet\getContentStylePath(), ilObjStyleSheet\getSyntaxStylePath(), isInWorkspace(), ilLanguage\loadLanguageModule(), ILIAS\Repository\locator(), ilGlobalTemplateInterface\parseCurrentBlock(), ilGlobalTemplateInterface\setCurrentBlock(), ilPageObjectGUI\setEnableEditing(), ilPageObjectGUI\setStyleId(), ILIAS\Repository\settings(), ilGlobalTemplateInterface\setVariable(), ILIAS\Repository\tabs(), and ILIAS\Repository\user().

52  {
53  global $DIC;
54 
55  $this->tabs = $DIC->tabs();
56  $this->locator = $DIC["ilLocator"];
57  $this->settings = $DIC->settings();
58  $this->user = $DIC->user();
59  $tpl = $DIC["tpl"];
60  $lng = $DIC->language();
61  $this->blog_request = $DIC->blog()
62  ->internal()
63  ->gui()
64  ->standardRequest();
65 
66  $lng->loadLanguageModule("blog");
67 
68  $this->node_id = $a_node_id;
69  $this->access_handler = $a_access_handler;
70  $this->enable_public_notes = $a_enable_public_notes;
71 
72  parent::__construct("blp", $a_id, $a_old_nr);
73 
74  // needed for notification
75  $this->getBlogPosting()->setBlogNodeId($this->node_id, $this->isInWorkspace());
76  $this->getBlogPosting()->getPageConfig()->setEditLockSupport(!$this->isInWorkspace());
77 
78  // #11151
79  $this->may_contribute = $a_may_contribute;
80  $this->setEnableEditing($a_may_contribute);
81 
82  // content style
83 
84  $tpl->setCurrentBlock("SyntaxStyle");
86  "LOCATION_SYNTAX_STYLESHEET",
88  );
90 
91  // #17814
92  $tpl->setCurrentBlock("ContentStyle");
94  "LOCATION_CONTENT_STYLESHEET",
95  ilObjStyleSheet::getContentStylePath($a_style_sheet_id)
96  );
98 
99  // needed for editor
100  $this->setStyleId($a_style_sheet_id);
101 
102  $this->blpg = $this->blog_request->getBlogPage();
103  $this->fetchall = $this->blog_request->getFetchAll();
104  $this->term = $this->blog_request->getTerm();
105 
106  $this->reading_time_manager = new \ILIAS\Blog\ReadingTime\ReadingTimeManager();
107  $this->notes = $DIC->notes();
108  }
loadLanguageModule(string $a_module)
Load language module.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
setStyleId(int $a_styleid)
global $DIC
Definition: feed.php:28
ilGlobalTemplateInterface $tpl
static getContentStylePath(int $a_style_id, bool $add_random=true, bool $add_token=true)
get content style path static (to avoid full reading)
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
__construct(Container $dic, ilPlugin $plugin)
isInWorkspace()
Is current page part of personal workspace blog?
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setEnableEditing(bool $a_enableediting)
+ Here is the call graph for this function:

Member Function Documentation

◆ activatePage()

ilBlogPostingGUI::activatePage ( bool  $a_to_list = false)

Definition at line 611 of file class.ilBlogPostingGUI.php.

References checkAccess(), ILIAS\Repository\ctrl(), ilPageObjectGUI\getId(), isInWorkspace(), and ilObjBlog\sendNotification().

611  : void
612  {
613  // send notifications
614  ilObjBlog::sendNotification("new", $this->isInWorkspace(), $this->node_id, $this->getBlogPosting()->getId());
615 
616  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
617  $this->getBlogPosting()->setActive(true);
618  $this->getBlogPosting()->update(true, false);
619  }
620  if (!$a_to_list) {
621  $this->ctrl->redirect($this, "edit");
622  } else {
623  $this->ctrl->setParameterByClass("ilobjbloggui", "blpg", "");
624  $this->ctrl->redirectByClass("ilobjbloggui", "");
625  }
626  }
static sendNotification(string $a_action, bool $a_in_wsp, int $a_blog_node_id, int $a_posting_id, ?string $a_comment=null)
isInWorkspace()
Is current page part of personal workspace blog?
+ Here is the call graph for this function:

◆ activatePageToList()

ilBlogPostingGUI::activatePageToList ( )

Definition at line 606 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\activatePage().

606  : void
607  {
608  $this->activatePage(true);
609  }
+ Here is the call graph for this function:

◆ cancelBlogPostingDeletion()

ilBlogPostingGUI::cancelBlogPostingDeletion ( )

Definition at line 408 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, and ilCtrl\redirect().

408  : void
409  {
410  $ilCtrl = $this->ctrl;
411 
412  $ilCtrl->redirect($this, "preview");
413  }
redirect(object $a_gui_obj, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
+ Here is the call graph for this function:

◆ cancelEdit()

ilBlogPostingGUI::cancelEdit ( )
protected

Definition at line 561 of file class.ilBlogPostingGUI.php.

References ILIAS\Repository\ctrl().

561  : void
562  {
563  $this->ctrl->redirectByClass("ilObjBlogGUI", "");
564  }
+ Here is the call graph for this function:

◆ checkAccess()

ilBlogPostingGUI::checkAccess ( string  $a_cmd)
protected

Definition at line 164 of file class.ilBlogPostingGUI.php.

References $may_contribute.

Referenced by activatePage(), confirmBlogPostingDeletion(), deactivatePage(), deleteBlogPostingConfirmationScreen(), editKeywords(), preview(), saveKeywordsForm(), updateDate(), and updateTitle().

164  : bool
165  {
166  if ($a_cmd === "contribute") {
167  return $this->may_contribute;
168  }
169  return $this->access_handler->checkAccess($a_cmd, "", $this->node_id);
170  }
+ Here is the caller graph for this function:

◆ confirmBlogPostingDeletion()

ilBlogPostingGUI::confirmBlogPostingDeletion ( )

Definition at line 415 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, ilPageObjectGUI\$id, ilPageObjectGUI\$lng, checkAccess(), and ilLanguage\txt().

415  : void
416  {
417  $ilCtrl = $this->ctrl;
418  $lng = $this->lng;
419 
420  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
421  // delete all md keywords
422  $md_section = $this->getBlogPosting()->getMDSection();
423  foreach ($md_section->getKeywordIds() as $id) {
424  $md_key = $md_section->getKeyword($id);
425  $md_key->delete();
426  }
427 
428  $this->getBlogPosting()->delete();
429  $this->tpl->setOnScreenMessage('success', $lng->txt("blog_posting_deleted"), true);
430  }
431 
432  $ilCtrl->setParameterByClass("ilobjbloggui", "blpg", ""); // #14363
433  $ilCtrl->redirectByClass("ilobjbloggui", "render");
434  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
+ Here is the call graph for this function:

◆ deactivatePage()

ilBlogPostingGUI::deactivatePage ( bool  $a_to_list = false)

Definition at line 592 of file class.ilBlogPostingGUI.php.

References checkAccess(), and ILIAS\Repository\ctrl().

592  : void
593  {
594  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
595  $this->getBlogPosting()->unpublish();
596  }
597 
598  if (!$a_to_list) {
599  $this->ctrl->redirect($this, "edit");
600  } else {
601  $this->ctrl->setParameterByClass("ilobjbloggui", "blpg", "");
602  $this->ctrl->redirectByClass("ilobjbloggui", "");
603  }
604  }
+ Here is the call graph for this function:

◆ deactivatePageToList()

ilBlogPostingGUI::deactivatePageToList ( )

Definition at line 587 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\deactivatePage().

587  : void
588  {
589  $this->deactivatePage(true);
590  }
+ Here is the call graph for this function:

◆ deleteBlogPostingConfirmationScreen()

ilBlogPostingGUI::deleteBlogPostingConfirmationScreen ( )

Definition at line 368 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, ilPageObjectGUI\$lng, ilPageObjectGUI\$tpl, checkAccess(), ilPageObjectGUI\getId(), ilGlobalTemplateInterface\setContent(), and ilLanguage\txt().

368  : void
369  {
370  $tpl = $this->tpl;
371  $ilCtrl = $this->ctrl;
372  $lng = $this->lng;
373 
374  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
375  $confirmation_gui = new ilConfirmationGUI();
376  $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
377  $confirmation_gui->setHeaderText($lng->txt("blog_posting_deletion_confirmation"));
378  $confirmation_gui->setCancel($lng->txt("cancel"), "cancelBlogPostingDeletion");
379  $confirmation_gui->setConfirm($lng->txt("delete"), "confirmBlogPostingDeletion");
380 
381  $dtpl = new ilTemplate(
382  "tpl.blog_posting_deletion_confirmation.html",
383  true,
384  true,
385  "Modules/Blog"
386  );
387 
388  $dtpl->setVariable("PAGE_TITLE", $this->getBlogPosting()->getTitle());
389 
390  // notes/comments
391  $cnt_note_users = $this->notes->domain()->getUserCount(
392  $this->getBlogPosting()->getParentId(),
393  $this->getBlogPosting()->getId(),
394  "wpg"
395  );
396  $dtpl->setVariable(
397  "TXT_NUMBER_USERS_NOTES_OR_COMMENTS",
398  $lng->txt("blog_number_users_notes_or_comments")
399  );
400  $dtpl->setVariable("TXT_NR_NOTES_COMMENTS", $cnt_note_users);
401 
402  $confirmation_gui->addItem("", "", $dtpl->get());
403 
404  $tpl->setContent($confirmation_gui->getHTML());
405  }
406  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
setContent(string $a_html)
Sets content for standard template.
ilGlobalTemplateInterface $tpl
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

◆ editDate()

ilBlogPostingGUI::editDate ( ilPropertyFormGUI  $a_form = null)

Definition at line 497 of file class.ilBlogPostingGUI.php.

References $tabs, ilPageObjectGUI\$tpl, ilTabsGUI\clearTargets(), ILIAS\Repository\ctrl(), initDateForm(), ILIAS\Repository\lng(), and ilGlobalTemplateInterface\setContent().

497  : void
498  {
499  $tpl = $this->tpl;
500  $ilTabs = $this->tabs;
501 
502  $ilTabs->clearTargets();
503  $ilTabs->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTargetByClass("ilobjblogGUI"));
504 
505  $ilTabs->activateTab("edit");
506 
507  if (!$a_form) {
508  $a_form = $this->initDateForm();
509  }
510 
511  $tpl->setContent($a_form->getHTML());
512  }
setContent(string $a_html)
Sets content for standard template.
ilGlobalTemplateInterface $tpl
clearTargets()
clear all targets
+ Here is the call graph for this function:

◆ editKeywords()

ilBlogPostingGUI::editKeywords ( )

Diplay the keywords form.

Definition at line 631 of file class.ilBlogPostingGUI.php.

References $DIC, $tabs, ilPageObjectGUI\$tpl, checkAccess(), ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ilGlobalTemplateInterface\setContent().

631  : void
632  {
633  global $DIC;
634 
635  $renderer = $DIC->ui()->renderer();
636 
637  $ilTabs = $this->tabs;
638  $tpl = $this->tpl;
639 
640  $ilTabs->clearTargets();
641  $ilTabs->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTargetByClass("ilobjblogGUI"));
642 
643  if (!$this->checkAccess("contribute")) {
644  return;
645  }
646 
647  $ilTabs->activateTab("pg");
648 
649  $tpl->setContent($renderer->render($this->initKeywordsForm()));
650  }
global $DIC
Definition: feed.php:28
setContent(string $a_html)
Sets content for standard template.
ilGlobalTemplateInterface $tpl
+ Here is the call graph for this function:

◆ editTitle()

ilBlogPostingGUI::editTitle ( ilPropertyFormGUI  $a_form = null)

Definition at line 436 of file class.ilBlogPostingGUI.php.

References $tabs, ilPageObjectGUI\$tpl, ilTabsGUI\clearTargets(), ILIAS\Repository\ctrl(), initTitleForm(), ILIAS\Repository\lng(), and ilGlobalTemplateInterface\setContent().

Referenced by updateDate(), and updateTitle().

436  : void
437  {
438  $tpl = $this->tpl;
439  $ilTabs = $this->tabs;
440 
441  $ilTabs->clearTargets();
442  $ilTabs->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTargetByClass("ilobjblogGUI"));
443 
444  $ilTabs->activateTab("edit");
445 
446  if (!$a_form) {
447  $a_form = $this->initTitleForm();
448  }
449 
450  $tpl->setContent($a_form->getHTML());
451  }
setContent(string $a_html)
Sets content for standard template.
ilGlobalTemplateInterface $tpl
clearTargets()
clear all targets
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilBlogPostingGUI::executeCommand ( )

Definition at line 110 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, $locator, ilPageObjectGUI\$tpl, ilObject\_lookupTitle(), ilUtil\getImagePath(), ILIAS\Repository\lng(), previewFullscreen(), ilPageObjectGUI\setPresentationTitle(), ilGlobalTemplateInterface\setTitle(), and ilGlobalTemplateInterface\setTitleIcon().

110  : string
111  {
112  $ilCtrl = $this->ctrl;
113  $ilLocator = $this->locator;
114  $tpl = $this->tpl;
115 
116  $next_class = $ilCtrl->getNextClass($this);
117 
118  $posting = $this->getBlogPosting();
119  $ilCtrl->setParameter($this, "blpg", $posting->getId());
120 
121  switch ($next_class) {
122  case "ilnotegui":
123  // $this->getTabs();
124  // $ilTabs->setTabActive("pg");
125  return $this->previewFullscreen();
126 
127  default:
128  if ($posting) {
129  if ($ilCtrl->getCmd() === "deactivatePageToList") {
130  $this->tpl->setOnScreenMessage('success', $this->lng->txt("blog_draft_info"), true);
131  } elseif ($ilCtrl->getCmd() === "activatePageToList") {
132  $this->tpl->setOnScreenMessage('success', $this->lng->txt("blog_new_posting_info"), true);
133  }
134  $this->setPresentationTitle($posting->getTitle());
135 
136  $tpl->setTitle(ilObject::_lookupTitle($this->getBlogPosting()->getBlogId()) . ": " . // #15017
137  $posting->getTitle());
139  ilUtil::getImagePath("icon_blog.svg"),
140  $this->lng->txt("obj_blog")
141  ); // #12879
142 
143  $ilLocator->addItem(
144  $posting->getTitle(),
145  $ilCtrl->getLinkTarget($this, "preview")
146  );
147  }
148  return parent::executeCommand();
149  }
150  }
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
setTitleIcon(string $a_icon_path, string $a_icon_desc="")
set title icon
previewFullscreen()
Needed for portfolio/blog handling.
static _lookupTitle(int $obj_id)
ilGlobalTemplateInterface $tpl
setPresentationTitle(string $a_title="")
setTitle(string $a_title, bool $hidden=false)
Sets title in standard template.
+ Here is the call graph for this function:

◆ finishEditing()

ilBlogPostingGUI::finishEditing ( )

Definition at line 872 of file class.ilBlogPostingGUI.php.

References ILIAS\Repository\ctrl().

872  : void
873  {
874  $this->ctrl->setParameterByClass("ilobjbloggui", "bmn", "");
875  $this->ctrl->redirectByClass("ilobjbloggui", "render");
876  }
+ Here is the call graph for this function:

◆ getActivationCaptions()

ilBlogPostingGUI::getActivationCaptions ( )

Definition at line 579 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$lng, and ilLanguage\txt().

579  : array
580  {
581  $lng = $this->lng;
582 
583  return array("deactivatePage" => $lng->txt("blog_toggle_draft"),
584  "activatePage" => $lng->txt("blog_toggle_final"));
585  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
+ Here is the call graph for this function:

◆ getCommentsHTMLExport()

ilBlogPostingGUI::getCommentsHTMLExport ( )

Definition at line 856 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\getNotesHTML().

856  : string
857  {
858  return $this->getNotesHTML(
859  $this->getBlogPosting(),
860  false,
861  $this->enable_public_notes,
862  false,
863  null,
864  true
865  );
866  }
getNotesHTML(object $a_content_object=null, bool $a_enable_private_notes=true, bool $a_enable_public_notes=false, bool $a_enable_notes_deletion=false, callable $a_callback=null, bool $export=false)
Get html for public and/or private notes.
+ Here is the call graph for this function:

◆ getDisabledText()

ilBlogPostingGUI::getDisabledText ( )

Definition at line 851 of file class.ilBlogPostingGUI.php.

References ILIAS\Repository\lng().

851  : string
852  {
853  return $this->lng->txt("blog_draft_text");
854  }
+ Here is the call graph for this function:

◆ getFirstMediaObjectAsTag()

ilBlogPostingGUI::getFirstMediaObjectAsTag ( int  $a_width = 144,
int  $a_height = 144,
string  $a_export_directory = null 
)
protected

Definition at line 781 of file class.ilBlogPostingGUI.php.

References $location, and ilObjMediaObject\_getDirectory().

785  : string {
786  $this->obj->buildDom();
787  $mob_ids = $this->obj->collectMediaObjects();
788  if ($mob_ids) {
789  foreach ($mob_ids as $mob_id) {
790  $mob_obj = new ilObjMediaObject($mob_id);
791  $mob_item = $mob_obj->getMediaItem("Standard");
792  if (stripos($mob_item->getFormat(), "image") !== false) {
793  $mob_size = $mob_item->getOriginalSize();
794  if (is_null($mob_size)) {
795  continue;
796  }
797  if ($mob_size["width"] >= $a_width ||
798  $mob_size["height"] >= $a_height) {
799  if (!$a_export_directory) {
800  $mob_dir = ilObjMediaObject::_getDirectory($mob_obj->getId());
801  } else {
802  // see ilCOPageHTMLExport::exportHTMLMOB()
803  $mob_dir = "./mobs/mm_" . $mob_obj->getId();
804  }
805  $mob_res = self::parseImage(
806  $mob_size["width"],
807  $mob_size["height"],
808  $a_width,
809  $a_height
810  );
811 
812 
813  $location = $mob_item->getLocationType() === "Reference"
814  ? $mob_item->getLocation()
815  : $mob_dir . "/" . $mob_item->getLocation();
816 
817  return '<img' .
818  ' src="' . $location . '"' .
819  ' width="' . $mob_res[0] . '"' .
820  ' height="' . $mob_res[1] . '"' .
821  ' class="ilBlogListItemSnippetPreviewImage ilFloatLeft noMirror"' .
822  ' />';
823  }
824  }
825  }
826  }
827  return "";
828  }
$location
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: buildRTE.php:22
static _getDirectory(int $a_mob_id)
Get absolute directory.
+ Here is the call graph for this function:

◆ getPageHeading()

ilBlogPostingGUI::getPageHeading ( )
protected

Get page heading see also https://docu.ilias.de/goto_docu_wiki_wpage_5793_1357.html the presentation heading has a defined layout, title is not from page content.

Definition at line 310 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$tpl, ilDatePresentation\formatDate(), ilGlobalTemplateInterface\get(), ilPageObjectGUI\getId(), ilUserUtil\getNamePresentation(), ilPageObject\getPageContributors(), isInWorkspace(), ILIAS\Repository\lng(), ilGlobalTemplateInterface\parseCurrentBlock(), ilGlobalTemplateInterface\setCurrentBlock(), ilDatePresentation\setUseRelativeDates(), ilGlobalTemplateInterface\setVariable(), and ilDatePresentation\useRelativeDates().

Referenced by postOutputProcessing().

310  : string
311  {
312  $author = "";
313  if (!$this->isInWorkspace()) {
314  $authors = array();
315  $author_id = $this->getBlogPosting()->getAuthor();
316  if ($author_id) {
317  $authors[] = ilUserUtil::getNamePresentation($author_id);
318  }
319 
320  foreach (ilBlogPosting::getPageContributors("blp", $this->getBlogPosting()->getId()) as $editor) {
321  if ($editor["user_id"] != $author_id) {
322  $authors[] = ilUserUtil::getNamePresentation($editor["user_id"]);
323  }
324  }
325 
326  if ($authors) {
327  $author = implode(", ", $authors) . " - ";
328  }
329  }
332  $tpl = new ilTemplate("tpl.posting_head.html", true, true, "Modules/Blog");
333 
334  // reading time
335  $reading_time = $this->reading_time_manager->getReadingTime(
336  $this->getBlogPosting()->getParentId(),
337  $this->getBlogPosting()->getId()
338  );
339  if (!is_null($reading_time)) {
340  $this->lng->loadLanguageModule("copg");
341  $tpl->setCurrentBlock("reading_time");
342  $tpl->setVariable(
343  "READING_TIME",
344  $this->lng->txt("copg_est_reading_time") . ": " .
345  sprintf($this->lng->txt("copg_x_minutes"), $reading_time)
346  );
348  }
349 
350  $tpl->setVariable("TITLE", $this->getBlogPosting()->getTitle());
351  $tpl->setVariable(
352  "DATETIME",
353  $author . ilDatePresentation::formatDate($this->getBlogPosting()->getCreated())
354  );
356  return $tpl->get();
357  }
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link="", bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
static getPageContributors(string $a_parent_type, int $a_page_id, string $a_lang="-")
Get all contributors for parent object.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
ilGlobalTemplateInterface $tpl
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
isInWorkspace()
Is current page part of personal workspace blog?
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
static setUseRelativeDates(bool $a_status)
set use relative dates
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getParentObjId()

ilBlogPostingGUI::getParentObjId ( )
protected

Definition at line 699 of file class.ilBlogPostingGUI.php.

References ilObject\_lookupObjId(), and isInWorkspace().

699  : int
700  {
701  if ($this->node_id) {
702  if ($this->isInWorkspace()) {
703  return $this->access_handler->getTree()->lookupObjectId($this->node_id);
704  }
705 
706  return ilObject::_lookupObjId($this->node_id);
707  }
708  return 0;
709  }
static _lookupObjId(int $ref_id)
isInWorkspace()
Is current page part of personal workspace blog?
+ Here is the call graph for this function:

◆ getSnippet()

static ilBlogPostingGUI::getSnippet ( int  $a_id,
bool  $a_truncate = false,
int  $a_truncate_length = 500,
string  $a_truncate_sign = "...",
bool  $a_include_picture = false,
int  $a_picture_width = 144,
int  $a_picture_height = 144,
string  $a_export_directory = null 
)
static

Get first text paragraph of page.

Definition at line 740 of file class.ilBlogPostingGUI.php.

References $img, and ilPageObject\truncateHTML().

Referenced by ilObjBlog\deliverRSS(), ilBlogPosting\getNotificationAbstract(), ilBlogPosting\handleNews(), and ilObjBlogGUI\renderList().

749  : string {
750  $bpgui = new self(0, null, $a_id);
751 
752  // scan the full page for media objects
753  $img = "";
754  if ($a_include_picture) {
755  $img = $bpgui->getFirstMediaObjectAsTag($a_picture_width, $a_picture_height, $a_export_directory);
756  }
757 
758  $bpgui->setRawPageContent(true);
759  $bpgui->setAbstractOnly(true);
760 
761  // #8627: export won't work - should we set offline mode?
762  $bpgui->setFileDownloadLink(".");
763  $bpgui->setFullscreenLink(".");
764  $bpgui->setSourcecodeDownloadScript(".");
765  $bpgui->setProfileBackUrl(".");
766 
767  // render without title
768  $page = $bpgui->showPage();
769 
770  if ($a_truncate) {
771  $page = ilPageObject::truncateHTML($page, $a_truncate_length, $a_truncate_sign);
772  }
773 
774  if ($img) {
775  $page = '<div>' . $img . $page . '</div><div style="clear:both;"></div>';
776  }
777 
778  return $page;
779  }
static truncateHTML(string $a_text, int $a_length=100, string $a_ending='...', bool $a_exact=false, bool $a_consider_html=true)
Truncate (html) string.
$img
Definition: imgupload.php:83
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTabs()

ilBlogPostingGUI::getTabs ( string  $a_activate = "")

Definition at line 359 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, ilPageObjectGUI\getId(), and ilCtrl\setParameterByClass().

359  : void
360  {
361  $ilCtrl = $this->ctrl;
362 
363  $ilCtrl->setParameterByClass("ilobjbloggui", "blpg", $this->getBlogPosting()->getId());
364 
365  parent::getTabs($a_activate);
366  }
setParameterByClass(string $a_class, string $a_parameter, $a_value)
+ Here is the call graph for this function:

◆ initDateForm()

ilBlogPostingGUI::initDateForm ( )

Definition at line 538 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, ilPageObjectGUI\$form, ilPageObjectGUI\$lng, ilPropertyFormGUI\addCommandButton(), ilPropertyFormGUI\addItem(), ilPageObjectGUI\getPageObject(), ilFormGUI\setFormAction(), ilFormPropertyGUI\setRequired(), ilPropertyFormGUI\setTitle(), and ilLanguage\txt().

Referenced by editDate(), and updateDate().

539  {
540  $lng = $this->lng;
541  $ilCtrl = $this->ctrl;
542 
543  $form = new ilPropertyFormGUI();
544  $form->setFormAction($ilCtrl->getFormAction($this));
545  $form->setTitle($lng->txt('blog_edit_date'));
546 
547  $date = new ilDateTimeInputGUI($lng->txt("date"), "date");
548  $date->setRequired(true);
549  $date->setShowTime(true);
550  $date->setInfo($lng->txt('blog_edit_date_info'));
551  $form->addItem($date);
552 
553  $date->setDate($this->getPageObject()->getCreated());
554 
555  $form->addCommandButton('updateDate', $lng->txt('save'));
556  $form->addCommandButton('cancelEdit', $lng->txt('cancel'));
557 
558  return $form;
559  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setFormAction(string $a_formaction)
setRequired(bool $a_required)
addCommandButton(string $a_cmd, string $a_text, string $a_id="")
ilPropertyFormGUI $form
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initKeywordsForm()

ilBlogPostingGUI::initKeywordsForm ( )
protected
Exceptions
ilCtrlException

Definition at line 655 of file class.ilBlogPostingGUI.php.

References $DIC, ilPageObjectGUI\$id, ilBlogPosting\getAllPostings(), ilPageObjectGUI\getId(), ilBlogPosting\getKeywords(), and ILIAS\Repository\lng().

Referenced by saveKeywordsForm().

656  {
657  global $DIC;
658 
659  $ui_factory = $DIC->ui()->factory();
660 
661  $md_section = $this->getBlogPosting()->getMDSection();
662 
663  $keywords = array();
664  foreach ($ids = $md_section->getKeywordIds() as $id) {
665  $md_key = $md_section->getKeyword($id);
666  if (trim($md_key->getKeyword()) !== "") {
667  $keywords[] = $md_key->getKeyword();
668  }
669  }
670 
671  // other keywords in blog
672  $other = array();
673  foreach (array_keys(ilBlogPosting::getAllPostings($this->getBlogPosting()->getBlogId())) as $posting_id) {
674  if ($posting_id != $this->getBlogPosting()->getId()) {
675  $other = array_merge($other, ilBlogPosting::getKeywords($this->getBlogPosting()->getBlogId(), $posting_id));
676  }
677  }
678  // #17414
679  $other = array_unique($other);
680  sort($other, SORT_LOCALE_STRING);
681 
682  $input_tag = $ui_factory->input()->field()->tag($this->lng->txt("blog_keywords"), $other, $this->lng->txt("blog_keyword_enter"))->withUserCreatedTagsAllowed(true);
683  if (count($keywords) > 0) {
684  $input_tag = $input_tag->withValue($keywords);
685  }
686 
687  $DIC->ctrl()->setParameter(
688  $this,
689  'tags',
690  'tags_processing'
691  );
692 
693  $section = $ui_factory->input()->field()->section([$input_tag], $this->lng->txt("blog_edit_keywords"), "");
694 
695  $form_action = $DIC->ctrl()->getFormAction($this, "saveKeywordsForm");
696  return $ui_factory->input()->container()->form()->standard($form_action, ["tags" => $section]);
697  }
static getAllPostings(int $a_blog_id, int $a_limit=1000, int $a_offset=0)
Get all postings of blog.
global $DIC
Definition: feed.php:28
This describes a standard form.
Definition: Standard.php:26
static getKeywords(int $a_obj_id, int $a_posting_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initTitleForm()

ilBlogPostingGUI::initTitleForm ( )

Definition at line 476 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, ilPageObjectGUI\$form, ilPageObjectGUI\$lng, ilPropertyFormGUI\addCommandButton(), ilPropertyFormGUI\addItem(), ilPageObjectGUI\getPageObject(), ilFormGUI\setFormAction(), ilPropertyFormGUI\setTitle(), and ilLanguage\txt().

Referenced by editTitle(), and updateTitle().

477  {
478  $lng = $this->lng;
479  $ilCtrl = $this->ctrl;
480 
481  $form = new ilPropertyFormGUI();
482  $form->setFormAction($ilCtrl->getFormAction($this));
483  $form->setTitle($lng->txt('blog_rename_posting'));
484 
485  $title = new ilTextInputGUI($lng->txt("title"), "title");
486  $title->setRequired(true);
487  $form->addItem($title);
488 
489  $title->setValue($this->getPageObject()->getTitle());
490 
491  $form->addCommandButton('updateTitle', $lng->txt('save'));
492  $form->addCommandButton('cancelEdit', $lng->txt('cancel'));
493 
494  return $form;
495  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
setFormAction(string $a_formaction)
addCommandButton(string $a_cmd, string $a_text, string $a_id="")
ilPropertyFormGUI $form
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isInWorkspace()

ilBlogPostingGUI::isInWorkspace ( )
protected

Is current page part of personal workspace blog?

Definition at line 272 of file class.ilBlogPostingGUI.php.

Referenced by __construct(), activatePage(), getPageHeading(), getParentObjId(), observeNoteAction(), and preview().

272  : bool
273  {
274  $class = '';
275  if (is_object($this->access_handler)) {
276  $class = get_class($this->access_handler);
277  }
278 
279  return stristr($class, "workspace");
280  }
+ Here is the caller graph for this function:

◆ observeNoteAction()

ilBlogPostingGUI::observeNoteAction ( int  $a_blog_id,
int  $a_posting_id,
string  $a_type,
string  $a_action,
int  $a_note_id 
)

Definition at line 566 of file class.ilBlogPostingGUI.php.

References isInWorkspace(), and ilObjBlog\sendNotification().

572  : void {
573  // #10040 - get note text
574  $note = $this->notes->domain()->getById($a_note_id);
575  $text = $note->getText();
576  ilObjBlog::sendNotification("comment", $this->isInWorkspace(), $this->node_id, $a_posting_id, $text);
577  }
static sendNotification(string $a_action, bool $a_in_wsp, int $a_blog_node_id, int $a_posting_id, ?string $a_comment=null)
isInWorkspace()
Is current page part of personal workspace blog?
+ Here is the call graph for this function:

◆ parseImage()

static ilBlogPostingGUI::parseImage ( int  $src_width,
int  $src_height,
int  $tgt_width,
int  $tgt_height 
)
staticprotected

Definition at line 830 of file class.ilBlogPostingGUI.php.

835  : array {
836  $ratio_width = $ratio_height = 1;
837  if ($src_width > $tgt_width) {
838  $ratio_width = $tgt_width / $src_width;
839  }
840  if ($src_height > $tgt_height) {
841  $ratio_height = $tgt_height / $src_height;
842  }
843  $shrink_ratio = min($ratio_width, $ratio_height);
844 
845  return array(
846  (int) round($src_width * $shrink_ratio),
847  (int) round($src_height * $shrink_ratio)
848  );
849  }

◆ postOutputProcessing()

ilBlogPostingGUI::postOutputProcessing ( string  $a_output)

Finalizing output processing.

Definition at line 285 of file class.ilBlogPostingGUI.php.

References getPageHeading(), and showPageHeading().

287  : string {
288  // #8626/#9370
289  if ($this->showPageHeading()) {
290  $a_output = $this->getPageHeading() . $a_output;
291  }
292 
293  return $a_output;
294  }
getPageHeading()
Get page heading see also https://docu.ilias.de/goto_docu_wiki_wpage_5793_1357.html the presentation ...
+ Here is the call graph for this function:

◆ preview()

ilBlogPostingGUI::preview ( string  $a_mode = null)

Definition at line 172 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, $DIC, $ilSetting, $settings, ilPageObjectGUI\$toolbar, ilPageObjectGUI\$tpl, checkAccess(), ILIAS\Repository\ctrl(), ilPageObjectGUI\getEnableEditing(), ilPageObjectGUI\getId(), ilPageObjectGUI\getNotesHTML(), isInWorkspace(), ilGlobalTemplateInterface\setLoginTargetPar(), and ilGlobalTemplateInterface\setPermanentLink().

174  : string {
175  global $DIC;
176  $ilCtrl = $this->ctrl;
177  $tpl = $this->tpl;
179 
180  $toolbar = $DIC->toolbar();
181  $append = "";
182 
183  $this->getBlogPosting()->increaseViewCnt();
184 
185  $wtpl = new ilTemplate(
186  "tpl.blog_page_view_main_column.html",
187  true,
188  true,
189  "Modules/Blog"
190  );
191 
192  // page commands
193  if (!$a_mode) {
194  if (!$this->getEnableEditing()) {
195  $this->ctrl->redirect($this, "previewFullscreen");
196  }
197  } else {
198  $callback = array($this, "observeNoteAction");
199 
200  // notes
201 
202  $may_delete_comments = ($this->checkAccess("contribute") &&
203  $ilSetting->get("comments_del_tutor", '1'));
204 
205  $wtpl->setVariable("TOOLBAR", $toolbar->getHTML());
206 
207  $wtpl->setVariable("NOTES", $this->getNotesHTML(
208  $this->getBlogPosting(),
209  false,
210  $this->enable_public_notes,
211  $may_delete_comments,
212  $callback
213  ));
214  }
215  // permanent link
216  if ($a_mode !== "embedded") {
217  $append = ($this->blpg > 0)
218  ? "_" . $this->blpg
219  : "";
220  if ($this->isInWorkspace()) {
221  $append .= "_wsp";
222  }
223  $tpl->setPermanentLink("blog", $this->node_id, $append);
224  }
225 
226  $wtpl->setVariable("PAGE", parent::preview());
227 
228  $tpl->setLoginTargetPar("blog_" . $this->node_id . $append);
229 
230  $ilCtrl->setParameter($this, "blpg", $this->getBlogPosting()->getId());
231 
232  return $wtpl->get();
233  }
setLoginTargetPar(string $a_val)
Set target parameter for login (public sector).
global $DIC
Definition: feed.php:28
ilGlobalTemplateInterface $tpl
setPermanentLink(string $a_type, ?int $a_id, string $a_append="", string $a_target="", string $a_title="")
Generates and sets a permanent ilias link.
global $ilSetting
Definition: privfeed.php:17
isInWorkspace()
Is current page part of personal workspace blog?
getNotesHTML(object $a_content_object=null, bool $a_enable_private_notes=true, bool $a_enable_public_notes=false, bool $a_enable_notes_deletion=false, callable $a_callback=null, bool $export=false)
Get html for public and/or private notes.
+ Here is the call graph for this function:

◆ previewEmbedded()

ilBlogPostingGUI::previewEmbedded ( )

Needed for portfolio/blog handling.

Definition at line 238 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\preview().

238  : string
239  {
240  return $this->preview("embedded");
241  }
+ Here is the call graph for this function:

◆ previewFullscreen()

ilBlogPostingGUI::previewFullscreen ( )

Needed for portfolio/blog handling.

Definition at line 246 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\preview().

Referenced by executeCommand().

246  : string
247  {
248  $this->add_date = true;
249  return $this->preview("fullscreen");
250  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveKeywordsForm()

ilBlogPostingGUI::saveKeywordsForm ( )

Definition at line 711 of file class.ilBlogPostingGUI.php.

References $DIC, ilPageObjectGUI\$form, ilPageObjectGUI\$request, checkAccess(), ILIAS\Repository\ctrl(), and initKeywordsForm().

711  : void
712  {
713  global $DIC;
714 
715  $request = $DIC->http()->request();
716  $form = $this->initKeywordsForm();
717 
718  if ($request->getMethod() === "POST"
719  && $request->getQueryParams()['tags'] == 'tags_processing') {
720  $form = $form->withRequest($request);
721  $result = $form->getData();
722  //TODO identify the input instead of use 0
723  $keywords = $result["tags"][0];
724 
725  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
726  if (is_array($keywords)) {
727  $this->getBlogPosting()->updateKeywords($keywords);
728  } else {
729  $this->getBlogPosting()->updateKeywords([]);
730  }
731  }
732 
733  $this->ctrl->redirectByClass("ilObjBlogGUI", "");
734  }
735  }
global $DIC
Definition: feed.php:28
EditGUIRequest $request
ilPropertyFormGUI $form
+ Here is the call graph for this function:

◆ setBlogPosting()

ilBlogPostingGUI::setBlogPosting ( ilBlogPosting  $a_posting)

Definition at line 152 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\getPageObject(), and ilPageObjectGUI\setPageObject().

152  : void
153  {
154  $this->setPageObject($a_posting);
155  }
setPageObject(ilPageObject $a_pg_obj)
+ Here is the call graph for this function:

◆ showEditToolbar()

ilBlogPostingGUI::showEditToolbar ( )
protected

Definition at line 868 of file class.ilBlogPostingGUI.php.

868  : void
869  {
870  }

◆ showPage()

ilBlogPostingGUI::showPage ( string  $a_title = "")

Definition at line 252 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\getAbstractOnly(), ilPageObjectGUI\setPresentationTitle(), ilPageObjectGUI\setTemplateOutput(), and showPageHeading().

254  : string {
255  $this->setTemplateOutput(false);
256 
257  $this->setPresentationTitle("");
258  if (!$this->getAbstractOnly() && !$this->showPageHeading()) {
259  if ($a_title !== "") {
260  $this->setPresentationTitle($a_title);
261  } else {
262  $this->setPresentationTitle($this->getBlogPosting()->getTitle());
263  }
264  }
265  $this->getBlogPosting()->increaseViewCnt();
266  return parent::showPage();
267  }
setTemplateOutput(bool $a_output=true)
setPresentationTitle(string $a_title="")
+ Here is the call graph for this function:

◆ showPageHeading()

ilBlogPostingGUI::showPageHeading ( )
protected

Definition at line 296 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\getAbstractOnly().

Referenced by postOutputProcessing(), and showPage().

296  : bool
297  {
298  if (!$this->getAbstractOnly() && $this->add_date) {
299  return true;
300  }
301 
302  return false;
303  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateDate()

ilBlogPostingGUI::updateDate ( )

Definition at line 514 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$form, ilPageObjectGUI\$lng, checkAccess(), ilPropertyFormGUI\checkInput(), ILIAS\Repository\ctrl(), editTitle(), ilPropertyFormGUI\getItemByPostVar(), ilPageObjectGUI\getPageObject(), initDateForm(), ilPropertyFormGUI\setValuesByPost(), and ilLanguage\txt().

514  : void
515  {
516  $lng = $this->lng;
517 
518  $form = $this->initDateForm();
519  if ($form->checkInput()) {
520  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
521  $dt = $form->getItemByPostVar("date");
522  $dt = $dt->getDate();
523 
524  $page = $this->getPageObject();
525  $page->setCreated($dt);
526  $page->update();
527 
528  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
529  //$ilCtrl->redirect($this, "preview");
530  $this->ctrl->redirectByClass("ilObjBlogGUI", "");
531  }
532  }
533 
535  $this->editTitle($form);
536  }
editTitle(ilPropertyFormGUI $a_form=null)
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
getItemByPostVar(string $a_post_var)
ilPropertyFormGUI $form
+ Here is the call graph for this function:

◆ updateTitle()

ilBlogPostingGUI::updateTitle ( )

Definition at line 453 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$form, ilPageObjectGUI\$lng, checkAccess(), ilPropertyFormGUI\checkInput(), ILIAS\Repository\ctrl(), editTitle(), ilPropertyFormGUI\getInput(), ilPageObjectGUI\getPageObject(), initTitleForm(), ilPropertyFormGUI\setValuesByPost(), and ilLanguage\txt().

453  : void
454  {
455  $lng = $this->lng;
456 
457  $form = $this->initTitleForm();
458  if ($form->checkInput()) {
459  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
460  $page = $this->getPageObject();
461  $page->setTitle($form->getInput("title"));
462  $page->update();
463 
464  $page->handleNews(true);
465 
466  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
467  //$ilCtrl->redirect($this, "preview");
468  $this->ctrl->redirectByClass("ilObjBlogGUI", "");
469  }
470  }
471 
473  $this->editTitle($form);
474  }
editTitle(ilPropertyFormGUI $a_form=null)
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
ilPropertyFormGUI $form
+ Here is the call graph for this function:

Field Documentation

◆ $access_handler

object ilBlogPostingGUI::$access_handler = null
protected

Definition at line 36 of file class.ilBlogPostingGUI.php.

◆ $add_date

bool ilBlogPostingGUI::$add_date = false

Definition at line 42 of file class.ilBlogPostingGUI.php.

◆ $blog_request

StandardGUIRequest ilBlogPostingGUI::$blog_request
protected

Definition at line 31 of file class.ilBlogPostingGUI.php.

◆ $blpg

int ilBlogPostingGUI::$blpg = 0
protected

Definition at line 40 of file class.ilBlogPostingGUI.php.

◆ $enable_public_notes

bool ilBlogPostingGUI::$enable_public_notes = false
protected

Definition at line 37 of file class.ilBlogPostingGUI.php.

◆ $fetchall

bool ilBlogPostingGUI::$fetchall = false
protected

Definition at line 39 of file class.ilBlogPostingGUI.php.

◆ $locator

ilLocatorGUI ilBlogPostingGUI::$locator
protected

Definition at line 33 of file class.ilBlogPostingGUI.php.

Referenced by executeCommand().

◆ $may_contribute

bool ilBlogPostingGUI::$may_contribute = false
protected

Definition at line 38 of file class.ilBlogPostingGUI.php.

Referenced by checkAccess().

◆ $node_id

int ilBlogPostingGUI::$node_id
protected

Definition at line 35 of file class.ilBlogPostingGUI.php.

◆ $notes

ILIAS Notes Service ilBlogPostingGUI::$notes
protected

Definition at line 29 of file class.ilBlogPostingGUI.php.

◆ $reading_time_manager

ILIAS Blog ReadingTime ReadingTimeManager ilBlogPostingGUI::$reading_time_manager
protected

Definition at line 30 of file class.ilBlogPostingGUI.php.

◆ $settings

ilSetting ilBlogPostingGUI::$settings
protected

Definition at line 34 of file class.ilBlogPostingGUI.php.

Referenced by preview().

◆ $tabs

ilTabsGUI ilBlogPostingGUI::$tabs
protected

Definition at line 32 of file class.ilBlogPostingGUI.php.

Referenced by editDate(), editKeywords(), and editTitle().

◆ $term

string ilBlogPostingGUI::$term = ""
protected

Definition at line 41 of file class.ilBlogPostingGUI.php.


The documentation for this class was generated from the following file: