Open Monograph Press  3.3.0
PaymentManager.inc.php
1 <?php
2 
18 abstract class PaymentManager {
20  var $_context;
21 
26  function __construct($context) {
27  $this->_context = $context;
28  }
29 
36  function queuePayment($queuedPayment, $expiryDate = null) {
37  if (!$this->isConfigured()) return false;
38 
39  $queuedPaymentDao = DAORegistry::getDAO('QueuedPaymentDAO'); /* @var $queuedPaymentDao QueuedPaymentDAO */
40  $queuedPaymentId = $queuedPaymentDao->insertObject($queuedPayment, $expiryDate);
41 
42  // Perform periodic cleanup
43  if (time() % 100 == 0) $queuedPaymentDao->deleteExpired();
44 
45  return $queuedPaymentId;
46  }
47 
52  abstract function getPaymentPlugin();
53 
58  function isConfigured() {
59  $paymentPlugin = $this->getPaymentPlugin();
60  if ($paymentPlugin !== null) return $paymentPlugin->isConfigured($this->_context);
61  return false;
62  }
63 
69  function getPaymentForm($queuedPayment) {
70  $paymentPlugin = $this->getPaymentPlugin();
71  if ($paymentPlugin !== null && $paymentPlugin->isConfigured($this->_context)) return $paymentPlugin->getPaymentForm($this->_context, $queuedPayment);
72  return false;
73  }
74 
79  function displayConfigurationForm() {
80  $paymentPlugin = $this->getPaymentPlugin();
81  if ($paymentPlugin !== null && $paymentPlugin->isConfigured($this->_context)) return $paymentPlugin->displayConfigurationForm();
82  return false;
83  }
84 
90  function getQueuedPayment($queuedPaymentId) {
91  $queuedPaymentDao = DAORegistry::getDAO('QueuedPaymentDAO'); /* @var $queuedPaymentDao QueuedPaymentDAO */
92  $queuedPayment = $queuedPaymentDao->getById($queuedPaymentId);
93  return $queuedPayment;
94  }
95 
102  abstract function fulfillQueuedPayment($request, $queuedPayment);
103 }
104 
105 
PaymentManager\fulfillQueuedPayment
fulfillQueuedPayment($request, $queuedPayment)
PaymentManager\getPaymentForm
getPaymentForm($queuedPayment)
Definition: PaymentManager.inc.php:72
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
PaymentManager\getPaymentPlugin
getPaymentPlugin()
PaymentManager\displayConfigurationForm
displayConfigurationForm()
Definition: PaymentManager.inc.php:82
PaymentManager
Provides payment management functions.
Definition: PaymentManager.inc.php:18
PaymentManager\isConfigured
isConfigured()
Definition: PaymentManager.inc.php:61
PaymentManager\getQueuedPayment
getQueuedPayment($queuedPaymentId)
Definition: PaymentManager.inc.php:93
PaymentManager\queuePayment
queuePayment($queuedPayment, $expiryDate=null)
Definition: PaymentManager.inc.php:39
PaymentManager\$_context
$_context
Definition: PaymentManager.inc.php:23
PaymentManager\__construct
__construct($context)
Definition: PaymentManager.inc.php:29