public function getEntitlementsForPrincipalToService(Principal $p, Service $s) { $user = sfContext::getInstance()->getUser(); $eids = array(); $rps = Doctrine::getTable('RolePrincipal')->findByPrincipalId($p->getId()); foreach ($rps as $rp) { $res = Doctrine::getTable('RoleEntitlement')->findByRoleId($rp->getRoleId()); foreach ($res as $re) { $eids[] = $re->getEntitlementId(); } } $ueids = array_unique($eids); foreach ($ueids as $ueid) { $e = Doctrine::getTable('Entitlement')->find($ueid); // $tmp .= $e->getName()." ".$e->getService()." ".$s->getName()."<br>"; if ($s->isValidated()) { if ($e->getServiceId() == $s->getId()) { $es[] = $e; } } } if (isset($es)) { return $es; } else { //var_dump(array($tmp));exit; return NULL; } }