/**
  *
  * @param string $name
  * @param int $amount
  * @return boolean false if failed
  */
 private function credit($name = null, $amount = 0)
 {
     $output = $this->getOutput();
     $output->addWikiText("=== Credit (name, amount) ===");
     $output->addWikiText("name = {$name}");
     $output->addWikiText("amount = {$amount}");
     $user = User::newFromName($name);
     if (!$user || $user->getId() == 0) {
         $output->addWikiText("=== ERROR: Invalid UserName ===");
         return false;
     }
     $output->addWikiText("=== User ===");
     $output->addWikiText("user_id = " . $user->getId());
     $output->addWikiText("user_name = " . $user->getName());
     $output->addWikiText("user_realname = " . $user->getRealName());
     $output->addWikiText("user_email = " . $user->getEmail());
     $output->addWikiText("=== Transaction ===");
     $output->addWikiText("True balance before = " . TMRecord::getTrueBalanceFromDB($user->getId()));
     if (!is_int($amount) || $amount <= 0 || $amount > 1000) {
         $output->addWikiText("=== ERROR: Invalid Amount ===");
         return false;
     }
     $tmr = array('tmr_type' => TM_REFUND_TYPE, 'tmr_user_id' => $user->getId(), 'tmr_mail' => $user->getEmail(), 'tmr_ip' => IP::sanitizeIP(wfGetIP()), 'tmr_amount' => $amount, 'tmr_currency' => 'EUR', 'tmr_desc' => 'tm-refund', 'tmr_status' => 'OK');
     wfRunHooks('CreateTransaction', array(&$tmr));
     $output->addWikiText("==== DONE ====");
     $output->addWikiText("True balance after = " . TMRecord::getTrueBalanceFromDB($user->getId()));
     $output->addWikiText("== SUCCESS ==");
 }
