public function getMatchingCookies($uri,
$matchSessionCookies = true,
$ret_as = self::COOKIE_OBJECT,
$now = null
) { if (is_string($uri)) $uri = Zend_Uri::
factory($uri);
if (!
$uri instanceof Zend_Uri_Http
) { throw new Zend_Http_Exception("Invalid URI string or object passed"
);
} // First, reduce the array of cookies to only those matching domain and path
$cookies =
$this->
_matchDomain($uri->
getHost());
$cookies =
$this->
_matchPath($cookies,
$uri->
getPath());
$cookies =
$this->
_flattenCookiesArray($cookies, self::COOKIE_OBJECT
);
// Next, run Cookie->match on all cookies to check secure, time and session mathcing
$ret = array
();
foreach ($cookies as $cookie) if ($cookie->
match($uri,
$matchSessionCookies,
$now)) $ret[] =
$cookie;
// Now, use self::_flattenCookiesArray again - only to convert to the return format ;)
$ret =
$this->
_flattenCookiesArray($ret,
$ret_as);