]> git.mxchange.org Git - friendica.git/blobdiff - src/Model/Event.php
Rename Friendica\Database\dba to Friendica\Database\DBA
[friendica.git] / src / Model / Event.php
index 9fa55521bea86058271c08c8d51fe8f35c205658..be3c06eeb16d6c382ccd5199782db48bebb55428 100644 (file)
@@ -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\DBA;
 use Friendica\Database\DBM;
-use Friendica\Model\Item;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Map;
 
@@ -214,7 +213,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);
        }
 
@@ -234,7 +233,7 @@ class Event extends BaseObject
                $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_new_uri($a->get_hostname(), $event['uid']));
+               $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'     , '');
@@ -262,15 +261,15 @@ 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 (!DBM::is_result($existing_event) || ($existing_event['edited'] === $event['edited'])) {
 
-                               $item = dba::selectFirst('item', [], ['event-id' => $event['id'], 'uid' => $event['uid']]);
+                               $item = Item::selectFirst(['id'], ['event-id' => $event['id'], 'uid' => $event['uid']]);
 
                                return DBM::is_result($item) ? $item['id'] : 0;
                        }
@@ -287,9 +286,9 @@ class Event extends BaseObject
                                'nofinish' => $event['nofinish'],
                        ];
 
-                       dba::update('event', $updated_fields, ['id' => $event['cid'], 'uid' => $event['uid']]);
+                       DBA::update('event', $updated_fields, ['id' => $event['id'], 'uid' => $event['uid']]);
 
-                       $item = dba::selectFirst('item', ['id'], ['event-id' => $event['id'], 'uid' => $event['uid']]);
+                       $item = Item::selectFirst(['id'], ['event-id' => $event['id'], 'uid' => $event['uid']]);
                        if (DBM::is_result($item)) {
                                $object = '<object><type>' . xmlify(ACTIVITY_OBJ_EVENT) . '</type><title></title><id>' . xmlify($event['uri']) . '</id>';
                                $object .= '<content>' . xmlify(self::getBBCode($event)) . '</content>';
@@ -305,12 +304,12 @@ class Event extends BaseObject
 
                        Addon::callHooks('event_updated', $event['id']);
                } else {
-                       $event['guid'] = get_guid(32);
+                       $event['guid'] = System::createGUID(32);
 
                        // New event. Store it.
-                       dba::insert('event', $event);
+                       DBA::insert('event', $event);
 
-                       $event['id'] = dba::lastInsertId();
+                       $event['id'] = DBA::lastInsertId();
 
                        $item_arr = [];
 
@@ -319,7 +318,7 @@ 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['post-type']     = Item::PT_EVENT;
                        $item_arr['wall']          = $event['cid'] ? 0 : 1;
                        $item_arr['contact-id']    = $contact['id'];
                        $item_arr['owner-name']    = $contact['name'];
@@ -464,8 +463,7 @@ class Event extends BaseObject
                }
 
                // Query for the event by event id
-               $r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink`,
-                               `item`.`author-name`, `item`.`author-avatar`, `item`.`author-link` FROM `event`
+               $r = q("SELECT `event`.*, `item`.`id` AS `itemid` FROM `event`
                        LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid`
                        WHERE `event`.`uid` = %d AND `event`.`id` = %d $sql_extra",
                        intval($owner_uid),
@@ -505,8 +503,7 @@ class Event extends BaseObject
 
                // Query for the event by date.
                // @todo Slow query (518 seconds to run), to be optimzed
-               $r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink`,
-                                       `item`.`author-name`, `item`.`author-avatar`, `item`.`author-link` FROM `event`
+               $r = q("SELECT `event`.*, `item`.`id` AS `itemid` FROM `event`
                                LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid`
                                WHERE `event`.`uid` = %d AND event.ignore = %d
                                AND ((`adjust` = 0 AND (`finish` >= '%s' OR (nofinish AND start >= '%s')) AND `start` <= '%s')
@@ -542,6 +539,11 @@ class Event extends BaseObject
                $last_date = '';
                $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);
+                       }
+
                        $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);
@@ -735,9 +737,9 @@ class Event extends BaseObject
                        $conditions += ['allow_cid' => '', 'allow_gid' => ''];
                }
 
-               $events = dba::select('event', $fields, $conditions);
+               $events = DBA::select('event', $fields, $conditions);
                if (DBM::is_result($events)) {
-                       $return = dba::inArray($events);
+                       $return = DBA::inArray($events);
                }
 
                return $return;
@@ -759,7 +761,7 @@ class Event extends BaseObject
        {
                $process = false;
 
-               $user = dba::selectFirst('user', ['timezone'], ['uid' => $uid]);
+               $user = DBA::selectFirst('user', ['timezone'], ['uid' => $uid]);
                if (DBM::is_result($user)) {
                        $timezone = $user['timezone'];
                }
@@ -803,10 +805,10 @@ class Event extends BaseObject
        /**
         * @brief Format an item array with event data to HTML.
         *
-        * @param arr $item Array with item and event data.
+        * @param array $item Array with item and event data.
         * @return string HTML output.
         */
-       public static function getItemHTML($item) {
+       public static function getItemHTML(array $item) {
                $same_date = false;
                $finish    = false;
 
@@ -868,12 +870,7 @@ class Event extends BaseObject
                $location = self::locationToArray($item['event-location']);
 
                // Construct the profile link (magic-auth).
-               $sp = false;
-               $profile_link = best_link_url($item, $sp);
-
-               if (!$sp) {
-                       $profile_link = Profile::zrl($profile_link);
-               }
+               $profile_link = Contact::magicLinkById($item['author-id']);
 
                $tpl = get_markup_template('event_stream_item.tpl');
                $return = replace_macros($tpl, [