public function checkRules(Pap_Common_Transaction $transaction) { Gpf_Log::debug('Performance reward started'); foreach($this->getRules($transaction->getCampaignId()) as $ruleRecord) { $rule = new Pap_Features_PerformanceRewards_Rule_Transaction($transaction); $rule->fillFromRecord($ruleRecord); try { Gpf_Log::debug('Processing rule ' . $rule->getId() . ': ' . $rule->getAction()); $rule->executeAction(); Gpf_Log::debug('Rule completed'); } catch (Exception $e) { Gpf_Log::error(sprintf('Rule %s failed. Reason: %s', $rule->getId(), $e->getMessage())); } } Gpf_Log::debug('Performance reward ended'); }