echo $tax['percent']; ?> </td> <td class="last"><?php echo $tax['cost']; ?> </td> </tr> <?php } ?> </tbody> <tfoot> <tr> <th><strong><?php echo $curr_sbr->isFrl() ? 'К перечислению Фрилансеру' : 'Итого исполнитель получит'; ?> </strong></th> <td>—</td> <td class="last"><strong><?php echo sbr_meta::view_cost($total_sum, $curr_sbr->cost_sys, false); ?> </strong></td> </tr> </tfoot> </table> </div> <b class="b2"></b> <b class="b1"></b> </div>
">#<?php echo sbr_stages::getOuterNum($sp['sbr_id'], $sp['stage_num']); ?> </a></td> <td><a href="/users/<?php echo $sp['login']; ?> /" class="nr-a-lnk-<?php echo is_emp($sp['role']) ? 'emp' : 'frl'; ?> "><?php echo $sp['uname'] . ' ' . $sp['usurname'] . ' [' . $sp['login'] . ']'; ?> </a></td> <td class="nr-a-td-sum"><?php echo sbr_meta::view_cost($sp['credit_sum'], NULL, false); ?> </td> <td class="nr-a-td-val"> <?php echo $EXRATE_CODES[$sp['credit_sys']][2]; ?> </td> <td><a href="/users/<?php echo $sp['login']; ?> /setup/finance/?sid=<?php echo $sp['stage_id']; ?> "><?php echo $sp['account_num'] ? $sp['account_num'] : 'Не задан';
<span class="b-master__shadow b-master__shadow_left" id="shadow-left" style="display:none"></span> <span class="b-master__shadow b-master__shadow_right"></span> </div> <?php foreach ($sbr->stages as $i => $curr_stage) { ?> <span style="<?php echo $active_stage->id == $curr_stage->id && !$all_agree ? "" : "display:none;"; ?> " id="master-stage-<?php echo $curr_stage->id; ?> " class="master-stage"> <div class="b-layout__txt b-layout__txt_padbot_30 b-layout__txt_bold">Бюджет этапа <?php echo sbr_meta::view_cost($curr_stage->data['cost'], $sbr->cost_sys); ?>          Время на этап <?php echo $curr_stage->data['work_days']; ?> <?php echo ending(abs($curr_stage->data['work_days']), 'день', 'дня', 'дней'); ?> </div> <table class="b-layout__table b-layout__table_width_full" cellpadding="0" cellspacing="0" border="0"> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_width_72ps"> <h2 class="b-layout__title">Техническое задание</h2> <div class="b-layout__txt b-layout__txt_padbot_10 b-layout__txt_fontsize_15"> <?php echo reformat($curr_stage->data['descr'], 70, 0, 0, 1);
/** * Форматирует число в цену в рублях и копейках. * * @param float $L число * * @return string */ function num2strEx($L) { include_once dirname(__FILE__) . '/sbr.php'; global $_1_2, $_1_19, $des, $hang, $namerub, $nametho, $namemil, $namemrd, $kopeek; $L = round($L, 2); $source = $L; $kop = 100 * (string) round($L - (int) $L, 2); $L = intval($L); $s = ' '; $s1 = ' '; $s2 = ' '; if ($L == 0) { $s .= 'ноль рублей Российской Федерации '; } if ($L >= 1000000000) { $many = 0; semantic(intval($L / 1000000000), $s1, $many, 3); $s .= $s1 . $namemrd[$many]; $L %= 1000000000; } if ($L >= 1000000) { $many = 0; semantic(intval($L / 1000000), $s1, $many, 2); $s .= $s1 . $namemil[$many]; $L %= 1000000; if ($L == 0) { $s = rtrim($s) . ' рублей Российской Федерации '; } } if ($L >= 1000) { $many = 0; semantic(intval($L / 1000), $s1, $many, 1); $s .= $s1 . $nametho[$many]; $L %= 1000; if ($L == 0) { $s = rtrim($s) . ' рублей Российской Федерации '; } } if ($L != 0) { $many = 0; semantic($L, $s1, $many, 0); $s .= rtrim($s1) . ' ' . trim($namerub[$many]) . ' '; } if ($kop > 0) { $s .= str_pad($kop, 2, '0', STR_PAD_LEFT) . ending($kop, ' копейка', ' копейки', ' копеек'); } else { $s .= '00 копеек'; } setlocale(LC_ALL, 'ru_RU.CP1251'); $s = ucfirst(trim($s)); setlocale(LC_ALL, 'en_US.UTF-8'); return trim(sbr_meta::view_cost((double) $source, null, false, ',', ' ') . ' (' . trim($s) . ')'); }
<?php } ?> <?php if ($need_payouts) { ?> <?php if ($norez_block) { ?> <div class="form-block<?php echo $fbc++ ? '' : ' first'; ?> "> <div class="form-el"> <p><strong>Нерезиденты Российской Федерации имеют лишь один способ получения денежных средств:</strong><br />безналичный расчет <span class="dred">с ограничением суммы в <?php echo sbr_meta::view_cost($sbr->maxNorezCost(), exrates::BANK); ?> </span> (эквивалента <?php echo sbr::MAX_COST_USD; ?> долларов США).</p> <?php if ($sbr->user_reqvs['rezdoc_status'] != sbr::RS_ACCEPTED) { ?> <p>Во избежание дополнительного налога (налога на прибыль), вам необходимо выслать справку в бумажном виде вместе с Актом, что вы являетсь резидентом своей страны.<br /><a href="/docs/dokumenty_na_rezidentstvo.docx" target="_blank">Документ о Резиденстве</a></p> <?php } ?> <div><label><input type="checkbox" name="notnp" value="1" class="i-chk" onclick="SBR.setNoNP(this)"<?php echo $notnp || !$action && in_array($sbr->user_reqvs['rezdoc_status'], array(sbr::RS_ACCEPTED, sbr::RS_WAITING)) ? ' checked="checked"' : ''; ?>
/** * Информация о успешно прошедшей операции * * @param array $data - Информация об операции * @return array информация */ function getSuccessInfo($data) { if ($data['op_code'] == 12) { list($sys, $cur) = self::getPaymentSysName($data['payment_sys']); $suc = array("date" => $data['op_date'], "name" => "Пополнение счета ({$sys})", "descr" => '', "sum" => $data['trs_sum'] . " {$cur}"); return $suc; } if ($data['op_code'] == 77) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php'; $suc = array("date" => $data['op_date'], "name" => "Резервирование денег («Безопасная Сделка»)", "descr" => '', "sum" => sbr_meta::view_cost($data['trs_sum'], $data['payment_sys'] + 1)); return $suc; } $sum = abs($data['ammount']); return array("date" => $data['op_date'], "name" => $data['op_name'], "descr" => $data['comments'], "sum" => $sum . " руб."); }
echo ' disabled="disabled"'; $dsbl[$ex_code] = 1; } ?> <?= (!$dsbl[$ex_code] && ($sbr->cost_sys == $ex_code || $stage->request['credit_sys'] == $ex_code) ? ' checked="checked"' : '') ?> /> <label class="b-radio__label b-radio__label_fontsize_13" for="ex_<?= $ex_code ?>"><?= $ex_name[0] ?></label> </div> <? } //foreach?> </div>*/ ?> <?php echo $taxes; ?> <div class="b-layout__txt b-layout__txt_color_a0763b b-layout__txt_padleft_20"> <span class="b-icon b-icon_top_2 b-icon_margleft_-20 b-icon_sbr_oattent"></span> После получения нами подписанного вами акта в 2-х экземплярах и технического задания вы получите гонорар <?php echo sbr_meta::view_cost($stage->type_payment != exrates::FM ? $stage->total_sum_stage : $stage->total_sum_stagefm, $stage->type_payment); ?> на <?php echo sbr_meta::view_type_payment($type_payment, 'свой '); ?> , <?php if ($stage->type_payment != exrates::FM) { ?> указанный на странице «<a class="b-layout__link b-layout__link_bordbot_dot_0f71c8" href="/users/<?php echo $sbr->data[($sbr->isFrl() ? 'frl_' : 'emp_') . 'login']; ?> /setup/finance/">Финансы</a>». <?php } else { echo ".";
<?php } //if ?> <?php foreach ($taxes as $k => $tax) { ?> <div class="b-tax__level b-tax__level_padbot_10 b-tax__level_margbot_10 b-tax__level_padtop_15 b-tax__level_bordbot_cfd0c5"> <div class="b-tax__txt b-tax__txt_lineheight_16 b-tax__txt_width_340 b-tax__txt_inline-block"> <?php echo $tax['name']; ?> </div> <div class="b-tax__txt b-tax__txt_bold b-tax__txt_width_120 b-tax__txt_inline-block">− <?php echo sbr_meta::view_cost($tax['tax_cost'], exrates::BANK, false); ?> </div> <div class="b-tax__txt b-tax__txt_width_130 b-tax__txt_inline-block b-tax__txt_fontsize_11"> <?php if ($tax['tax_code'] == 'TAX_FL') { ?> <img class="b-tax__pic b-tax__pic_float_right b-tax__pic_margtop_-12" src="/images/f.png" alt="" /> <?php } //if ?> <?php echo $tax['percent']; ?> </div>
/** * Печатает информацию по схеме текущей сделки. * @param float $curr_cost подменить $this->cost (бюджет) этим значением. */ function view_scheme_info($curr_cost = NULL) { if (!$curr_cost) { $curr_cost = $this->cost; } $curr_sbr = $this; $sh_info = array(); $tmp_ts = $total_sum = $curr_sbr->getTotalCost(); if ($curr_sbr->scheme['taxes'][sbr::FRL]) { foreach ($curr_sbr->scheme['taxes'][sbr::FRL] as $tid => $tax) { $tax_sum = $curr_sbr->getTotalTax($tax); if (!$tax_sum) { continue; } $total_sum -= $tax_sum; $tmp = array(); $tmp['name'] = $tax['name']; $tmp['percent'] = $tax['percent'] * 100 . '%'; $tmp['cost'] = sbr_meta::view_cost($tax_sum, $curr_sbr->cost_sys, false); if (in_array($tax['id'], $curr_sbr->getTaxByCode(array('TAX_NDFL', 'TAX_NDFL_NR', 'TAX_FRL_NDS')))) { $tmp2 = array(); $tmp2['name'] = 'Вознаграждение Фрилансеру'; $tmp2['percent'] = '—'; $tmp2['cost'] = sbr_meta::view_cost($tax_sum + $total_sum, $curr_sbr->cost_sys, false); $hndl =& $tmp2; $sh_info[] = $tmp2; } $sh_info[] = $tmp; } } ob_start(); include $_SERVER['DOCUMENT_ROOT'] . '/norisk2/tpl.scheme_info.php'; $this->view_sign_alert(); return ob_get_clean(); }
</div> <?php // схемы ?> <?php } ?> <?php // итого ?> <div class="b-tax__level b-tax__level_padtop_15" id="bank_payment_sum"> <div class="b-tax__txt b-tax__txt_bold b-tax__txt_width_220 b-tax__txt_inline-block">Вы получите</div> <div class="b-tax__txt b-tax__txt_inline-block"><span class="b-tax__txt b-tax__txt_bold b-tax__txt_fontsize_15" id="cost_total"><?php echo sbr_meta::view_cost($sbr->cost - $totalSum, $sbr->cost_sys); ?> </span> и <span id="rating_total">0</span> <?php echo ending($RT, 'балл', 'балла', 'баллов'); ?> рейтинга</div> </div> <?php // итого ?> </div> </div> </div> </div> </div> </div>
.</span> <div class="form-el"> <table> <col width="175" /> <col width="145" /> <col /> <col /> <tr> <th>Бюджет</th> <td class="date-old"><?php echo sbr_meta::view_cost($stage->v_data['cost'], $sbr->v_data['cost_sys']); ?> </td> <td><span class="rarr"> → </span></td> <td><span class="date-new"><?php echo sbr_meta::view_cost($stage->cost, $sbr->cost_sys); ?> </span></td> </tr> </table> <?php echo $sbr->view_scheme_info($stage->cost); ?> </div> </div> <?php } ?> <?php if ($new_descr_ex = $stage->data['descr'] != $stage->v_data['descr'] || $stage->data['attach_diff'] != $stage->v_data['attach_diff'] || $stage->data['attach_diff'] && $stage->v_data['attach_diff'] && (array_diff_assoc($stage->v_data['attach_diff'], $stage->data['attach_diff']) || array_diff_assoc($stage->data['attach_diff'], $stage->v_data['attach_diff']))) { // !!!
</td> <td><strong>#<?php echo sbr_stages::getOuterNum($sbr_data['sbr_id'], $sbr_data['num']); ?> </strong> <a href="<?php echo $mode == 'all' ? '/sbr/' : ''; ?> ?access=A&site=Stage&id=<?php echo $sbr_data['id']; ?> "><?php echo reformat($sbr_data['name'], 30, 0, 1); ?> </a></td> <td class="nr-a-td-sum"><?php echo sbr_meta::view_cost($sbr_data['cost'], null, false); ?> </td> <td class="nr-a-td-val"><?php echo $sbr_data['reserved_id'] || $sbr_data['scheme_type'] != sbr::SCHEME_LC ? $EXRATE_CODES[$sbr_data['cost_sys']][2] : ' — '; ?> </td> <td><?php echo $sbr_data['dead_time'] ? date('d.m.Y H:i', strtotime($sbr_data['dead_time'])) : $sbr_data['work_days'] . ' ' . ending(abs($sbr_data['work_days']), 'день', 'дня', 'дней'); ?> </td> <td<?php echo $sbr_data['status'] == sbr_stages::STATUS_INARBITRAGE ? ' class="stat-imp"' : ''; ?> ><?php echo sbr_stages::$ss_classes[$sbr_data['status']][1];
<td><?php echo (double) $stg['act_lintr'] ? sbr_meta::view_cost($stg['act_lintr'], $stg['act_sys']) : '-'; ?> </td> <td><?php echo (double) $stg['act_sum'] ? sbr_meta::view_cost($stg['act_sum'], $stg['act_sys']) : '-'; ?> </td> <td class="last"><a href="/users/<?php echo $stg['login']; ?> /setup/finance/?sid=<?php echo $stg['id']; ?> " class="inherit"><?php echo (double) $stg['credit_sum'] ? sbr_meta::view_cost($stg['credit_sum'], $stg['credit_sys']) : '-'; ?> </a></td> </tr> </tbody> </table> <table class="nr-stat-docs" style="width:750px" cellspacing="10" > <col style="width:240px" /> <col style="width:240px" /> <col style="width:240px" /> <?php $nCol = 0; ?> <tr style="height:35px"> <?php
/** * Устанавливает сделку в состояние зарезервированной после успешной операции резервирования на счете. * Добавляет к операции подробный комментарий. * * @see account::deposit(). * * @param int $reserved_id ид. операции резервирования (account_operations.id). * * @return bool успешно? */ public function reserve($reserved_id) { if (!$this->_openXact(true)) { return false; } $tax_emp = 0; $pskb = new pskb($this); $lc = $pskb->getLC(); $dvals = array('P' => pskb::$exrates_map[$lc['ps_emp']]); foreach ($this->scheme['taxes'][sbr::EMP] as $tax) { $tax_emp += sbr_meta::calcAnyTax($tax['tax_id'], $tax['scheme_id'], $this->cost, $dvals); } $comments = sbr_meta::view_cost($this->getReserveSum(), $this->cost_sys) . ', ' . $this->getContractNum() . ', ' . round($tax_emp / $this->cost * 100) . '% за услугу сервиса СБР и Банка - ' . sbr_meta::view_cost($tax_emp, $this->cost_sys); $sql = "\n UPDATE sbr SET reserved_id = ?i WHERE id = ?i;\n UPDATE account_operations SET comments = '{$comments}' WHERE id = ?i;\n "; $sql = $this->db()->parse($sql, $reserved_id, $this->id, $reserved_id); if (!pg_query(self::connect(false), $sql)) { $this->_abortXact(); return false; } if ($this->scheme_type == sbr::SCHEME_AGNT) { if ($doc_file = $this->generateAgreement($err)) { $doc = array('file_id' => $doc_file->id, 'status' => sbr::DOCS_STATUS_SIGN, 'access_role' => sbr::DOCS_ACCESS_ALL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_OFFER, 'subtype' => 2); $this->addDocR($doc); } if (!$err) { if ($doc_file = $this->generateContract($err)) { $doc = array('file_id' => $doc_file->id, 'status' => sbr::DOCS_STATUS_SIGN, 'access_role' => sbr::DOCS_ACCESS_ALL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_OFFER, 'subtype' => 1); $this->addDocR($doc); } } } elseif ($this->scheme_type == sbr::SCHEME_PDRD || $this->scheme_type == sbr::SCHEME_PDRD2) { if ($doc_file = $this->genereteBailmentEmp($err)) { $doc = array('file_id' => $doc_file->id, 'status' => sbr::DOCS_STATUS_SIGN, 'access_role' => sbr::DOCS_ACCESS_EMP, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_OFFER); $this->addDocR($doc); } if (!$err) { if ($doc_file = $this->genereteBailmentFrl($err)) { $doc = array('file_id' => $doc_file->id, 'status' => sbr::DOCS_STATUS_SIGN, 'access_role' => sbr::DOCS_ACCESS_FRL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_OFFER); $this->addDocR($doc); } } } if ($err) { $this->error['fatal'] = $err; } if ($this->error) { $this->_abortXact(); return false; } $this->_commitXact(); if ($this->scheme_type == sbr::SCHEME_LC) { if ($XACT_ID = $this->_openXact(true)) { $result = sbr_notification::sbr_add_event($XACT_ID, $this->id, $this->stages[0]->id, 'sbr_stages.STARTED_WORK', $this->version, null, null); if (!$result) { $this->_abortXact(); } $this->_commitXact(); } } return true; }
</tr> <?php foreach ($taxes as $k => $tax) { ?> <tr> <td class="first"><?php echo $tax['name']; ?> </td> <td></td> <td><?php echo $tax['percent']; ?> %</td> <td class="last"><?php echo sbr_meta::view_cost($tax['tax_cost'], $cost_sys, false); ?> </td> </tr> <?php } ?> <tr class="last"> <td class="first"><strong>Итого вы получите</strong></td> <td></td> <td>—</td> <td class="last"><strong><?php echo sbr_meta::view_cost($total_sum, $cost_sys); ?> </strong></td> </tr>
<?php foreach ($sbr->scheme['taxes'][1] as $tax_id => $tax) { if ($tax['not_used']) { continue; } $t += $ts = round($stg->calcTax($tax), 2); ?> <td><?php echo sbr_meta::view_cost($ts, null, false); ?> </td> <?php } ?> <td><?php echo sbr_meta::view_cost($stg->cost + $t, null, false); ?> </td> </tr> <?php } ?> </tbody> </table> </div> <div class="form-block last"> <?php if ($no_reserve) { ?> <div class="form fs-p"> <b class="b1"></b>
/** * Произведена выплата гонорара. * @param type $events */ function SbrMoneyPaidFrl($events) { $ev0 = $events[0]; $url = $GLOBALS['host'] . '/' . sbr::NEW_TEMPLATE_SBR . '/'; $r = 'f_'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php'; $sbr = sbr_meta::getInstanceLocal($ev0['f_uid']); $stage = $sbr->initFromStage($ev0['stage_id']); $arb = $stage->getArbitrage(); $type_payment = exrates::getNameExrates($stage->type_payment); $this->subject = "Произведена выплата гонорара (проект «{$ev0['sbr_name']}»)"; $sbr_name = sbr_meta::getNameForMail($ev0, 'sbr'); if ($stage->status == sbr_stages::STATUS_ARBITRAGED && (int) $arb['frl_percent'] != 1) { $msg = "Информируем вас о том, что частичная выплата гонорара в Сделке «<a href='{$url}?site=Stage&id={$ev0['stage_id']}{$this->_addUrlParams('f', '&')}'>{$sbr_name}</a>» произведена (в соответствии с решением Арбитража).<br/><br/>"; } else { $msg = "Информируем вас о том, что в Сделке «<a href='{$url}?site=Stage&id={$ev0['stage_id']}{$this->_addUrlParams('f', '&')}'>{$sbr_name}</a>» вам был произведен перевод гонорара в сумме " . sbr_meta::view_cost($stage->getPayoutSum(sbr::FRL), $stage->sbr->cost_sys) . " на указанные вами реквизиты.<br/><br/>"; } $msg .= "Зачисление средств на ваш личный счет может занять некоторое время (от нескольких минут до нескольких дней в зависимости от способа выплаты)."; $this->message = $this->splitMessage($this->GetHtml($ev0[$r . 'uname'], $msg, array('header' => 'simple', 'footer' => 'norisk_robot'))); $this->recipient = $ev0[$r . 'uname'] . " " . $ev0[$r . 'usurname'] . " [" . $ev0[$r . 'login'] . "] <" . $ev0[$r . 'email'] . ">"; $this->SmtpMail('text/html'); if ($stage->sbr->scheme_type == sbr::SCHEME_LC && $stage->sbr->ps_frl == pskb::WW) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/single_send.php'; $user = new users(); $user->GetUserByUID($stage->sbr->frl_id); $single_send = new single_send($user); if (!$single_send->is_send(single_send::NOTICE_WEBM)) { $msg = "Немного о том, для чего нужен Веб-кошелек: <a href='http://webpay.pscb.ru/login/auth' target='_blank'>Веб-кошелек Петербургского Социального Коммерческого Банка (ПСКБ)</a> – это платежная система для мгновенной оплаты различных услуг и осуществления банковских переводов через интернет. При работе через «Безопасную Сделку» Веб-кошелек используется для резервирования и возврата денег заказчику, а также для выплаты гонорара исполнителю.<br/><br/>"; $msg .= "Веб-кошелек заводится для вас в момент принятия вами <a href='https://www.fl.ru/offer_lc.pdf' target='_blank'>Оферты на заключение договора с аккредитивной формой расчетов</a>. Мы рекомендуем вам идентифицироваться в Веб-кошельке: в этом случае для вас не будет ограничений по выводу денежных средств, а также вы всегда сможете получить деньги в случае непредвиденных ситуаций (потери телефона с мобильным номером, к которому привязывается каждый Веб-кошелек).<br/><br/>"; $msg .= "С более подробной информацией по Веб-кошельку можно ознакомиться в <a href='https://feedback.fl.ru/topic/397421-veb-koshelek-obschaya-informatsiya/{$this->_addUrlParams('f', '?')}'>соответствующем разделе помощи</a>."; $this->subject = "Что такое Веб-кошелек"; $this->message = $this->splitMessage($this->GetHtml($ev0[$r . 'uname'], $msg, array('header' => 'simple', 'footer' => 'norisk_robot'))); $this->recipient = $ev0[$r . 'uname'] . " " . $ev0[$r . 'usurname'] . " [" . $ev0[$r . 'login'] . "] <" . $ev0[$r . 'email'] . ">"; $this->SmtpMail('text/html'); $single_send->setUpdateBit(single_send::NOTICE_WEBM); } } }
<?php if ($sbr->isEmpReservedMoney() && !$sbr->isEmp()) { ?> <a class="b-layout__link b-layout__link_bold b-layout__link_bordbot_dot_000 open-tax" onclick="$(this).getParent('td').getElement('.b-tax').toggleClass('b-tax_hide')" href="javascript:void(0)"><?php echo sbr_meta::view_cost($stage->data['cost'], exrates::BANK); ?> </a> <?php } else { //if // выводить сумму в FM или рублях $cost = $creditSysFM ? $stage->data['cost'] * $sbr->exrates[$sbr->cost_sys . 1] : $stage->data['cost']; $costSys = $creditSysFM ? 1 : exrates::BANK; ?> <span class="b-layout__bold"><?php echo sbr_meta::view_cost($cost, $costSys); ?> </span> <?php } //else ?> <?php } //if ?> </div> <?php if ($sbr->isEmpReservedMoney() && !$sbr->isEmp()) { print $stage->_new_getTaxInfo();
} if ($current['abbr'] == 'sbr_stages.EMP_MONEY_REFUNDED') { $type_payment = $stage->sbr->scheme_type == sbr::SCHEME_LC ? pskb::$exrates_map[$stage->sbr->data['ps_emp']] : ($stage->sbr->cost_sys == exrates::FM ? $stage->sbr->cost_sys : null); if ($stage->data['lc_state'] == pskb::PAYOUT_ERR) { $type_payment = exrates::WEBM; // Если происходит ошибка выплаты деньги всегда идут на веб-кошелек } $current['additional'] = 'На ' . sbr_meta::view_type_payment($type_payment, $type_payment == exrates::CARD ? 'вашу ' : 'ваш ') . ' были переведены ' . sbr_meta::view_cost($stage->getPayoutSum(sbr::EMP), $stage->sbr->cost_sys) . ' Зачисление денежных средств произведено ' . date('d.m.Y в H:i', strtotime($stage->data['lc_date'])) . ' согласно пункту 6.7 <a class="b-layout__link" href="' . $sbr->getDocumentLink('contract') . '">Договора</a>.'; } if ($current['abbr'] == 'sbr_stages.MONEY_PAID') { $type_payment = $stage->sbr->scheme_type == sbr::SCHEME_LC ? pskb::$exrates_map[$stage->data['ps_frl']] : ($stage->type_payment == exrates::FM ? $stage->type_payment : null); if ($stage->data['lc_state'] == pskb::PAYOUT_ERR) { $type_payment = exrates::WEBM; // Если происходит ошибка выплаты деньги всегда идут на веб-кошелек } $current['additional'] = 'На ' . sbr_meta::view_type_payment($type_payment, $type_payment == exrates::CARD ? 'вашу ' : 'ваш ') . ' были переведены ' . sbr_meta::view_cost($stage->getPayoutSum(sbr::FRL, $type_payment), $stage->type_payment == exrates::FM ? $stage->type_payment : $stage->sbr->cost_sys) . ' Зачисление денежных средств произведено ' . date('d.m.Y в H:i', strtotime($stage->data['lc_date'])) . ' согласно пункту 6.7 <a class="b-layout__link" href="' . $sbr->getDocumentLink('contract') . '">Договора</a>.'; } if ($current['abbr'] == 'sbr_stages.STATUS_MODIFIED' && $current['new_val'] == sbr_stages::STATUS_COMPLETED) { $current['abbr'] .= '_OK'; } if ($current['abbr'] == 'sbr_stages.REFUSE' && $current['new_val'] == '') { $current['additional'] = $sbr->isEmp() ? " и предпочел не указывать причину" : " и предпочли не указывать причину"; } if ($current['abbr'] == 'sbr_stages.OVERTIME') { $cdate = new LocalDateTime($current['xtime']); $cdate->getWorkForDay(pskb::PERIOD_EXP); $overtime = strtotime($current['xtime'] . " + " . $cdate->getCountDays() . "day"); $current['additional'] = date('d', $overtime) . " " . monthtostr(date('n', $overtime), true) . " " . date('Y', $overtime); } if ($current['abbr'] == 'sbr.AGREE' && ($sbr->isFrl() || $sbr->isAdmin() || $sbr->isAdminFinance())) { $type_payment = $stage->sbr->scheme_type == sbr::SCHEME_LC ? pskb::$exrates_map[$stage->data['ps_frl']] : $stage->type_payment;
<?php foreach ($sbr->stages as $num => $stage) { $stage->initNotification(); ?> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_padbot_15 b-layout__left_padright_20"> <div class="b-layout__txt b-layout__txt_bold b-layout__txt_fontsize_15"><a class="b-layout__link" href="?site=Stage&id=<?php echo $stage->data['id']; ?> "><?php echo reformat($stage->data['name'], 35, 0, 1); ?> </a></div> </td> <td class="b-layout__middle b-layout__middle_width_200"><div class="b-layout__txt b-layout__txt_padtop_2 b-layout__txt_bold"><?php echo sbr_meta::view_cost($stage->data['cost'], exrates::BANK); ?> </div></td> <td class="b-layout__right b-layout__right_width_250"><div class="b-layout__txt b-layout__txt_padtop_2"><span class="b-layout__bold"><?php echo $stage->data['work_days']; ?> <?php echo ending(abs($stage->data['work_days']), 'день', 'дня', 'дней'); ?> </span> на задачу</div></td> </tr> <?php } ?> </table>
</table> <br/> <?php // общие суммы для всей таблицы $total_sums = array(); $n = 0; foreach ($st['graphs'] as $sys => $graph) { $n++; ?> <!-- <h5><?php echo $EXRATE_CODES[$sys][3]; ?> (<?php echo sbr_meta::view_cost($graph['total']['sum']); ?> / <?php echo $graph['total']['cnt']; ?> )</h5> --> <div> <div class="nr-as-tbl-out"> <table class="nr-as-tbl"> <tbody> <tr style="border-top: 1px solid #F0EFED;"> <td style="width:80px;"><?php echo $EXRATE_CODES[$sys][3]; ?> </td>
<div> <div class="b-tax__level b-tax__level_padbot_12"> <div class="b-tax__txt b-tax__txt_width_220 b-tax__txt_inline-block">Бюджет всех этапов</div> <div class="b-tax__txt b-tax__txt_width_120 b-tax__txt_inline-block b-tax__txt_bold" id="sch_<?php echo $sbr->scheme["type"]; ?> _f"><?php echo sbr_meta::view_cost($sbr->data['cost'], exrates::BANK); ?> </div> </div> </div> <div class="b-tax__level b-tax__level_padtop_15"> <div class="b-tax__txt b-tax__txt_bold b-tax__txt_width_220 b-tax__txt_inline-block">Вы получите</div> <div class="b-tax__txt b-tax__txt_inline-block"><span class="b-tax__txt b-tax__txt_bold b-tax__txt_fontsize_15"><?php echo sbr_meta::view_cost($sbr->cost, exrates::BANK); ?> </span> и <span><?php echo $RT; ?> </span> <?php echo ending($RT, 'балл', 'балла', 'баллов'); ?> рейтинга</div> </div> </div> </div> </div> </div> </div> </div>
echo sbr_meta::view_cost(round($tax['tax_cost'] / 30, 2), exrates::FM, false); ?> </div> <div class="b-tax__txt b-tax__txt_width_130 b-tax__txt_inline-block b-tax__txt_fontsize_11"><?php echo $tax['percent']; ?> </div> </div> <?php } //foreach ?> <div class="b-tax__level b-tax__level_padtop_15" id="tax_sum"> <div class="b-tax__txt b-tax__txt_bold b-tax__txt_width_220 b-tax__txt_inline-block">Вы получите</div> <div class="b-tax__txt b-tax__txt_inline-block"><span class="b-tax__txt b-tax__txt_bold" id="tax_ammount"><?php echo sbr_meta::view_cost($this->type_payment != exrates::FM ? $total_sum : $total_sum_fm, $this->type_payment != exrates::FM ? $cost_sys : $this->type_payment); ?> </span> и <?php echo $RT; ?> <?php echo ending($RT, 'балл', 'балла', 'баллов'); ?> рейтинга</div> </div> </div> </div> </div> </div> </div> </div>
echo $pmt['balance'] < $pmt['in_amt'] - $pmt['out_amt'] ? 'color: red;' : ''; ?> "> Баланс: <b><?php echo sbr_meta::view_cost($pmt['balance'], $pmt['amt_sys'], false); ?> </b> </div> <?php } ?> <?php if ($pmt['in_amt'] > $pmt['out_amt'] && !$stage->payouts[$user_id]['completed']) { ?> <input type="button" value="<?php echo 'Выплатить ' . sbr_meta::view_cost($pmt['amt_limit'] && $pmt['amt_limit'] < $pmt['in_amt'] - $pmt['out_amt'] ? $pmt['amt_limit'] : $pmt['in_amt'] - $pmt['out_amt'], $pmt['amt_sys'], false); ?> " class="i-btn" onclick="SBR.elPayout(<?php echo $pmt['amt_sys']; ?> , this, <?php echo $stage->id; ?> , <?php echo $user_id; ?> , <?php echo (int) $pmt['confirmed']; ?> )"<?php
/** * Генерация заявления о выплате через систему Яндекс.Деньги * * @param array $error вернет массив с ошибками. * @param type $act_num № акта сдачи-приемки работ/услуг * @return CFile загруженный документ. */ public function generateFrlYMAppl(&$error, $act_num = false) { require_once dirname(__FILE__) . '/fpdf/fpdf.php'; define('FPDF_FONTPATH', dirname(__FILE__) . '/fpdf/font/'); require_once dirname(__FILE__) . '/num_to_word.php'; $error = NULL; $rq = $this->sbr->getFrlReqvs(true); if (!$this->sbr->checkUserReqvs($this->sbr->frl_reqvs)) { $error['frl'] = 'Для формирования заявления о выплате через систему "Яндекс.Деньги"<br/> необходимо заполнить реквизиты на странице "Финансы"'; } if ($rq[1]['el_yd'] == '') { $error['frl'] = 'Для формирования заявления о выплате через систему "Яндекс.Деньги"<br/> необходимо заполнить заполнить номер кошелька Яндекс.Деньги'; } $params = array(); $params['$date_statement'] = $this->redate_act ? date("d {$GLOBALS['MONTHA'][date('n')]} Y", strtotime($this->redate_act)) : date("d {$GLOBALS['MONTHA'][date('n')]} Y"); $params['$fio'] = $this->getFioFromReqvs($rq); $rq = $rq[1]; foreach ($rq as $k => $v) { $params["\$" . $k] = $v; } if ($this->sbr->scheme_type == sbr::SCHEME_AGNT || $this->sbr->scheme_type == sbr::SCHEME_LC) { $params['$doc_offer'] = 'п.6.2. Оферты на заключение договора об использовании'; } else { if ($this->sbr->scheme_type == sbr::SCHEME_PDRD || $this->sbr->scheme_type == sbr::SCHEME_PDRD2) { $params['$doc_offer'] = 'п.9.2. Оферты на заключение соглашения о выполнении работы и/или оказании услуги с использованием'; } } $sbr_num = $this->sbr->getContractNum(); $ssnum = $this->getOuterNum4Docs(); $reserved_tm = strtotime($this->sbr->reserved_time); $payout_sum = $this->getPayoutSum(sbr::FRL, exrates::BANK); $params['$sbr_summ'] = sbr_meta::view_cost($payout_sum, NULL, false, ',', ' '); $params['$sbr_summ_str'] = num2strEx($payout_sum); $params['$act_doc'] = ""; if ($act_num) { $params['$act_doc'] = "(акт сдачи-приемки работ/услуг № {$act_num} от " . date("d {$GLOBALS['MONTHA'][date('n')]} Y") . ")"; } else { $params['$act_doc'] = "(акт сдачи-приемки работ/услуг от " . date("d {$GLOBALS['MONTHA'][date('n')]} Y") . " по договору Подряда № {$sbr_num}{$ssnum} от " . date('d ' . $GLOBALS['MONTHA'][date('n', $reserved_tm)] . ' Y г.', $reserved_tm) . ")"; } $params['$sbr_id'] = $this->sbr->id; $params['$sbr_num'] = $sbr_num; $params['$sbr_date'] = date('d ' . $GLOBALS['MONTHA'][date('n', $reserved_tm)] . ' Y г.', $reserved_tm); $params['$ssnum'] = $ssnum; $params['$idcard_by'] = $rq['idcard_from'] . ' ' . $rq['idcard_by']; $tpl_name = 'yd_appl_fiz.xml'; $pdf = sbr::xml2pdf($_SERVER['DOCUMENT_ROOT'] . "/norisk2/xml/{$tpl_name}", $params); if (!($file = $this->sbr->_saveDocFile($pdf->Output(NULL, 'S')))) { $error['fatal'] = "Ошибка при формировании заявления о выплате через систему \"Яндекс.Деньги\""; } return $file; }
function sbrCalc($frl_type, $rez_type, $scheme_type, $currency, $sbr_cost, $emp_cost, $frl_cost, $usr_type) { session_start(); $frl_type = intval($_POST['xjxargs']['frl_type']); $rez_type = intval($_POST['xjxargs']['residency']); $scheme_type = intval($_POST['xjxargs']['scheme_type']); $currency = intval($_POST['xjxargs']['currency']); $sbr_cost = $_POST['xjxargs']['sbr_cost']; $emp_cost = $_POST['xjxargs']['emp_cost']; $frl_cost = $_POST['xjxargs']['frl_cost']; $usr_type = $_POST['xjxargs']['usr_type']; $_POST['xjxargs'] = array('frl_type' => $frl_type, 'rez_type' => $rez_type, 'scheme_type' => $scheme_type, 'currency' => $currency, 'sbr_cost' => $sbr_cost, 'emp_cost' => $emp_cost, 'frl_cost' => $frl_cost, 'usr_type' => $usr_type); // Заплатка для того чтобы работала CSRF xajax $hash = ''; sbr::setSbrCalc($_POST['xjxargs'], $hash); $_POST = $_POST['xjxargs']; foreach ($_POST as $k => $v) { if (!in_array($k, array('sbr_cost', 'frl_cost', 'emp_cost'))) { continue; } $_POST[$k] = str_replace(',', '.', $v); } $sbr_cost = __paramInit('money', null, 'sbr_cost', 0.0, 10); $emp_cost = __paramInit('money', null, 'emp_cost', 0.0, 10); $frl_cost = __paramInit('money', null, 'frl_cost', 0.0, 10); $err = 0; if (!$frl_type || !$frl_type || !$scheme_type || !$currency) { $err = 1; } if ($sbr_cost + $emp_cost + $frl_cost <= 0) { $err = 1; } if ($sbr_cost && $sbr_cost < sbr_stages::MIN_COST_RUR) { $err = 1; $res['msg'] = iconv('CP1251', 'UTF8', 'Минимальный бюджет проекта - ' . sbr_stages::MIN_COST_RUR . ' руб.'); } if ($sbr_cost && $sbr_cost < sbr_stages::MIN_COST_RUR_PDRD && ($scheme_type == sbr::SCHEME_PDRD || $scheme_type == sbr::SCHEME_PDRD2)) { $err = 1; $res['msg'] = iconv('CP1251', 'UTF8', 'Минимальный бюджет проекта - ' . sbr_stages::MIN_COST_RUR_PDRD . ' руб.'); } if (!get_uid(false) || $err) { $res['success'] = false; echo json_encode($res); return; } $sbr_meta = sbr_meta::getInstance(); $sbr_meta->scheme_type = $scheme_type; $schemes = $sbr_meta->getSchemes(); $emp_total = $frl_total = 0; $emp_tax = $frl_tax = 0; $tcost = $sbr_cost; $sch = null; foreach ($schemes as $id => $scheme) { if ($scheme['type'] != $scheme_type) { continue; } $sch = $scheme; } $_taxes = $taxes = array(); $rrq = array('U' => 0, 'Ff' => $frl_type, 'P' => $currency, 'Rf' => $rez_type); $pct = 0; foreach ($sch['taxes'][0] as $id => $tax) { $cost = sbr_meta::calcAnyTax($tax['id'], $tax['scheme_id'], $tcost, $rrq); $pct = $cost / $tcost; if (!$pct) { continue; } $tax['pct'] = $pct; $_taxes['frl'][] = $tax; $frl_tax += $pct * 100; } $rrq = array('U' => 1, 'Ff' => $frl_type, 'P' => $currency, 'Rf' => $rez_type, 'C' => $tcost); foreach ($sch['taxes'][1] as $id => $tax) { $cost = sbr_meta::calcAnyTax($tax['id'], $tax['scheme_id'], $tcost, $rrq); $pct = $cost / $tcost; if (!$pct) { continue; } $tax['pct'] = $pct; $_taxes['emp'][] = $tax; $emp_tax += $pct * 100; } if ($sbr_cost) { $emp_cost = $sbr_cost + $sbr_cost * ($emp_tax / 100); $frl_cost = $sbr_cost - $sbr_cost * ($frl_tax / 100); } elseif ($emp_cost) { $sbr_cost = $emp_cost - $emp_cost / (100 + $emp_tax) * $emp_tax; $frl_cost = $sbr_cost - $sbr_cost * $frl_tax / 100; } elseif ($frl_cost) { $sbr_cost = $frl_cost + $frl_cost / (100 - $frl_tax) * $frl_tax; $emp_cost = $sbr_cost + $sbr_cost * ($emp_tax / 100); } if ($sbr_cost && $sbr_cost < sbr_stages::MIN_COST_RUR) { $err = 1; $res['msg'] = iconv('CP1251', 'UTF8', 'Минимальный бюджет проекта - ' . sbr_stages::MIN_COST_RUR . ' руб.'); $res['success'] = false; echo json_encode($res); return; } if ($rez_type == sbr::RT_UABYKZ && $sbr_cost && $sbr_cost > sbr::usd2rur(sbr::MAX_COST_USD)) { $err = 1; $sum = sbr_meta::view_cost(sbr::usd2rur(sbr::MAX_COST_USD), exrates::BANK); $sum = html_entity_decode($sum); $res['msg'] = iconv('CP1251', 'UTF8', 'Максимальный бюджет ' . $sum . ', поскольку исполнитель не является резидентом Российской Федерации'); $res['success'] = false; echo json_encode($res); return; } if ($_taxes['frl']) { foreach ($_taxes['frl'] as $k => $tax) { $cost = $sbr_cost * $tax['pct']; if ($tax['tax_id'] == $sbr_meta->getTaxByCode('TAX_NDFL') || $tax['tax_id'] == $sbr_meta->getTaxByCode('TAX_NDFL_NR')) { $cost = sbr_meta::ndfl_round($cost); } $taxes['frl'][] = array('id' => $tax['id'], 'scheme' => $scheme_type, 'cost' => sbr_meta::view_cost($cost, null, false)); $frl_total += $cost; } } foreach ($_taxes['emp'] as $k => $tax) { $cost = $sbr_cost * $tax['pct']; if ($tax['tax_id'] == $sbr_meta->getTaxByCode('TAX_NDFL') || $tax['tax_id'] == $sbr_meta->getTaxByCode('TAX_NDFL_NR')) { $cost = sbr_meta::ndfl_round($cost); } $taxes['emp'][] = array('id' => $tax['id'], 'scheme' => $scheme_type, 'cost' => sbr_meta::view_cost($cost, null, false)); $emp_total += $cost; } $res['usr_type'] = intval($_POST['usr_type']); $res['taxes'] = $taxes; $res['emp_total'] = sbr_meta::view_cost($emp_total, null, false); $res['frl_total'] = sbr_meta::view_cost($frl_total, null, false); $res['emp_cost'] = round($sbr_cost + $emp_total, 2); $res['frl_cost'] = round($sbr_cost - $frl_total, 2); $res['sbr_cost'] = round($sbr_cost, 2); $res['rating_get'] = sbr_meta::getSBRRating($res['sbr_cost']); $res['hash'] = $GLOBALS['host'] . '/' . sbr::NEW_TEMPLATE_SBR . '/?site=calc&hash=' . $hash; $res['success'] = true; echo json_encode($res); return; }
<div class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_15"><?php echo reformat($stage->arbitrage['descr_arb'], 40, 0, 0, 1); ?> </div> <div class="b-post__txt b-post__txt_padbot_5 b-post__txt_color_a0763b"><span class="b-post__bold">Заказчику вернуть <?php echo 100 * (1 - $stage->arbitrage['frl_percent']); ?> %</span> бюджета проекта, <?php echo sbr_meta::view_cost($stage->getPayoutSum(sbr::EMP), $stage->sbr->cost_sys); ?> </div> <div class="b-post__txt b-post__txt_padbot_5 b-post__txt_color_a0763b"><span class="b-post__bold">Исполнителю заплатить <?php echo 100 * $stage->arbitrage['frl_percent']; ?> %</span> бюджета проекта, <?php echo sbr_meta::view_cost($stage->getPayoutSum(sbr::FRL), $stage->sbr->cost_sys); ?> </div> <div class="b-post__txt b-post__txt_padbot_5 b-post__txt_color_a0763b">Решение: <?php echo $stage->arbitrage['result'] == '' ? 'Расторжение договора' : reformat(str_replace(array('e%', 'f%'), array(100 * (1 - $stage->arbitrage['frl_percent']) . "%", 100 * $stage->arbitrage['frl_percent'] . "%"), $stage->arbitrage['result']), 40, 0, 0, 1); ?> </div> <div class="b-post__txt b-post__txt_padbot_5 b-post__txt_color_a0763b">Этап в арбитраже → Этап завершен арбитражем</div> <?php if ($event['estatus'] != 't' && $sbr->isEmp() || $event['fstatus'] != 't' && !$sbr->isEmp()) { $update_event[$event['abbr']] = $event['abbr']; } break; case 'sbr_stages.EMP_FEEDBACK': if (!$sbr->isEmp() && $event['fstatus'] != 't') { $update_event[$event['abbr']] = $event['abbr'];
<?php foreach ($sbr->scheme['taxes'][1] as $tax_id => $tax) { if ($tax['not_used']) { continue; } $t += $ts = round($stg->calcTax($tax), 2); ?> <td><?php echo sbr_meta::view_cost($ts, NULL, false); ?> </td> <?php } ?> <td><?php echo sbr_meta::view_cost($stg->cost + $t, NULL, false); ?> </td> </tr> <?php } ?> </tbody> </table> </div> <div class="form-block last"> <?php if ($no_reserve) { ?> <div class="form fs-p"> <b class="b1"></b>
</td> <td><strong>#<?php echo sbr_stages::getOuterNum($sbr_data['sbr_id'], $sbr_data['num']); ?> </strong> <a href="<?php echo $mode == 'all' ? '/sbr/' : ''; ?> ?access=A&site=Stage&id=<?php echo $sbr_data['id']; ?> "><?php echo reformat($sbr_data['name'], 30, 0, 1); ?> </a></td> <td class="nr-a-td-sum"><?php echo sbr_meta::view_cost($sbr_data['cost'], NULL, false); ?> </td> <td class="nr-a-td-val"><?php echo $sbr_data['reserved_id'] || $sbr_data['scheme_type'] != sbr::SCHEME_LC ? $EXRATE_CODES[$sbr_data['cost_sys']][2] : ' — '; ?> </td> <td><?php echo $sbr_data['dead_time'] ? date('d.m.Y H:i', strtotime($sbr_data['dead_time'])) : $sbr_data['work_days'] . ' ' . ending(abs($sbr_data['work_days']), 'день', 'дня', 'дней'); ?> </td> <td<?php echo $sbr_data['status'] == sbr_stages::STATUS_INARBITRAGE ? ' class="stat-imp"' : ''; ?> ><?php echo sbr_stages::$ss_classes[$sbr_data['status']][1];