예제 #1
0
 /**
  * Creates a public calendar for a container
  *
  * @param ElggEntity $container User or group
  * @return Calendar
  */
 public static function createPublicCalendar($container)
 {
     if (!$container instanceof ElggEntity) {
         return false;
     }
     try {
         $calendar = new Calendar();
         $calendar->access_id = ACCESS_PUBLIC;
         $calendar->owner_guid = $container->guid;
         $calendar->container_guid = $container->guid;
         $calendar->__public_calendar = true;
         // flag we can use to manipulate permissions
         $ia = elgg_set_ignore_access(true);
         $calendar->save();
         elgg_set_ignore_access($ia);
         elgg_log("Created public calendar for {$container->name} [{$container->guid}]", 'NOTICE');
     } catch (Exception $ex) {
         elgg_log($ex->getMessage(), 'ERROR');
     }
     return $calendar;
 }