ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
privfeed.php
Go to the documentation of this file.
1<?php
2
25require_once '../vendor/composer/vendor/autoload.php';
26
28
30
32
33$feed_set = new ilSetting("news");
34
35
36if (!isset($_SERVER['PHP_AUTH_PW']) || !isset($_SERVER['PHP_AUTH_USER'])) {
37 Header("WWW-Authenticate: Basic realm=\"ILIAS Newsfeed\"");
38 Header("HTTP/1.0 401 Unauthorized");
39
40 exit;
41} else {
42 if ($_GET["user_id"] != "" && ilObjUser::_getFeedPass($_GET["user_id"]) != "" &&
43 (md5($_SERVER['PHP_AUTH_PW']) == ilObjUser::_getFeedPass($_GET["user_id"]) &&
44 $_SERVER['PHP_AUTH_USER'] == ilObjUser::_lookupLogin($_GET["user_id"]))
45 && $feed_set->get("enable_private_feed")) {
46 include_once("./Services/Feeds/classes/class.ilUserFeedWriter.php");
47 // Third parameter is true for private feed
48 $writer = new ilUserFeedWriter($_GET["user_id"], $_GET["hash"], true);
49 $writer->showFeed();
50 } elseif ($_GET["ref_id"] != "" && md5($_SERVER['PHP_AUTH_PW']) == ilObjUser::_getFeedPass(ilObjUser::_lookupId($_SERVER['PHP_AUTH_USER']))) {
51 include_once("./Services/Feeds/classes/class.ilObjectFeedWriter.php");
52 // Second parameter is optional to pass on to database-level to get news for logged-in users
53 $writer = new ilObjectFeedWriter($_GET["ref_id"], ilObjUser::_lookupId($_SERVER['PHP_AUTH_USER']));
54 $writer->showFeed();
55 } else {
56 // send appropriate header, if password is wrong, otherwise
57 // there is no chance to re-enter it (unless, e.g. the browser is closed)
58 if (md5($_SERVER['PHP_AUTH_PW']) != ilObjUser::_getFeedPass(ilObjUser::_lookupId($_SERVER['PHP_AUTH_USER']))) {
59 Header("WWW-Authenticate: Basic realm=\"ILIAS Newsfeed\"");
60 Header("HTTP/1.0 401 Unauthorized");
61 exit;
62 }
63
64 include_once("./Services/Feeds/classes/class.ilFeedItem.php");
65 include_once("./Services/Feeds/classes/class.ilFeedWriter.php");
66
67 $blankFeedWriter = new ilFeedWriter();
68 $feed_item = new ilFeedItem();
69 $lng->loadLanguageModule("news");
70
71 if ($ilSetting->get('short_inst_name') != "") {
72 $blankFeedWriter->setChannelTitle($ilSetting->get('short_inst_name'));
73 } else {
74 $blankFeedWriter->setChannelTitle("ILIAS");
75 }
76
77
78
79
80 if (!$feed_set->get("enable_private_feed")) {
81 $blankFeedWriter->setChannelAbout(ILIAS_HTTP_PATH);
82 $blankFeedWriter->setChannelLink(ILIAS_HTTP_PATH);
83 // title
84 $feed_item->setTitle($lng->txt("priv_feed_no_access_title"));
85
86 // description
87 $feed_item->setDescription($lng->txt("priv_feed_no_access_body"));
88 $feed_item->setLink(ILIAS_HTTP_PATH);
89 } else {
90 $blankFeedWriter->setChannelAbout(ILIAS_HTTP_PATH);
91 $blankFeedWriter->setChannelLink(ILIAS_HTTP_PATH);
92 // title
93 $feed_item->setTitle($lng->txt("priv_feed_no_auth_title"));
94
95 // description
96 $feed_item->setDescription($lng->txt("priv_feed_no_auth_body"));
97 $feed_item->setLink(ILIAS_HTTP_PATH);
98 }
99 $blankFeedWriter->addItem($feed_item);
100 $blankFeedWriter->showFeed();
101 }
102}
const CONTEXT_RSS_AUTH
static init(string $a_type)
Init context by type.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static initILIAS()
ilias initialisation
static _lookupId(string|array $a_user_str)
static _getFeedPass(int $a_user_id)
static _lookupLogin(int $a_user_id)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
ILIAS Setting Class.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
exit
$_GET['cmd']
Definition: lti.php:26
global $lng
Definition: privfeed.php:31
global $ilSetting
Definition: privfeed.php:31
$feed_set
Definition: privfeed.php:33
$_SERVER['HTTP_HOST']
Definition: raiseError.php:26