64 protected function __construct($a_ref_id, $a_include_auto_entries)
68 $this->ctrl = $DIC->ctrl();
69 $this->tpl = $DIC[
"tpl"];
70 $this->ref_id = $a_ref_id;
71 $this->lng = $DIC->language();
72 $this->toolbar = $DIC->toolbar();
73 $this->
user = $DIC->user();
74 $this->include_auto_entries = $a_include_auto_entries;
75 $this->access = $DIC->access();
77 $this->lng->loadLanguageModule(
"news");
87 $this->user_edit_all = $a_val;
108 return new self($a_ref_id, $a_include_auto_entries);
116 $next_class = $this->ctrl->getNextClass($this);
117 $cmd = $this->ctrl->getCmd(
"show");
122 if (in_array(
$cmd,
array(
"show",
"save",
"update",
"loadMore",
"remove")))
138 if ($this->access->checkAccess(
"news_add_news",
"", $this->ref_id))
141 $b->setCaption(
'news_add_news');
142 $b->setOnClick(
"return il.News.create();");
143 $b->setPrimary(
true);
144 $this->toolbar->addButtonInstance($b);
147 include_once(
"./Services/News/classes/class.ilNewsItem.php");
149 $news_item->setContextObjId($this->ctrl->getContextObjId());
150 $news_item->setContextObjType($this->ctrl->getContextObjType());
152 $news_data = $news_item->getNewsForRefId($this->ref_id,
false,
false,
153 0,
true,
false, !$this->include_auto_entries,
false, null, self::$items_per_load);
155 include_once(
"./Services/News/Timeline/classes/class.ilTimelineGUI.php");
156 include_once(
"./Services/News/classes/class.ilNewsTimelineItemGUI.php");
160 foreach ($news_data as
$d)
165 $timeline->addItem($item);
166 $js_items[$d[
"id"]] =
array(
168 "user_id" => $d[
"user_id"],
169 "title" => $d[
"title"],
170 "content" => $d[
"content"].$d[
"content_long"],
171 "content_long" =>
"",
172 "priority" => $d[
"priority"],
173 "visibility" => $d[
"visibility"],
174 "content_type" => $d[
"content_type"]
178 include_once(
"./Services/JSON/classes/class.ilJsonUtil.php");
180 $this->tpl->addOnloadCode(
"il.News.setAjaxUrl('".$this->ctrl->getLinkTarget($this,
"",
"",
true).
"');");
182 if (count($news_data) > 0)
184 $ttpl =
new ilTemplate(
"tpl.news_timeline.html",
true,
true,
"Services/News");
185 $ttpl->setVariable(
"NEWS", $timeline->render());
186 $ttpl->setVariable(
"EDIT_MODAL", $this->
getEditModal());
189 $this->tpl->setContent($ttpl->get());
198 $this->lng->toJS(
"create");
199 $this->lng->toJS(
"edit");
200 $this->lng->toJS(
"update");
201 $this->lng->toJS(
"save");
203 $this->tpl->addJavaScript(
"./Services/News/js/News.js");
204 include_once(
"./Services/MediaObjects/classes/class.ilMediaPlayerGUI.php");
216 include_once(
"./Services/News/classes/class.ilNewsItem.php");
218 $news_item->setContextObjId($this->ctrl->getContextObjId());
219 $news_item->setContextObjType($this->ctrl->getContextObjType());
221 $excluded =
$_POST[
"rendered_news"];
223 $news_data = $news_item->getNewsForRefId($this->ref_id,
false,
false,
224 0,
true,
false, !$this->include_auto_entries,
false, null, self::$items_per_load, $excluded);
226 include_once(
"./Services/News/Timeline/classes/class.ilTimelineGUI.php");
227 include_once(
"./Services/News/classes/class.ilNewsTimelineItemGUI.php");
231 foreach ($news_data as
$d)
236 $timeline->addItem($item);
237 $js_items[$d[
"id"]] =
array(
239 "user_id" => $d[
"user_id"],
240 "title" => $d[
"title"],
241 "content" => $d[
"content"].$d[
"content_long"],
242 "content_long" =>
"",
243 "priority" => $d[
"priority"],
244 "visibility" => $d[
"visibility"],
245 "content_type" => $d[
"content_type"]
249 include_once(
"./Services/JSON/classes/class.ilJsonUtil.php");
250 $obj =
new stdClass();
251 $obj->data = $js_items;
252 $obj->html = $timeline->render(
true);
264 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
266 if ($form->checkInput())
269 $news_item->setTitle($form->getInput(
"news_title"));
270 $news_item->setContent($form->getInput(
"news_content"));
271 $news_item->setVisibility($form->getInput(
"news_visibility"));
272 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
275 $news_item->setContentHtml(
true);
278 $news_item->setContentLong(
"");
282 $news_item->setContextObjId($obj_id);
283 $news_item->setContextObjType($obj_type);
284 $news_item->setUserId($this->
user->getId());
287 if (!$news_set->get(
"enable_rss_for_internal"))
289 $news_item->setVisibility(
"users");
292 $news_item->create();
302 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
304 if ($form->checkInput())
307 $news_item->setTitle($form->getInput(
"news_title"));
308 $news_item->setContent($form->getInput(
"news_content"));
309 $news_item->setVisibility($form->getInput(
"news_visibility"));
311 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
314 $news_item->setContentHtml(
true);
316 $news_item->setContentLong(
"");
320 if ($news_item->getContextObjId() == $obj_id)
322 $news_item->setUpdateUserId($this->
user->getId());
323 $news_item->update();
335 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
339 $news_item->delete();
351 include_once(
"./Services/UIComponent/Modal/classes/class.ilModalGUI.php");
353 $modal->setHeading($this->lng->txt(
"edit"));
354 $modal->setId(
"ilNewsEditModal");
357 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
359 $form->setShowTopButtons(
false);
360 $modal->setBody($form->getHTML());
362 return $modal->getHTML();
373 include_once(
"./Services/UIComponent/Modal/classes/class.ilModalGUI.php");
375 $modal->setHeading($this->lng->txt(
"delete"));
376 $modal->setId(
"ilNewsDeleteModal");
379 require_once
'Services/UIComponent/Button/classes/class.ilSubmitButton.php';
381 $confirm->setCaption(
"delete");
382 $confirm->setId(
"news_btn_delete");
383 $modal->addButton($confirm);
386 $cancel->setCaption(
"cancel");
387 $cancel->setId(
"news_btn_cancel_delete");
388 $modal->addButton($cancel);
390 $modal->setBody(
"<p id='news_delete_news_title'></p>".
391 $this->tpl->getMessageHTML($this->lng->txt(
"news_really_delete_news"),
"question"));
393 return $modal->getHTML();
static isRteActivated()
Is Rte activated.
for($col=0; $col< 50; $col++) $d
static _lookupObjectId($a_ref_id)
lookup object id
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
__construct($a_ref_id, $a_include_auto_entries)
Constructor.
static encode($mixed, $suppress_native=false)
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
special template class to simplify handling of ITX/PEAR
getDeleteModal()
Get delete modal.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
static getInstance()
Get instance.
getEditModal()
Get edit modal.
static getInstance()
Get instance.
setUserEditAll($a_val)
Set user can edit other users postings.
static getEditForm($a_mode, $a_ref_id)
FORM NewsItem: Init form.
executeCommand()
Execute command.
static getInstance(ilNewsItem $a_news_item, $a_news_ref_id)
Get instance.
getUserEditAll()
Get user can edit other users postings.
static getInstance($a_ref_id, $a_include_auto_entries)
Get instance.