X-Git-Url: https://git.rapsys.eu/airbundle/blobdiff_plain/4f1511980043fca288c364b794e540af1c54f95e..24000a012dc38237f7e5bf7f37bcd15fef519e1a:/Command/CalendarCommand.php?ds=sidebyside
diff --git a/Command/CalendarCommand.php b/Command/CalendarCommand.php
index 25c45ca..3951bb9 100644
--- a/Command/CalendarCommand.php
+++ b/Command/CalendarCommand.php
@@ -108,7 +108,7 @@ class CalendarCommand extends Command {
 		//Retrieve cache object
 		//XXX: by default stored in /tmp/symfony-cache/@/W/3/6SEhFfeIW4UMDlAII+Dg
 		//XXX: stored in %kernel.project_dir%/var/cache/airlibre/0/P/IA20X0K4dkMd9-+Ohp9Q
-		$cache = new FilesystemAdapter($this->config['cache']['namespace'], $this->config['cache']['lifetime'], $this->config['cache']['directory']);
+		$cache = new FilesystemAdapter($this->config['cache']['namespace'], $this->config['cache']['lifetime'], $this->config['path']['cache']);
 
 		//Retrieve calendars
 		$cacheCalendars = $cache->getItem('calendars');
@@ -147,10 +147,7 @@ class CalendarCommand extends Command {
 				//With expired token
 				if ($exp = $googleClient->isAccessTokenExpired()) {
 					//Refresh token
-					if ($googleClient->getRefreshToken()) {
-						//Retrieve refreshed token
-						$googleToken = $googleClient->fetchAccessTokenWithRefreshToken($googleClient->getRefreshToken());
-
+					if (($refreshToken = $googleClient->getRefreshToken()) && ($googleToken = $googleClient->fetchAccessTokenWithRefreshToken($refreshToken)) && empty($googleToken['error'])) {
 						//Add refreshed token
 						$calendars[$clientId]['tokens'][$googleToken['access_token']] = [
 							'calendar' => $token['calendar'],
@@ -174,6 +171,12 @@ class CalendarCommand extends Command {
 							unset($calendars[$clientId]);
 						}
 
+						//Save calendars
+						$cacheCalendars->set($calendars);
+
+						//Save calendar
+						$cache->save($cacheCalendars);
+
 						//Drop token and report
 						echo 'Token '.$tokenId.' for calendar '.$token['calendar'].' has expired and is not refreshable'."\n";
 
@@ -289,38 +292,37 @@ class CalendarCommand extends Command {
 					];
 
 					//Init description
-					#$description = '
- Description
- '.$markdown->convert(strip_tags(str_replace(["\r", "\n\n"], ['', "\n"], $session['p_description']))).'
';
-					$description = '- Description
- '.$markdown->convert(strip_tags($session['p_description'])).'
';
+					$description = 'Description :'."\n".strip_tags(preg_replace('!([^<]+)!', '\1', $markdown->convert(strip_tags($session['p_description']))));
+					$shared['description'] = $markdown->convert(strip_tags($session['p_description']));
 
 					//Add class when available
 					if (!empty($session['p_class'])) {
 						$shared['class'] = $session['p_class'];
-						#$description .= '- Classe
- '.$markdown->convert(strip_tags(str_replace(["\r", "\n\n"], ['', "\n"], $session['p_class']))).'
';
-						$description .= '- Classe
- '.$session['p_class'].' 
';
+						$description .= "\n\n".'Classe :'."\n".$session['p_class'];
 					}
 
 					//Add contact when available
 					if (!empty($session['p_contact'])) {
 						$shared['contact'] = $session['p_contact'];
-						$description .= '- Contacter
- '.$session['p_contact'].' 
';
+						$description .= "\n\n".'Contact :'."\n".$session['p_contact'];
 					}
 
 					//Add donate when available
 					if (!empty($session['p_donate'])) {
 						$shared['donate'] = $session['p_donate'];
-						$description .= '- Contribuer
- '.$session['p_donate'].' 
';
+						$description .= "\n\n".'Contribuer :'."\n".$session['p_donate'];
 					}
 
 					//Add link when available
 					if (!empty($session['p_link'])) {
 						$shared['link'] = $session['p_link'];
-						$description .= '- Site
- '.$session['p_link'].' 
';
+						$description .= "\n\n".'Site :'."\n".$session['p_link'];
 					}
 
 					//Add profile when available
 					if (!empty($session['p_profile'])) {
 						$shared['profile'] = $session['p_profile'];
-						$description .= '- Réseau social
- '.$session['p_profile'].' 
';
+						$description .= "\n\n".'Réseau social :'."\n".$session['p_profile'];
 					}
 
 					//Locked session
@@ -388,8 +390,7 @@ class CalendarCommand extends Command {
 						$event = $events[$sessionId];
 
 						//With updated event
-						#if ($session['updated'] >= (new \DateTime($event->getUpdated()))) {
-						{
+						if ($session['updated'] >= (new \DateTime($event->getUpdated()))) {
 							//Set summary
 							$event->setSummary($session['au_pseudonym'].' '.$this->translator->trans('at '.$session['l_short']));
 
@@ -436,7 +437,7 @@ class CalendarCommand extends Command {
 							$end->setDateTime($session['stop']->format(\DateTime::ISO8601));
 
 							try {
-								//Insert the event
+								//Update the event
 								$updatedEvent = $googleCalendar->events->update($token['calendar'], $event->getId(), $event);
 							//Catch exception
 							} catch(\Google\Service\Exception $e) {