X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fevent.php;h=785558beddadb994425be575867243a66a903ac8;hb=66482c1d9c35942f6b09a076d19f335d4afbfa0d;hp=6c0e2bdec6e68608a5d8267200cb75ea6289f8e6;hpb=126c4774c330d9c9c9038312198c57fb653682df;p=friendica.git diff --git a/include/event.php b/include/event.php index 6c0e2bdec6..785558bedd 100644 --- a/include/event.php +++ b/include/event.php @@ -246,6 +246,7 @@ function event_store($arr) { $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['cid']) $c = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", @@ -271,7 +272,7 @@ function event_store($arr) { intval($arr['id']), intval($arr['uid']) ); - if((! count($r)) || ($r[0]['edited'] === $arr['edited'])) { + if((! dbm::is_result($r)) || ($r[0]['edited'] === $arr['edited'])) { // Nothing has changed. Grab the item id to return. @@ -279,7 +280,7 @@ function event_store($arr) { intval($arr['id']), intval($arr['uid']) ); - return((count($r)) ? $r[0]['id'] : 0); + return((dbm::is_result($r)) ? $r[0]['id'] : 0); } // The event changed. Update it. @@ -312,7 +313,7 @@ function event_store($arr) { intval($arr['id']), intval($arr['uid']) ); - if(count($r)) { + if (dbm::is_result($r)) { $object = '' . xmlify(ACTIVITY_OBJ_EVENT) . '' . xmlify($arr['uri']) . ''; $object .= '' . xmlify(format_event_bbcode($arr)) . ''; $object .= '' . "\n"; @@ -333,16 +334,16 @@ function event_store($arr) { call_hooks("event_updated", $arr['id']); return $item_id; - } - else { + } else { // New event. Store it. - $r = q("INSERT INTO `event` ( `uid`,`cid`,`uri`,`created`,`edited`,`start`,`finish`,`summary`, `desc`,`location`,`type`, + $r = q("INSERT INTO `event` (`uid`,`cid`,`guid`,`uri`,`created`,`edited`,`start`,`finish`,`summary`, `desc`,`location`,`type`, `adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`) - VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ", + VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ", intval($arr['uid']), intval($arr['cid']), + dbesc($arr['guid']), dbesc($arr['uri']), dbesc($arr['created']), dbesc($arr['edited']), @@ -365,7 +366,7 @@ function event_store($arr) { dbesc($arr['uri']), intval($arr['uid']) ); - if(count($r)) + if (dbm::is_result($r)) $event = $r[0]; $item_arr = array(); @@ -407,8 +408,8 @@ function event_store($arr) { $r = q("SELECT * FROM `user` WHERE `uid` = %d LIMIT 1", intval($arr['uid']) ); - //if(count($r)) - // $plink = $a->get_baseurl() . '/display/' . $r[0]['nickname'] . '/' . $item_id; + //if (dbm::is_result($r)) + // $plink = App::get_baseurl() . '/display/' . $r[0]['nickname'] . '/' . $item_id; if($item_id) { @@ -494,7 +495,7 @@ function get_event_strings() { /** * @brief Get an event by its event ID - * + * * @param type $owner_uid The User ID of the owner of the event * @param type $event_params An assoziative array with * int 'event_id' => The ID of the event in the event table @@ -509,28 +510,28 @@ function event_by_id($owner_uid = 0, $event_params, $sql_extra = '') { // 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` - STRAIGHT_JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid` + 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), intval($event_params["event_id"]) ); - if(count($r)) + if (dbm::is_result($r)) return $r; } /** * @brief Get all events in a specific timeframe - * + * * @param int $owner_uid The User ID of the owner of the events * @param array $event_params An assoziative array with - * int 'ignored' => + * int 'ignored' => * string 'start' => Start time of the timeframe * string 'finish' => Finish time of the timeframe - * string 'adjust_start' => * string 'adjust_start' => - * + * string 'adjust_start' => + * * @param string $sql_extra Additional sql conditions (e.g. permission request) * @return array Query results */ @@ -542,7 +543,7 @@ function events_by_date($owner_uid = 0, $event_params, $sql_extra = '') { // query for the event by date $r = q("SELECT `event`.*, `item`.`id` AS `itemid`,`item`.`plink`, `item`.`author-name`, `item`.`author-avatar`, `item`.`author-link` FROM `event` - STRAIGHT_JOIN `item` ON `item`.`event-id` = `event`.`id` AND `item`.`uid` = `event`.`uid` + 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') OR (`adjust` = 1 AND (`finish` >= '%s' OR (nofinish AND start >= '%s')) AND `start` <= '%s')) @@ -557,13 +558,13 @@ function events_by_date($owner_uid = 0, $event_params, $sql_extra = '') { dbesc($event_params["adjust_finish"]) ); - if(count($r)) + if (dbm::is_result($r)) return $r; } /** * @brief Convert an array query results in an arry which could be used by the events template - * + * * @param array $arr Event query array * @return array Event array for the template */ @@ -622,11 +623,11 @@ function process_events ($arr) { /** * @brief Format event to export format (ical/csv) - * + * * @param array $events Query result for events * @param string $format The output format (ical/csv) * @param string $timezone The timezone of the user (not implemented yet) - * + * * @return string Content according to selected export format */ function event_format_export ($events, $format = 'ical', $timezone) { @@ -640,7 +641,7 @@ function event_format_export ($events, $format = 'ical', $timezone) { $o = '"Subject", "Start Date", "Start Time", "Description", "End Date", "End Time", "Location"' . PHP_EOL; foreach ($events as $event) { - /// @todo the time / date entries don't include any information about the + /// @todo the time / date entries don't include any information about the // timezone the event is scheduled in :-/ $tmp1 = strtotime($event['start']); $tmp2 = strtotime($event['finish']); @@ -649,7 +650,7 @@ function event_format_export ($events, $format = 'ical', $timezone) { $o .= '"'.$event['summary'].'", "'.strftime($date_format, $tmp1) . '", "'.strftime($time_format, $tmp1).'", "'.$event['desc'] . '", "'.strftime($date_format, $tmp2) . - '", "'.strftime($time_format, $tmp2) . + '", "'.strftime($time_format, $tmp2) . '", "'.$event['location'].'"' . PHP_EOL; } break; @@ -671,7 +672,7 @@ function event_format_export ($events, $format = 'ical', $timezone) { foreach ($events as $event) { if ($event['adjust'] == 1) { $UTC = 'Z'; - } else { + } else { $UTC = ''; } $o .= 'BEGIN:VEVENT' . PHP_EOL; @@ -715,16 +716,16 @@ function event_format_export ($events, $format = 'ical', $timezone) { /** * @brief Get all events for a user ID - * + * * The query for events is done permission sensitive * If the user is the owner of the calendar he/she * will get all of his/her available events. * If the user is only a visitor only the public events will * be available - * + * * @param int $uid The user ID * @param int $sql_extra Additional sql conditions for permission - * + * * @return array Query results */ function events_by_uid($uid = 0, $sql_extra = '') { @@ -735,8 +736,8 @@ function events_by_uid($uid = 0, $sql_extra = '') { if($sql_extra == '') $sql_extra = " AND `allow_cid` = '' AND `allow_gid` = '' "; - // does the user who requests happen to be the owner of the events - // requested? then show all of your events, otherwise only those that + // does the user who requests happen to be the owner of the events + // requested? then show all of your events, otherwise only those that // don't have limitations set in allow_cid and allow_gid if (local_user() == $uid) { $r = q("SELECT `start`, `finish`, `adjust`, `summary`, `desc`, `location`, `nofinish` @@ -750,12 +751,12 @@ function events_by_uid($uid = 0, $sql_extra = '') { ); } - if(count($r)) + if (dbm::is_result($r)) return $r; } /** - * + * * @param int $uid The user ID * @param string $format Output format (ical/csv) * @return array With the results @@ -763,7 +764,7 @@ function events_by_uid($uid = 0, $sql_extra = '') { * string 'format' => The output format * string 'extension' => The file extension of the output format * string 'content' => The formatted output content - * + * * @todo Respect authenticated users with events_by_uid() */ function event_export($uid, $format = 'ical') { @@ -773,7 +774,7 @@ function event_export($uid, $format = 'ical') { // we are allowed to show events // get the timezone the user is in $r = q("SELECT `timezone` FROM `user` WHERE `uid` = %d LIMIT 1", intval($uid)); - if (count($r)) + if (dbm::is_result($r)) $timezone = $r[0]['timezone']; // get all events which are owned by a uid (respects permissions); @@ -814,7 +815,7 @@ function event_export($uid, $format = 'ical') { /** * @brief Get the events widget - * + * * @return string Formated html of the evens widget */ function widget_events() { @@ -834,11 +835,11 @@ function widget_events() { // Cal logged in user (test permission at foreign profile page) // If the $owner uid is available we know it is part of one of the profile pages (like /cal) - // So we have to test if if it's the own profile page of the logged in user + // So we have to test if if it's the own profile page of the logged in user // or a foreign one. For foreign profile pages we need to check if the feature // for exporting the cal is enabled (otherwise the widget would appear for logged in users // on foreigen profile pages even if the widget is disabled) - if(intval($owner_uid) && local_user() !== $owner_uid && ! feature_enabled($owner_uid, "export_calendar")) + if(intval($owner_uid) && local_user() !== $owner_uid && ! feature_enabled($owner_uid, "export_calendar")) return; // If it's a kind of profile page (intval($owner_uid)) return if the user not logged in and