ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
privfeed.php
Go to the documentation of this file.
1 <?php
2 
25 require_once '../vendor/composer/vendor/autoload.php';
26 
28 
30 
31 global $lng, $ilSetting;
32 
33 $feed_set = new ilSetting("news");
34 
35 
36 if (!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 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$_GET["client_id"]
Definition: webdav.php:30
static _lookupId($a_user_str)
const CONTEXT_RSS_AUTH
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static initILIAS()
ilias initialisation
static _getFeedPass(int $a_user_id)
Lookup news feed password for user.
$_SERVER['HTTP_HOST']
Definition: raiseError.php:26
$feed_set
Definition: privfeed.php:33
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
global $ilSetting
Definition: privfeed.php:31
static init(string $a_type)
Init context by type.
global $lng
Definition: privfeed.php:31
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
exit
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _lookupLogin(int $a_user_id)