use Friendica\Content\Nav;
use Friendica\Content\Widget;
use Friendica\Core\Renderer;
-use Friendica\Core\Session;
use Friendica\Core\System;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Model\Item;
use Friendica\Model\User;
use Friendica\Module\BaseProfile;
-use Friendica\Module\Response;
use Friendica\Network\HTTPException;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Temporal;
function cal_init(App $a)
{
- if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
+ if (DI::config()->get('system', 'block_public') && !DI::userSession()->isAuthenticated()) {
throw new HTTPException\ForbiddenException(DI::l10n()->t('Access denied.'));
}
$m = 0;
$ignored = (!empty($_REQUEST['ignored']) ? intval($_REQUEST['ignored']) : 0);
- $format = 'ical';
- if (DI::args()->getArgc() == 4 && DI::args()->getArgv()[2] == 'export') {
- $mode = 'export';
- $format = DI::args()->getArgv()[3];
- }
-
// Setup permissions structures
$owner_uid = intval($owner['uid']);
- $nick = $owner['nickname'];
- $contact_id = Session::getRemoteContactID($owner['uid']);
+ $contact_id = DI::userSession()->getRemoteContactID($owner['uid']);
$remote_contact = $contact_id && DBA::exists('contact', ['id' => $contact_id, 'uid' => $owner['uid']]);
- $is_owner = local_user() == $owner['uid'];
+ $is_owner = DI::userSession()->getLocalUserId() == $owner['uid'];
if ($owner['hidewall'] && !$is_owner && !$remote_contact) {
DI::sysmsg()->addNotice(DI::l10n()->t('Access to this profile has been restricted.'));
return $o;
}
-
- if ($mode == 'export') {
- if (!$owner_uid) {
- DI::sysmsg()->addNotice(DI::l10n()->t('User not found'));
- return;
- }
-
- // Get the export data by uid
- $evexport = Event::exportListByUserId($owner_uid, $format);
-
- if (!$evexport["success"]) {
- if ($evexport["content"]) {
- DI::sysmsg()->addNotice(DI::l10n()->t('This calendar format is not supported'));
- } else {
- DI::sysmsg()->addNotice(DI::l10n()->t('No exportable data found'));
- }
-
- // If it the own calendar return to the events page
- // otherwise to the profile calendar page
- if (local_user() === $owner_uid) {
- $return_path = "events";
- } else {
- $return_path = "cal/" . $nick;
- }
-
- DI::baseUrl()->redirect($return_path);
- }
-
- // If nothing went wrong we can echo the export content
- if ($evexport["success"]) {
- header('content-disposition: attachment; filename="' . DI::l10n()->t('calendar') . '-' . $nick . '.' . $evexport["extension"] . '"');
- System::httpExit($evexport["content"], Response::TYPE_BLANK, 'text/calendar');
- }
-
- return;
- }
}