예제 #1
0
 /**
  * Конструктор класса, инициализируем аккаунт пользователя и так же данные необходимые для работы страницы.
  */
 public function __construct()
 {
     session_start();
     $uid = get_uid();
     // закрываем доступ на страницу для теста, доступ только админам
     if (!hasPermissions('users')) {
         //header("Location: /bill/"); // Если пользователь не админ
         //exit;
     }
     if (!$uid && $_GET['pg'] != '/bill/alphabank/') {
         header('Location: /fbd.php');
         // Если пользователь не авторизован, то посылаем на данную страницу
         exit;
     }
     require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/account.php';
     if (is_emp()) {
         require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php';
         $sbr = sbr_meta::getInstance();
         front::og('tpl')->sbr_reserved = $sbr->getReserved();
     }
     $account = new account();
     $account->GetInfo(get_uid());
     $this->account = $account;
     $_SESSION['ac_sum'] = $account->sum;
     $_SESSION['bn_sum'] = $account->bonus_sum;
     $this->uid = $uid;
     front::og('tpl')->footer_bill = true;
     front::og('tpl')->main_css = '/css/bill.css';
     front::og('tpl')->uid = $uid;
     // ИД пользователя
     front::og('tpl')->account = $account;
     // Аккаунт для биллинга
     front::og('tpl')->month_name = array(1 => 'Январь', 2 => 'Февраль', 3 => 'Март', 4 => 'Апрель', 5 => 'Май', 6 => 'Июнь', 7 => 'Июль', 8 => 'Август', 9 => 'Сентябрь', 10 => 'Октябрь', 11 => 'Ноябрь', 12 => 'Декабрь');
     front::og('tpl')->name_page = $this->name_page;
     front::og('tpl')->no_banner = !!is_pro();
     front::og('tpl')->g_page_id = '0|27';
 }
예제 #2
0
function aSaveDocument($stage_id, $doc_id, $name, $type, $access, $session)
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php';
    $stage_id = __paramValue('int', $stage_id);
    $doc_id = __paramValue('int', $doc_id);
    $objResponse = new xajaxResponse();
    if (!hasPermissions('sbr')) {
        $objResponse->script('window.sended = false');
        return $objResponse;
    }
    $sbr = sbr_meta::getInstance();
    $sbr_id = $sbr->getSbrIdFromStage($stage_id);
    $sbr->initFromId($sbr_id, true, false, false);
    if ($sbr->error) {
        $objResponse->script('window.sended = false');
        return $objResponse;
    }
    $stage = $sbr->initFromStage($stage_id, false);
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php';
    $attachedfiles = new attachedfiles($session);
    $attach = current($attachedfiles->getFiles());
    if ($attach['id']) {
        $file = new CFile($attach['id']);
        $file->table = 'file_sbr';
        $file->_remoteCopy($sbr->getUploadDir() . $file->name);
    } else {
        $file = false;
    }
    if ($doc_id) {
        $old_doc = $sbr->getDoc($doc_id);
        $doc = array('name' => $name, 'type' => $type, 'access_role' => $access, 'status' => $old_doc['status'], 'stage_id' => $stage_id, 'id' => $doc_id);
        if ($file) {
            $doc['file_id'] = $file->id;
        }
        $sbr->editDoc($doc, $old_doc);
        if ($old_doc['access_role'] == 0 && $doc['access_role'] > 0) {
            $stage->removeEvent(29, true);
        } elseif ($old_doc['access_role'] > 0 && $doc['access_role'] == 0) {
            $stage->removeEvent(30, true);
        }
    } else {
        if (!$file) {
            $objResponse->script('window.sended = false');
            $objResponse->call('alert', 'Загрузите файл');
            return $objResponse;
        }
        $doc = array('stage_id' => $stage_id, 'file_id' => $file->id, 'status' => sbr::DOCS_STATUS_PUBL, 'access_role' => $access, 'owner_role' => 0, 'type' => $type);
        $add_doc = $sbr->addDocR($doc);
        if (!$add_doc) {
            $objResponse->script('window.sended = false;');
            $objResponse->call('alert', 'Ошибка запроса');
            return $objResponse;
        }
    }
    $objResponse->script('window.location.reload()');
    return $objResponse;
}
예제 #3
0
 /**
  * Формирует отчет по арбитражу за определенный период.
  *
  * @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();
 }
예제 #4
0
               $sm = new smail();
               $error = $sm->SendBlogsBan( $_POST["uid"], (int)$_POST["reason"] );
           } else {
               $usr->Ban($_POST["uid"],1,(int)$_POST["reason"],$_POST["comment"],($_POST["alltime"] ? 0 : $_POST["time"]),0,0,0,intval($_POST['no_send']));
               $opin=new opinions();
               $opin->HideOpin($_POST["uid"]);
           }
           header("Location: ".$_POST["returnpath"]);
           exit;
           */
    }
    $login = trim($_GET['uid']);
    $usr = new users();
    $error = $usr->GetUser($login);
    if ($usr->login) {
        $sbr = sbr_meta::getInstance(sbr_meta::ADMIN_ACCESS, $usr->login, is_emp($usr->role));
        $sbrs = $sbr->getActives();
    }
    if (!$error) {
        $content = 'content.php';
    }
} else {
    $content = 'error.php';
}
$content_bgcolor = '#ffffff';
$header = '../header.php';
$footer = '../footer.html';
$page_title = 'Фрилансер. Работодатель. Удаленная работа. Поиск работы. Предложение работы. Портфолио фрилансеров. FL.ru';
$page_keyw = 'фрилансер, работодатель, удаленная работа, поиск работы, предложение работы, портфолио фрилансеров, разработка сайтов, программирование, переводы, тексты, дизайн, арт, реклама, маркетинг, прочее, fl.ru';
$page_descr = 'Фрилансер. Работодатель.Удаленная работа. Поиск работы. Предложение работы. Портфолио фрилансеров. Разработка сайтов, Программирование, Переводы, Тексты, Дизайн, Арт, Реклама, Маркетинг, Прочее. FL.ru';
include '../template.php';
예제 #5
0
 /**
  * Уведомление админу о том, что пользователь внес изменения на вкладке "Финансы".
  *
  * @param string $login логин пользователя.
  */
 public function FinanceChanged($login)
 {
     $user = new users();
     $user->GetUser($login);
     if (!$user->uid) {
         return;
     }
     $sbr = sbr_meta::getInstance(sbr_meta::ADMIN_ACCESS, $user, is_emp($user->role));
     if (!$sbr->getReserved()) {
         return;
     }
     $this->subject = "Пользователь {$user->login} заполнил реквизиты на странице Финансы";
     $this->message = $this->GetHtml(null, "Пользователь {$user->uname} {$user->usurname} [{$user->login}] заполнил реквизиты на страницы Финансы:<br/><br/>\n           <a href='{$GLOBALS['host']}/users/{$user->login}/setup/finance/{$this->_addUrlParams('b')}'>{$GLOBALS['host']}/users/{$user->login}/setup/finance/</a>\n          ", 'info');
     $this->recipient = '<*****@*****.**>';
     $this->SmtpMail('text/html');
 }
