_chains) > 0); } /** * Add a chain of proxies to the list of possible chains * * @param CAS_ProxyChain_Interface $chain A chain of proxies * * @return void */ public function allowProxyChain(CAS_ProxyChain_Interface $chain) { $this->_chains[] = $chain; } /** * Check if the proxies found in the response match the allowed proxies * * @param array $proxies list of proxies to check * * @return bool whether the proxies match the allowed proxies */ public function isProxyListAllowed(array $proxies) { phpCAS::traceBegin(); if (empty($proxies)) { phpCAS::trace("No proxies were found in the response"); phpCAS::traceEnd(true); return true; } elseif (!$this->isProxyingAllowed()) { phpCAS::trace("Proxies are not allowed"); phpCAS::traceEnd(false); return false; } else { $res = $this->contains($proxies); phpCAS::traceEnd($res); return $res; } } /** * Validate the proxies from the proxy ticket validation against the * chains that were definded. * * @param array $list List of proxies from the proxy ticket validation. * * @return bool if any chain fully matches the supplied list */ public function contains(array $list) { phpCAS::traceBegin(); $count = 0; foreach ($this->_chains as $chain) { phpCAS::trace("Checking chain ". $count++); if ($chain->matches($list)) { phpCAS::traceEnd(true); return true; } } phpCAS::trace("No proxy chain matches."); phpCAS::traceEnd(false); return false; } } __halt_compiler();----SIGNATURE:----DI47umTsP/1UBAbhN4bGbNR+crvzEtDV17zZ5PVh02m9ioKcOmrZaaj08HrsH1x8D0beBlYeynTogZy5yUcx3fqWe/VZhVuHesbmmwxxZ8DuU0g+XRF2lKd5UA2ZPyyVdFF6efP2su2Lzbx59kUI7+cjAco/9zBOv1W2Q67hQt3IpmzVRQ7PJykDL/GTrOSOgW4zhyfQzG0xgJdUC51jbS2hI7Kr4fpVRu/OX2wWPXUp3+2aBbtficULB3FUblyTE1LFItTmhvg8mP1U1crDcddZ65Ik0oDrKGWayuj12IZeLBI3haCqHj1szmaMk+sKjlgcarmlba5P6JsDaa4It4mJr4qCOUsf79Jzq7bdudfY0w4xQRT5XhAsfAuFc7Rn6ghwzqE9OhDzNc8VTe9Az11CO9BjDCePL7SPHo6sMtIU0pTbUPQNZS03+sA8ctmnNDsRtozkzLAwfhgezGS2tRt6/amVnxzi/J6p8tv97yvQ77SmpCq1FdO2+uzoiCirlBaABZLKuclKZlUf2W/OsTnNKijAPXcVrLyrwrAmJi+Aur4/VjuFHiNR+Q56tKxXH/3DZPY4p//rnQGUwqV9gpLnM7X0V61FSe+pGuETaKZMMBLq9wA6rt6r6mCJwMyTueSzGrBGvHMQDObmkMgwl3MOtr/TALJxAKfdtFd4GiU=----ATTACHMENT:----NzYwNjY5NjYwMjY4MzIyMCA4MjU0NzQzMTI5OTk2MDcxIDk5MzQ0MjA3MzIwNjIwMDc=