70 $this->like_gui = $a_like_gui;
72 $this->lng = $DIC->language();
73 $this->ctrl = $DIC->ctrl();
75 $this->
user = $DIC->user();
76 $this->obj_def = $DIC[
"objDefinition"];
77 $this->news_item_ref_id = $a_news_ref_id;
79 $this->ref_id = (int)
$_GET[
"ref_id"];
89 return new self($a_news_item, $a_news_ref_id, $a_like_gui);
98 $this->news_item = $a_val;
116 $this->user_edit_all = $a_val;
143 $tpl =
new ilTemplate(
"tpl.timeline_item.html",
true,
true,
"Services/News");
145 include_once(
"./Services/News/classes/class.ilNewsRendererFactory.php");
147 $news_renderer->setLanguage($this->lng->getLangKey());
148 $news_renderer->setNewsItem(
$i, $this->news_item_ref_id);
150 $obj_id =
$i->getContextObjId();
153 if (
$i->getCreationDate() !=
$i->getUpdateDate()) {
154 $tpl->setCurrentBlock(
"edited");
156 $tpl->setVariable(
"TXT_EDITED", $this->lng->txt(
"cont_news_edited"));
157 if (
$i->getUpdateUserId() > 0 && (
$i->getUpdateUserId() !=
$i->getUserId())) {
158 include_once(
"./Services/User/classes/class.ilUserUtil.php");
160 $i->getUpdateUserId(),
163 $this->ctrl->getLinkTargetByClass(
"ilnewstimelinegui")
166 include_once(
"./Services/Calendar/classes/class.ilDatePresentation.php");
168 $tpl->parseCurrentBlock();
172 include_once(
"./Services/Link/classes/class.ilLink.php");
173 if ($this->news_item_ref_id > 0 && $this->ref_id != $this->news_item_ref_id) {
174 $tpl->setCurrentBlock(
"object");
177 $tpl->setVariable(
"OBJ_HREF", $news_renderer->getObjectLink());
178 $tpl->parseCurrentBlock();
184 $tpl->setCurrentBlock(
"player");
185 $tpl->setVariable(
"PLAYER", $media);
186 $tpl->parseCurrentBlock();
196 $tpl->setVariable(
"CONTENT", $news_renderer->getTimelineContent());
198 include_once(
"./Services/User/classes/class.ilUserUtil.php");
203 $this->ctrl->getLinkTargetByClass(
"ilnewstimelinegui")
206 include_once(
"./Services/Calendar/classes/class.ilDatePresentation.php");
210 include_once(
"Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
212 $list->setListTitle(
"");
213 $list->setId(
"news_tl_act_" .
$i->getId());
218 $list->setUseImages(
false);
221 if (!$news_renderer->preventEditing()) {
223 $this->lng->txt(
"edit"),
231 "il.News.edit(" .
$i->getId() .
");" 234 $this->lng->txt(
"delete"),
242 "il.News.delete(" .
$i->getId() .
");" 247 $news_renderer->addTimelineActions($list);
249 $tpl->setVariable(
"ACTIONS", $list->getHTML());
266 $ui_factory = $DIC->ui()->factory();
267 $ui_renderer = $DIC->ui()->renderer();
269 if (in_array($mime, array(
"image/jpeg",
"image/svg+xml",
"image/gif",
"image/png"))) {
270 $item_id =
"il-news-modal-img-" . $i->
getId();
271 $title = basename($media_path);
272 $image = $ui_renderer->render($ui_factory->image()->responsive($media_path, $title));
274 $img_tpl =
new ilTemplate(
"tpl.news_timeline_image_file.html",
true,
true,
"Services/News");
275 $img_tpl->setVariable(
"ITEM_ID", $item_id);
276 $img_tpl->setVariable(
"IMAGE", $image);
278 $html = $img_tpl->get();
279 } elseif (in_array($mime, array(
"audio/mpeg",
"audio/ogg",
"video/mp4",
"video/x-flv",
"video/webm"))) {
281 $mp->setFile($media_path);
282 $html = $mp->getMediaPlayerHtml();
302 $ui_factory = $DIC->ui()->factory();
303 $ui_renderer = $DIC->ui()->renderer();
307 if (in_array($mime, array(
"image/jpeg",
"image/svg+xml",
"image/gif",
"image/png"))) {
308 $title = basename($media_path);
309 $item_id =
"il-news-modal-img-" . $i->
getId();
310 $image = $ui_renderer->render($ui_factory->image()->responsive($media_path, $title));
312 $modal->setId($item_id);
314 $modal->setBody($image);
315 $modal->setHeading($title);
316 $modal_html = $modal->getHTML();
330 $this->ctrl->setParameterByClass(
"ilnewstimelinegui",
"news_id",
$i->getId());
331 $this->like_gui->setObject(
332 $i->getContextObjId(),
333 $i->getContextObjType(),
334 $i->getContextSubObjId(),
335 $i->getContextSubObjType(),
338 $html = $this->ctrl->getHTML($this->like_gui);
341 $notes_obj_type = (
$i->getContextSubObjType() ==
"")
342 ?
$i->getContextObjType()
343 :
$i->getContextSubObjType();
345 $i->getContextObjId(),
346 $i->getContextSubObjId(),
354 $html .= $this->ctrl->getHTML($note_gui);
356 $this->ctrl->setParameterByClass(
"ilnewstimelinegui",
"news_id",
$_GET[
"news_id"]);
369 include_once(
"./Services/MediaObjects/classes/class.ilObjMediaObject.php");
370 include_once(
"./Services/MediaObjects/classes/class.ilMediaPlayerGUI.php");
373 if (strcasecmp(
"Reference", $med->getLocationType()) == 0) {
374 $media_path = $med->getLocation();
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
Single news timeline item.
renderMediaModal(ilNewsItem $i)
Render media.
getUserEditAll()
Get user can edit other users postings.
getDateTime()
Get datetime.ilDateTime timestamp
getNewsItem()
Get news item.
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data
render()
Render item.string html
static _lookupTitle($a_id)
lookup object title
renderMedia(ilNewsItem $i)
Render media.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date public.
__construct(ilNewsItem $a_news_item, $a_news_ref_id, \ilLikeGUI $a_like_gui)
Constructor.
static getInstance(ilNewsItem $a_news_item, $a_news_ref_id, \ilLikeGUI $a_like_gui)
Get instance.
static _getPersonalPicturePath( $a_usr_id, $a_size="small", $a_force_pic=false, $a_prevent_no_photo_image=false, $html_export=false)
Get path to personal picture.
getMediaPath(ilNewsItem $i)
renderFooter()
Render footer.
Interface for timeline items.
setUserEditAll($a_val)
Set user can edit other users postings.
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static getInstance()
Get instance.
static getRenderer($a_context_obj_type)
Get renderer.
static determineNewsTitle( $a_context_obj_type, $a_title, $a_content_is_lang_var, $a_agg_ref_id=0, $a_aggregation="")
Determine title for news item entry.
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
User interface for like feature.
setNewsItem(ilNewsItem $a_val)
Set news item.
setDefaultCommand($a_val)
Set default command.