예제 #6
0
<?php

$new_site_css = true;
$g_page_id = '0|30';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/LocalDateTime.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/notifications.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
session_start();
$uid = get_uid();
$site = __paramInit('string', 'site', 'site');
$sbr = sbr_meta::getInstance();
if (!$uid && $site == 'calc') {
    $content = 'login_inner.php';
    include $rpath . 'template2.php';
    exit;
}
// если еще не было СБР, то открыть можно только калькулятор СБР
if (!$uid || !$sbr->uid && $site !== 'calc') {
    header_location_exit('/promo/' . sbr::NEW_TEMPLATE_SBR . '/');
}
$sbr->setGetterSchemes(0);
$count_old_sbr = $sbr->getCountCurrentsSbr();
$sbr->setGetterSchemes(1);
$footer_norisk = true;
setlocale(LC_ALL, 'en_US.UTF-8');
define('IN_SBR', true);
define('DEBUG', defined('IS_LOCAL') && IS_LOCAL || defined('SERVER') && (SERVER == 'beta' || SERVER == 'alpha'));
$js_file = array('/scripts/sbr.js', '/scripts/sbr2.js', '/scripts/finance.js');
//$css_file = "norisk-user.css";
$content = '../sbr/content.php';
예제 #7
0
 /**
  * Функция для вывода и обработки редактирования финансов в попап окне
  *  
  */
 public static function view_finance_popup($redirect_url = "")
 {
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/account.php";
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/smail.php";
     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/attachedfiles.php";
     $action = __paramInit('string', NULL, 'action');
     $sbr_id = __paramInit('int', 'id');
     $account = new account();
     $uid = $_SESSION['uid'];
     $ok = $account->GetInfo($uid, true);
     $reqvs = sbr_meta::getUserReqvs($uid);
     $sbr = sbr_meta::getInstance();
     $form_type = $reqvs['form_type'];
     $rez_type = __paramInit('int', NULL, 'rez_type');
     if ($rt_disabled = $sbr->checkChangeRT()) {
         if (!($rez_type = $reqvs['rez_type'])) {
             $rez_type = sbr::RT_RU;
         }
         $reqvs['rez_type'] = $rez_type;
     }
     if (!isset($rez_type)) {
         $rez_type = $reqvs['rez_type'];
     }
     $reqvs['rez_type'] = $rez_type;
     // !!!
     if ($action == 'updfin') {
         $popup_open = true;
         $error = array();
         $form_type = __paramInit('int', NULL, 'form_type');
         if ($form_type || $rez_type || isset($_POST['ft' . $form_type])) {
             if (!$ft_disabled) {
                 $reqvs['form_type'] = $form_type;
             }
             $reqvs[$form_type] = $_POST['ft' . $form_type];
             //@todo: запрещаем изменять финансы в старой СБР #29196
             $error['sbr'] = 'Прекращена поддержка СБР.';
             //if ($err = sbr_meta::setUserReqv($uid, $rez_type, $form_type, $reqvs[$form_type], $ft_disabled))
             //    $error['sbr'] = $err;
         }
         // обработка загруженных и удаленных файлов
         $attachedFiles = new attachedfiles($_POST['attachedfiles_session']);
         $attachedFiles_files = $attachedFiles->getFiles(array(1, 4));
         $err = $account->addAttach2($attachedFiles_files);
         // сохраняем файлы
         if ($err) {
             $error['all']['err_attach'] = $err;
         }
         if (!$error) {
             if ($stage) {
                 $stage->setPayoutSys((int) $_POST['credit_sys'], true);
             }
             //$_SESSION['users.setup.fin_success'] = 1;
             if (!hasPermissions('users')) {
                 $smail = new smail();
                 $smail->FinanceChanged($login);
             }
             header_location_exit($redirect_url, 1);
         }
         $finance_error = $error;
     }
     $attach = $account->getAllAttach();
     $prepared = sbr_meta::prepareFinanceFiles($attach);
     $attachDoc = $prepared['attachDoc'];
     $attachOther = $prepared['attachOther'];
     $attachedFilesDoc = $prepared['attachedFilesDoc'];
     $attachedFilesOther = $prepared['attachedFilesOther'];
     include $_SERVER['DOCUMENT_ROOT'] . '/sbr/tpl.finance.php';
 }