ILIAS  trunk Revision v11.0_alpha-1715-g7fc467680fb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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)
 
 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)
 
 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 ()
 
 getMetaDataLink ()
 
 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...
 
 afterDeleteContents ()
 

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 $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 ()
 
 setBackToHistoryTabs ()
 
 checkLangPageAvailable (int $id, string $lang)
 
 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 Blog InternalGUIService $blog_gui
 
ProfileGUI $profile_gui
 
ILIAS Notes Service $notes
 
ILIAS Blog ReadingTime ReadingTimeManager $reading_time_manager
 
StandardGUIRequest $blog_request
 
ilTabsGUI $tabs
 
ilLocatorGUI $locator
 
ilSetting $settings
 
LOMServices $lom_services
 
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
ILIAS TestQuestionPool Questions PublicInterface $questioninfo
 
ILIAS COPage Page PageManager $pm
 
ILIAS COPage Link LinkManager $link
 
ILIAS COPage InternalGUIService $gui
 
ILIAS COPage PC PCDefinition $pc_definition
 
ILIAS COPage Xsl XslManager $xsl
 
ILIAS COPage Editor GUIService $editor_gui
 
ILIAS Notes Service $notes
 
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
 
ILIAS COPage Compare PageCompare $compare
 

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 51 of file class.ilBlogPostingGUI.php.

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

59  {
60  global $DIC;
61 
62  $this->tabs = $DIC->tabs();
63  $this->locator = $DIC["ilLocator"];
64  $this->settings = $DIC->settings();
65  $this->user = $DIC->user();
66  $tpl = $DIC["tpl"];
67  $lng = $DIC->language();
68  $this->blog_request = $DIC->blog()
69  ->internal()
70  ->gui()
71  ->standardRequest();
72  $this->lom_services = $DIC->learningObjectMetadata();
73 
74  $lng->loadLanguageModule("blog");
75 
76  $this->node_id = $a_node_id;
77  $this->access_handler = $a_access_handler;
78  $this->enable_public_notes = $a_enable_public_notes;
79 
80  parent::__construct("blp", $a_id, $a_old_nr);
81 
82  // needed for notification
83  $this->getBlogPosting()->setBlogNodeId($this->node_id, $this->isInWorkspace());
84  $this->getBlogPosting()->getPageConfig()->setEditLockSupport(!$this->isInWorkspace());
85 
86  // #11151
87  $this->may_contribute = $a_may_contribute;
88  $this->setEnableEditing($a_may_contribute);
89 
90  // content style
91 
92  $tpl->setCurrentBlock("SyntaxStyle");
94  "LOCATION_SYNTAX_STYLESHEET",
96  );
98 
99  // #17814
100  /*
101  $tpl->setCurrentBlock("ContentStyle");
102  $tpl->setVariable(
103  "LOCATION_CONTENT_STYLESHEET",
104  ilObjStyleSheet::getContentStylePath($a_style_sheet_id)
105  );
106  $tpl->parseCurrentBlock();*/
107 
108  // needed for editor
109  $this->setStyleId($a_style_sheet_id);
110 
111  $this->blpg = $this->blog_request->getBlogPage();
112  $this->fetchall = $this->blog_request->getFetchAll();
113  $this->term = $this->blog_request->getTerm();
114 
115  $this->reading_time_manager = new \ILIAS\Blog\ReadingTime\ReadingTimeManager();
116  $this->notes = $DIC->notes();
117  $this->profile_gui = $DIC->blog()->internal()->gui()->profile();
118  $this->blog_gui = $DIC->blog()->internal()->gui();
119  }
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
loadLanguageModule(string $a_module)
Load language module.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
setStyleId(int $a_styleid)
ilGlobalTemplateInterface $tpl
global $DIC
Definition: shib_login.php:22
__construct(Container $dic, ilPlugin $plugin)
isInWorkspace()
Is current page part of personal workspace blog?
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 612 of file class.ilBlogPostingGUI.php.

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

612  : void
613  {
614  // send notifications
615  ilObjBlog::sendNotification("new", $this->isInWorkspace(), $this->node_id, $this->getBlogPosting()->getId());
616 
617  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
618  $this->getBlogPosting()->setActive(true);
619  $this->getBlogPosting()->update(true, false);
620  }
621  if (!$a_to_list) {
622  $this->ctrl->redirect($this, "edit");
623  } else {
624  $this->ctrl->setParameterByClass("ilobjbloggui", "blpg", "");
625  $this->ctrl->redirectByClass("ilobjbloggui", "");
626  }
627  }
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 607 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\activatePage().

