public static function set_location(array $location) { if (!isset($location['latitude']) || !isset($location['longitude'])) { throw new InvalidArgumentException('No coordinates provided'); } if (midcom::get('auth')->user) { // Set to user's location log return org_routamc_positioning_user::set_location_for_person($location, midcom::get('auth')->user->get_storage()); } // Set to session $session = new midcom_services_session(); return $session->set('org_routamc_positioning_user_location', $location); }