public function action_changeShort()
 {
     echo 'test2';
     return;
     $member = \MemberQuery::create()->findOneById(1);
     $con = \Propel::getConnection();
     if (!$con->beginTransaction()) {
         throw new \Exception('Could not begin transaction');
     }
     try {
         $transfer = \TransferQuery::create()->findOneById(1);
         if (!$transfer) {
             $transfer = new \Transfer();
             $transfer->setMemberId($member->getId());
             $transfer->save($con);
             $transfer = \TransferQuery::create()->findOneById(1);
         }
         $transfer->setAmount($transfer->getAmount() + 2);
         $transfer->save($con);
         if (!$con->commit()) {
             throw new \Exception('Could not commit transaction');
         }
     } catch (\Exception $e) {
         $con->rollBack();
         throw $e;
     }
     print_r('<pre>');
     print_r($transfer->toArray());
     print_r('</pre>');
 }
Exemple #2
0
<?php

echo 'test1';
include dirname(__FILE__) . '/bootstrap.php';
$member = \MemberQuery::create()->findOneById(1);
$con = \Propel::getConnection();
if (!$con->beginTransaction()) {
    throw new \Exception('Could not begin transaction');
}
try {
    $transfer = \TransferQuery::create()->findOneById(1);
    if (!$transfer) {
        $transfer = new \Transfer();
        $transfer->setMemberId($member->getId());
        $transfer->save($con);
        $transfer = \TransferQuery::create()->findOneById(1);
    }
    $transfer->setAmount($transfer->getAmount() + 2);
    $transfer->save($con);
    if (!$con->commit()) {
        throw new \Exception('Could not commit transaction');
    }
} catch (\Exception $e) {
    $con->rollBack();
    throw $e;
}
print_r('<pre>');
print_r($transfer->toArray());
print_r('</pre>');
echo "\n CONSISTENCY 2\n";
Exemple #3
0
 /**
  * Set user as paid and spread provisions.
  *
  * Update all current Transfers with state Transfer::STATE_RESERVED to
  * Transfer::STATE_COLLECT making them ready for processing.
  *
  */
 public function onReceivedMemberFee($currency, $when, PropelPDO $con)
 {
     $referer = $this->getMemberRelatedByParentId($con);
     if ($referer && !$referer->hadPaid()) {
         // if the parent hasnt paid yet. reserve this event until his fee is
         // comming in or we kick him from the list.
         $referer->reserveReceivedMemberFeeEvent($this, $currency, $when, $con);
         return;
     }
     $this->setPaidDate($when);
     TransferQuery::create()->filterByState(Transfer::STATE_RESERVED)->filterByMember($this)->update(['State' => Transfer::STATE_COLLECT], $con);
     // TODO - replace config value with real received value from bank transaction
     $memberFee = new \Tbmt\MemberFee(\Tbmt\Config::get('member_fee'), $this, $currency);
     // @see resources/snowball.txt - processes - P2
     if ($referer) {
         $referer->payAdvertisingFor($memberFee, $this, $currency, $when, $con);
         $newAdvertisedCount = $referer->convertOutstandingAdvertisedCount(1);
         if ($newAdvertisedCount == 2) {
             $referer->setFundsLevel(Member::FUNDS_LEVEL2);
             $referer->setMemberRelatedByParentId(null);
         }
         $referer->save($con);
     }
     $memberFee->addRemainingToAccounts($when, $con);
     $this->fireReservedReceivedMemberFeeEvents($con);
     $this->save($con);
 }
Exemple #4
0
 /**
  * Set user as paid and spread provisions.
  *
  * Update all current Transfers with state Transfer::STATE_RESERVED to
  * Transfer::STATE_COLLECT making them ready for processing.
  *
  * NOTE: Caller is responsible for transactional processing.
  *
  */
 public function onReceivedMemberFee($currency, $when, $freeFromInvitation, PropelPDO $con)
 {
     if (!$this->isExtended()) {
         return;
     }
     if ($this->hadPaid()) {
         throw new \Exception('Paid member receiving fee again!');
     }
     $referrer = $this->getReferrerMember();
     if (!$referrer) {
         throw new Exception('Member (' . $this->getId() . ') has no referrer!');
     }
     if (!$this->isMarkedAsPaid()) {
         // Prevent multiple income of the same message. Because this situation
         // can ocure more often because of the removal of not paying members
         // {@see $this->fireReservedReceivedMemberFeeEvents}
         if (!$freeFromInvitation) {
             \Tbmt\MailHelper::sendFeeIncome($this);
         }
     }
     if (!$freeFromInvitation) {
         \Tbmt\MailHelper::sendFeeIncomeReferrer($referrer, $this);
     }
     if ($referrer && !$referrer->hadPaid()) {
         // if the parent hasnt paid yet. reserve this event until his fee is
         // comming in or we kick him from the list.
         $referrer->reserveReceivedMemberFeeEvent($this, $currency, $when, $freeFromInvitation, $con);
         return;
     }
     $this->setPaidDate($when);
     TransferQuery::create()->filterByState(Transfer::STATE_RESERVED)->filterByMember($this)->update(['State' => Transfer::STATE_COLLECT], $con);
     \Tbmt\DistributionStrategy::getInstance()->onReceivedMemberFee($this, $referrer, $currency, $when, $freeFromInvitation, $con);
     $this->fireReservedReceivedMemberFeeEvents($con);
     $this->save($con);
 }