Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 include_once ("Services/News/classes/class.ilNewsItemGUIGen.php");
00025
00034 class ilNewsItemGUI extends ilNewsItemGUIGen
00035 {
00036
00037 function __construct()
00038 {
00039 global $ilCtrl;
00040
00041 parent::__construct();
00042
00043 $ilCtrl->saveParameter($this, "add_mode");
00044 }
00045
00046 function getHTML()
00047 {
00048 global $lng, $ilCtrl;
00049
00050 $lng->LoadLanguageModule("news");
00051
00052 return $this->getNewsForContextBlock();
00053 }
00054
00060 public function prepareBlockNewsForContext(&$a_block_gui)
00061 {
00062 $a_block_gui->setParentClass("ilinfoscreengui");
00063 $a_block_gui->setParentCmd("showSummary");
00064 $a_block_gui->setEnableEdit($this->getEnableEdit());
00065 }
00066
00070 function prepareBlockQueryNewsForContext(&$a_news_item)
00071 {
00072 $a_news_item->setContextObjId($this->ctrl->getContextObjId());
00073 $a_news_item->setContextObjType($this->ctrl->getContextObjType());
00074 }
00075
00079 function prepareSaveNewsItem(&$a_news_item)
00080 {
00081 global $ilUser;
00082
00083 $a_news_item->setContextObjId($this->ctrl->getContextObjId());
00084 $a_news_item->setContextObjType($this->ctrl->getContextObjType());
00085 $a_news_item->setUserId($ilUser->getId());
00086
00087 $news_set = new ilSetting("news");
00088 if (!$news_set->get("enable_rss_for_internal"))
00089 {
00090 $a_news_item->setVisibility("users");
00091 }
00092 }
00093
00099 public function prepareFormNewsItem(&$a_form_gui)
00100 {
00101 $a_form_gui->setTitleIcon(ilUtil::getImagePath("icon_news.gif"));
00102
00103 $news_set = new ilSetting("news");
00104 if (!$news_set->get("enable_rss_for_internal"))
00105 {
00106 $a_form_gui->removeItemByPostVar("news_visibility");
00107 }
00108 else
00109 {
00110 $nv = $a_form_gui->getItemByPostVar("news_visibility");
00111 if (is_object($nv))
00112 {
00113 $nv->setValue(ilNewsItem::_getDefaultVisibilityForRefId($_GET["ref_id"]));
00114 }
00115 }
00116 }
00117
00122 function saveNewsItem()
00123 {
00124 if (!$this->getEnableEdit())
00125 {
00126 return;
00127 }
00128
00129 return parent::saveNewsItem();
00130 }
00131
00132 function exitSaveNewsItem()
00133 {
00134 global $ilCtrl;
00135
00136 if ($_GET["add_mode"] == "block")
00137 {
00138 $ilCtrl->returnToParent($this);
00139 }
00140 else
00141 {
00142 $ilCtrl->redirect($this, "editNews");
00143 }
00144 }
00145
00150 function updateNewsItem()
00151 {
00152 if (!$this->getEnableEdit())
00153 {
00154 return;
00155 }
00156
00157 return parent::updateNewsItem();
00158 }
00159
00160 function exitUpdateNewsItem()
00161 {
00162 global $ilCtrl;
00163
00164 $ilCtrl->redirect($this, "editNews");
00165 }
00166
00171 function cancelUpdateNewsItem()
00172 {
00173 return $this->editNews();
00174 }
00175
00180 function cancelSaveNewsItem()
00181 {
00182 global $ilCtrl;
00183
00184 if ($_GET["add_mode"] == "block")
00185 {
00186 $ilCtrl->returnToParent($this);
00187 }
00188 else
00189 {
00190 return $this->editNews();
00191 }
00192 }
00193
00194 function editNews()
00195 {
00196 if (!$this->getEnableEdit())
00197 {
00198 return;
00199 }
00200 return $this->getNewsForContextTable();
00201 }
00202
00203
00204 function cancelUpdate()
00205 {
00206 return $this->editNews();
00207 }
00208
00212 function prepareTableNewsForContext(&$a_table_gui)
00213 {
00214 global $ilCtrl, $lng;
00215
00216 $a_table_gui->setDefaultOrderField("creation_date");
00217 $a_table_gui->setDefaultOrderDirection("desc");
00218 $a_table_gui->addCommandButton("createNewsItem", $lng->txt("add"));
00219 $a_table_gui->addMultiCommand("confirmDeletionNewsItems", $lng->txt("delete"));
00220 $a_table_gui->setTitle($lng->txt("news"), "icon_news.gif", $lng->txt("news"));
00221 $a_table_gui->setSelectAllCheckbox("news_id");
00222 }
00223
00227 function confirmDeletionNewsItems()
00228 {
00229 global $ilCtrl, $lng;
00230
00231 if (!$this->getEnableEdit())
00232 {
00233 return;
00234 }
00235
00236
00237 if (count($_POST["news_id"]) == 0)
00238 {
00239 ilUtil::sendInfo($lng->txt("no_checkbox"));
00240 return $this->editNews();
00241 }
00242
00243 include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
00244 $c_gui = new ilConfirmationGUI();
00245
00246
00247 $c_gui->setFormAction($ilCtrl->getFormAction($this, "deleteNewsItems"));
00248 $c_gui->setHeaderText($lng->txt("info_delete_sure"));
00249 $c_gui->setCancel($lng->txt("cancel"), "editNews");
00250 $c_gui->setConfirm($lng->txt("confirm"), "deleteNewsItems");
00251
00252
00253 foreach($_POST["news_id"] as $news_id)
00254 {
00255 $news = new ilNewsItem($news_id);
00256 $c_gui->addItem("news_id[]", $news_id, $news->getTitle(),
00257 ilUtil::getImagePath("icon_news.gif"));
00258 }
00259
00260 return $c_gui->getHTML();
00261 }
00262
00266 function deleteNewsItems()
00267 {
00268 if (!$this->getEnableEdit())
00269 {
00270 return;
00271 }
00272
00273 foreach($_POST["news_id"] as $news_id)
00274 {
00275 $news = new ilNewsItem($news_id);
00276 $news->delete();
00277 }
00278
00279 return $this->editNews();
00280 }
00281 }