<?php defined('SYSPATH') or die('No direct access allowed.'); /** * This class provides CHECKOUT Plugin Support * * @package Checkout * @category Plugins * @author Deon George * @copyright (c) 2009-2013 Open Source Billing * @license http://dev.osbill.net/license.html * * @todo Does this need to be Serializable? */ abstract class Checkout_Plugin implements Serializable { protected $co; // Our Checkout Object protected $_object; // Our required abstract classes public function serialize() { return (string)$this->_object; } public function unserialize($s) { $this->_object = XML::factory(NULL,NULL,$s); } // Required abstract classes // Present pre-plugin processing information abstract public function before(Cart $co); abstract public function notify(Model_Checkout_Notify $cno); public function __construct(Model_Checkout $co) { $this->co = $co; } } ?>