本文整理汇总了PHP中sbr_meta::getInstanceLocal方法的典型用法代码示例。如果您正苦于以下问题:PHP sbr_meta::getInstanceLocal方法的具体用法?PHP sbr_meta::getInstanceLocal怎么用?PHP sbr_meta::getInstanceLocal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sbr_meta
的用法示例。
在下文中一共展示了sbr_meta::getInstanceLocal方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: aRecreateDocLC
/**
* Функция для пересоздания документа.
*
* @param int $doc_id ИД текущего документа
* @param int $uid ИД Пользователя
*
* @return \xajaxResponse
*/
function aRecreateDocLC($doc_id, $uid, $stage_id, $action = 'create', $interface = 'admin')
{
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pskb.php';
$objResponse = new xajaxResponse();
if (!hasPermissions('sbr')) {
return $objResponse;
}
$doc_id = intval($doc_id);
$uid = intval($uid);
$stage_id = intval($stage_id);
if (!$doc_id) {
$objResponse->alert('Не корректный документ.');
return $objResponse;
}
if (!$uid) {
$objResponse->alert('Не корректный пользователь.');
return $objResponse;
}
$sbr = sbr_meta::getInstanceLocal($uid);
if (!$sbr) {
$objResponse->alert('Ошибка запроса.');
return $objResponse;
}
$stage = $sbr->initFromStage($stage_id);
if (!$stage) {
$objResponse->alert('Этап не найден.');
return $objResponse;
}
if ($stage->status == sbr_stages::STATUS_ARBITRAGED) {
$stage->getArbitrage(false, false);
}
$doc = $sbr->getDoc($doc_id, true, true);
$gen = $stage->recreateDoc($doc, $action);
if ($gen) {
if ($interface == 'admin') {
$doc_act = $sbr->getDocs(null, null, true, $stage_id, true);
ob_start();
include $_SERVER['DOCUMENT_ROOT'] . '/sbr/admin/tpl.lc-docinfo.php';
$out = ob_get_clean();
$objResponse->assign("doc_content_{$stage_id}", 'innerHTML', $out);
} else {
$stage->getAllFiles();
ob_start();
include $_SERVER['DOCUMENT_ROOT'] . '/sbr/tpl.stage-files.php';
$out = ob_get_clean();
$objResponse->assign('doc_content', 'innerHTML', $out);
}
} else {
$objResponse->alert('Ошибка генерации документа.');
}
return $objResponse;
}
示例2: addInvoice
/**
* Формирование актов и счет-фактур по данным из pskb_invoice_raw
* Загрузка документов в сделку.
*
* @param type $data массив с данными - строка результата запроса из sbr_adm::processInvoiceData
* @param type $error
*
* @return bool
*/
public static function addInvoice($data, &$error = '')
{
$row = $data;
if (!$row) {
$error = 'Не найден аккредитив';
return false;
}
if (!trim($row['addr'])) {
$error = 'Не указан юрадрес';
// return false;
}
$sbr = sbr_meta::getInstanceLocal($row['emp_id']);
$sbr->initFromId($row['sbr_id'], false, false, false);
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/odt2pdf.php';
require_once dirname(__FILE__) . '/num_to_word.php';
/*
* Акт на сумму комиссии ВААН
*/
$replace = array('USER_NAME' => $row['name'], 'ACT_SUM' => number_format($row['sum'], 2, ',', ''), 'NDS_SUM' => number_format($row['sum'] - $row['sum'] / 1.18, 2, ',', ''), 'NO_NDS_SUM' => number_format($row['sum'] / 1.18, 2, ',', ''), 'ACT_NUM' => intval($row['actnum']), 'DOC_NUM' => $sbr->getContractNum(), 'SUM_STR' => num2strEx(floatval($row['sum'])), 'ACT_DATE' => date('d.m.Y', strtotime($row['actdate'])));
$tpl = 'pskb_close_act.ods';
$pdf = new odt2pdf($tpl);
$pdf->convert($replace);
if (!($file = $sbr->_saveDocFile($pdf->Output(null, 'S')))) {
$error = 'Ошибка при формировании Акта';
return false;
}
$docs[] = array('file_id' => $file->id, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => $row['is_emp'] ? sbr::DOCS_ACCESS_EMP : sbr::DOCS_ACCESS_FRL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_PSKB_ACT);
/*
* Счет-фактура
*/
$replace = array('USER_NAME' => $row['name'], 'USER_ADDR' => $row['addr'], 'USER_INN' => $row['inn'] . ($row['kpp'] ? '/' . $row['kpp'] : ''), 'INV_SUM' => number_format($row['sum'], 2, ',', ''), 'NDS_SUM' => number_format($row['sum'] - $row['sum'] / 1.18, 2, ',', ''), 'NO_NDS_SUM' => number_format($row['sum'] / 1.18, 2, ',', ''), 'INV_NUM' => intval($row['invnum']), 'DOC_NUM' => $sbr->getContractNum(), 'INV_DATE' => date('d.m.Y', strtotime($row['invdate'])));
$tpl = 'pskb_close_invoice.ods';
$pdf = new odt2pdf($tpl);
$pdf->convert($replace);
if (!($file = $sbr->_saveDocFile($pdf->Output(null, 'S')))) {
$error = 'Ошибка при формировании счета-фактуры';
return false;
}
$docs[] = array('file_id' => $file->id, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => $row['is_emp'] ? sbr::DOCS_ACCESS_EMP : sbr::DOCS_ACCESS_FRL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_FACTURA);
foreach ($docs as $doc) {
$ok = $sbr->addDocR($doc);
}
return true;
}
示例3: payoutAgnt
/**
* Совершает выплату юзеру по данному этапу СБР.
* Выплата -- это отметка, что деньги реально выплачены.
*
* @param integer $user_id ид. юзера, которому предназначается выплата.
* @return boolean успешно?
*/
function payoutAgnt($user_id, pskb $pskb, pskb_lc $pskb_lc)
{
setlocale(LC_ALL, 'en_US.UTF-8');
if (!$this->getPayouts($user_id)) {
return false;
}
if ($this->payouts[$user_id]['completed']) {
return false;
}
$account = new account();
$account->GetInfo($user_id);
$credit_sys = $this->payouts[$user_id]['credit_sys'];
$lc = $pskb->getLC(true);
$acc = $user_id == $this->sbr->emp_id ? $lc['accCust'] : $lc['accPerf'];
switch ($credit_sys) {
case exrates::BANK:
$descr = "Безнал на счет: {$acc}";
break;
case exrates::YM:
$descr = "Яндекс.Деньги на кошелек: {$acc}";
break;
case exrates::WMR:
$descr = "WMR на кошелек: {$acc}";
break;
case exrates::WEBM:
$descr = "Вывод на Веб-кошелек";
break;
case exrates::CARD:
$descr = "Безнал на счет пластиковой карты";
break;
default:
return !($this->error = 'Неверная валюта');
}
$this->sbr->getScheme();
$percent = 1;
if ($this->payouts[$user_id]['is_arbitrage'] == 't') {
$this->getArbitrage();
$percent = abs((int) ($user_id == $this->sbr->emp_id) - $this->arbitrage['frl_percent']);
}
$iex = $credit_sys . $this->sbr->cost_sys;
if (!$this->exrates) {
$this->sbr->getExrates();
}
$credit_sum = $this->payouts[$user_id]['credit_sum'];
$debit_sum = round($credit_sum * $this->sbr->exrates[$iex], 2);
$d_descr = 'Списание ' . ($percent == 1 ? '' : 100 * $percent . '% (арбитраж) ') . "резерва «Безопасной Сделки» (этап #{$this->id})";
$sbr = sbr_meta::getInstanceLocal($user_id);
$sbr->initFromId($this->data['sbr_id'], false, false);
$comments = sbr_meta::view_cost($credit_sum, $credit_sys) . ', ' . $sbr->getContractNum();
$d_comments = sbr_meta::view_cost($debit_sum, $this->sbr->cost_sys) . ', ' . $sbr->getContractNum();
if (($debit_id = $account->CommitReserved($sbr->emp_id, $this->sbr->reserved_id, $d_descr, sbr::OP_DEBIT, $debit_sum, $d_comments)) && ($credit_id = $account->TransferReserved($user_id, $credit_sum, $credit_sys - 1, $descr, $errors, sbr::OP_CREDIT, $comments))) {
$sql = "\n UPDATE sbr_stages_payouts\n SET debit_id = {$debit_id},\n credit_id = {$credit_id},\n completed = now(),\n state = '{$pskb_lc->state}',\n \"stateReason\" = '{$pskb_lc->stateReason}',\n bank_completed = '{$pskb_lc->date}'\n WHERE stage_id = {$this->id}\n AND user_id = {$user_id}\n\n AND completed IS NULL\n RETURNING *\n ";
if ($res = pg_query(self::connect(), $sql)) {
$this->payoutUpdateState($pskb_lc);
$docs = array();
$is_emp_arb = $this->status == sbr_stages::STATUS_ARBITRAGED && $this->arbitrage['resolved'] && floatval($this->arbitrage['frl_percent']) == 0;
if ($this->sbr->scheme_type == sbr::SCHEME_LC && !$is_emp_arb) {
if ($doc_file = $this->generateEmpAgentReport($doc_err, $rep_num)) {
// отчет агента.
$docs[] = array('stage_id' => $this->id, 'file_id' => $doc_file->id, 'num' => $rep_num, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => sbr::DOCS_ACCESS_EMP, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_AGENT_REP);
if ($doc_file = $this->generateEmpAct($doc_err, $doc_num, $rep_num)) {
// акт работодателя по агентской схеме (он же отчет об арбитраже, если был арбитраж).
$docs[] = array('stage_id' => $this->id, 'file_id' => $doc_file->id, 'num' => $doc_num, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => sbr::DOCS_ACCESS_EMP, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_ACT);
}
}
} elseif (($this->sbr->scheme_type == sbr::SCHEME_PDRD || $this->sbr->scheme_type == sbr::SCHEME_PDRD2) && !$is_emp_arb) {
if ($doc_file = $this->generateArbReportPdrdEmp($doc_err)) {
// отчет арбитража по договору подряда для работодателя.
$docs[] = array('stage_id' => $this->id, 'file_id' => $doc_file->id, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => sbr::DOCS_ACCESS_EMP, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_ARB_REP);
}
}
if (count($docs)) {
foreach ($docs as $doc) {
$ok = $this->sbr->addDocR($doc);
}
}
$this->payouts[$user_id] = pg_fetch_assoc($res);
return true;
}
}
if ($debit_id && !$credit_id) {
$account->Del($user_id, $debit_id);
}
return false;
}
示例4: SbrAddDoc
/**
* Уведомление о том, что загружен новый документ в СБР.
* Отправляется участнику СБР, если он заинтересован в этом документе (см. статусы и доступы к документам)
*
* @param array $events информация по событиям (если событий нескольлко, то содержит несколько элементов).
*/
function SbrAddDoc($events)
{
$ev0 = $events[0];
$url = $GLOBALS['host'] . '/' . sbr::NEW_TEMPLATE_SBR . '/';
$sbr_name = sbr_meta::getNameForMail($ev0, 'sbr');
$sbr_link_e = " «<a href='{$url}?id={$ev0['sbr_id']}{$this->_addUrlParams('e', '&')}'>{$sbr_name}</a>»";
$sbr_link_f = " «<a href='{$url}?id={$ev0['sbr_id']}{$this->_addUrlParams('f', '&')}'>{$sbr_name}</a>»";
if (!($doc = sbr_meta::getDoc($ev0['new_val'], false))) {
return 0;
}
if ($doc['owner_role'] != 0) {
return 0;
}
// только если админ загружал.
$doc_link_e = " «<a href='{$url}?site=Stage&id={$ev0['stage_id']}&doc={$ev0['new_val']}{$this->_addUrlParams('e', '&')}'>{$doc['name']}</a>»";
$doc_link_f = " «<a href='{$url}?site=Stage&id={$ev0['stage_id']}&doc={$ev0['new_val']}{$this->_addUrlParams('f', '&')}'>{$doc['name']}</a>»";
$this->subject = "Загружен новый документ по Безопасной Сделке (проект {$ev0['sbr_name']})";
$e = 'e_';
$f = 'f_';
//$msg[$e] = "Менеджер сервиса «Безопасная Сделка» загрузил документ {$doc_link_e} в проект {$sbr_link_e}.
$msg[$e] = "В Сделку {$sbr_link_e} загружен документ {$doc_link_e}.\n Вы можете ознакомиться с общим <a href='https://feedback.fl.ru/{$this->_addUrlParams('e', '?')}'>порядком проведения Безопасной Сделки</a>.";
//$msg[$f] = "Менеджер сервиса «Безопасная Сделка» загрузил документ {$doc_link_f} в проект {$sbr_link_f}.
$msg[$f] = "В Сделку {$sbr_link_f} загружен документ {$doc_link_f}.\n Вы можете ознакомиться с общим <a href='https://feedback.fl.ru/{$this->_addUrlParams('f', '?')}'>порядком проведения Безопасной Сделки</a>.";
$footer = 'norisk_robot';
if ($doc['type'] == sbr::DOCS_TYPE_ACT) {
$sbr = sbr_meta::getInstanceLocal($ev0['e_uid']);
$sbr->initFromId($ev0['sbr_id']);
if ($sbr->isNewVersionSbr()) {
$this->subject = "Завершается Безопасная Сделка {$sbr_name}";
if ($sbr->scheme_type == sbr::SCHEME_LC) {
$message = "Безопасная Сделка {$sbr_link_e} находится на завершающем этапе. В систему комментариев к сделке и подраздел «Файлы по этапу» был загружен {$doc_link_e}.<br/><br/>";
$message .= "<i>Обратите внимание</i>: отправлять документы по почте не требуется. Все налоги и сборы вам необходимо оплатить самостоятельно.<br/><br/>";
$message .= "Подробная информация по порядку завершения Безопасной Сделки находится в соответствующем <a href='https://feedback.fl.ru/' target='_blank'>разделе помощи</a>.";
$msg[$e] = $message;
$msg[$f] = $message;
} elseif ($sbr->scheme_type == sbr::SCHEME_PDRD2) {
//@todo: был не корректный вызов метода sbr::getContractNum($ev0['sbr_id'], $ev0['scheme_type'], $ev0['posted']) который валил всю функцию и возможно консьюмер
$doc_tz = " «<a href='{$url}?site=Stage&id={$ev0['stage_id']}&doc=" . ($ev0['new_val'] + 1) . "{$this->_addUrlParams('e', '&')}'>Техническое задание по договору {$sbr_name}</a>»";
$message = "Безопасная Сделка {$sbr_link_e} находится на завершающем этапе. В комментарии к сделке и подраздел «Файлы по этапу» был загружен {$doc_link_e} и {$doc_tz}.<br/><br/>";
$message .= "Для того чтобы получить гонорар за выполненную работу, вам необходимо распечатать данные документы в 2-х экземплярах, подписать и отправить на адрес компании FL.ru: 129223, г. Москва, а/я 33, ООО «Ваан».";
$msg[$e] = $message;
$msg[$f] = $message;
}
} else {
$this->subject = "Документы для завершения Безопасной Сделки по проекту «{$ev0['sbr_name']}»";
$msg[$e] = "\n Ваша Безопасная Сделка по проекту {$sbr_link_e} находится на завершающем этапе. В раздел «Документы проекта» был загружен {$doc_link_e}.\n <br/><br/>\n Для того чтобы деньги были переведены исполнителю, вам необходимо распечатать данный документ в 2-х экземплярах,\n подписать и отправить на адрес компании FL.ru: 129223, г. Москва, а/я 33, ООО «Ваан».\n <br/><br/>\n Пожалуйста, обратите внимание на то, что деньги будут переведены исполнителю только после получения нами оригиналов документов. Выплаты производятся еженедельно в среду и четверг.\n ";
if (!empty($events[1])) {
$ev1 = $events[1];
$_doc = sbr_meta::getDoc($ev1['new_val'], false);
if ($_doc['type'] == sbr::DOCS_TYPE_WM_APPL || $_doc['type'] == sbr::DOCS_TYPE_YM_APPL) {
$_doc_link_f = " «<a href='{$url}?site=Stage&id={$ev1['stage_id']}&doc={$ev1['new_val']}{$this->_addUrlParams('f', '&')}'>{$_doc['name']}</a>»";
}
}
if ($doc_link_f && $_doc_link_f) {
$doc_string_f = "были загружены {$doc_link_f} и {$_doc_link_f}";
$print_info_f = "Заявление в одном экземпляре, Акт – в двух";
} else {
$doc_string_f = "был загружен {$doc_link_f}";
$print_info_f = "данный документ в 2-х экземплярах";
}
$msg[$f] = "\n Безопасная Сделка по проекту {$sbr_link_f} находится на завершающем этапе. В раздел «Документы проекта» {$doc_string_f}.\n <br/><br/>\n Для того чтобы вам были перечислены ваши деньги, вам необходимо распечатать {$print_info_f},\n подписать и отправить на адрес компании FL.ru: 129223, г. Москва, а/я 33, ООО «Ваан».\n <br/><br/>\n Пожалуйста, обратите внимание на то, что деньги будут переведены вам только после получения нами оригиналов документов. Выплаты производятся еженедельно в среду и четверг.\n ";
$footer = 'norisk_robot';
}
}
if ($ev0['foronly_role'] === NULL || ((int) $ev0['foronly_role'] & sbr::EVROLE_FRL) == sbr::EVROLE_FRL) {
$rs[] = $f;
}
if ($ev0['foronly_role'] === NULL || ((int) $ev0['foronly_role'] & sbr::EVROLE_EMP) == sbr::EVROLE_EMP) {
$rs[] = $e;
}
if ($rs) {
foreach ($rs as $r) {
$this->message = $this->splitMessage($this->GetHtml($ev0[$r . 'uname'], $msg[$r], array('header' => 'simple', 'footer' => $footer)));
$this->recipient = $ev0[$r . 'uname'] . " " . $ev0[$r . 'usurname'] . " [" . $ev0[$r . 'login'] . "] <" . $ev0[$r . 'email'] . ">";
$this->SmtpMail('text/html');
}
}
}
示例5: array
<?php
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/num_to_word.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pskb.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/odt2pdf.php';
echo '<pre>';
$UID = 237958;
$STAGE_ID = 3524;
$DATE = '27.09.2012';
$sbr = sbr_meta::getInstanceLocal($UID);
$error = '';
$stage = $sbr->initFromStage($STAGE_ID);
$doc_file = $stage->generateFrlActPdrd($error, $DATE);
$doc = array('stage_id' => $stage->id, 'file_id' => $doc_file->id, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => sbr::DOCS_ACCESS_FRL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_ACT);
$stage->sbr->addDocR($doc);
$doc_file = $stage->generateTzPdrd($error, $DATE);
$doc = array('stage_id' => $stage->id, 'file_id' => $doc_file->id, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => sbr::DOCS_ACCESS_FRL, 'owner_role' => 0, 'type' => sbr::DOCS_TYPE_TZ_PDRD);
$stage->sbr->addDocR($doc);
exit;
示例6: SbrReservedMoney
/**
* Заказчику о резерве (должно отсылатся в момент когда Заказчик нажимает на Зарезервировать деньги) -- только для аккредитива.
*
* @param type $sbr_id ИД сделки
* @param type $user_id ИД пользователя
*
* @return type
*/
public function SbrReservedMoney($sbr_id, $user_id)
{
session_start();
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php';
$sbr = sbr_meta::getInstanceLocal($user_id);
$sbr->initFromId($sbr_id, false);
$sbr_num = $sbr->getContractNum();
$t_user = new users();
$t_user->GetUserByUID($user_id);
$url_sbr = "{$GLOBALS['host']}/" . sbr::NEW_TEMPLATE_SBR . '/';
$this->subject = "Резервирование денежных средств по «Безопасной Сделке» № {$sbr_num}";
$message = "Вам необходимо перечислить денежные средства по «Безопасной Сделке» <a href='{$url_sbr}?id={$sbr->id}'>№ {$sbr_num}</a> в течение " . pskb::PERIOD_RESERVED . ' рабочих дней с момента нажатия на кнопку «Зарезервировать средства». В противном случае сделка будет отменена.';
$this->recipient = "{$t_user->uname} {$t_user->usurname} [{$t_user->login}] <" . $t_user->email . '>';
$this->message = $this->GetHtml($t_user->uname, $message, array('header' => 'default', 'footer' => 'norisk_robot'));
return $this->send('text/html');
}