X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fcal.php;h=75fe87e7463f3568062f5f9faeb80d875eeeadca;hb=197c77f43dcbe08743366ed35a83e5affd284872;hp=f3ff80cf99b3239d4cd8d5689f548a63c3acbdf1;hpb=fe07dc828b62c9d1e6a75939d6cbb537d5196912;p=friendica.git diff --git a/mod/cal.php b/mod/cal.php index f3ff80cf99..75fe87e746 100644 --- a/mod/cal.php +++ b/mod/cal.php @@ -25,16 +25,14 @@ use Friendica\App; use Friendica\Content\Nav; -use Friendica\Content\Text\BBCode; use Friendica\Content\Widget; use Friendica\Core\Renderer; use Friendica\Core\Session; use Friendica\Database\DBA; use Friendica\DI; -use Friendica\Model\Contact; use Friendica\Model\Event; use Friendica\Model\Item; -use Friendica\Model\Profile; +use Friendica\Model\User; use Friendica\Module\BaseProfile; use Friendica\Network\HTTPException; use Friendica\Util\DateTimeFormat; @@ -46,58 +44,40 @@ function cal_init(App $a) throw new HTTPException\ForbiddenException(DI::l10n()->t('Access denied.')); } - if ($a->argc < 2) { + if (DI::args()->getArgc() < 2) { throw new HTTPException\ForbiddenException(DI::l10n()->t('Access denied.')); } Nav::setSelected('events'); - $nick = $a->argv[1]; - $user = DBA::selectFirst('user', [], ['nickname' => $nick, 'blocked' => false]); - if (!DBA::isResult($user)) { - throw new HTTPException\NotFoundException(); - } - - $a->data['user'] = $user; - $a->profile_uid = $user['uid']; - // if it's a json request abort here becaus we don't // need the widget data - if (!empty($a->argv[2]) && ($a->argv[2] === 'json')) { + if (!empty(DI::args()->getArgv()[2]) && (DI::args()->getArgv()[2] === 'json')) { return; } - $a->profile = Profile::getByNickname($nick); - if (empty($a->profile)) { + $owner = User::getOwnerDataByNick(DI::args()->getArgv()[1]); + if (empty($owner)) { throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.')); } - $account_type = Contact::getAccountType($a->profile); - - $tpl = Renderer::getMarkupTemplate('widget/vcard.tpl'); - - $vcard_widget = Renderer::replaceMacros($tpl, [ - '$name' => $a->profile['name'], - '$photo' => $a->profile['photo'], - '$addr' => $a->profile['addr'] ?: '', - '$account_type' => $account_type, - '$about' => BBCode::convert($a->profile['about']), - ]); - - $cal_widget = Widget\CalendarExport::getHTML($user['uid']); - if (empty(DI::page()['aside'])) { DI::page()['aside'] = ''; } - DI::page()['aside'] .= $vcard_widget; - DI::page()['aside'] .= $cal_widget; + DI::page()['aside'] .= Widget\VCard::getHTML($owner); + DI::page()['aside'] .= Widget\CalendarExport::getHTML($owner['uid']); return; } function cal_content(App $a) { + $owner = User::getOwnerDataByNick(DI::args()->getArgv()[1]); + if (empty($owner)) { + throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.')); + } + Nav::setSelected('events'); // get the translation strings for the callendar @@ -110,7 +90,7 @@ function cal_content(App $a) $htpl = Renderer::getMarkupTemplate('event_head.tpl'); DI::page()['htmlhead'] .= Renderer::replaceMacros($htpl, [ - '$module_url' => '/cal/' . $a->data['user']['nickname'], + '$module_url' => '/cal/' . $owner['nickname'], '$modparams' => 2, '$i18n' => $i18n, ]); @@ -121,25 +101,22 @@ function cal_content(App $a) $ignored = (!empty($_REQUEST['ignored']) ? intval($_REQUEST['ignored']) : 0); $format = 'ical'; - if ($a->argc == 4 && $a->argv[2] == 'export') { + if (DI::args()->getArgc() == 4 && DI::args()->getArgv()[2] == 'export') { $mode = 'export'; - $format = $a->argv[3]; + $format = DI::args()->getArgv()[3]; } // Setup permissions structures - $owner_uid = intval($a->data['user']['uid']); - $nick = $a->data['user']['nickname']; - if (empty($a->profile)) { - throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.')); - } + $owner_uid = intval($owner['uid']); + $nick = $owner['nickname']; - $contact_id = Session::getRemoteContactID($a->profile['uid']); + $contact_id = Session::getRemoteContactID($owner['uid']); - $remote_contact = $contact_id && DBA::exists('contact', ['id' => $contact_id, 'uid' => $a->profile['uid']]); + $remote_contact = $contact_id && DBA::exists('contact', ['id' => $contact_id, 'uid' => $owner['uid']]); - $is_owner = local_user() == $a->profile['uid']; + $is_owner = local_user() == $owner['uid']; - if ($a->profile['hidewall'] && !$is_owner && !$remote_contact) { + if ($owner['hidewall'] && !$is_owner && !$remote_contact) { notice(DI::l10n()->t('Access to this profile has been restricted.')); return; } @@ -150,7 +127,7 @@ function cal_content(App $a) $sql_extra = " AND `event`.`cid` = 0 " . $sql_perms; // get the tab navigation bar - $tabs = BaseProfile::getTabsHTML($a, 'cal', false, $a->data['user']['nickname']); + $tabs = BaseProfile::getTabsHTML($a, 'cal', false, $owner['nickname'], $owner['hide-friends']); // The view mode part is similiar to /mod/events.php if ($mode == 'view') { @@ -195,7 +172,7 @@ function cal_content(App $a) $finish = sprintf('%d-%d-%d %d:%d:%d', $y, $m, $dim, 23, 59, 59); - if (!empty($a->argv[2]) && ($a->argv[2] === 'json')) { + if (!empty(DI::args()->getArgv()[2]) && (DI::args()->getArgv()[2] === 'json')) { if (!empty($_GET['start'])) { $start = $_GET['start']; } @@ -208,16 +185,11 @@ function cal_content(App $a) $start = DateTimeFormat::utc($start); $finish = DateTimeFormat::utc($finish); - $adjust_start = DateTimeFormat::local($start); - $adjust_finish = DateTimeFormat::local($finish); - // put the event parametes in an array so we can better transmit them $event_params = [ 'event_id' => intval($_GET['id'] ?? 0), 'start' => $start, 'finish' => $finish, - 'adjust_start' => $adjust_start, - 'adjust_finish' => $adjust_finish, 'ignore' => $ignored, ]; @@ -233,7 +205,7 @@ function cal_content(App $a) if (DBA::isResult($r)) { $r = Event::sortByDate($r); foreach ($r as $rr) { - $j = $rr['adjust'] ? DateTimeFormat::local($rr['start'], 'j') : DateTimeFormat::utc($rr['start'], 'j'); + $j = DateTimeFormat::local($rr['start'], 'j'); if (empty($links[$j])) { $links[$j] = DI::baseUrl() . '/' . DI::args()->getCommand() . '#link-' . $j; } @@ -243,7 +215,7 @@ function cal_content(App $a) // transform the event in a usable array $events = Event::prepareListForTemplate($r); - if (!empty($a->argv[2]) && ($a->argv[2] === 'json')) { + if (!empty(DI::args()->getArgv()[2]) && (DI::args()->getArgv()[2] === 'json')) { echo json_encode($events); exit(); } @@ -252,11 +224,7 @@ function cal_content(App $a) if (!empty($_GET['id'])) { $tpl = Renderer::getMarkupTemplate("event.tpl"); } else { -// if (DI::config()->get('experimentals','new_calendar')==1){ $tpl = Renderer::getMarkupTemplate("events_js.tpl"); -// } else { -// $tpl = Renderer::getMarkupTemplate("events.tpl"); -// } } // Get rid of dashes in key names, Smarty3 can't handle them