X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FEvent.php;h=6f8ed123c17396bc4fd6e45f8405e13e33018967;hb=71415094cb92de900926639bec1b3a8e2982c57e;hp=886f124153ac0a41bbbd1e7f58f6f4907aeba085;hpb=3f4636d490f11aafe354061fdcf2188c242ea4d3;p=friendica.git
diff --git a/src/Model/Event.php b/src/Model/Event.php
index 886f124153..6f8ed123c1 100644
--- a/src/Model/Event.php
+++ b/src/Model/Event.php
@@ -1,32 +1,44 @@
.
+ *
*/
namespace Friendica\Model;
-use Friendica\BaseObject;
use Friendica\Content\Text\BBCode;
-use Friendica\Core\Addon;
-use Friendica\Core\L10n;
+use Friendica\Core\Hook;
use Friendica\Core\Logger;
-use Friendica\Core\PConfig;
+use Friendica\Core\Protocol;
use Friendica\Core\Renderer;
use Friendica\Core\System;
use Friendica\Database\DBA;
-use Friendica\Model\Contact;
+use Friendica\DI;
+use Friendica\Protocol\Activity;
use Friendica\Util\DateTimeFormat;
use Friendica\Util\Map;
+use Friendica\Util\Strings;
use Friendica\Util\XML;
-require_once 'boot.php';
-require_once 'include/dba.php';
-require_once 'include/items.php';
-
/**
- * @brief functions for interacting with the event database table
+ * functions for interacting with the event database table
*/
-class Event extends BaseObject
+class Event
{
public static function getHTML(array $event, $simple = false)
@@ -35,15 +47,15 @@ class Event extends BaseObject
return '';
}
- $bd_format = L10n::t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8 AM.
+ $bd_format = DI::l10n()->t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8 AM.
- $event_start = L10n::getDay(
+ $event_start = DI::l10n()->getDay(
!empty($event['adjust']) ?
DateTimeFormat::local($event['start'], $bd_format) : DateTimeFormat::utc($event['start'], $bd_format)
);
if (!empty($event['finish'])) {
- $event_end = L10n::getDay(
+ $event_end = DI::l10n()->getDay(
!empty($event['adjust']) ?
DateTimeFormat::local($event['finish'], $bd_format) : DateTimeFormat::utc($event['finish'], $bd_format)
);
@@ -52,22 +64,24 @@ class Event extends BaseObject
}
if ($simple) {
+ $o = '';
+
if (!empty($event['summary'])) {
- $o = "
" . BBCode::convert($event['summary'], false, $simple) . "
";
+ $o .= "" . BBCode::convert(Strings::escapeHtml($event['summary']), false, $simple) . "
";
}
if (!empty($event['desc'])) {
- $o .= "" . BBCode::convert($event['desc'], false, $simple) . "
";
+ $o .= "" . BBCode::convert(Strings::escapeHtml($event['desc']), false, $simple) . "
";
}
- $o .= "" . L10n::t('Starts:') . "
" . $event_start . "
";
+ $o .= "" . DI::l10n()->t('Starts:') . "
" . $event_start . "
";
if (!$event['nofinish']) {
- $o .= "" . L10n::t('Finishes:') . "
" . $event_end . "
";
+ $o .= "" . DI::l10n()->t('Finishes:') . "
" . $event_end . "
";
}
if (!empty($event['location'])) {
- $o .= "" . L10n::t('Location:') . "
" . BBCode::convert($event['location'], false, $simple) . "
";
+ $o .= "" . DI::l10n()->t('Location:') . "
" . BBCode::convert(Strings::escapeHtml($event['location']), false, $simple) . "
";
}
return $o;
@@ -75,27 +89,27 @@ class Event extends BaseObject
$o = '' . "\r\n";
- $o .= '
' . BBCode::convert($event['summary'], false, $simple) . '
' . "\r\n";
+ $o .= '
' . BBCode::convert(Strings::escapeHtml($event['summary']), false, $simple) . '
' . "\r\n";
- $o .= '
' . L10n::t('Starts:') . ' ' . DI::l10n()->t('Starts:') . ' ' . $event_start
. '
' . "\r\n";
if (!$event['nofinish']) {
- $o .= '
' . L10n::t('Finishes:') . ' ' . DI::l10n()->t('Finishes:') . ' ' . $event_end
. '
' . "\r\n";
}
if (!empty($event['desc'])) {
- $o .= '
' . BBCode::convert($event['desc'], false, $simple) . '
' . "\r\n";
+ $o .= '
' . BBCode::convert(Strings::escapeHtml($event['desc']), false, $simple) . '
' . "\r\n";
}
if (!empty($event['location'])) {
- $o .= '
' . L10n::t('Location:') . ' '
- . BBCode::convert($event['location'], false, $simple)
+ $o .= '' . DI::l10n()->t('Location:') . ' '
+ . BBCode::convert(Strings::escapeHtml($event['location']), false, $simple)
. '
' . "\r\n";
// Include a map of the location if the [map] BBCode is used.
@@ -112,7 +126,7 @@ class Event extends BaseObject
}
/**
- * @brief Convert an array with event data to bbcode.
+ * Convert an array with event data to bbcode.
*
* @param array $event Array which contains the event data.
* @return string The event as a bbcode formatted string.
@@ -149,9 +163,10 @@ class Event extends BaseObject
}
/**
- * @brief Extract bbcode formatted event data from a string.
+ * Extract bbcode formatted event data from a string.
*
* @params: string $s The string which should be parsed for event data.
+ * @param $text
* @return array The array with the event information.
*/
public static function fromBBCode($text)
@@ -212,13 +227,14 @@ class Event extends BaseObject
}
/**
- * @brief Delete an event from the event table.
+ * Delete an event from the event table.
*
* Note: This function does only delete the event from the event table not its
* related entry in the item table.
*
* @param int $event_id Event ID.
* @return void
+ * @throws \Exception
*/
public static function delete($event_id)
{
@@ -226,46 +242,46 @@ class Event extends BaseObject
return;
}
- DBA::delete('event', ['id' => $event_id]);
+ DBA::delete('event', ['id' => $event_id], ['cascade' => false]);
Logger::log("Deleted event ".$event_id, Logger::DEBUG);
}
/**
- * @brief Store the event.
+ * Store the event.
*
* Store the event in the event table and create an event item in the item table.
*
* @param array $arr Array with event data.
* @return int The new event id.
+ * @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/
public static function store($arr)
{
- $a = self::getApp();
-
$event = [];
- $event['id'] = intval(defaults($arr, 'id' , 0));
- $event['uid'] = intval(defaults($arr, 'uid' , 0));
- $event['cid'] = intval(defaults($arr, 'cid' , 0));
- $event['uri'] = defaults($arr, 'uri' , Item::newURI($event['uid']));
- $event['type'] = defaults($arr, 'type' , 'event');
- $event['summary'] = defaults($arr, 'summary' , '');
- $event['desc'] = defaults($arr, 'desc' , '');
- $event['location'] = defaults($arr, 'location' , '');
- $event['allow_cid'] = defaults($arr, 'allow_cid', '');
- $event['allow_gid'] = defaults($arr, 'allow_gid', '');
- $event['deny_cid'] = defaults($arr, 'deny_cid' , '');
- $event['deny_gid'] = defaults($arr, 'deny_gid' , '');
- $event['adjust'] = intval(defaults($arr, 'adjust' , 0));
- $event['nofinish'] = intval(defaults($arr, 'nofinish' , !empty($event['start']) && empty($event['finish'])));
-
- $event['created'] = DateTimeFormat::utc(defaults($arr, 'created' , 'now'));
- $event['edited'] = DateTimeFormat::utc(defaults($arr, 'edited' , 'now'));
- $event['start'] = DateTimeFormat::utc(defaults($arr, 'start' , DBA::NULL_DATETIME));
- $event['finish'] = DateTimeFormat::utc(defaults($arr, 'finish' , DBA::NULL_DATETIME));
+ $event['id'] = intval($arr['id'] ?? 0);
+ $event['uid'] = intval($arr['uid'] ?? 0);
+ $event['cid'] = intval($arr['cid'] ?? 0);
+ $event['guid'] = ($arr['guid'] ?? '') ?: System::createUUID();
+ $event['uri'] = ($arr['uri'] ?? '') ?: Item::newURI($event['uid'], $event['guid']);
+ $event['type'] = ($arr['type'] ?? '') ?: 'event';
+ $event['summary'] = $arr['summary'] ?? '';
+ $event['desc'] = $arr['desc'] ?? '';
+ $event['location'] = $arr['location'] ?? '';
+ $event['allow_cid'] = $arr['allow_cid'] ?? '';
+ $event['allow_gid'] = $arr['allow_gid'] ?? '';
+ $event['deny_cid'] = $arr['deny_cid'] ?? '';
+ $event['deny_gid'] = $arr['deny_gid'] ?? '';
+ $event['adjust'] = intval($arr['adjust'] ?? 0);
+ $event['nofinish'] = intval($arr['nofinish'] ?? (!empty($event['start']) && empty($event['finish'])));
+
+ $event['created'] = DateTimeFormat::utc(($arr['created'] ?? '') ?: 'now');
+ $event['edited'] = DateTimeFormat::utc(($arr['edited'] ?? '') ?: 'now');
+ $event['start'] = DateTimeFormat::utc(($arr['start'] ?? '') ?: DBA::NULL_DATETIME);
+ $event['finish'] = DateTimeFormat::utc(($arr['finish'] ?? '') ?: DBA::NULL_DATETIME);
if ($event['finish'] < DBA::NULL_DATETIME) {
$event['finish'] = DBA::NULL_DATETIME;
}
- $private = intval(defaults($arr, 'private', 0));
+ $private = intval($arr['private'] ?? 0);
$conditions = ['uid' => $event['uid']];
if ($event['cid']) {
@@ -303,7 +319,7 @@ class Event extends BaseObject
$item = Item::selectFirst(['id'], ['event-id' => $event['id'], 'uid' => $event['uid']]);
if (DBA::isResult($item)) {
- $object = '