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;
106 public static function getInstance($a_ref_id, $a_include_auto_entries)
108 return new self($a_ref_id, $a_include_auto_entries);
116 $next_class = $this->ctrl->getNextClass($this);
117 $cmd = $this->ctrl->getCmd(
"show");
119 switch ($next_class) {
121 if (in_array($cmd,
array(
"show",
"save",
"update",
"loadMore",
"remove"))) {
136 if ($this->access->checkAccess(
"news_add_news",
"", $this->ref_id)) {
138 $b->setCaption(
'news_add_news');
139 $b->setOnClick(
"return il.News.create();");
140 $b->setPrimary(
true);
141 $this->toolbar->addButtonInstance($b);
144 include_once(
"./Services/News/classes/class.ilNewsItem.php");
146 $news_item->setContextObjId($this->ctrl->getContextObjId());
147 $news_item->setContextObjType($this->ctrl->getContextObjType());
149 $news_data = $news_item->getNewsForRefId(
156 !$this->include_auto_entries,
159 self::$items_per_load
162 include_once(
"./Services/News/Timeline/classes/class.ilTimelineGUI.php");
163 include_once(
"./Services/News/classes/class.ilNewsTimelineItemGUI.php");
167 foreach ($news_data as
$d) {
171 $timeline->addItem($item);
172 $js_items[$d[
"id"]] =
array(
174 "user_id" => $d[
"user_id"],
175 "title" => $d[
"title"],
176 "content" => $d[
"content"] . $d[
"content_long"],
177 "content_long" =>
"",
178 "priority" => $d[
"priority"],
179 "visibility" => $d[
"visibility"],
180 "content_type" => $d[
"content_type"]
184 include_once(
"./Services/JSON/classes/class.ilJsonUtil.php");
185 $this->tpl->addOnloadCode(
"il.News.setItems(" .
ilJsonUtil::encode($js_items) .
");");
186 $this->tpl->addOnloadCode(
"il.News.setAjaxUrl('" . $this->ctrl->getLinkTarget($this,
"",
"",
true) .
"');");
188 if (count($news_data) > 0) {
189 $ttpl =
new ilTemplate(
"tpl.news_timeline.html",
true,
true,
"Services/News");
190 $ttpl->setVariable(
"NEWS", $timeline->render());
191 $ttpl->setVariable(
"EDIT_MODAL", $this->
getEditModal());
194 $this->tpl->setContent($ttpl->get());
200 $this->lng->toJS(
"create");
201 $this->lng->toJS(
"edit");
202 $this->lng->toJS(
"update");
203 $this->lng->toJS(
"save");
205 $this->tpl->addJavaScript(
"./Services/News/js/News.js");
206 include_once(
"./Services/MediaObjects/classes/class.ilMediaPlayerGUI.php");
218 include_once(
"./Services/News/classes/class.ilNewsItem.php");
220 $news_item->setContextObjId($this->ctrl->getContextObjId());
221 $news_item->setContextObjType($this->ctrl->getContextObjType());
223 $excluded =
$_POST[
"rendered_news"];
225 $news_data = $news_item->getNewsForRefId(
232 !$this->include_auto_entries,
235 self::$items_per_load,
239 include_once(
"./Services/News/Timeline/classes/class.ilTimelineGUI.php");
240 include_once(
"./Services/News/classes/class.ilNewsTimelineItemGUI.php");
244 foreach ($news_data as
$d) {
248 $timeline->addItem($item);
249 $js_items[$d[
"id"]] =
array(
251 "user_id" => $d[
"user_id"],
252 "title" => $d[
"title"],
253 "content" => $d[
"content"] . $d[
"content_long"],
254 "content_long" =>
"",
255 "priority" => $d[
"priority"],
256 "visibility" => $d[
"visibility"],
257 "content_type" => $d[
"content_type"]
261 include_once(
"./Services/JSON/classes/class.ilJsonUtil.php");
262 $obj =
new stdClass();
263 $obj->data = $js_items;
264 $obj->html = $timeline->render(
true);
276 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
278 if (
$form->checkInput()) {
280 $news_item->setTitle(
$form->getInput(
"news_title"));
281 $news_item->setContent(
$form->getInput(
"news_content"));
282 $news_item->setVisibility(
$form->getInput(
"news_visibility"));
283 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
285 $news_item->setContentHtml(
true);
288 $news_item->setContentLong(
"");
292 $news_item->setContextObjId($obj_id);
293 $news_item->setContextObjType($obj_type);
294 $news_item->setUserId($this->
user->getId());
297 if (!$news_set->get(
"enable_rss_for_internal")) {
298 $news_item->setVisibility(
"users");
301 $news_item->create();
311 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
313 if (
$form->checkInput()) {
315 $news_item->setTitle(
$form->getInput(
"news_title"));
316 $news_item->setContent(
$form->getInput(
"news_content"));
317 $news_item->setVisibility(
$form->getInput(
"news_visibility"));
319 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
321 $news_item->setContentHtml(
true);
323 $news_item->setContentLong(
"");
327 if ($news_item->getContextObjId() == $obj_id) {
328 $news_item->setUpdateUserId($this->
user->getId());
329 $news_item->update();
338 public function remove()
340 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
343 $news_item->delete();
355 include_once(
"./Services/UIComponent/Modal/classes/class.ilModalGUI.php");
357 $modal->setHeading($this->lng->txt(
"edit"));
358 $modal->setId(
"ilNewsEditModal");
361 include_once(
"./Services/News/classes/class.ilNewsItemGUI.php");
363 $form->setShowTopButtons(
false);
364 $modal->setBody(
$form->getHTML());
366 return $modal->getHTML();
376 include_once(
"./Services/UIComponent/Modal/classes/class.ilModalGUI.php");
378 $modal->setHeading($this->lng->txt(
"delete"));
379 $modal->setId(
"ilNewsDeleteModal");
382 require_once
'Services/UIComponent/Button/classes/class.ilSubmitButton.php';
384 $confirm->setCaption(
"delete");
385 $confirm->setId(
"news_btn_delete");
386 $modal->addButton($confirm);
389 $cancel->setCaption(
"cancel");
390 $cancel->setId(
"news_btn_cancel_delete");
391 $modal->addButton($cancel);
393 $modal->setBody(
"<p id='news_delete_news_title'></p>" .
394 $this->tpl->getMessageHTML($this->lng->txt(
"news_really_delete_news"),
"question"));
396 return $modal->getHTML();
static isRteActivated()
Is Rte activated.
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)
if(isset($_POST['submit'])) $form
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.
for($i=6; $i< 13; $i++) for($i=1; $i< 13; $i++) $d
getUserEditAll()
Get user can edit other users postings.
static getInstance($a_ref_id, $a_include_auto_entries)
Get instance.