agreementsProviders = (array) $list; } /** * Validate that all required agreements is signed * * @param int[] $agreementIds * @return bool */ public function isValid($agreementIds = []) { $agreementIds = $agreementIds === null ? [] : $agreementIds; $requiredAgreements = []; foreach ($this->agreementsProviders as $agreementsProvider) { $requiredAgreements = array_merge($requiredAgreements, $agreementsProvider->getRequiredAgreementIds()); } $agreementsDiff = array_diff($requiredAgreements, $agreementIds); return empty($agreementsDiff); } }