/** * Returns current period instance * * @return <Doctrine_Object> instance of Period */ public static function getCurrentPeriod() { $date = Period::getCurPeriodDate(); $oPeriod = PeriodTable::getInstance()->findOneByDate($date); if (!$oPeriod instanceof Period) { // выставить новые тарифы на новый период UserTable::setNewTariffs(); $oPeriod = new Period(); // вычислить стоимость 1к знаков if (($prev = Period::getPrevPeriod()) === false) { $price1k = SettingTable::getOptionByName('price1k')->getValue(); } else { // рассчитать веса пользователей UserTable::countWeights($prev); if (($price1k = VoteTable::getVoted1k($prev)) === false) { $price1k = $prev->get1k(); } } $oPeriod->set1k(number_format((double) $price1k, 2)); // выставить процент $oPeriod->setR2rShare(number_format(Setting::getValueByName('percent_r2r'), 2, '.', '')); // -- $oPeriod->setDate($date); $oPeriod->save(); //throw new sfException('Cannot get current period. Error in DB data'); } return $oPeriod; }
public static function getAllTariffs() { $out[User::STANDART] = SettingTable::getOptionByName(User::STANDART)->getValue(); $out[User::EXPERT] = SettingTable::getOptionByName(User::EXPERT)->getValue(); $out[User::SUPER] = SettingTable::getOptionByName(User::SUPER)->getValue(); return $out; }
public function puserDailyPayment() { $aTariffs = SettingTable::getAllTariffs(); $oBalanceSystem = BalanceSystem::getCurrentBalanceInstance(); $aPUsers = UserTable::getPUsersActive(); foreach ($aPUsers as $oPUser) { $transaction = new Transaction(); $transaction->puserDailyPayment($oPUser, $oBalanceSystem, $aTariffs); } }
protected function execute($arguments = array(), $options = array()) { // initialize the database connection $databaseManager = new sfDatabaseManager($this->configuration); $connection = $databaseManager->getDatabase($options['connection'])->getConnection(); $settings = SettingTable::getInstance()->findAll(); $this->log(sprintf('%s records found.', count($settings))); foreach ($settings as $setting) { $this->logSection($setting->getSettingName(), $setting->getText()); } }
public static function forTransaction(Transaction $transaction, $url_success = '') { $u_id = $transaction->getIdReceiver(); $u = UserTable::getInstance()->findOneById($u_id); switch ($u->getUtype()) { case 'puser': $onpay_login = SettingTable::getInstance()->findOneByName('pOnpayLogin')->getValue(); $private_code = SettingTable::getInstance()->findOneByName('pApiCode')->getValue(); break; case 'uuser': $onpay_login = SettingTable::getInstance()->findOneByName('uOnpayLogin')->getValue(); $private_code = SettingTable::getInstance()->findOneByName('uApiCode')->getValue(); break; default: throw new sfException('Неизвестный тип пользователя в транзакции при инициализации платежа OnPay'); break; } return new OnPay($onpay_login, $private_code, $transaction->getId(), $transaction->getAmount(), $url_success); }
/** * Processing Forms * @param sfWebRequest $request * @param sfForm $form * @return <boolean> */ protected function processForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { if (isset($form['balance_add'])) { $user = $this->getUser()->getGuardUser(); // заводим новую транзакцию и передаем пользователя платежной системе $transaction = $user->addFunds($form->getValue('balance_add')); $pay_test = SettingTable::getInstance()->findOneByName('Платежи в тестовом режиме'); if ((int) $pay_test->getValue() > 0) { $user->addFundsFin($transaction); } else { // создаем объект онпей и затем редиректим на форму платежа $onpay = OnPay::forTransaction($transaction, $this->generateUrl('profile_u_account', array(), true)); return $onpay->processFirstStep(); } return true; } $user = $form->save(); return true; } return false; }
/** * Return price for this content * * @return decimal */ public function getPrice() { $settings = SettingTable::getInstance()->getSettings(); return round($this->getLettersK() / 10 * $settings->getPrice_1k()) / 100; }
protected function processUserForm(sfWebRequest $request, sfForm $form) { $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName())); if ($form->isValid()) { $user = $this->getUser()->getGuardUser(); if (isset($form['tariff_change'])) { return $user->setNewTariff($form->getValue('tariff_change')); } elseif (isset($form['balance_add'])) { $transaction = $user->addFunds($form->getValue('balance_add')); $pay_test = SettingTable::getInstance()->findOneByName('Платежи в тестовом режиме'); if ((int) $pay_test->getValue() > 0) { $user->addFundsFin($transaction); return true; } else { // создаем объект онпей и затем редиректим на форму платежа $onpay = OnPay::forTransaction($transaction, $this->generateUrl('profile_p_user', array(), true)); return $onpay->processFirstStep(); } } else { $user = $form->save(); } return true; } return $form; }
public static function getValueByName($name) { $out = SettingTable::getOptionByName($name); return $out->getValue(); }