/**
  * get shared calendars of user
  *
  * @access public
  * @param int user id
  * @return array shared calendar info
  * @static
  */
 public static function getSharedCalendarsForUser($a_usr_id = 0)
 {
     global $ilDB, $ilUser, $rbacreview;
     if (!$a_usr_id) {
         $a_usr_id = $ilUser->getId();
     }
     $query = "SELECT * FROM cal_shared " . "WHERE obj_type = " . $ilDB->quote(self::TYPE_USR, 'integer') . " " . "AND obj_id = " . $ilDB->quote($a_usr_id, 'integer') . " " . "ORDER BY create_date";
     $res = $ilDB->query($query);
     $calendars = array();
     while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) {
         $calendars[] = $row->cal_id;
         $shared[$row->cal_id]['cal_id'] = $row->cal_id;
         $shared[$row->cal_id]['create_date'] = $row->create_date;
         $shared[$row->cal_id]['obj_type'] = $row->obj_type;
     }
     $assigned_roles = $rbacreview->assignedRoles($ilUser->getId());
     $query = "SELECT * FROM cal_shared " . "WHERE obj_type = " . $ilDB->quote(self::TYPE_ROLE, 'integer') . " " . "AND " . $ilDB->in('obj_id', $assigned_roles, false, 'integer');
     $res = $ilDB->query($query);
     while ($row = $res->fetchRow(DB_FETCHMODE_OBJECT)) {
         if (in_array($row->cal_id, $calendars)) {
             continue;
         }
         if (ilCalendarCategories::_isOwner($ilUser->getId(), $row->cal_id)) {
             continue;
         }
         $shared[$row->cal_id]['cal_id'] = $row->cal_id;
         $shared[$row->cal_id]['create_date'] = $row->create_date;
         $shared[$row->cal_id]['obj_type'] = $row->obj_type;
     }
     return $shared ? $shared : array();
     // TODO: return also role calendars
 }