]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Event.php
get markup template
[friendica.git] / src / Model / Event.php
index da386a77b7dbd39540d9fe11916f19f878a48775..ee61149de5b300d6b365b164d91764406ad76ef3 100644 (file)
@@ -9,9 +9,12 @@ use Friendica\BaseObject;
 use Friendica\Content\Text\BBCode;
 use Friendica\Core\Addon;
 use Friendica\Core\L10n;
+use Friendica\Core\Logger;
 use Friendica\Core\PConfig;
+use Friendica\Core\Renderer;
 use Friendica\Core\System;
 use Friendica\Database\DBA;
+use Friendica\Model\Contact;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Map;
 
@@ -48,9 +51,13 @@ class Event extends BaseObject
                }
 
                if ($simple) {
-                       $o = "<h3>" . BBCode::convert($event['summary'], false, $simple) . "</h3>";
+                       if (!empty($event['summary'])) {
+                               $o = "<h3>" . BBCode::convert($event['summary'], false, $simple) . "</h3>";
+                       }
 
-                       $o .= "<div>" . BBCode::convert($event['desc'], false, $simple) . "</div>";
+                       if (!empty($event['desc'])) {
+                               $o .= "<div>" . BBCode::convert($event['desc'], false, $simple) . "</div>";
+                       }
 
                        $o .= "<h4>" . L10n::t('Starts:') . "</h4><p>" . $event_start . "</p>";
 
@@ -58,7 +65,7 @@ class Event extends BaseObject
                                $o .= "<h4>" . L10n::t('Finishes:') . "</h4><p>" . $event_end . "</p>";
                        }
 
-                       if (strlen($event['location'])) {
+                       if (!empty($event['location'])) {
                                $o .= "<h4>" . L10n::t('Location:') . "</h4><p>" . BBCode::convert($event['location'], false, $simple) . "</p>";
                        }
 
@@ -76,14 +83,16 @@ class Event extends BaseObject
 
                if (!$event['nofinish']) {
                        $o .= '<div class="event-end" ><span class="event-label">' . L10n::t('Finishes:') . '</span>&nbsp;<span class="dtend" title="'
-                               . DateTimeFormat::utc($event['finish'], (($event['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s'))
+                               . DateTimeFormat::utc($event['finish'], (!empty($event['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s'))
                                . '" >' . $event_end
                                . '</span></div>' . "\r\n";
                }
 
-               $o .= '<div class="description event-description">' . BBCode::convert($event['desc'], false, $simple) . '</div>' . "\r\n";
+               if (!empty($event['desc'])) {
+                       $o .= '<div class="description event-description">' . BBCode::convert($event['desc'], false, $simple) . '</div>' . "\r\n";
+               }
 
-               if (strlen($event['location'])) {
+               if (!empty($event['location'])) {
                        $o .= '<div class="event-location"><span class="event-label">' . L10n::t('Location:') . '</span>&nbsp;<span class="location">'
                                . BBCode::convert($event['location'], false, $simple)
                                . '</span></div>' . "\r\n";
@@ -217,7 +226,7 @@ class Event extends BaseObject
                }
 
                DBA::delete('event', ['id' => $event_id]);
-               logger("Deleted event ".$event_id, LOGGER_DEBUG);
+               Logger::log("Deleted event ".$event_id, Logger::DEBUG);
        }
 
        /**
@@ -250,10 +259,10 @@ class Event extends BaseObject
 
                $event['created']   = DateTimeFormat::utc(defaults($arr, 'created'  , 'now'));
                $event['edited']    = DateTimeFormat::utc(defaults($arr, 'edited'   , 'now'));
-               $event['start']     = DateTimeFormat::utc(defaults($arr, 'start'    , NULL_DATE));
-               $event['finish']    = DateTimeFormat::utc(defaults($arr, 'finish'   , NULL_DATE));
-               if ($event['finish'] < NULL_DATE) {
-                       $event['finish'] = NULL_DATE;
+               $event['start']     = DateTimeFormat::utc(defaults($arr, 'start'    , DBA::NULL_DATETIME));
+               $event['finish']    = DateTimeFormat::utc(defaults($arr, 'finish'   , DBA::NULL_DATETIME));
+               if ($event['finish'] < DBA::NULL_DATETIME) {
+                       $event['finish'] = DBA::NULL_DATETIME;
                }
                $private = intval(defaults($arr, 'private', 0));
 
@@ -307,7 +316,7 @@ 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);
@@ -321,6 +330,7 @@ class Event extends BaseObject
                        $item_arr['uri']           = $event['uri'];
                        $item_arr['parent-uri']    = $event['uri'];
                        $item_arr['guid']          = $event['guid'];
+                       $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'];
@@ -543,10 +553,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 (DBA::isResult($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);
@@ -579,6 +592,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']);
@@ -880,8 +899,8 @@ class Event extends BaseObject
                // Construct the profile link (magic-auth).
                $profile_link = Contact::magicLinkById($item['author-id']);
 
-               $tpl = get_markup_template('event_stream_item.tpl');
-               $return = replace_macros($tpl, [
+               $tpl = Renderer::getMarkupTemplate('event_stream_item.tpl');
+               $return = Renderer::replaceMacros($tpl, [
                        '$id'             => $item['event-id'],
                        '$title'          => prepare_text($item['event-summary']),
                        '$dtstart_label'  => L10n::t('Starts:'),