/** * Формирует отчет по арбитражу за определенный период. * * @param string $sStartDate дата начала периода * @param string $sEndDate дата конца периода */ public function printArbitrageReport($sStartDate = null, $sEndDate = null) { global $EXRATE_CODES; // имя итогового файла $sWorkTitle = 'Arbitrage report'; $sWorkTitle .= $sStartDate ? ' ' . $sStartDate : ''; $sWorkTitle .= $sEndDate ? ' - ' . $sEndDate : ''; $sWorkTitle .= '.xls'; // выбираем все этапы которые закрыты арбитражом global $DB; $sQuery = 'SELECT ss.id, sd.num FROM sbr_stages ss LEFT JOIN sbr_docs sd ON ss.sbr_id = sd.sbr_id AND sd.type = 8 WHERE ss.status = ' . sbr_stages::STATUS_ARBITRAGED; $sQuery .= $sStartDate ? " AND ss.closed_time >= '{$sStartDate}'" : ''; $sQuery .= $sEndDate ? " AND ss.closed_time <= '{$sEndDate}'" : ''; $aRows = $DB->rows($sQuery . ' ORDER BY ss.closed_time'); // подключаем pear require_once 'Spreadsheet/Excel/Writer.php'; // создаем документ $workbook = new Spreadsheet_Excel_Writer(); $workbook->setVersion(8); // создаем лист $worksheet =& $workbook->addWorksheet('1'); $worksheet->setInputEncoding('CP1251'); // заголовок листа $worksheet->write(0, 0, 'ООО "Ваан"'); $worksheet->write(2, 1, 'Таблица по актам арбитража'); $m_sty = array('NumFormat' => '### ### ##0.00', 'Align' => 'right'); $d_sty = array('NumFormat' => 'DD MMM, YYYY HH:MM:SS'); $td_sty = array('FontFamily' => 'Calibri', 'VAlign' => 'vequal_space', 'Align' => 'center', 'Border' => 1, 'BorderColor' => 'black'); $th_sty = array('FontFamily' => 'Arial', 'Size' => 10, 'Align' => 'center', 'Border' => 1, 'BorderColor' => 'black', 'Bold' => 1); $format_top =& $workbook->addFormat($th_sty); $format_td =& $workbook->addFormat($td_sty); $format_money =& $workbook->addFormat(array_merge($td_sty, $m_sty)); $format_date =& $workbook->addFormat(array_merge($td_sty, $d_sty)); $format_top->setTextWrap(1); $aHeader = array('№ п/п', 'Номер акта', 'Дата', 'Номер «Безопасной Сделки»', 'Наименование Работодателя', 'Наименование Исполнителя', 'Сумма к выплате Работодателю, руб.коп.', 'Сумма к выплате Исполнителю, руб.коп.', 'Способ выплаты'); for ($i = 0; $i < count($aHeader); ++$i) { $worksheet->write(3, $i, $aHeader[$i], $format_top); } // данные if ($aRows) { $nCnt = 1; $aRates = exrates::GetAll(); foreach ($aRows as $aOne) { $sbr = sbr_meta::getInstance(sbr_meta::ADMIN_ACCESS); $stage = $sbr->initFromStage($aOne['id'], false); $stage->getArbitrage(true); // № п/п $worksheet->write($nCnt + 3, 0, $nCnt, $format_td); // Номер акта $worksheet->write($nCnt + 3, 1, $aOne['num'], $format_td); // Дата $sDate = date('Y-m-d H:i:s', strtotime($stage->arbitrage['resolved'])); $worksheet->write($nCnt + 3, 2, $sDate, $format_date); // Номер СБР $worksheet->write($nCnt + 3, 3, $stage->sbr->getContractNum(), $format_td); // Наименование Работодателя $stage->sbr->getEmpReqvs(); $sEmpFio = sbr_meta::getFioFromReqvs($stage->sbr->emp_reqvs); if (!$sEmpFio) { $emp = new employer(); $emp->GetUserByUID($stage->sbr->emp_id); $sEmpFio = $emp->uname . ' ' . $emp->usurname . ' [' . $emp->login . ']'; } $worksheet->write($nCnt + 3, 4, $sEmpFio, $format_td); // Наименование Исполнителя $stage->sbr->getFrlReqvs(); $sFrlFio = sbr_meta::getFioFromReqvs($stage->sbr->frl_reqvs); if (!$sFrlFio) { $frl = new freelancer(); $frl->GetUserByUID($stage->sbr->frl_id); $sFrlFio = $frl->uname . ' ' . $frl->usurname . ' [' . $frl->login . ']'; } $worksheet->write($nCnt + 3, 5, $sFrlFio, $format_td); // Сумма к выплате Работодателю, руб.коп. $nSumm = $stage->getPayoutSum(sbr::EMP, exrates::BANK); $worksheet->write($nCnt + 3, 6, $nSumm, $format_money); // Сумма к выплате Исполнителю, руб.коп. $nSumm = $stage->getPayoutSum(sbr::FRL, exrates::BANK); $worksheet->write($nCnt + 3, 7, $nSumm, $format_money); // Способ выплаты $worksheet->write($nCnt + 3, 8, $EXRATE_CODES[$stage->sbr->cost_sys][1], $format_td); ++$nCnt; } } // отправляем на скачивание $workbook->send($sWorkTitle); // закрываем документ $workbook->close(); }
function CalcPaidAdvice($sum, $scheme) { $objResponse = new xajaxResponse(); require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/exrates.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sbr.php"; $exrates = new exrates(); if (intval($sum) <= 0) { $objResponse->assign("sum_fm", "value", ""); $objResponse->assign("sum_rating", "innerHTML", ""); return $objResponse; } $advice = new paid_advices(); $EXR = $exrates->GetAll(); if ($scheme == 1) { $sum_fm = round($sum / $EXR[13], 2); $FM = round($sum * paid_advices::PAID_COMMISION, 2); $RT = $advice->getSBRRating($sum); $html_rt = 'и получите <strong>' . $RT . '</strong> ' . ending($RT, "балл", "балла", "баллов") . ' рейтинга'; if ($sum < sbr_stages::MIN_COST_RUR_PDRD) { $objResponse->script("\$('error_budget').show();"); } else { $objResponse->script("\$('error_budget').hide();"); } $objResponse->assign("sum_fm", "value", $FM); $objResponse->assign("sum_rating", "innerHTML", $html_rt); } else { if ($scheme == 2) { $RUB = round($sum / paid_advices::PAID_COMMISION, 2); $sum_fm = round($RUB, 2); $RT = $advice->getSBRRating($sum); $html_rt = 'и получите <strong>' . $RT . '</strong> ' . ending($RT, "балл", "балла", "баллов") . ' рейтинга'; if ($RUB < sbr_stages::MIN_COST_RUR_PDRD) { $objResponse->script("\$('error_budget').show();"); } else { $objResponse->script("\$('error_budget').hide();"); } $objResponse->assign("sum_rub", "value", $RUB); $objResponse->assign("sum_rating", "innerHTML", $html_rt); } } return $objResponse; }
} $filterCounts = opinions::getFilterCounts($to_id, is_emp($user->role), $sort, $author, $period); /** * @deprecated #0015627 if ($uid) { $can_post = opinions::CheckUserCanPost($uid, $to_id); } */ $_SESSION['page_user_id'] = $user->uid; if ($ops_type == 'norisk') { require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/paid_advices.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/sbr.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/exrates.php"; $sbr = new sbr(get_uid(false)); $isReqvsFilled = !$sbr->checkUserReqvs(); $exrates = new exrates(); $EXR = $exrates->GetAll(); $paid_advice = new paid_advices(); $can_post = 0; $_attached = array(); function set_loaded_attach($type, $id, $name, $link = false) { global $_attached; $_attached['ids'][$type] = $id; $_attached['ext'][$type] = getICOFile(CFile::getext($name)); if (strlen($name) > 40) { $name = substr($name, 0, 18) . '...' . substr($name, strlen($name) - 18, 18); } $_attached['name'][$type] = $name; $_attached['link'][$type] = $link; }
/** * Для вывода суммы счета пользователя на всем сайте в конкретной валюте * @staticvar type $curs * @param type $sum * @return type */ function _bill($sum, $cur = null) { static $curs; if ($curs == null) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/exrates.php'; $exrates = new exrates(); if ($cur == null) { $cur = exrates::WMR; } $curs = $exrates->GetField(exrates::FM . $cur, $error, 'val'); } return round($sum * $curs, 2); }
<?php if (!defined('IS_SITE_ADMIN')) { header('Location: /404.php'); exit; } if (!$sbr) { exit; } // курсы обмена $exrates = exrates::GetAll(); ?> <script type="text/javascript"> var SBR; window.addEvent('domready', function() { SBR = new Sbr('siteadminFrm'); } ); </script> <h3>Статистика СБР</h3> <div class="m-cl-bar"> <form action="." method="get" id="siteadminFrm"> Период: <?php include $_SERVER['DOCUMENT_ROOT'] . '/norisk2/tpl.filter-period.php'; ?> <input type="hidden" name="site" value="stat" /> <input type="submit" value="Показать" /> <a href="/siteadmin/norisk2/?site=stat" class="lnk-dot-666">Сбросить фильтр</a> </form> </div> <?php foreach ($stats as $type => $st) { ?>
/** * Произведена выплата гонорара. * @param type $events */ function SbrMoneyPaidEmp($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'); $msg = "Информируем вас о том, что возврат денег в Сделке «<a href='{$url}?site=Stage&id={$ev0['stage_id']}{$this->_addUrlParams('f', '&')}'>{$sbr_name}</a>» произведен (в соответствии с решением Арбитража).<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'); }
/** * Инициализирует массив текущих курсов обмена валют. * @see exrates */ function getExrates() { $this->exrates = exrates::GetAll(); }
if (!(hasPermissions('bankalpha') && hasPermissions('adm'))) { header("Location: /404.php"); exit; } $no_banner = 1; $rpath = '../../'; $content = '../content2.php'; $header = $rpath . 'header.php'; $footer = $rpath . 'footer.html'; $inner_page = 'index_inner.php'; $css_file = array('calendar.css', 'moderation.css', 'nav.css', 'new-admin.css'); $js_file = array('calendar.js'); $sError = ''; $action = $_REQUEST['action']; $account = new account(); $exrates = new exrates(); if ($action == 'add') { $sLogin = $_POST['login']; $nSummR = floatval($_POST['summ']); $nStamp = strtotime($_POST['date'] . ' ' . $_POST['time']); $oUser = new users(); $oUser->GetUser($sLogin); if ($oUser->uid) { if ($nSummR > 0) { if (intval($nStamp)) { $nRate = $exrates->GetField(51, $err, 'val'); $nSummFM = round($nSummR, 2); $sAdmin = 'Запись добавил: ' . $_SESSION['login']; $comments = "Безналичный перевод для физ.лиц, логин {$oUser->login}, Альфа-банк"; $sDate = date('c', $nStamp); if ($account->GetInfo($oUser->uid, true) && !($err = $account->depositEx($account->id, $nSummFM, $sAdmin, $comments, 12, $nSummR, 11, $sDate))) {
<?php if ($item['op_code'] != billing::RESERVE_OP_CODE) { ?> <div class="b-layout__txt b-layout__txt_fontsize_15"><?php echo reformat(htmlspecialchars_decode($item['comments']), 27, 0, 1); ?> </div> <?php } elseif ($item['status'] == 'reserve') { //if ?> <div class="b-layout__txt b-layout__txt_fontsize_15 b-layout__txt_color_c10600" id="com<?php echo $item['id']; ?> ">Ожидание оплаты<br><?php echo exrates::getNameExratesForHistory($item['payment_sys']); ?> </div> <?php } elseif ($item['status'] == 'cancel') { //if ?> <div class="b-layout__txt b-layout__txt_fontsize_15 b-layout__txt_color_808080" id="com<?php echo $item['id']; ?> ">Список заказов отменен</div> <?php } //else ?> </td>