Version 4.3.6
This commit is contained in:
1 parent
fe1acf984a
commit
1a0c7fd3c2
609 files changed
+14707
-5726
No files matched your search
@@ -449,11 +449,20 @@ class _ICSParser
|
||||
|
||||
/* Basics */
|
||||
$newEvent->title = ( isset( $event['summary'] ) AND $event['summary'] ) ? $event['summary'] : mb_substr( strip_tags( $event['description'] ), 0, 100 );
|
||||
$newEvent->content = ( isset( $event['description'] ) AND $event['description'] ) ? nl2br( $event['description'] ) : $event['summary'] . ( isset( $event['location'] ) ? '<br>' . $event['location'] : '' );
|
||||
$content = ( isset( $event['description'] ) AND $event['description'] ) ? nl2br( $event['description'] ) : $event['summary'] . ( isset( $event['location'] ) ? '<br>' . $event['location'] : '' );
|
||||
$newEvent->content = \IPS\Text\Parser::parseStatic( $content, TRUE, NULL, $this->member );
|
||||
$newEvent->sequence = ( isset( $event['sequence'] ) ? intval( $event['sequence'] ) : 0 );
|
||||
|
||||
/* Times and dates */
|
||||
$newEvent->lastupdated = ( isset( $event['last_modified'] ) AND $event['last_modified'] AND $event['last_modified'] < time() ) ? $event['last_modified'] : ( ( isset( $event['created'] ) AND $event['created'] AND $event['created'] < time() ) ? $event['created'] : time() );
|
||||
if( isset( $event['last_modified'] ) AND $event['last_modified'] AND $event['last_modified'] < time() )
|
||||
{
|
||||
$newEvent->lastupdated = $event['last_modified'];
|
||||
}
|
||||
elseif( !$eventId )
|
||||
{
|
||||
$newEvent->lastupdated = ( isset( $event['created'] ) AND $event['created'] AND $event['created'] < time() ) ? $event['created'] : time();
|
||||
}
|
||||
|
||||
$newEvent->all_day = $event_all_day;
|
||||
$newEvent->recurring = ( isset( $event['recurr'] ) ) ? $event['recurr'] : NULL;
|
||||
$newEvent->start_date = $event_unix_from->setTimezone( new \DateTimeZone( 'UTC' ) )->format( 'Y-m-d H:i:s' );
|
||||
@@ -462,11 +471,27 @@ class _ICSParser
|
||||
/* Geolocation? */
|
||||
if( isset( $event['geo'] ) AND is_array( $event['geo'] ) AND count( $event['geo'] ) )
|
||||
{
|
||||
try
|
||||
/* If we are updating an event, don't pull geo data if we already have it and it hasn't changed */
|
||||
$update = TRUE;
|
||||
|
||||
if( $newEvent->location )
|
||||
{
|
||||
$newEvent->location = json_encode( \IPS\GeoLocation::getByLatLong( $event['geo']['lat'], $event['geo']['long'] ) );
|
||||
$existingLocation = json_decode( $newEvent->location, true );
|
||||
|
||||
if( isset( $existingLocation['lat'] ) AND $existingLocation['lat'] == $event['geo']['lat'] AND isset( $existingLocation['long'] ) AND $existingLocation['long'] == $event['geo']['long'] )
|
||||
{
|
||||
$update = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if( $update === TRUE )
|
||||
{
|
||||
try
|
||||
{
|
||||
$newEvent->location = json_encode( \IPS\GeoLocation::getByLatLong( $event['geo']['lat'], $event['geo']['long'] ) );
|
||||
}
|
||||
catch( \BadFunctionCallException $e ){}
|
||||
}
|
||||
catch( \BadFunctionCallException $e ){}
|
||||
}
|
||||
elseif( isset( $event['location'] ) )
|
||||
{
|
||||
@@ -474,10 +499,9 @@ class _ICSParser
|
||||
{
|
||||
$location = new \IPS\GeoLocation;
|
||||
$location->addressLines = array( $event['location'] );
|
||||
$location->getLatLong();
|
||||
$location->getLatLong( TRUE );
|
||||
|
||||
/* We get by LatLong because getLatLong() does not populate the other address data. */
|
||||
$newEvent->location = json_encode( \IPS\GeoLocation::getByLatLong( $location->lat, $location->long ) );
|
||||
$newEvent->location = json_encode( $location );
|
||||
}
|
||||
catch( \BadFunctionCallException $e ){}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user