*/
use Friendica\Content\Feature;
+use Friendica\Content\Text\BBCode;
use Friendica\Core\Addon;
use Friendica\Core\L10n;
use Friendica\Core\PConfig;
use Friendica\Database\DBM;
use Friendica\Model\Item;
use Friendica\Model\Profile;
+use Friendica\Util\DateTimeFormat;
use Friendica\Util\Map;
-use Friendica\Util\Temporal;
-require_once 'include/bbcode.php';
-require_once 'include/datetime.php';
require_once 'include/conversation.php';
function format_event_html($ev, $simple = false) {
$bd_format = L10n::t('l F d, Y \@ g:i A') ; // Friday January 18, 2011 @ 8 AM.
- $event_start = (($ev['adjust']) ?
- day_translate(Temporal::convert($ev['start'], date_default_timezone_get(), 'UTC', $bd_format))
- : day_translate(Temporal::convert($ev['start'], 'UTC', 'UTC', $bd_format)));
+ $event_start = day_translate(
+ $ev['adjust'] ?
+ DateTimeFormat::local($ev['start'], $bd_format)
+ : DateTimeFormat::utc($ev['start'], $bd_format)
+ );
- $event_end = (($ev['adjust']) ?
- day_translate(Temporal::convert($ev['finish'] , date_default_timezone_get(), 'UTC', $bd_format ))
- : day_translate(Temporal::convert($ev['finish'] , 'UTC', 'UTC', $bd_format )));
+ $event_end = day_translate(
+ $ev['adjust'] ?
+ DateTimeFormat::local($ev['finish'], $bd_format)
+ : DateTimeFormat::utc($ev['finish'], $bd_format)
+ );
if ($simple) {
- $o = "<h3>" . bbcode($ev['summary']) . "</h3>";
+ $o = "<h3>" . BBCode::convert($ev['summary'], false, $simple) . "</h3>";
- $o .= "<div>" . bbcode($ev['desc']) . "</div>";
+ $o .= "<p>" . BBCode::convert($ev['desc'], false, $simple) . "</p>";
$o .= "<h4>" . L10n::t('Starts:') . "</h4><p>" . $event_start . "</p>";
}
if (strlen($ev['location'])) {
- $o .= "<h4>" . L10n::t('Location:') . "</h4><p>" . $ev['location'] . "</p>";
+ $o .= "<h4>" . L10n::t('Location:') . "</h4><p>" . BBCode::convert($ev['location'], false, $simple) . "</p>";
}
return $o;
$o = '<div class="vevent">' . "\r\n";
- $o .= '<div class="summary event-summary">' . bbcode($ev['summary']) . '</div>' . "\r\n";
+ $o .= '<div class="summary event-summary">' . BBCode::convert($ev['summary'], false, $simple) . '</div>' . "\r\n";
$o .= '<div class="event-start"><span class="event-label">' . L10n::t('Starts:') . '</span> <span class="dtstart" title="'
- . Temporal::convert($ev['start'], 'UTC', 'UTC', (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
+ . DateTimeFormat::utc($ev['start'], (($ev['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s' ))
. '" >'.$event_start
. '</span></div>' . "\r\n";
if (! $ev['nofinish']) {
$o .= '<div class="event-end" ><span class="event-label">' . L10n::t('Finishes:') . '</span> <span class="dtend" title="'
- . Temporal::convert($ev['finish'], 'UTC', 'UTC', (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
+ . DateTimeFormat::utc($ev['finish'], (($ev['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s' ))
. '" >'.$event_end
. '</span></div>' . "\r\n";
}
- $o .= '<div class="description event-description">' . bbcode($ev['desc']) . '</div>' . "\r\n";
+ $o .= '<div class="description event-description">' . BBCode::convert($ev['desc'], false, $simple) . '</div>' . "\r\n";
if (strlen($ev['location'])) {
$o .= '<div class="event-location"><span class="event-label">' . L10n::t('Location:') . '</span> <span class="location">'
- . bbcode($ev['location'])
+ . BBCode::convert($ev['location'], false, $simple)
. '</span></div>' . "\r\n";
// Include a map of the location if the [map] BBCode is used.
if (strpos($ev['location'], "[map") !== false) {
- $map = Map::byLocation($ev['location']);
+ $map = Map::byLocation($ev['location'], $simple);
if ($map !== $ev['location']) {
$o.= $map;
}
function ev_compare($a,$b) {
- $date_a = (($a['adjust']) ? Temporal::convert($a['start'], date_default_timezone_get()) : $a['start']);
- $date_b = (($b['adjust']) ? Temporal::convert($b['start'], date_default_timezone_get()) : $b['start']);
+ $date_a = (($a['adjust']) ? DateTimeFormat::local($a['start']) : $a['start']);
+ $date_b = (($b['adjust']) ? DateTimeFormat::local($b['start']) : $b['start']);
if ($date_a === $date_b) {
return strcasecmp($a['desc'], $b['desc']);
*/
function event_store($arr) {
- require_once 'include/datetime.php';
require_once 'include/items.php';
- require_once 'include/bbcode.php';
$a = get_app();
- $arr['created'] = (($arr['created']) ? $arr['created'] : Temporal::convert());
- $arr['edited'] = (($arr['edited']) ? $arr['edited'] : Temporal::convert());
+ $arr['created'] = (($arr['created']) ? DateTimeFormat::utc($arr['created']) : DateTimeFormat::utcNow());
+ $arr['edited'] = (($arr['edited']) ? DateTimeFormat::utc($arr['edited']) : DateTimeFormat::utcNow());
+ $arr['start'] = (($arr['start']) ? DateTimeFormat::utc($arr['start']) : NULL_DATE);
+ $arr['finish'] = (($arr['finish']) ? DateTimeFormat::utc($arr['finish']) : NULL_DATE);
$arr['type'] = (($arr['type']) ? $arr['type'] : 'event' );
$arr['cid'] = ((intval($arr['cid'])) ? intval($arr['cid']) : 0);
$arr['uri'] = (x($arr, 'uri') ? $arr['uri'] : item_new_uri($a->get_hostname(), $arr['uid']));
$arr['private'] = ((x($arr, 'private')) ? intval($arr['private']) : 0);
$arr['guid'] = get_guid(32);
+ if ($arr['finish'] < NULL_DATE) {
+ $arr['finish'] = NULL_DATE;
+ }
+
if ($arr['cid']) {
$c = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($arr['cid']),
$object .= '<content>' . xmlify(format_event_bbcode($arr)) . '</content>';
$object .= '</object>' . "\n";
- q("UPDATE `item` SET `body` = '%s', `object` = '%s', `edited` = '%s' WHERE `id` = %d AND `uid` = %d",
- dbesc(format_event_bbcode($arr)),
- dbesc($object),
- dbesc($arr['edited']),
- intval($r[0]['id']),
- intval($arr['uid'])
- );
+ $fields = ['body' => format_event_bbcode($arr), 'object' => $object, 'edited' => $arr['edited']];
+ Item::update($fields, ['id' => $r[0]['id']]);
$item_id = $r[0]['id'];
} else {
$item_id = Item::insert($item_arr);
if ($item_id) {
- q("UPDATE `item` SET `event-id` = %d WHERE `uid` = %d AND `id` = %d",
- intval($event['id']),
- intval($arr['uid']),
- intval($item_id)
- );
+ Item::update(['event-id' => $event['id']], ['id' => $item_id]);
}
Addon::callHooks("event_created", $event['id']);
$fmt = L10n::t('l, F j');
if (count($arr)) {
foreach ($arr as $rr) {
- $j = (($rr['adjust']) ? Temporal::convert($rr['start'], date_default_timezone_get(), 'UTC', 'j') : Temporal::convert($rr['start'], 'UTC', 'UTC', 'j'));
- $d = (($rr['adjust']) ? Temporal::convert($rr['start'], date_default_timezone_get(), 'UTC', $fmt) : Temporal::convert($rr['start'], 'UTC', 'UTC', $fmt));
+ $j = (($rr['adjust']) ? DateTimeFormat::local($rr['start'], 'j') : DateTimeFormat::utc($rr['start'], 'j'));
+ $d = (($rr['adjust']) ? DateTimeFormat::local($rr['start'], $fmt) : DateTimeFormat::utc($rr['start'], $fmt));
$d = day_translate($d);
- $start = (($rr['adjust']) ? Temporal::convert($rr['start'], date_default_timezone_get(), 'UTC', 'c') : Temporal::convert($rr['start'], 'UTC', 'UTC', 'c'));
+ $start = (($rr['adjust']) ? DateTimeFormat::local($rr['start'], 'c') : DateTimeFormat::utc($rr['start'], 'c'));
if ($rr['nofinish']) {
$end = null;
} else {
- $end = (($rr['adjust']) ? Temporal::convert($rr['finish'], date_default_timezone_get(), 'UTC', 'c') : Temporal::convert($rr['finish'], 'UTC', 'UTC', 'c'));
+ $end = (($rr['adjust']) ? DateTimeFormat::local($rr['finish'], 'c') : DateTimeFormat::utc($rr['finish'], 'c'));
}
$is_first = ($d !== $last_date);
$drop = [System::baseUrl() . '/events/drop/' . $rr['id'], L10n::t('Delete event'), '', ''];
}
- $title = strip_tags(html_entity_decode(bbcode($rr['summary']), ENT_QUOTES, 'UTF-8'));
+ $title = strip_tags(html_entity_decode(BBCode::convert($rr['summary']), ENT_QUOTES, 'UTF-8'));
if (! $title) {
- list($title, $_trash) = explode("<br", bbcode($rr['desc']), 2);
+ list($title, $_trash) = explode("<br", BBCode::convert($rr['desc']), 2);
$title = strip_tags(html_entity_decode($title, ENT_QUOTES, 'UTF-8'));
}
$html = format_event_html($rr);
- $rr['desc'] = bbcode($rr['desc']);
- $rr['location'] = bbcode($rr['location']);
+ $rr['desc'] = BBCode::convert($rr['desc']);
+ $rr['location'] = BBCode::convert($rr['location']);
$events[] = [
'id' => $rr['id'],
'start' => $start,
$tformat = L10n::t('g:i A'); // 8:01 AM.
// Convert the time to different formats.
- $dtstart_dt = (($item['event-adjust']) ? day_translate(Temporal::convert($item['event-start'], date_default_timezone_get(), 'UTC', $dformat)) : day_translate(Temporal::convert($item['event-start'], 'UTC', 'UTC', $dformat)));
- $dtstart_title = Temporal::convert($item['event-start'], 'UTC', 'UTC', (($item['event-adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s'));
+ $dtstart_dt = day_translate(
+ $item['event-adjust'] ?
+ DateTimeFormat::local($item['event-start'], $dformat)
+ : DateTimeFormat::utc($item['event-start'], $dformat)
+ );
+ $dtstart_title = DateTimeFormat::utc($item['event-start'], $item['event-adjust'] ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s');
// Format: Jan till Dec.
- $month_short = (($item['event-adjust']) ? day_short_translate(Temporal::convert($item['event-start'], date_default_timezone_get(), 'UTC', 'M')) : day_short_translate(Temporal::convert($item['event-start'], 'UTC', 'UTC', 'M')));
+ $month_short = day_short_translate(
+ $item['event-adjust'] ?
+ DateTimeFormat::local($item['event-start'], 'M')
+ : DateTimeFormat::utc($item['event-start'], 'M')
+ );
// Format: 1 till 31.
- $date_short = (($item['event-adjust']) ? Temporal::convert($item['event-start'], date_default_timezone_get(), 'UTC', 'j') : Temporal::convert($item['event-start'], 'UTC', 'UTC', 'j'));
- $start_time = (($item['event-adjust']) ? Temporal::convert($item['event-start'], date_default_timezone_get(), 'UTC', $tformat) : Temporal::convert($item['event-start'], 'UTC', 'UTC', $tformat));
- $start_short = (($item['event-adjust']) ? day_short_translate(Temporal::convert($item['event-start'], date_default_timezone_get(), 'UTC', $dformat_short)) : day_short_translate(Temporal::convert($item['event-start'], 'UTC', 'UTC', $dformat_short)));
+ $date_short = $item['event-adjust'] ?
+ DateTimeFormat::local($item['event-start'], 'j')
+ : DateTimeFormat::utc($item['event-start'], 'j');
+ $start_time = $item['event-adjust'] ?
+ DateTimeFormat::local($item['event-start'], $tformat)
+ : DateTimeFormat::utc($item['event-start'], $tformat);
+ $start_short = day_short_translate(
+ $item['event-adjust'] ?
+ DateTimeFormat::local($item['event-start'], $dformat_short)
+ : DateTimeFormat::utc($item['event-start'], $dformat_short)
+ );
// If the option 'nofinisch' isn't set, we need to format the finish date/time.
if (!$item['event-nofinish']) {
$finish = true;
- $dtend_dt = (($item['event-adjust']) ? day_translate(Temporal::convert($item['event-finish'], date_default_timezone_get(), 'UTC', $dformat)) : day_translate(Temporal::convert($item['event-finish'], 'UTC', 'UTC', $dformat)));
- $dtend_title = Temporal::convert($item['event-finish'], 'UTC', 'UTC', (($item['event-adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s'));
- $end_short = (($item['event-adjust']) ? day_short_translate(Temporal::convert($item['event-finish'], date_default_timezone_get(), 'UTC', $dformat_short)) : day_short_translate(Temporal::convert($item['event-finish'], 'UTC', 'UTC', $dformat_short)));
- $end_time = (($item['event-adjust']) ? Temporal::convert($item['event-finish'], date_default_timezone_get(), 'UTC', $tformat) : Temporal::convert($item['event-finish'], 'UTC', 'UTC', $tformat));
+ $dtend_dt = day_translate(
+ $item['event-adjust'] ?
+ DateTimeFormat::local($item['event-finish'], $dformat)
+ : DateTimeFormat::utc($item['event-finish'], $dformat)
+ );
+ $dtend_title = DateTimeFormat::utc($item['event-finish'], $item['event-adjust'] ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s');
+ $end_short = day_short_translate(
+ $item['event-adjust'] ?
+ DateTimeFormat::local($item['event-finish'], $dformat_short)
+ : DateTimeFormat::utc($item['event-finish'], $dformat_short)
+ );
+ $end_time = $item['event-adjust'] ?
+ DateTimeFormat::local($item['event-finish'], $tformat)
+ : DateTimeFormat::utc($item['event-finish'], $tformat);
// Check if start and finish time is at the same day.
if (substr($dtstart_title, 0, 10) === substr($dtend_title, 0, 10)) {
$same_date = true;