X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FEvent.php;h=452017e69d3a04bcfbd2269d851b1db69340f9ee;hb=dc49ad090eca1bf4e511091418166da6fe68009b;hp=66d5f389fe709f05583fd5efecb6748556e7d097;hpb=ff1074d38fb992d9ff897be95b5fa480fbfb7f24;p=friendica.git diff --git a/src/Model/Event.php b/src/Model/Event.php index 66d5f389fe..452017e69d 100644 --- a/src/Model/Event.php +++ b/src/Model/Event.php @@ -5,15 +5,14 @@ namespace Friendica\Model; -use dba; use Friendica\BaseObject; use Friendica\Content\Text\BBCode; use Friendica\Core\Addon; use Friendica\Core\L10n; use Friendica\Core\PConfig; use Friendica\Core\System; -use Friendica\Database\DBM; -use Friendica\Model\Item; +use Friendica\Database\DBA; +use Friendica\Model\Contact; use Friendica\Util\DateTimeFormat; use Friendica\Util\Map; @@ -36,19 +35,27 @@ class Event extends BaseObject $bd_format = L10n::t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8 AM. $event_start = day_translate( - $event['adjust'] ? + !empty($event['adjust']) ? DateTimeFormat::local($event['start'], $bd_format) : DateTimeFormat::utc($event['start'], $bd_format) ); - $event_end = day_translate( - $event['adjust'] ? - DateTimeFormat::local($event['finish'], $bd_format) : DateTimeFormat::utc($event['finish'], $bd_format) - ); + if (!empty($event['finish'])) { + $event_end = day_translate( + !empty($event['adjust']) ? + DateTimeFormat::local($event['finish'], $bd_format) : DateTimeFormat::utc($event['finish'], $bd_format) + ); + } else { + $event_end = ''; + } if ($simple) { - $o = "

" . BBCode::convert($event['summary'], false, $simple) . "

"; + if (!empty($event['summary'])) { + $o = "

" . BBCode::convert($event['summary'], false, $simple) . "

"; + } - $o .= "
" . BBCode::convert($event['desc'], false, $simple) . "
"; + if (!empty($event['desc'])) { + $o .= "
" . BBCode::convert($event['desc'], false, $simple) . "
"; + } $o .= "

" . L10n::t('Starts:') . "

" . $event_start . "

"; @@ -56,7 +63,7 @@ class Event extends BaseObject $o .= "

" . L10n::t('Finishes:') . "

" . $event_end . "

"; } - if (strlen($event['location'])) { + if (!empty($event['location'])) { $o .= "

" . L10n::t('Location:') . "

" . BBCode::convert($event['location'], false, $simple) . "

"; } @@ -68,20 +75,22 @@ class Event extends BaseObject $o .= '
' . BBCode::convert($event['summary'], false, $simple) . '
' . "\r\n"; $o .= '
' . L10n::t('Starts:') . ' ' . $event_start . '
' . "\r\n"; if (!$event['nofinish']) { $o .= '
' . L10n::t('Finishes:') . ' ' . $event_end . '
' . "\r\n"; } - $o .= '
' . BBCode::convert($event['desc'], false, $simple) . '
' . "\r\n"; + if (!empty($event['desc'])) { + $o .= '
' . BBCode::convert($event['desc'], false, $simple) . '
' . "\r\n"; + } - if (strlen($event['location'])) { + if (!empty($event['location'])) { $o .= '
' . L10n::t('Location:') . ' ' . BBCode::convert($event['location'], false, $simple) . '
' . "\r\n"; @@ -214,7 +223,7 @@ class Event extends BaseObject return; } - dba::delete('event', ['id' => $event_id]); + DBA::delete('event', ['id' => $event_id]); logger("Deleted event ".$event_id, LOGGER_DEBUG); } @@ -262,17 +271,17 @@ class Event extends BaseObject $conditions['self'] = true; } - $contact = dba::selectFirst('contact', [], $conditions); + $contact = DBA::selectFirst('contact', [], $conditions); // Existing event being modified. if ($event['id']) { // has the event actually changed? - $existing_event = dba::selectFirst('event', ['edited'], ['id' => $event['id'], 'uid' => $event['uid']]); - if (!DBM::is_result($existing_event) || ($existing_event['edited'] === $event['edited'])) { + $existing_event = DBA::selectFirst('event', ['edited'], ['id' => $event['id'], 'uid' => $event['uid']]); + if (!DBA::isResult($existing_event) || ($existing_event['edited'] === $event['edited'])) { $item = Item::selectFirst(['id'], ['event-id' => $event['id'], 'uid' => $event['uid']]); - return DBM::is_result($item) ? $item['id'] : 0; + return DBA::isResult($item) ? $item['id'] : 0; } $updated_fields = [ @@ -287,10 +296,10 @@ class Event extends BaseObject 'nofinish' => $event['nofinish'], ]; - dba::update('event', $updated_fields, ['id' => $event['id'], 'uid' => $event['uid']]); + DBA::update('event', $updated_fields, ['id' => $event['id'], 'uid' => $event['uid']]); $item = Item::selectFirst(['id'], ['event-id' => $event['id'], 'uid' => $event['uid']]); - if (DBM::is_result($item)) { + if (DBA::isResult($item)) { $object = '' . xmlify(ACTIVITY_OBJ_EVENT) . '' . xmlify($event['uri']) . ''; $object .= '' . xmlify(self::getBBCode($event)) . ''; $object .= '' . "\n"; @@ -305,12 +314,12 @@ class Event extends BaseObject Addon::callHooks('event_updated', $event['id']); } else { - $event['guid'] = System::createGUID(32); + $event['guid'] = defaults($arr, 'guid', System::createUUID()); // New event. Store it. - dba::insert('event', $event); + DBA::insert('event', $event); - $event['id'] = dba::lastInsertId(); + $event['id'] = DBA::lastInsertId(); $item_arr = []; @@ -319,7 +328,8 @@ class Event extends BaseObject $item_arr['uri'] = $event['uri']; $item_arr['parent-uri'] = $event['uri']; $item_arr['guid'] = $event['guid']; - $item_arr['type'] = 'activity'; + $item_arr['plink'] = defaults($arr, 'plink', ''); + $item_arr['post-type'] = Item::PT_EVENT; $item_arr['wall'] = $event['cid'] ? 0 : 1; $item_arr['contact-id'] = $contact['id']; $item_arr['owner-name'] = $contact['name']; @@ -471,7 +481,7 @@ class Event extends BaseObject intval($event_id) ); - if (DBM::is_result($r)) { + if (DBA::isResult($r)) { $return = self::removeDuplicates($r); } @@ -512,15 +522,15 @@ class Event extends BaseObject $sql_extra ", intval($owner_uid), intval($event_params["ignore"]), - dbesc($event_params["start"]), - dbesc($event_params["start"]), - dbesc($event_params["finish"]), - dbesc($event_params["adjust_start"]), - dbesc($event_params["adjust_start"]), - dbesc($event_params["adjust_finish"]) + DBA::escape($event_params["start"]), + DBA::escape($event_params["start"]), + DBA::escape($event_params["finish"]), + DBA::escape($event_params["adjust_start"]), + DBA::escape($event_params["adjust_start"]), + DBA::escape($event_params["adjust_finish"]) ); - if (DBM::is_result($r)) { + if (DBA::isResult($r)) { $return = self::removeDuplicates($r); } @@ -541,10 +551,13 @@ class Event extends BaseObject $fmt = L10n::t('l, F j'); foreach ($event_result as $event) { $item = Item::selectFirst(['plink', 'author-name', 'author-avatar', 'author-link'], ['id' => $event['itemid']]); - if (DBM::is_result($item)) { - $event = array_merge($event, $item); + if (!DBA::isResult($item)) { + // Using default values when no item had been found + $item = ['plink' => '', 'author-name' => '', 'author-avatar' => '', 'author-link' => '']; } + $event = array_merge($event, $item); + $start = $event['adjust'] ? DateTimeFormat::local($event['start'], 'c') : DateTimeFormat::utc($event['start'], 'c'); $j = $event['adjust'] ? DateTimeFormat::local($event['start'], 'j') : DateTimeFormat::utc($event['start'], 'j'); $day = $event['adjust'] ? DateTimeFormat::local($event['start'], $fmt) : DateTimeFormat::utc($event['start'], $fmt); @@ -577,6 +590,12 @@ class Event extends BaseObject $title = strip_tags(html_entity_decode($title, ENT_QUOTES, 'UTF-8')); } + $author_link = $event['author-link']; + $plink = $event['plink']; + + $event['author-link'] = Contact::magicLink($author_link); + $event['plink'] = Contact::magicLink($author_link, $plink); + $html = self::getHTML($event); $event['desc'] = BBCode::convert($event['desc']); $event['location'] = BBCode::convert($event['location']); @@ -738,9 +757,9 @@ class Event extends BaseObject $conditions += ['allow_cid' => '', 'allow_gid' => '']; } - $events = dba::select('event', $fields, $conditions); - if (DBM::is_result($events)) { - $return = dba::inArray($events); + $events = DBA::select('event', $fields, $conditions); + if (DBA::isResult($events)) { + $return = DBA::toArray($events); } return $return; @@ -762,8 +781,8 @@ class Event extends BaseObject { $process = false; - $user = dba::selectFirst('user', ['timezone'], ['uid' => $uid]); - if (DBM::is_result($user)) { + $user = DBA::selectFirst('user', ['timezone'], ['uid' => $uid]); + if (DBA::isResult($user)) { $timezone = $user['timezone']; } @@ -865,6 +884,11 @@ class Event extends BaseObject if (substr($dtstart_title, 0, 10) === substr($dtend_title, 0, 10)) { $same_date = true; } + } else { + $dtend_title = ''; + $dtend_dt = ''; + $end_time = ''; + $end_short = ''; } // Format the event location.