<?php
/**
- * @file mod/cal.php
+ * @copyright Copyright (C) 2020, Friendica
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
* The calendar module
*
* This calendar is for profile visitors and contains only the events
use Friendica\App;
use Friendica\Content\Feature;
use Friendica\Content\Nav;
+use Friendica\Content\Text\BBCode;
use Friendica\Content\Widget;
-use Friendica\Core\Config;
use Friendica\Core\Renderer;
use Friendica\Core\Session;
use Friendica\Database\DBA;
use Friendica\Model\Event;
use Friendica\Model\Item;
use Friendica\Model\Profile;
+use Friendica\Module\BaseProfile;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Temporal;
function cal_init(App $a)
{
- if (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.'));
}
$account_type = Contact::getAccountType($profile);
- $tpl = Renderer::getMarkupTemplate("widget/vcard.tpl");
+ $tpl = Renderer::getMarkupTemplate('widget/vcard.tpl');
$vcard_widget = Renderer::replaceMacros($tpl, [
'$name' => $profile['name'],
'$photo' => $profile['photo'],
- '$addr' => (($profile['addr'] != "") ? $profile['addr'] : ""),
+ '$addr' => $profile['addr'] ?: '',
'$account_type' => $account_type,
- '$pdesc' => (($profile['pdesc'] != "") ? $profile['pdesc'] : ""),
+ '$about' => BBCode::convert($profile['about'] ?: ''),
]);
$cal_widget = Widget\CalendarExport::getHTML();
}
// Setup permissions structures
- $remote_contact = false;
- $contact_id = 0;
-
$owner_uid = intval($a->data['user']['uid']);
$nick = $a->data['user']['nickname'];
- if (!empty(Session::getRemoteContactID($a->profile['profile_uid']))) {
- $contact_id = Session::getRemoteContactID($a->profile['profile_uid']);
- }
+ $contact_id = Session::getRemoteContactID($a->profile['uid']);
- if ($contact_id) {
- $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval($contact_id),
- intval($a->profile['profile_uid'])
- );
- if (DBA::isResult($r)) {
- $remote_contact = true;
- }
- }
+ $remote_contact = $contact_id && DBA::exists('contact', ['id' => $contact_id, 'uid' => $a->profile['uid']]);
- $is_owner = local_user() == $a->profile['profile_uid'];
+ $is_owner = local_user() == $a->profile['uid'];
if ($a->profile['hidewall'] && !$is_owner && !$remote_contact) {
notice(DI::l10n()->t('Access to this profile has been restricted.') . EOL);
$sql_extra = " AND `event`.`cid` = 0 " . $sql_perms;
// get the tab navigation bar
- $tabs = Profile::getTabs($a, 'cal', false, $a->data['user']['nickname']);
+ $tabs = BaseProfile::getTabsHTML($a, 'cal', false, $a->data['user']['nickname']);
// The view mode part is similiar to /mod/events.php
if ($mode == 'view') {
if (!empty($_GET['id'])) {
$tpl = Renderer::getMarkupTemplate("event.tpl");
} else {
-// if (Config::get('experimentals','new_calendar')==1){
+// if (DI::config()->get('experimentals','new_calendar')==1){
$tpl = Renderer::getMarkupTemplate("events_js.tpl");
// } else {
// $tpl = Renderer::getMarkupTemplate("events.tpl");