607  : void
608  {
609  $this->activatePage(true);
610  }
+ 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\setParameterByClass().

408  : void
409  {
410  $ilCtrl = $this->ctrl;
411 
412  $ilCtrl->setParameterByClass("ilobjbloggui", "blpg", ""); // #14363
413  $ilCtrl->redirectByClass("ilobjbloggui", "render");
414  }
setParameterByClass(string $a_class, string $a_parameter, $a_value)
+ Here is the call graph for this function:

◆ cancelEdit()

ilBlogPostingGUI::cancelEdit ( )
protected

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

References ILIAS\Repository\ctrl().

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

◆ checkAccess()

ilBlogPostingGUI::checkAccess ( string  $a_cmd)
protected

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

References $may_contribute.

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

173  : bool
174  {
175  if ($a_cmd === "contribute") {
176  return $this->may_contribute;
177  }
178  return $this->access_handler->checkAccess($a_cmd, "", $this->node_id);
179  }
+ Here is the caller graph for this function:

◆ confirmBlogPostingDeletion()

ilBlogPostingGUI::confirmBlogPostingDeletion ( )

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

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

416  : void
417  {
418  $ilCtrl = $this->ctrl;
419  $lng = $this->lng;
420 
421  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
422  // delete all md keywords
423  $this->lom_services->deleteAll(
424  $this->getBlogPosting()->getBlogId(),
425  $this->getBlogPosting()->getId(),
426  "blp"
427  );
428 
429  $this->getBlogPosting()->delete();
430  $this->tpl->setOnScreenMessage('success', $lng->txt("blog_posting_deleted"), true);
431  }
432 
433  $ilCtrl->setParameterByClass("ilobjbloggui", "blpg", ""); // #14363
434  $ilCtrl->redirectByClass("ilobjbloggui", "render");
435  }
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 593 of file class.ilBlogPostingGUI.php.

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

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

◆ deactivatePageToList()

ilBlogPostingGUI::deactivatePageToList ( )

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

References ilPageObjectGUI\deactivatePage().

588  : void
589  {
590  $this->deactivatePage(true);
591  }
+ 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(), ILIAS\GlobalScreen\Scope\Footer\Factory\getTitle(), ILIAS\UICore\GlobalTemplate\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  "components/ILIAS/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
+ Here is the call graph for this function:

◆ editDate()

ilBlogPostingGUI::editDate ( ?ilPropertyFormGUI  $a_form = null)

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

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

498  : void
499  {
500  $tpl = $this->tpl;
501  $ilTabs = $this->tabs;
502 
503  $ilTabs->clearTargets();
504  $ilTabs->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTargetByClass("ilobjblogGUI"));
505 
506  $ilTabs->activateTab("edit");
507 
508  if (!$a_form) {
509  $a_form = $this->initDateForm();
510  }
511 
512  $tpl->setContent($a_form->getHTML());
513  }
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 632 of file class.ilBlogPostingGUI.php.

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

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

◆ editTitle()

ilBlogPostingGUI::editTitle ( ?ilPropertyFormGUI  $a_form = null)

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

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

Referenced by updateDate(), and updateTitle().

437  : void
438  {
439  $tpl = $this->tpl;
440  $ilTabs = $this->tabs;
441 
442  $ilTabs->clearTargets();
443  $ilTabs->setBackTarget($this->lng->txt("back"), $this->ctrl->getLinkTargetByClass("ilobjblogGUI"));
444 
445  $ilTabs->activateTab("edit");
446 
447  if (!$a_form) {
448  $a_form = $this->initTitleForm();
449  }
450 
451  $tpl->setContent($a_form->getHTML());
452  }
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 121 of file class.ilBlogPostingGUI.php.

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

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

◆ finishEditing()

ilBlogPostingGUI::finishEditing ( )

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

References ILIAS\Repository\ctrl().

867  : void
868  {
869  $this->ctrl->setParameterByClass("ilobjbloggui", "bmn", "");
870  $this->ctrl->redirectByClass("ilobjbloggui", "render");
871  }
+ Here is the call graph for this function:

