123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- <?php
- /**
- *
- * PHP Pro Bid $Id$ dPR1VQaNgoNQIicZDY/mfJXML8p89ljHg8Z/av4Z17Y=
- *
- * @link http://www.phpprobid.com
- * @copyright Copyright (c) 2014 Online Ventures Software LTD & CodeCube SRL
- * @license http://www.phpprobid.com/license Commercial License
- *
- * @version 7.0
- */
- /**
- * user signup fee class
- */
- namespace Ppb\Service\Fees;
- use Ppb\Service;
- class UserSignup extends Service\Fees
- {
- /**
- *
- * fees to be included
- *
- * @var array
- */
- protected $_fees = array(
- self::SIGNUP => 'User Signup Fee',
- );
- /**
- *
- * total amount to be paid after the calculate method is called
- *
- * @var float
- */
- protected $_totalAmount;
- /**
- *
- * redirect to login page after signup fee payment
- *
- * @var array
- */
- protected $_redirect = array(
- 'module' => 'members',
- 'controller' => 'user',
- 'action' => 'login',
- );
- /**
- *
- * class constructor
- *
- * @param integer|string|\Ppb\Db\Table\Row\User $user the user that will be paying and for which the signup action will apply
- */
- public function __construct($user = null)
- {
- parent::__construct();
- if ($user !== null) {
- $this->setUser($user);
- }
- }
- /**
- *
- * activate the affected user
- *
- * @param bool $ipn true if payment is completed, false otherwise
- * @param array $post array keys: {user_id}
- * @return \Ppb\Service\Fees\UserSignup
- */
- public function callback($ipn, array $post)
- {
- $usersService = new Service\Users();
- $user = $usersService->findBy('id', $post['user_id']);
- $flag = ($ipn) ? 1 : 0;
- $paymentStatus = ($ipn) ? 'confirmed' : 'failed';
- $user->save(array(
- 'active' => $flag,
- 'payment_status' => $paymentStatus,
- ));
- return $this;
- }
- /**
- *
- * get the signup fee value (tax included)
- *
- * @return float
- */
- public function getTotalAmount()
- {
- return $this->getFeeAmount('signup');
- }
- }
|