public function checkPointsProbation($observer) { // get collection of all Pending-Time transfers $transfers = Mage::getModel('rewards/transfer')->getCollection()->addFilter('status', TBT_Rewards_Model_Transfer_Status::STATUS_PENDING_TIME); foreach ($transfers as $transfer) { // check each transfer if it is time to vest if (time() >= strtotime($transfer->getEffectiveStart())) { // ask dependent modules if it is safe to vest the transfer (default to yes) $result = new Varien_Object(array('is_safe_to_approve' => true)); Mage::dispatchEvent('rewards_transfer_vestation', array('transfer' => $transfer, 'result' => $result)); // approve or cancel transfer, based on dependent modules' feedback if ($result->getIsSafeToApprove()) { $transfer->setStatus($transfer->getStatus(), TBT_Rewards_Model_Transfer_Status::STATUS_APPROVED)->save(); } else { $transfer->setStatus($transfer->getStatus(), TBT_Rewards_Model_Transfer_Status::STATUS_CANCELLED)->save(); } } } return $this; }