5 include_once(
"./Services/News/classes/class.ilNewsItem.php");
63 $this->lng = $DIC->language();
64 $this->tabs = $DIC->tabs();
65 $this->
user = $DIC->user();
66 $this->toolbar = $DIC->toolbar();
68 $lng = $DIC->language();
72 include_once(
"Services/News/classes/class.ilNewsItem.php");
73 if (
$_GET[
"news_item_id"] > 0) {
77 $this->ctrl->saveParameter($this, array(
"news_item_id"));
88 $lng->loadLanguageModule(
"news");
90 $ilCtrl->saveParameter($this,
"add_mode");
103 $lng->LoadLanguageModule(
"news");
117 if (is_object($this->news_item) && $this->news_item->getId() > 0
119 throw new ilException(
"News ID does not match object context.");
124 $next_class = $this->ctrl->getNextClass($this);
125 $cmd = $this->ctrl->getCmd();
127 switch ($next_class) {
129 $html = $this->$cmd();
143 $this->enable_edit = $a_enable_edit;
163 $this->context_obj_id = $a_context_obj_id;
183 $this->context_obj_type = $a_context_obj_type;
203 $this->context_sub_obj_id = $a_context_sub_obj_id;
223 $this->context_sub_obj_type = $a_context_sub_obj_type;
243 $this->form_edit_mode = $a_form_edit_mode;
263 return $form->getHtml();
274 return $form->getHtml();
288 $ilTabs->clearTargets();
289 $form = self::getEditForm($a_mode, (
int)
$_GET[
"ref_id"]);
290 $form->setFormAction($this->ctrl->getFormAction($this));
305 $lng = $DIC->language();
307 $lng->loadLanguageModule(
"news");
309 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
315 $text_input->setInfo(
"");
316 $text_input->setRequired(
true);
317 $text_input->setMaxLength(200);
318 $form->addItem($text_input);
323 $text_area->setRequired(
false);
324 $text_area->setRows(
"4");
326 $text_area->setUseRte(
true);
328 $form->addItem($text_area);
333 $radio_group->addOption($radio_option);
334 $radio_option =
new ilRadioOption(
$lng->txt(
"news_visibility_public"),
"public");
335 $radio_group->addOption($radio_option);
336 $radio_group->
setInfo(
$lng->txt(
"news_news_item_visibility_info"));
337 $radio_group->setRequired(
false);
338 $radio_group->setValue(
"users");
339 $form->addItem($radio_group);
343 $media->
setSuffixes(array(
"jpeg",
"jpg",
"png",
"gif",
"mp4",
"mp3"));
344 $media->setRequired(
false);
345 $media->setALlowDeletion(
true);
346 $media->setValue(
" ");
347 $form->addItem($media);
361 if (in_array($a_mode, array(self::FORM_CREATE, self::FORM_RE_CREATE))) {
362 $form->addCommandButton(
"saveNewsItem",
$lng->txt(
"save"),
"news_btn_create");
363 $form->addCommandButton(
"cancelSaveNewsItem",
$lng->txt(
"cancel"),
"news_btn_cancel_create");
365 $form->addCommandButton(
"updateNewsItem",
$lng->txt(
"save"),
"news_btn_update");
366 $form->addCommandButton(
"cancelUpdateNewsItem",
$lng->txt(
"cancel"),
"news_btn_cancel_update");
369 $form->setTitle(
$lng->txt(
"news_news_item_head"));
372 if (!$news_set->get(
"enable_rss_for_internal")) {
373 $form->removeItemByPostVar(
"news_visibility");
375 $nv = $form->getItemByPostVar(
"news_visibility");
376 if (is_object($nv)) {
392 $values[
"news_title"] = $this->news_item->getTitle();
393 $values[
"news_content"] = $this->news_item->getContent() . $this->news_item->getContentLong();
394 $values[
"news_visibility"] = $this->news_item->getVisibility();
396 $values[
"news_content_long"] =
"";
400 if ($this->news_item->getMobId() > 0) {
419 if ($form->checkInput()) {
421 $this->news_item->setTitle($form->getInput(
"news_title"));
422 $this->news_item->setContent($form->getInput(
"news_content"));
423 $this->news_item->setVisibility($form->getInput(
"news_visibility"));
428 $media = $_FILES[
"media"];
429 if ($media[
"name"] !=
"") {
431 $this->news_item->setMobId($mob->getId());
435 $this->news_item->setContentLong(
"");
436 if (self::isRteActivated()) {
437 $this->news_item->setContentHtml(
true);
448 $this->news_item->setUserId(
$ilUser->getId());
451 if (!$news_set->get(
"enable_rss_for_internal")) {
452 $this->news_item->setVisibility(
"users");
455 $this->news_item->create();
458 $form->setValuesByPost();
459 return $form->getHtml();
467 if (
$_GET[
"add_mode"] ==
"block") {
468 $ilCtrl->returnToParent($this);
470 $ilCtrl->redirect($this,
"editNews");
487 if ($form->checkInput()) {
488 $this->news_item->setUpdateUserId(
$ilUser->getId());
489 $this->news_item->setTitle($form->getInput(
"news_title"));
490 $this->news_item->setContent($form->getInput(
"news_content"));
491 $this->news_item->setVisibility($form->getInput(
"news_visibility"));
493 $this->news_item->setContentLong(
"");
495 $media = $_FILES[
"media"];
499 if ($media[
"name"] !=
"" ||
$_POST[
"media_delete"] !=
"") {
500 if ($this->news_item->getMobId() > 0 &&
ilObject::_lookupType($this->news_item->getMobId()) ==
"mob") {
501 $old_mob_id = $this->news_item->getMobId();
503 $this->news_item->setMobId(0);
506 if ($media[
"name"] !=
"") {
508 $this->news_item->setMobId($mob->getId());
511 if (self::isRteActivated()) {
512 $this->news_item->setContentHtml(
true);
514 $this->news_item->update();
516 if ($old_mob_id > 0) {
523 $form->setValuesByPost();
524 return $form->getHtml();
532 $ilCtrl->redirect($this,
"editNews");
552 if (
$_GET[
"add_mode"] ==
"block") {
553 $ilCtrl->returnToParent($this);
573 $ilToolbar->addButton(
574 $lng->txt(
"news_add_news"),
575 $ilCtrl->getLinkTarget($this,
"createNewsItem")
606 if (count(
$_POST[
"news_id"]) == 0) {
611 $ilTabs->clearTargets();
613 include_once(
"Services/Utilities/classes/class.ilConfirmationGUI.php");
617 $c_gui->setFormAction(
$ilCtrl->getFormAction($this,
"deleteNewsItems"));
618 $c_gui->setHeaderText(
$lng->txt(
"info_delete_sure"));
619 $c_gui->setCancel(
$lng->txt(
"cancel"),
"editNews");
620 $c_gui->setConfirm(
$lng->txt(
"confirm"),
"deleteNewsItems");
623 foreach (
$_POST[
"news_id"] as $news_id) {
625 $c_gui->addItem(
"news_id[]", $news_id, $news->getTitle());
628 return $c_gui->getHTML();
640 foreach (
$_POST[
"news_id"] as $news_id) {
656 include_once(
"Services/News/classes/class.ilNewsForContextBlockGUI.php");
659 $block_gui->setParentClass(
"ilinfoscreengui");
660 $block_gui->setParentCmd(
"showSummary");
674 $data = $news_item->queryNewsForContext();
676 $block_gui->setTitle(
$lng->txt(
"news_block_news_for_context"));
677 $block_gui->setRowTemplate(
"tpl.block_row_news_for_context.html",
"Services/News");
678 $block_gui->setData(
$data);
680 return $block_gui->getHTML();
700 $data = $news_item->getNewsForRefId(
711 $perm_ref_id =
$_GET[
"ref_id"];
713 $data = $news_item->queryNewsForContext(
721 $data = $news_item->queryNewsForContext();
725 include_once(
"Services/News/classes/class.ilNewsForContextTableGUI.php");
728 $table_gui->setTitle(
$lng->txt(
"news_table_news_for_context"));
729 $table_gui->setRowTemplate(
"tpl.table_row_news_for_context.html",
"Services/News");
730 $table_gui->setData(
$data);
732 $table_gui->setDefaultOrderField(
"creation_date");
733 $table_gui->setDefaultOrderDirection(
"desc");
734 $table_gui->addMultiCommand(
"confirmDeletionNewsItems",
$lng->txt(
"delete"));
735 $table_gui->setTitle(
$lng->txt(
"news"));
736 $table_gui->setSelectAllCheckbox(
"news_id");
739 return $table_gui->getHTML();
754 $ilTabs->clearTargets();
755 $ilTabs->setBackTarget(
757 $ilCtrl->getParentReturn($this)
768 include_once(
"./Services/AdvancedEditing/classes/class.ilObjAdvancedEditing.php");
This class represents an option in a radio group.
getContextSubObjId()
Get ContextSubObjId.
static isRteActivated()
Is Rte activated.
static _getRichTextEditor()
Returns the identifier for the Rich Text Editor.
getNewsForContextBlock()
BLOCK NewsForContext: Get block HTML.
setContextObjId($a_context_obj_id)
Set ContextObjId.
getFormEditMode()
Get FormEditMode.
User Interface for NewsItem entities.
confirmDeletionNewsItems()
Confirmation Screen.
getContextObjId()
Get ContextObjId.
static _lookupTitle($a_id)
lookup object title
BlockGUI class for block NewsForContext.
saveNewsItem()
FORM NewsItem: Save NewsItem.
getEnableEdit()
Get EnableEdit.
getValuesNewsItem(\ilPropertyFormGUI $a_form)
FORM NewsItem: Get current values for NewsItem form.
setInfo($a_info)
Set Info.
getContextObjType()
Get ContextObjType.
deleteNewsItems()
Delete news items.
cancelUpdateNewsItem()
FORM NewsItem: Save NewsItem.
initFormNewsItem($a_mode)
FORM NewsItem: Init form.
setContextSubObjId($a_context_sub_obj_id)
Set ContextSubObjId.
getContextSubObjType()
Get ContextSubObjType.
setContextSubObjType($a_context_sub_obj_type)
Set ContextSubObjType.
createNewsItem()
FORM NewsItem: Create NewsItem.
editNewsItem()
FORM NewsItem: Edit form.
getNewsForContextTable()
TABLE NewsForContext: Get table HTML.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
This class represents a text area property in a property form.
TableGUI class for table NewsForContext.
static _getDefaultVisibilityForRefId($a_ref_id)
Get default visibility for reference id.
static _lookupContextObjId($a_news_id)
Context Object ID.
cancelSaveNewsItem()
FORM NewsItem: Save NewsItem.
setContextObjType($a_context_obj_type)
Set ContextObjType.
setEnableEdit($a_enable_edit=0)
Set EnableEdit.
static getEditForm($a_mode, $a_ref_id)
FORM NewsItem: Init form.
setFormEditMode($a_form_edit_mode)
Set FormEditMode.
executeCommand()
Execute command.
cancelUpdate()
Cancel update.
Confirmation screen class.
__construct()
Constructor.
updateNewsItem()
FORM NewsItem: Save NewsItem.