示例#2
0
 /**
  * @todo turn into getRecordS()
  * @return TMRecord 
  */
 public function getRecord()
 {
     return TMRecord::newFromBillId($this->id);
 }
 private function constructDefault($errorKey = null)
 {
     $user = $this->getUser();
     $output = $this->getOutput();
     $balance = 0;
     if ($user->isLoggedIn()) {
         $balance = TMRecord::getTrueBalanceFromDB($user->getId());
     }
     # Set Minimum payment value (regarding banking fees)
     $min = max(-$balance, 5);
     $defaultAmount = '';
     # Building the pending transaction table and sum
     if ($balance < 0) {
         $defaultAmount = $min;
         $table = new TransactionsTablePager();
         $table->setSelectFields(array('tmr_desc', 'tmr_date_created', 'tmr_amount', 'tmr_currency'));
         $table->setSelectConds(array('tmr_user_id' => $user->getId(), 'tmr_status' => 'PE', 'tmr_amount < 0', 'tmr_currency' => 'EUR'));
         $table->setFieldSortable(false);
         $tableHtml = $table->getBody();
     }
     # We check if the user has some pending transaction to pay
     # We are using the HTMLFormS Helper
     # That's the way to create a form
     $formDescriptor = array('amount' => array('label-message' => 'ep-cd-amountlabel', 'section' => 'section1', 'type' => 'float', 'required' => 'true', 'help-message' => array('ep-help-amount', $min), 'min' => $min, 'max' => 9000000, 'default' => $defaultAmount, 'filter-callback' => array($this, 'filterAmount')), 'mail' => array('label-message' => 'youremail', 'section' => 'section1', 'type' => 'email', 'required' => 'true', 'validation-callback' => array($this, 'validateEmail'), 'help-message' => 'ep-help-mail'));
     # If user has an email registered, don't let him change it
     if (!(($mail = $user->getEmail()) == '')) {
         $formDescriptor['mail']['default'] = $user->getEmail();
         #@FIXME: If form disabled
         $formDescriptor['mail']['disabled'] = true;
     }
     $htmlForm = new HTMLFormS($formDescriptor, 'ep-cd');
     $htmlForm->setSubmitText(wfMsg('next'));
     $htmlForm->setTitle($this->getTitle());
     $htmlForm->setSubmitCallback(array($this, 'initAttempt'));
     if ($balance < 0) {
         $htmlForm->addHeaderText(wfMessage('ep-default-formheader') . ' ' . wfMessage('ep-default-formheader-pending', $this->getLanguage()->formatNum(-$balance), 'cur-euro') . $tableHtml);
         $htmlForm->addFooterText(wfMessage('ep-default-formfooter-pending'));
     } else {
         $htmlForm->addHeaderText(wfMessage('ep-default-formheader'));
     }
     if (isset($errorKey)) {
         $output->addHTML($htmlForm->getErrors(wfMessage("ep-{$errorKey}")));
     }
     $htmlForm->show();
 }
 /**
  *
  * @param int $tmr_id
  * @param User $user
  * @param boolean $result 
  */
 public static function cancelTransaction($tmr_id, &$user, &$result)
 {
     $result = TMRecord::getById($tmr_id)->cancel($user);
     return false;
 }
 private function displayList()
 {
     $output = $this->getOutput();
     $user = $this->getUser();
     $table = new TransactionsTablePager();
     $table->setSelectFields(array('tmr_id', 'tmr_desc', 'tmr_date_created', 'tmr_amount', 'tmr_currency', 'tmr_status', 'tmr_tmb_id'));
     $table->setSelectConds(array('tmr_user_id' => $user->getId(), 'tmr_currency' => 'EUR'));
     $table->setHeader(wfMessage('tm-balance', $this->getLanguage()->formatNum(TMRecord::getTrueBalanceFromDB($user->getId())), 'cur-euro')->parse() . ' ' . wfMessage('tm-table-desc')->parse());
     $output->addHtml($table->getWholeHtml());
 }
 private function getInfos($wpw_id = null, $wpname = null)
 {
     $output = $this->getOutput();
     $output->addWikiText("=== Infos (wpw_id || wikiplace) ===");
     // WIKIPLACE
     $wikiplace = null;
     if ($wpw_id != null) {
         $wpw_id = intval($wpw_id);
         $output->addWikiText("Search by wikiplace id <code><nowiki>{$wpw_id}</nowiki></code>");
         $wikiplace = WpWikiplace::getById($wpw_id);
     } elseif ($wpname != null) {
         $output->addWikiText("Search by wikiplace name <code><nowiki>{$wpname}</nowiki></code>");
         $wikiplace = WpWikiplace::newFromName($wpname);
     }
     if ($wikiplace == null) {
         $output->addWikiText("=== No Wikiplace ===");
         return;
     }
     $id = $wikiplace->getId();
     $name = $wikiplace->getName();
     $report_expires = $wikiplace->getDateExpires();
     $report_updated = $wikiplace->getReportUpdated();
     $output->addWikiText("=== Wikiplace ===");
     $output->addWikiText("id = <code><nowiki>{$id}</nowiki></code>");
     $output->addWikiText("name = <code><nowiki>{$name}</nowiki></code>");
     $output->addWikiText("report expires = <code><nowiki>{$report_expires}</nowiki></code>");
     $output->addWikiText("report updated = <code><nowiki>{$report_updated}</nowiki></code>");
     // OWNER
     $owner = User::newFromId($wikiplace->getOwnerUserId());
     if ($owner == null || !$owner->getId()) {
         $output->addWikiText("=== No Owner ===");
         return;
     }
     $id = $owner->getId();
     $username = $owner->getName();
     $email = $owner->getEmail();
     $output->addWikiText("=== Owner ===");
     $output->addWikiText("id = <code><nowiki>{$id}</nowiki></code>");
     $output->addWikiText("username = <code><nowiki>{$username}</nowiki></code>");
     $output->addWikiText("email = <code><nowiki>{$email}</nowiki></code>");
     // SUBSCRIPTION
     $subscription = WpSubscription::newFromId($wikiplace->getSubscriptionId());
     if ($subscription == null) {
         $output->addWikiText("=== No Subscription ===");
         return;
     }
     $output->addWikiText("=== Subscription ===");
     $output->addWikiText("wps_id = " . $subscription->getId());
     $output->addWikiText("wps_start_date = " . $subscription->getStart());
     $output->addWikiText("wps_end_date = " . $subscription->getEnd());
     $output->addWikiText("wps_active = " . ($subscription->isActive() ? "true" : "false"));
     $output->addWikiText("wps_renewal_notified = " . ($subscription->isRenewalNotified() ? "true" : "false"));
     $plan = WpPlan::newFromId($subscription->getPlanId());
     $rplanid = $subscription->getRenewalPlanId();
     $rplan = $rplanid == 0 ? null : WpPlan::newFromId($rplanid);
     $output->addWikiText("==== Plan ====");
     $output->addWikiText("wpp_id = " . $plan->getId());
     $output->addWikiText("wpp_name = " . $plan->getName());
     $output->addWikiText("renew_wpp_id = " . ($rplan == null ? '<i>NONE</i>' : $rplan->getId()));
     $output->addWikiText("renew_wpp_name = " . ($rplan == null ? '<i>NONE</i>' : $rplan->getName()));
     $tmr = TMRecord::getById($subscription->getTmrId());
     $output->addWikiText("==== TMR ====");
     $output->addWikiText("tmr_id = " . $tmr->getId());
     $output->addWikiText("tmr_status = " . $tmr->getStatus());
     $tmb = TMBill::newFromId($tmr->getTMBId());
     if ($tmb == null) {
         $output->addWikiText("==== No Bill ====");
         return;
     }
     $output->addWikiText("==== TMB ====");
     $output->addWikiText("tmb_id = " . $tmb->getId());
     $output->addWikiText("tmb_date_created = " . $tmb->getDateCreated());
 }
示例#7
0
 private function buildQuickAccount()
 {
     $user = $this->getUser();
     $balance = TMRecord::getTrueBalanceFromDB($user->getId());
     $html = '<div class="ms-info-qa">' . wfMessage('ms-quickaccount')->parse() . '</div>';
     $html .= '<ul>';
     $html .= '<li>' . wfMessage('ms-accountbalance', $this->getLanguage()->formatNum($balance), 'cur-euro')->parse() . '</li>';
     $html .= '<li>' . wfMessage('ms-electronicpayment')->parse() . '</li>';
     $html .= '<li>' . wfMessage('ms-subscriptions')->parse() . '</li>';
     $html .= '<li>' . wfMessage('ms-transactions')->parse() . '</li>';
     if ($this->mode == 'artist') {
         $html .= '<li>' . wfMessage('ms-invitations')->parse() . '</li>';
     }
     /** @todo Add private profile for adress, phone...
         $html .= '<li>' . wfMessage('ms-privateprofile')->parse() . '</li>';*/
     $html .= '</ul>';
     return $html;
 }