本文整理汇总了PHP中Payment::init方法的典型用法代码示例。如果您正苦于以下问题:PHP Payment::init方法的具体用法?PHP Payment::init怎么用?PHP Payment::init使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Payment
的用法示例。
在下文中一共展示了Payment::init方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
public function init()
{
parent::init();
$this->j_payment->hasOne('transfer_document_id', new self());
// only used to create / destroy trasfer legs
if (!$this->detached) {
$this->addCondition('transfer_document_id', 'not', null);
}
$this->addField('destination_account_id', ['never_persist' => true]);
$this->addHook('beforeSave', function ($m) {
// only for new records and when destination_account_id is set
if ($m['destination_account_id'] && !$m->id) {
/**/
// In this section we test if "clone" works ok
$this->other_leg_creation = $m2 = clone $m;
$m2['account_id'] = $m2['destination_account_id'];
$m2['amount'] = -$m2['amount'];
unset($m2['destination_account_id']);
/*/
// If clone is not working, then this is a current work-around
$this->other_leg_creation = $m2 = new Transfer($this->persistence);
$m2->set($m->get());
$m2->unset('destination_account_id');
$m2['account_id'] = $m['destination_account_id'];
$m2['amount'] = -$m2['amount']; // neagtive amount
// **/
$m2->reload_after_save = false;
// avoid check
$m['transfer_document_id'] = $m2->save()->id;
}
});
$this->addHook('afterSave', function ($m) {
if ($m->other_leg_creation) {
$m->other_leg_creation->set('transfer_document_id', $m->id)->save();
}
$m->other_leg_creation = null;
});
}
示例2: display
public function display()
{
if (isset($_POST['next'])) {
unset($_POST['next']);
// To prevent unwarranted use of browser back button.
if (!isset($_SESSION['payAccountID'])) {
header('Location: New-Bill-Payment');
}
// Process on submission of password.
if (isset($_POST['password'])) {
$validate = new Validation();
// Validate the password.
try {
$validate->password($_POST['password']);
} catch (ValidationException $e) {
$_SESSION['error'] = $e->getError();
}
if (isset($_SESSION['error'])) {
unset($_POST['password']);
header('Location: Bill-Payment-Amount');
} else {
$user = new Users();
$user->userID = $_SESSION['userID'];
$user->password = $_POST['password'];
unset($_POST['password']);
// Check for a password match.
try {
$user->confirmPassword();
} catch (ValidationException $e) {
$_SESSION['error'] = $e->getError();
}
if (isset($_SESSION['error'])) {
header('Location: Bill-Payment-Amount');
} else {
// Process the payment.
$account = new Account();
$account->accountID = $_SESSION['payAccountID'];
if ($account->processPayment()) {
// Display the Acknowledgement Page.
$paymentack = new Paymentack();
$paymentack->init();
include 'view/layout/paymentack.php';
unset($_SESSION['payCreated']);
unset($_SESSION['payDate']);
unset($_SESSION['payAccountID']);
unset($_SESSION['payAmount']);
unset($_SESSION['payStatus']);
unset($_SESSION['payConf']);
unset($_SESSION['payAccount']);
unset($_SESSION['payBillerCode']);
unset($_SESSION['payBillerName']);
unset($_SESSION['payBillerNickname']);
unset($_SESSION['payCustomerRef']);
} else {
// Display the Payment Confirmation Page.
$paymentconf = new Paymentconf();
$paymentconf->init();
include 'view/layout/paymentconf.php';
}
}
}
}
// Cancel the Payment
} else {
if (isset($_POST['cancel'])) {
unset($_POST['cancel']);
$payment = new Payment();
$payment->cancelSessions();
// Return to the Payment Page.
$payment->init();
include 'view/layout/payment.php';
} else {
// For any other reason, return to the Payment page.
$payment = new Payment();
$payment->init();
include 'view/layout/payment.php';
}
}
}
示例3: display
public function display()
{
$validate = new Validation();
// Add a Biller if a request is submitted.
if (isset($_POST['addBiller'])) {
$biller = new Billers();
$biller->userID = $_SESSION['userID'];
if (isset($_POST['addBillerName'])) {
// Validate the biller name.
try {
$validate->billerName($_POST['addBillerName']);
} catch (ValidationException $e) {
$_SESSION['error'] = $e->getError();
}
if (isset($_SESSION['error'])) {
unset($_POST['addBillerName']);
header('Location: Biller-Add');
} else {
$biller->billerName = strtoupper($_POST['addBillerName']);
unset($_POST['addBillerName']);
// Validate the nickname.
try {
$validate->billerNickname($_POST['addBillerNickname']);
} catch (ValidationException $e) {
$_SESSION['error'] = $e->getError();
}
if (isset($_SESSION['error'])) {
unset($_POST['addBillerNickname']);
header('Location: Biller-Add');
} else {
$biller->billerNickname = strtoupper($_POST['addBillerNickname']);
unset($_POST['addBillerNickname']);
// Validate the biller code.
try {
$validate->billerCode($_POST['addBillerCode']);
} catch (ValidationException $e) {
$_SESSION['error'] = $e->getError();
}
if (isset($_SESSION['error'])) {
unset($_POST['addBillerCode']);
header('Location: Biller-Add');
} else {
$biller->billerCode = $_POST['addBillerCode'];
unset($_POST['addBillerCode']);
// Validate the customer reference.
try {
$validate->billerCustomerRef($_POST['addBillerCustomerRefNumber']);
} catch (ValidationException $e) {
$_SESSION['error'] = $e->getError();
}
if (isset($_SESSION['error'])) {
unset($_POST['addBillerCustomerRefNumber']);
header('Location: Biller-Add');
} else {
// If all is ok, add the biller.
$biller->customerReference = $_POST['addBillerCustomerRefNumber'];
unset($_POST['addBillerCustomerRefNumber']);
$biller->set();
}
}
}
}
}
}
// Display the New Bill Payment Page.
$payment = new Payment();
$payment->init();
include 'view/layout/payment.php';
}
示例4: display
public function display()
{
// Process if posted to from the Payment Amount Page.
if (isset($_POST['next'])) {
unset($_POST['next']);
// In the event the back button is hit on the browser
// after the transaction has been processed.
if (!isset($_SESSION['payBillerCode']) || !isset($_SESSION['payBillerName']) || !isset($_SESSION['payBillerNickname'])) {
header("Location: New-Bill-Payment");
}
if (isset($_POST['account'])) {
$_SESSION['payAccountID'] = $_POST['account'];
unset($_POST['account']);
}
$validate = new Validation();
if (isset($_POST['custref'])) {
// Validate the customer reference.
try {
$custref = $_POST['custref'];
unset($_POST['custref']);
$validate->custref($custref);
} catch (ValidationException $e) {
$_SESSION['error'] = $e->getError();
}
if (isset($_SESSION['error'])) {
$custref = null;
unset($_POST['next']);
header('Location: Bill-Payment-Amount');
} else {
$_SESSION['payCustomerRef'] = $custref;
if (isset($_POST['amount'])) {
// Validate the amount.
try {
$amount = $_POST['amount'];
unset($_POST['amount']);
$validate->payAmount($amount);
} catch (ValidationException $e) {
$_SESSION['error'] = $e->getError();
}
if (isset($_SESSION['error'])) {
$amount = null;
unset($_POST['next']);
header('Location: Bill-Payment-Amount');
} else {
$_SESSION['payAmount'] = $amount;
if (isset($_POST['paymentDate'])) {
// Validate the date.
try {
$paymentDate = $_POST['paymentDate'];
unset($_POST['paymentDate']);
$validate->payDate($paymentDate);
} catch (ValidationException $e) {
$_SESSION['error'] = $e->getError();
}
if (isset($_SESSION['error'])) {
$paymentDate = null;
unset($_POST['next']);
header('Location: Bill-Payment-Amount');
} else {
// If all is OK, display the Payment Confirmation Page.
$_SESSION['payDate'] = $paymentDate;
$paymentconf = new Paymentconf();
$paymentconf->init();
include 'view/layout/paymentconf.php';
}
}
}
}
}
}
// Cancel the Payment
} else {
if (isset($_POST['cancel'])) {
unset($_POST['cancel']);
$payment = new Payment();
$payment->cancelSessions();
$payment->init();
include 'view/layout/payment.php';
} else {
// For any other reason, display the Payment Page.
$payment = new Payment();
$payment->cancelSessions();
$payment->init();
}
}
}
示例5: PayMethod
function handler_payment($page, $ref = -1)
{
$page->changeTpl('payment/payment.tpl');
$page->setTitle('Télépaiement');
$this->load('money.inc.php');
$meth = new PayMethod(Env::i('methode', -1));
$pay = new Payment($ref);
if (!$pay->flags->hasflag('public') && (!S::user() || !S::logged())) {
$page->kill("Vous n'avez pas les permissions nécessaires pour accéder à cette page.");
} else {
$page->assign('public', true);
}
if ($pay->flags->hasflag('old')) {
$page->kill('La transaction selectionnée est périmée.');
}
if (Env::has('montant')) {
$pay->amount_def = Env::v('montant');
}
$val = Post::v('amount') != 0 ? Post::v('amount') : $pay->amount_def;
if (($error = $pay->check($val)) !== true) {
$page->trigError($error);
}
if (Post::has('op') && Post::v('op', 'select') == 'submit') {
if (S::logged()) {
$user = S::user();
} else {
$user = User::getSilent(Post::t('login'));
}
if (is_null($user)) {
$page->trigError("L'identifiant est erroné.");
$page->assign('login_error', true);
$page->assign('login', Post::t('login'));
} else {
$pay->init($val, $meth);
$pay->prepareform($user);
$page->assign('full_name', $user->fullName(true));
$page->assign('sex', $user->isFemale());
}
} elseif (S::logged()) {
$res = XDB::iterator('SELECT ts_confirmed, amount
FROM payment_transactions
WHERE uid = {?} AND ref = {?}
ORDER BY ts_confirmed DESC', S::v('uid', -1), $pay->id);
if ($res->total()) {
$page->assign('transactions', $res);
}
// Only if $id = -1, meaning only for donation the site's association
if ($ref == -1) {
$biggest_donations = XDB::fetchAllAssoc('SELECT IF(p.display,
IF(ap.pid IS NOT NULL, CONCAT(a.full_name, \' (\', pd.promo, \')\'), a.full_name),
\'XXXX\') AS name, p.amount, p.ts_confirmed
FROM payment_transactions AS p
INNER JOIN accounts AS a ON (a.uid = p.uid)
LEFT JOIN account_profiles AS ap ON (a.uid = ap.uid AND FIND_IN_SET(\'owner\', ap.perms))
LEFT JOIN profile_display AS pd ON (ap.pid = pd.pid)
WHERE p.ref = {?}
ORDER BY LENGTH(p.amount) DESC, p.amount DESC, name
LIMIT 10', $pay->id);
$donations = XDB::fetchAllAssoc('(SELECT SUM(amount) AS amount, YEAR(ts_confirmed) AS year, MONTH(ts_confirmed) AS month, ts_confirmed
FROM payment_transactions
WHERE ref = {?} AND YEAR(ts_confirmed) = YEAR(CURDATE())
GROUP BY month)
UNION
(SELECT SUM(amount) AS amount, YEAR(ts_confirmed) AS year, 0 AS month, ts_confirmed
FROM payment_transactions
WHERE ref = {?} AND YEAR(ts_confirmed) < YEAR(CURDATE())
GROUP BY year)
ORDER BY year DESC, month DESC', $pay->id, $pay->id);
$page->assign('biggest_donations', $biggest_donations);
$page->assign('donations', $donations);
$page->assign('donation', true);
}
}
$val = floor($val * 100) / 100;
$page->assign('amount', $val);
$page->assign('comment', Env::v('comment'));
$page->assign('meth', $meth);
$page->assign('pay', $pay);
$page->assign('evtlink', $pay->event());
}