ILIAS  release_8 Revision v8.23
ILIAS\Blog\BlogPrintViewProviderGUI Class Reference
+ Inheritance diagram for ILIAS\Blog\BlogPrintViewProviderGUI:
+ Collaboration diagram for ILIAS\Blog\BlogPrintViewProviderGUI:

Public Member Functions

 __construct (\ilLanguage $lng, \ilCtrl $ctrl, \ilObjBlog $blog, int $node_id, object $access_handler, int $style_id, ?array $selected_pages=null)
 
 getTemplateInjectors ()
 
 getPages ()
 
 getSelectionForm ()
 form which is featured in the modal form target is modified to open in new window (not yet possible with ks forms) the print/pdf message is added automatically More...
 
- Public Member Functions inherited from ILIAS\Export\AbstractPrintViewProvider
 setOffline (bool $offline)
 Set output mode. More...
 
 getOnSubmitCode ()
 
 autoPageBreak ()
 
 getSelectionForm ()
 
 getPages ()
 
 getTemplateInjectors ()
 

Protected Attributes

ilLanguage $lng
 
array $selected_pages = null
 
ilObjBlog $blog
 
ilCtrl $ctrl
 
object $access_handler
 
int $style_sheet_id = 0
 
int $node_id = 0
 
- Protected Attributes inherited from ILIAS\Export\AbstractPrintViewProvider
 $offline = false
 

Additional Inherited Members

- Data Fields inherited from ILIAS\Export\AbstractPrintViewProvider
const PRINT = "print"
 
const OFFLINE = "offline"
 
- Protected Member Functions inherited from ILIAS\Export\AbstractPrintViewProvider
 getOutputMode ()
 Get output mode. More...
 

Detailed Description

Author
Alexander Killing killi.nosp@m.ng@l.nosp@m.eifos.nosp@m..de

Definition at line 28 of file class.BlogPrintViewProviderGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Blog\BlogPrintViewProviderGUI::__construct ( \ilLanguage  $lng,
\ilCtrl  $ctrl,
\ilObjBlog  $blog,
int  $node_id,
object  $access_handler,
int  $style_id,
?array  $selected_pages = null 
)

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

