Add missing $a->profile initialization in mod/cal

This commit is contained in:
Hypolite Petovan 2020-07-09 15:04:30 -04:00
parent 04c95a5045
commit d9b8a1fccd

View file

@ -37,17 +37,18 @@ use Friendica\Model\Event;
use Friendica\Model\Item; use Friendica\Model\Item;
use Friendica\Model\Profile; use Friendica\Model\Profile;
use Friendica\Module\BaseProfile; use Friendica\Module\BaseProfile;
use Friendica\Network\HTTPException;
use Friendica\Util\DateTimeFormat; use Friendica\Util\DateTimeFormat;
use Friendica\Util\Temporal; use Friendica\Util\Temporal;
function cal_init(App $a) function cal_init(App $a)
{ {
if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) { if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) {
throw new \Friendica\Network\HTTPException\ForbiddenException(DI::l10n()->t('Access denied.')); throw new HTTPException\ForbiddenException(DI::l10n()->t('Access denied.'));
} }
if ($a->argc < 2) { if ($a->argc < 2) {
throw new \Friendica\Network\HTTPException\ForbiddenException(DI::l10n()->t('Access denied.')); throw new HTTPException\ForbiddenException(DI::l10n()->t('Access denied.'));
} }
Nav::setSelected('events'); Nav::setSelected('events');
@ -55,7 +56,7 @@ function cal_init(App $a)
$nick = $a->argv[1]; $nick = $a->argv[1];
$user = DBA::selectFirst('user', [], ['nickname' => $nick, 'blocked' => false]); $user = DBA::selectFirst('user', [], ['nickname' => $nick, 'blocked' => false]);
if (!DBA::isResult($user)) { if (!DBA::isResult($user)) {
throw new \Friendica\Network\HTTPException\NotFoundException(); throw new HTTPException\NotFoundException();
} }
$a->data['user'] = $user; $a->data['user'] = $user;
@ -67,18 +68,22 @@ function cal_init(App $a)
return; return;
} }
$profile = Profile::getByNickname($nick, $a->profile_uid); $a->profile = Profile::getByNickname($nick, $a->profile_uid);
$account_type = Contact::getAccountType($profile); if (empty($a->profile)) {
throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
}
$account_type = Contact::getAccountType($a->profile);
$tpl = Renderer::getMarkupTemplate('widget/vcard.tpl'); $tpl = Renderer::getMarkupTemplate('widget/vcard.tpl');
$vcard_widget = Renderer::replaceMacros($tpl, [ $vcard_widget = Renderer::replaceMacros($tpl, [
'$name' => $profile['name'], '$name' => $a->profile['name'],
'$photo' => $profile['photo'], '$photo' => $a->profile['photo'],
'$addr' => $profile['addr'] ?: '', '$addr' => $a->profile['addr'] ?: '',
'$account_type' => $account_type, '$account_type' => $account_type,
'$about' => BBCode::convert($profile['about']), '$about' => BBCode::convert($a->profile['about']),
]); ]);
$cal_widget = Widget\CalendarExport::getHTML(); $cal_widget = Widget\CalendarExport::getHTML();