/** * Safe method of checking if a rule is a points rule. * @param TBT_Rewards_Model_Salesrule_Rule|TBT_Rewards_Model_Catalogrule_Rule|Mage_CatalogRule_Model_Rule|Mage_SalesRule_Model_Rule $rule */ public function isPointsRule($rule) { if ($rule instanceof TBT_Rewards_Model_Salesrule_Rule || $rule instanceof TBT_Rewards_Model_Catalogrule_Rule) { return $rule->isPointsRule(); } if ($rule instanceof Mage_CatalogRule_Model_Rule) { $rule = Mage::helper('rewards/rule')->getCatalogrule($rule->getId()); return $rule->isPointsRule(); } if ($rule instanceof Mage_SalesRule_Model_Rule) { $rule = Mage::helper('rewards/rule')->getSalesRule($rule->getId()); return $rule->isPointsRule(); } Mage::logException(new Exception("Reached Helper_Rule::isPointsRule() with parameter that is not a catalog rule or cart or catalog rule.")); }