References ILIAS\Blog\BlogPrintViewProviderGUI\$access_handler, ILIAS\Blog\BlogPrintViewProviderGUI\$blog, ILIAS\Blog\BlogPrintViewProviderGUI\$ctrl, ILIAS\Blog\BlogPrintViewProviderGUI\$lng, ILIAS\Blog\BlogPrintViewProviderGUI\$node_id, ILIAS\Blog\BlogPrintViewProviderGUI\$selected_pages, ILIAS\Repository\ctrl(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

Member Function Documentation

◆ getPages()

ILIAS\Blog\BlogPrintViewProviderGUI::getPages ( )
Returns
string[]

Implements ILIAS\Export\PrintViewProvider.

Definition at line 72 of file class.BlogPrintViewProviderGUI.php.

References $i, ilBlogPosting\getAllPostings(), and ILIAS\Export\AbstractPrintViewProvider\getOutputMode().

72  : array
73  {
74  $print_pages = [];
75 
76  $selected_pages = (count($this->selected_pages) > 0)
77  ? $this->selected_pages
78  : array_map(static function ($i) {
79  return $i["id"];
80  }, \ilBlogPosting::getAllPostings($this->blog->getId()));
81 
82  foreach ($selected_pages as $p_id) {
83  $page_gui = new \ilBlogPostingGUI(
84  $this->node_id,
85  $this->access_handler,
86  $p_id,
87  0,
88  false,
89  false,
90  $this->style_sheet_id
91  );
92  $page_gui->setOutputMode($this->getOutputMode());
93  $print_pages[] = $page_gui->showPage();
94  }
95 
96  return $print_pages;
97  }
static getAllPostings(int $a_blog_id, int $a_limit=1000, int $a_offset=0)
Get all postings of blog.
$i
Definition: metadata.php:41
+ Here is the call graph for this function:

◆ getSelectionForm()

ILIAS\Blog\BlogPrintViewProviderGUI::getSelectionForm ( )

form which is featured in the modal form target is modified to open in new window (not yet possible with ks forms) the print/pdf message is added automatically

Returns
ilPropertyFormGUI|null

Implements ILIAS\Export\PrintViewProvider.

Definition at line 99 of file class.BlogPrintViewProviderGUI.php.

References ILIAS\Blog\BlogPrintViewProviderGUI\$ctrl, ILIAS\Blog\BlogPrintViewProviderGUI\$lng, ilBlogPosting\getAllPostings(), and ilUtil\getImagePath().

100  {
101  $lng = $this->lng;
102  $ilCtrl = $this->ctrl;
103  $postings = \ilBlogPosting::getAllPostings($this->blog->getId());
104  $lng->loadLanguageModule("content");
105  $lng->loadLanguageModule("blog");
106  $form = new \ilPropertyFormGUI();
107 
108  //var_dump($pages);
109  // selection type
110  $radg = new \ilRadioGroupInputGUI($lng->txt("cont_selection"), "sel_type");
111  $radg->setValue("page");
112  $op1 = new \ilRadioOption($lng->txt("blog_whole_blog")
113  . " (" . $lng->txt("blog_postings") . ": " . count($postings) . ")", "wiki");
114  $radg->addOption($op1);
115  $op2 = new \ilRadioOption($lng->txt("blog_selected_pages"), "selection");
116  $radg->addOption($op2);
117 
118  $nl = new \ilNestedListInputGUI("", "obj_id");
119  $op2->addSubItem($nl);
120 
121  foreach ($postings as $p) {
122  $nl->addListNode(
123  $p["id"],
124  $p["title"],
125  0,
126  false,
127  false,
128  \ilUtil::getImagePath("icon_pg.svg"),
129  $lng->txt("blog_posting")
130  );
131  }
132 
133  $form->addItem($radg);
134 
135  $form->addCommandButton("printPostings", $lng->txt("blog_show_print_view"));
136 
137  $form->setTitle($lng->txt("cont_print_selection"));
138  $form->setFormAction(
139  $ilCtrl->getFormActionByClass(
140  "ilObjBlogGUI",
141  "printPostings"
142  )
143  );
144 
145  return $form;
146  }
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...
static getAllPostings(int $a_blog_id, int $a_limit=1000, int $a_offset=0)
Get all postings of blog.
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
loadLanguageModule(string $a_module)
Load language module.
+ Here is the call graph for this function:

◆ getTemplateInjectors()

ILIAS\Blog\BlogPrintViewProviderGUI::getTemplateInjectors ( )
Returns
callable[] each callable gets the $tpl passed to inject css/js/...

Implements ILIAS\Export\PrintViewProvider.

Definition at line 57 of file class.BlogPrintViewProviderGUI.php.

References $tpl, and ilPageObjectGUI\OFFLINE.

57  : array
58  {
59  $resource_collector = new COPage\ResourcesCollector(
61  new \ilBlogPosting()
62  );
63  $resource_injector = new COPage\ResourcesInjector($resource_collector);
64 
65  return [
66  function ($tpl) use ($resource_injector) {
67  $resource_injector->inject($tpl);
68  }
69  ];
70  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
Definition: latex.php:41

Field Documentation

◆ $access_handler

object ILIAS\Blog\BlogPrintViewProviderGUI::$access_handler
protected

◆ $blog

ilObjBlog ILIAS\Blog\BlogPrintViewProviderGUI::$blog
protected

◆ $ctrl

ilCtrl ILIAS\Blog\BlogPrintViewProviderGUI::$ctrl
protected

◆ $lng

ilLanguage ILIAS\Blog\BlogPrintViewProviderGUI::$lng
protected

◆ $node_id

int ILIAS\Blog\BlogPrintViewProviderGUI::$node_id = 0
protected

◆ $selected_pages

array ILIAS\Blog\BlogPrintViewProviderGUI::$selected_pages = null
protected

◆ $style_sheet_id

int ILIAS\Blog\BlogPrintViewProviderGUI::$style_sheet_id = 0
protected

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


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