예제 #1
0
        $reqv_1[$k] = $sbr->user_reqvs[1][$k];
    }
}
$reqv_2 = array();
foreach ($reqvs_fields as $k => $v) {
    if (!array_key_exists($k, $sbr->user_reqvs[2])) {
        continue;
    }
    if (in_array('all', $v[2]) || in_array(sbr::FT_JURI, $v[2])) {
        $reqv_2[$k] = $sbr->user_reqvs[2][$k];
    }
}
?>
            <?php 
if (!sbr_meta::$reqv_fields) {
    sbr_meta::getReqvFields();
}
?>
            <?php 
foreach ($reqv_1 as $f_name => $f_value) {
    ?>
            <?php 
    if (!isset($reqvs_fields[$f_name])) {
        continue;
    }
    $example = sbr_meta::$reqv_fields[1][$f_name]['example'];
    $maxlength = $sbr->user_reqvs['rez_type'] == 2 && $f_name == 'bank_rs' ? 25 : sbr_meta::$reqv_fields[1][$f_name]['maxlength'];
    $disabled = false;
    /*if($_SESSION['is_verify'] == 't' && in_array($f_name, array('fio', 'birthday', 'idcard_name', 'idcard', 'idcard_from', 'idcard_to', 'idcard_by', 'mob_phone'))) {
          $disabled = true;
      }*/
예제 #2
0
 /**
  * Проверяет указаны ли все реквизиты необходимые для выплаты в данной валюте.
  * И можно ли использовать данную валюту для выплаты.
  * 
  * @param  int $ex_code код валюты
  * @return bool true - указаны и можно, иначе false
  */
 function checkPayoutReqvs($ex_code)
 {
     if (!$this->checkPayoutSys($ex_code)) {
         return false;
     }
     switch ($ex_code) {
         case exrates::FM:
             return true;
             break;
         case exrates::WMR:
             $bool = (bool) $this->sbr->user_reqvs[sbr::FT_PHYS]['el_wmr'] && (bool) $this->sbr->user_reqvs[sbr::FT_PHYS]['el_doc_series'] && (bool) $this->sbr->user_reqvs[sbr::FT_PHYS]['el_doc_number'] && (bool) $this->sbr->user_reqvs[sbr::FT_PHYS]['el_doc_from'];
             return $bool;
             break;
         case exrates::YM:
             $bool = (bool) $this->sbr->user_reqvs[sbr::FT_PHYS]['el_yd'];
             return $bool;
             break;
         case exrates::BANK:
             sbr_meta::getReqvFields();
             if (!($ft = $this->sbr->user_reqvs['form_type'])) {
                 $ft = sbr::FT_PHYS;
             }
             $rt = $this->sbr->user_reqvs['rez_type'];
             $rq = $this->sbr->user_reqvs[$this->sbr->user_reqvs['form_type']];
             foreach (sbr_meta::$reqv_fields[$ft] as $key => $field) {
                 if ($field['grp'] != 'BANK' || !$field['rez_required']) {
                     continue;
                 }
                 if ($field['rez_required'] & $rt && !$rq[$key]) {
                     return false;
                 }
             }
             break;
         default:
             return false;
     }
     return true;
 }
예제 #3
0
 /**
  * Печатает форму для заполнения реквизитов для резервирования по безналу.
  * 
  * @param int  $stage_id     ид. этапа, в котором нужно вывести форму.
  * @param int  $form_type    текущий тип лица юзера (1:юр. лицо, 2:физ. лицо).
  * @param int  $reqv_mode    откуда предпочтительнее взять реквиизты (-1:непонятно откуда брать, 1:из Финансов, 2:самые последние).
  * @param bool $save_finance установить галку "Внести изменения в основные реквизиты"?
  *
  * @return string html-текст с формой.
  */
 public function view_invoice_form($stage_id, $form_type, $reqv_mode = 1, $save_finance = false)
 {
     $sbr = $this;
     sbr_meta::getReqvFields();
     $sbr->getInvoiceReqv($form_type, $reqv_mode);
     ob_start();
     include $_SERVER['DOCUMENT_ROOT'] . '/norisk2/employer/tpl.stage-reserve-bn-form.php';
     return ob_get_clean();
 }
예제 #4
0
 /**
  * Выводит HTML код формы заполнения реквизитов
  * 
  * @param array $reqvs существующие реквизиты
  * @param int $form_type 1 - физ. лицо, 2 - юр. лицо.
  * @param string $grp к какой группе полей относится данное поле (BANK:банковские реквизиты; EL:электронные кошельки)
  * @param string $tbl_caption заголовок формы
  * @param string $tbl_header краткое описание формы
  * @param string $tbl_subheader описание подраздела блока, имеет вид array('pos'=>1, 'title'=>'Описание'), 
  *                              где pos - Позиция перед которой будет описание, title - само описание
  * @param array $setting    Всевозможнные настройки отображения полей по умолчанию sbr_meta::$setting_finance_tbl
  *                          В теме new - действуют:
  *                          theme => string  -- Тип вывода таблицы (принимает пока два значение new, old)
  *                          group => array(a1, a2) -- группировка по позициям где a1 - начальная позиция, a2 - конечная позиция @see table sbr_reqv_fields
  *                          abbr_block => string   -- Название всего блока который выводится через функцию
  *                          caption_expand => boolean -- Если true - то название блока становися ссылкой и сам блок можно свернуть нажав на нее (работает в theme => new)
  *                          caption_descr  => string  -- Расшифровка заголовка
  *                          subdescr => array(pos => string) -- Дополнительное описание поля, где pos -- это позиция поля по значению из таблицы (table sbr_reqv_fields.pos), string - само описание
  *                          name_descr => array(pos => string) -- Под название поля, где pos -- это позиция поля по значению из таблицы (table sbr_reqv_fields.pos), string - само описание
  *                          @todo - group -- очень связано будет с позициями в таблице, при изменении этих позиций нужно редактировать код где есть group -- надо как то от этого избавиться
  */
 function view_finance_tbl($reqvs, $form_type, $grp, $tbl_caption, $tbl_header, $tbl_subheader = array(), $setting = false)
 {
     sbr_meta::getReqvFields();
     if (!$setting) {
         $setting = sbr_meta::$setting_finance_tbl;
     } elseif (is_array($setting)) {
         $setting = array_merge(sbr_meta::$setting_finance_tbl, $setting);
     }
     $tbl = array('rez_type' => -1, 'rez_type_new' => array());
     $rtv = 0;
     foreach (sbr_meta::$reqv_fields[$form_type] as $key => $field) {
         if ($grp !== -1 && $field['grp'] != $grp) {
             continue;
         }
         if ($setting['group']) {
             if ($grp !== -1 && ($field['pos'] < $setting['group'][0] || $field['pos'] > $setting['group'][1])) {
                 continue;
             }
         }
         $tbl[$key] = $field;
         if ((int) $field['rez_type'] != $tbl['rez_type']) {
             $tbl['rez_type'] = (int) $field['rez_type'];
             $rtv++;
             if (!empty($field['rez_type_new'])) {
                 $tbl['rez_type_new'] = $field['rez_type_new'] + $tbl['rez_type_new'];
             }
         }
     }
     if ($rtv > 1) {
         $tbl['rez_type'] = 0;
         $tbl['rez_type_new'] = array();
     }
     $rez_type = $reqvs['rez_type'] ? $reqvs['rez_type'] : sbr::RT_RU;
     switch ($setting['theme']) {
         case '':
             include $_SERVER['DOCUMENT_ROOT'] . '/sbr/tpl.form_element.php';
             break;
         default:
         case 'old':
             include $_SERVER['DOCUMENT_ROOT'] . '/norisk2/tpl.finance_tbl.php';
             break;
         case 'new':
             include $_SERVER['DOCUMENT_ROOT'] . '/sbr/tpl.finance_tbl.php';
             break;
     }
 }