use Friendica\Core\L10n;
use Friendica\Core\Renderer;
use Friendica\Core\System;
+use Friendica\Core\Session;
use Friendica\Database\DBA;
use Friendica\Model\Contact;
use Friendica\Model\Event;
function cal_init(App $a)
{
- if ($a->argc > 1) {
- DFRN::autoRedir($a, $a->argv[1]);
- }
-
- if (Config::get('system', 'block_public') && !local_user() && !remote_user()) {
+ if (Config::get('system', 'block_public') && !Session::isAuthenticated()) {
throw new \Friendica\Network\HTTPException\ForbiddenException(L10n::t('Access denied.'));
}
$remote_contact = false;
$contact_id = 0;
- $owner_uid = $a->data['user']['uid'];
+ $owner_uid = intval($a->data['user']['uid']);
$nick = $a->data['user']['nickname'];
- if (!empty($_SESSION['remote']) && is_array($_SESSION['remote'])) {
- foreach ($_SESSION['remote'] as $v) {
- if ($v['uid'] == $a->profile['profile_uid']) {
- $contact_id = $v['cid'];
- break;
- }
- }
+ if (!empty(Session::getRemoteContactID($a->profile['profile_uid']))) {
+ $contact_id = Session::getRemoteContactID($a->profile['profile_uid']);
}
- $groups = [];
if ($contact_id) {
- $groups = Group::getIdsByContactId($contact_id);
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($contact_id),
intval($a->profile['profile_uid'])
}
// get the permissions
- $sql_perms = Item::getPermissionsSQLByUserId($owner_uid, $remote_contact, $groups);
+ $sql_perms = Item::getPermissionsSQLByUserId($owner_uid);
// we only want to have the events of the profile owner
$sql_extra = " AND `event`.`cid` = 0 " . $sql_perms;
// get the tab navigation bar
- $tabs = Profile::getTabs($a, false, $a->data['user']['nickname']);
+ $tabs = Profile::getTabs($a, 'cal', false, $a->data['user']['nickname']);
// The view mode part is similiar to /mod/events.php
if ($mode == 'view') {
}
if ($mode == 'export') {
- if (!intval($owner_uid)) {
+ if (!$owner_uid) {
notice(L10n::t('User not found'));
return;
}
// Test permissions
// Respect the export feature setting for all other /cal pages if it's not the own profile
- if ((local_user() !== intval($owner_uid)) && !Feature::isEnabled($owner_uid, "export_calendar")) {
+ if ((local_user() !== $owner_uid) && !Feature::isEnabled($owner_uid, "export_calendar")) {
notice(L10n::t('Permission denied.') . EOL);
$a->internalRedirect('cal/' . $nick);
}
// If it the own calendar return to the events page
// otherwise to the profile calendar page
- if (local_user() === intval($owner_uid)) {
+ if (local_user() === $owner_uid) {
$return_path = "events";
} else {
$return_path = "cal/" . $nick;