◆ getActivationCaptions()

ilBlogPostingGUI::getActivationCaptions ( )

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

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

580  : array
581  {
582  $lng = $this->lng;
583 
584  return array("deactivatePage" => $lng->txt("blog_toggle_draft"),
585  "activatePage" => $lng->txt("blog_toggle_final"));
586  }
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 851 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\getNotesHTML(), and null.

851  : string
852  {
853  return $this->getNotesHTML(
854  $this->getBlogPosting(),
855  false,
856  $this->enable_public_notes,
857  false,
858  null,
859  true
860  );
861  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
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 846 of file class.ilBlogPostingGUI.php.

References ILIAS\Repository\lng().

846  : string
847  {
848  return $this->lng->txt("blog_draft_text");
849  }
+ 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 778 of file class.ilBlogPostingGUI.php.

References $location, and ilObjMediaObject\_getDirectory().

782  : string {
783  $this->obj->buildDom();
784  $mob_ids = $this->obj->collectMediaObjects();
785  if ($mob_ids) {
786  foreach ($mob_ids as $mob_id) {
787  $mob_obj = new ilObjMediaObject((int) $mob_id);
788  $mob_item = $mob_obj->getMediaItem("Standard");
789  if (stripos($mob_item->getFormat(), "image") !== false) {
790  $mob_size = $mob_item->getOriginalSize();
791  if (is_null($mob_size)) {
792  continue;
793  }
794  if ($mob_size["width"] >= $a_width ||
795  $mob_size["height"] >= $a_height) {
796  if (!$a_export_directory) {
797  $mob_dir = ilObjMediaObject::_getDirectory($mob_obj->getId());
798  } else {
799  // see ilCOPageHTMLExport::exportHTMLMOB()
800  $mob_dir = "./mobs/mm_" . $mob_obj->getId();
801  }
802  $mob_res = self::parseImage(
803  $mob_size["width"],
804  $mob_size["height"],
805  $a_width,
806  $a_height
807  );
808 
809 
810  $location = $mob_obj->getStandardSrc();
811 
812  return '<img' .
813  ' src="' . $location . '"' .
814  ' width="' . $mob_res[0] . '"' .
815  ' height="' . $mob_res[1] . '"' .
816  ' class="ilBlogListItemSnippetPreviewImage ilFloatLeft noMirror"' .
817  ' />';
818  }
819  }
820  }
821  }
822  return "";
823  }
$location
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(), ILIAS\UICore\GlobalTemplate\get(), ilPageObjectGUI\getId(), ilPageObject\getPageContributors(), ILIAS\GlobalScreen\Scope\Footer\Factory\getTitle(), isInWorkspace(), ILIAS\Repository\lng(), ILIAS\UICore\GlobalTemplate\parseCurrentBlock(), ILIAS\UICore\GlobalTemplate\setCurrentBlock(), ilDatePresentation\setUseRelativeDates(), ILIAS\UICore\GlobalTemplate\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[] = $this->profile_gui->getNamePresentation($author_id);
318  }
319 
320  foreach (ilBlogPosting::getPageContributors("blp", $this->getBlogPosting()->getId()) as $editor) {
321  if ($editor["user_id"] != $author_id) {
322  $authors[] = $this->profile_gui->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, "components/ILIAS/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 array static setUseRelativeDates(bool $a_status)
set use relative dates
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
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
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
isInWorkspace()
Is current page part of personal workspace blog?
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getParentObjId()

ilBlogPostingGUI::getParentObjId ( )
protected

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

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

695  : int
696  {
697  if ($this->node_id) {
698  if ($this->isInWorkspace()) {
699  return $this->access_handler->getTree()->lookupObjectId($this->node_id);
700  }
701 
702  return ilObject::_lookupObjId($this->node_id);
703  }
704  return 0;
705  }
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 737 of file class.ilBlogPostingGUI.php.

References null, and ilPageObject\truncateHTML().

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

746  : string {
747  $bpgui = new self(0, null, $a_id);
748 
749  // scan the full page for media objects
750  $img = "";
751  if ($a_include_picture) {
752  $img = $bpgui->getFirstMediaObjectAsTag($a_picture_width, $a_picture_height, $a_export_directory);
753  }
754 
755  $bpgui->setRawPageContent(true);
756  $bpgui->setAbstractOnly(true);
757 
758  // #8627: export won't work - should we set offline mode?
759  $bpgui->setFileDownloadLink(".");
760  $bpgui->setFullscreenLink(".");
761  $bpgui->setSourcecodeDownloadScript(".");
762  $bpgui->setProfileBackUrl(".");
763 
764  // render without title
765  $page = $bpgui->showPage();
766 
767  if ($a_truncate) {
768  $page = ilPageObject::truncateHTML($page, $a_truncate_length, $a_truncate_sign);
769  }
770 
771  if ($img) {
772  $page = '<div>' . $img . $page . '</div><div style="clear:both;"></div>';
773  }
774 
775  return $page;
776  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
static truncateHTML(string $a_text, int $a_length=100, string $a_ending='...', bool $a_exact=false, bool $a_consider_html=true)
Truncate (html) string.
+ 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 539 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().

540  {
541  $lng = $this->lng;
542  $ilCtrl = $this->ctrl;
543 
544  $form = new ilPropertyFormGUI();
545  $form->setFormAction($ilCtrl->getFormAction($this));
546  $form->setTitle($lng->txt('blog_edit_date'));
547 
548  $date = new ilDateTimeInputGUI($lng->txt("date"), "date");
549  $date->setRequired(true);
550  $date->setShowTime(true);
551  $date->setInfo($lng->txt('blog_edit_date_info'));
552  $form->addItem($date);
553 
554  $date->setDate($this->getPageObject()->getCreated());
555 
556  $form->addCommandButton('updateDate', $lng->txt('save'));
557  $form->addCommandButton('cancelEdit', $lng->txt('cancel'));
558 
559  return $form;
560  }
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 class represents a date/time property in a property form.
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 656 of file class.ilBlogPostingGUI.php.

References $DIC, ilBlogPosting\getAllPostings(), ilPageObjectGUI\getId(), ilBlogPosting\getKeywords(), ILIAS\Repository\lng(), and ILIAS\UI\examples\Symbol\Glyph\Sort\sort().

Referenced by saveKeywordsForm().

656  : \ILIAS\UI\Component\Input\Container\Form\Standard
657  {
658  global $DIC;
659 
660  $ui_factory = $DIC->ui()->factory();
661 
662  $keywords = ilBlogPosting::getKeywords(
663  $this->getBlogPosting()->getBlogId(),
664  $this->getBlogPosting()->getId()
665  );
666 
667  // other keywords in blog
668  $other = array();
669  foreach (array_keys(ilBlogPosting::getAllPostings($this->getBlogPosting()->getBlogId())) as $posting_id) {
670  if ($posting_id != $this->getBlogPosting()->getId()) {
671  $other = array_merge($other, ilBlogPosting::getKeywords($this->getBlogPosting()->getBlogId(), $posting_id));
672  }
673  }
674  // #17414
675  $other = array_unique($other);
676  sort($other, SORT_LOCALE_STRING);
677 
678  $input_tag = $ui_factory->input()->field()->tag($this->lng->txt("blog_keywords"), $other, $this->lng->txt("blog_keyword_enter"))->withUserCreatedTagsAllowed(true);
679  if (count($keywords) > 0) {
680  $input_tag = $input_tag->withValue($keywords);
681  }
682 
683  $DIC->ctrl()->setParameter(
684  $this,
685  'tags',
686  'tags_processing'
687  );
688 
689  $section = $ui_factory->input()->field()->section([$input_tag], $this->lng->txt("blog_edit_keywords"), "");
690 
691  $form_action = $DIC->ctrl()->getFormAction($this, "saveKeywordsForm");
692  return $ui_factory->input()->container()->form()->standard($form_action, ["tags" => $section]);
693  }
static getAllPostings(int $a_blog_id, int $a_limit=1000, int $a_offset=0)
Get all postings of blog.
sort()
description: > Example for rendering a Sort Glyph.
Definition: sort.php:41
global $DIC
Definition: shib_login.php:22
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 477 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, ilPageObjectGUI\$form, ilPageObjectGUI\$lng, ilPropertyFormGUI\addCommandButton(), ilPropertyFormGUI\addItem(), ilPageObjectGUI\getPageObject(), ILIAS\GlobalScreen\Scope\Footer\Factory\getTitle(), ilFormGUI\setFormAction(), ilPropertyFormGUI\setTitle(), and ilLanguage\txt().

Referenced by editTitle(), and updateTitle().

478  {
479  $lng = $this->lng;
480  $ilCtrl = $this->ctrl;
481 
482  $form = new ilPropertyFormGUI();
483  $form->setFormAction($ilCtrl->getFormAction($this));
484  $form->setTitle($lng->txt('blog_rename_posting'));
485 
486  $title = new ilTextInputGUI($lng->txt("title"), "title");
487  $title->setRequired(true);
488  $form->addItem($title);
489 
490  $title->setValue($this->getPageObject()->getTitle());
491 
492  $form->addCommandButton('updateTitle', $lng->txt('save'));
493  $form->addCommandButton('cancelEdit', $lng->txt('cancel'));
494 
495  return $form;
496  }
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 (bool) 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 567 of file class.ilBlogPostingGUI.php.

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

573  : void {
574  // #10040 - get note text
575  $note = $this->notes->domain()->getById($a_note_id);
576  $text = $note->getText();
577  ilObjBlog::sendNotification("comment", $this->isInWorkspace(), $this->node_id, $a_posting_id, $text);
578  }
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 825 of file class.ilBlogPostingGUI.php.

830  : array {
831  $ratio_width = $ratio_height = 1;
832  if ($src_width > $tgt_width) {
833  $ratio_width = $tgt_width / $src_width;
834  }
835  if ($src_height > $tgt_height) {
836  $ratio_height = $tgt_height / $src_height;
837  }
838  $shrink_ratio = min($ratio_width, $ratio_height);
839 
840  return array(
841  (int) round($src_width * $shrink_ratio),
842  (int) round($src_height * $shrink_ratio)
843  );
844  }

◆ 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 181 of file class.ilBlogPostingGUI.php.

References ilPageObjectGUI\$ctrl, $DIC, $ilSetting, $node_id, $ref_id, $settings, ilPageObjectGUI\$toolbar, ilPageObjectGUI\$tpl, checkAccess(), ILIAS\Repository\ctrl(), ilPageObjectGUI\getEnableEditing(), ilPageObjectGUI\getId(), ilPageObjectGUI\getNotesHTML(), isInWorkspace(), ILIAS\UI\examples\Symbol\Glyph\Preview\preview(), and ILIAS\UICore\GlobalTemplate\setLoginTargetPar().

183  : string {
184  global $DIC;
185  $ilCtrl = $this->ctrl;
186  $tpl = $this->tpl;
188 
189  $toolbar = $DIC->toolbar();
190  $append = "";
191 
192  $this->getBlogPosting()->increaseViewCnt();
193 
194  $wtpl = new ilTemplate(
195  "tpl.blog_page_view_main_column.html",
196  true,
197  true,
198  "components/ILIAS/Blog"
199  );
200 
201  // page commands
202  if (!$a_mode) {
203  if (!$this->getEnableEditing()) {
204  $this->ctrl->redirect($this, "previewFullscreen");
205  }
206  } else {
207  $callback = array($this, "observeNoteAction");
208 
209  // notes
210 
211  $may_delete_comments = ($this->checkAccess("contribute") &&
212  $ilSetting->get("comments_del_tutor", '1'));
213 
214  //$wtpl->setVariable("TOOLBAR", $toolbar->getHTML());
215 
216  $wtpl->setVariable("NOTES", $this->getNotesHTML(
217  $this->getBlogPosting(),
218  false,
219  $this->enable_public_notes,
220  $may_delete_comments,
221  $callback
222  ));
223  }
224  // permanent link
225  $ref_id = $this->isInWorkspace()
226  ? 0
227  : $this->node_id;
228  $wsp_id = $this->isInWorkspace()
229  ? $this->node_id
230  : 0;
231  $this->blog_gui->permanentLink($ref_id, $wsp_id)->setPermanentLink($this->blpg);
232 
233  $wtpl->setVariable("PAGE", parent::preview());
234 
235  $tpl->setLoginTargetPar("blog_" . $this->node_id . $append);
236 
237  $ilCtrl->setParameter($this, "blpg", $this->getBlogPosting()->getId());
238 
239  return $wtpl->get();
240  }
preview()
description: > Example for rendering a Preview Glyph.
Definition: preview.php:41
$ref_id
Definition: ltiauth.php:65
ilGlobalTemplateInterface $tpl
global $DIC
Definition: shib_login.php:22
setLoginTargetPar(string $a_val)
Set target parameter for login (public sector).
global $ilSetting
Definition: privfeed.php:31
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:

◆ 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 707 of file class.ilBlogPostingGUI.php.

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

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

◆ setBlogPosting()

ilBlogPostingGUI::setBlogPosting ( ilBlogPosting  $a_posting)

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

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

161  : void
162  {
163  $this->setPageObject($a_posting);
164  }
setPageObject(ilPageObject $a_pg_obj)
+ Here is the call graph for this function:

◆ showEditToolbar()

ilBlogPostingGUI::showEditToolbar ( )
protected

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

863  : void
864  {
865  }

◆ showPage()

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

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

References ilPageObjectGUI\getAbstractOnly(), ILIAS\GlobalScreen\Scope\Footer\Factory\getTitle(), 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 515 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().

515  : void
516  {
517  $lng = $this->lng;
518 
519  $form = $this->initDateForm();
520  if ($form->checkInput()) {
521  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
522  $dt = $form->getItemByPostVar("date");
523  $dt = $dt->getDate();
524 
525  $page = $this->getPageObject();
526  $page->setCreated($dt);
527  $page->update();
528 
529  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
530  //$ilCtrl->redirect($this, "preview");
531  $this->ctrl->redirectByClass("ilObjBlogGUI", "");
532  }
533  }
534 
536  $this->editTitle($form);
537  }
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)
editTitle(?ilPropertyFormGUI $a_form=null)
ilPropertyFormGUI $form
+ Here is the call graph for this function:

◆ updateTitle()

ilBlogPostingGUI::updateTitle ( )

Definition at line 454 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().

454  : void
455  {
456  $lng = $this->lng;
457 
458  $form = $this->initTitleForm();
459  if ($form->checkInput()) {
460  if ($this->checkAccess("write") || $this->checkAccess("contribute")) {
461  $page = $this->getPageObject();
462  $page->setTitle($form->getInput("title"));
463  $page->update();
464 
465  $page->handleNews(true);
466 
467  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
468  //$ilCtrl->redirect($this, "preview");
469  $this->ctrl->redirectByClass("ilObjBlogGUI", "");
470  }
471  }
472 
474  $this->editTitle($form);
475  }
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...
editTitle(?ilPropertyFormGUI $a_form=null)
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 43 of file class.ilBlogPostingGUI.php.

◆ $add_date

bool ilBlogPostingGUI::$add_date = false

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

◆ $blog_gui

ILIAS Blog InternalGUIService ilBlogPostingGUI::$blog_gui
protected

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

◆ $blog_request

StandardGUIRequest ilBlogPostingGUI::$blog_request
protected

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

◆ $blpg

int ilBlogPostingGUI::$blpg = 0
protected

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

◆ $enable_public_notes

bool ilBlogPostingGUI::$enable_public_notes = false
protected

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

◆ $fetchall

bool ilBlogPostingGUI::$fetchall = false
protected

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

◆ $locator

ilLocatorGUI ilBlogPostingGUI::$locator
protected

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

Referenced by executeCommand().

◆ $lom_services

LOMServices ilBlogPostingGUI::$lom_services
protected

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

◆ $may_contribute

bool ilBlogPostingGUI::$may_contribute = false
protected

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

Referenced by checkAccess().

◆ $node_id

int ilBlogPostingGUI::$node_id
protected

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

Referenced by preview().

◆ $notes

ILIAS Notes Service ilBlogPostingGUI::$notes
protected

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

◆ $profile_gui

ProfileGUI ilBlogPostingGUI::$profile_gui
protected

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

◆ $reading_time_manager

ILIAS Blog ReadingTime ReadingTimeManager ilBlogPostingGUI::$reading_time_manager
protected

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

◆ $settings

ilSetting ilBlogPostingGUI::$settings
protected

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

Referenced by preview().

◆ $tabs

ilTabsGUI ilBlogPostingGUI::$tabs
protected

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

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

◆ $term

string ilBlogPostingGUI::$term = ""
protected

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


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