X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FEvent.php;h=e65e61ee58367a4e3e6005217a36a5a29af1b860;hb=13ae3436b66665a42ad8c7519afcc95a6cce3957;hp=2626f64496dd136ef0b291abd4085e0e1be97e09;hpb=bc12ba68cdad4ba3817f72047b12bd9bf9be3b57;p=friendica.git diff --git a/src/Model/Event.php b/src/Model/Event.php index 2626f64496..e65e61ee58 100644 --- a/src/Model/Event.php +++ b/src/Model/Event.php @@ -255,12 +255,14 @@ class Event extends BaseObject } $private = intval(defaults($arr, 'private', 0)); - $condition = ['uid' => $event['uid']]; + $conditions = ['uid' => $event['uid']]; if ($event['cid']) { - $condition['id'] = $event['cid']; + $conditions['id'] = $event['cid']; + } else { + $conditions['self'] = true; } - $contact = dba::selectFirst('contact', [], ['id' => $event['cid'], 'uid' => $event['uid']]); + $contact = dba::selectFirst('contact', [], $conditions); // Existing event being modified. if ($event['id']) { @@ -285,7 +287,7 @@ 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']]); if (DBM::is_result($item)) { @@ -502,6 +504,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` LEFT JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid` @@ -734,7 +737,7 @@ class Event extends BaseObject $events = dba::select('event', $fields, $conditions); if (DBM::is_result($events)) { - $return = $events; + $return = dba::inArray($events); } return $return;