Esempio n. 1
0
 /**
  * Проверить наличие финансовой информации
  * 
  * @param type $uid
  * @return boolean
  */
 public function isValidUserReqvs($uid, $is_emp = false)
 {
     if (isset($this->is_valids[$uid])) {
         return $this->is_valids[$uid];
     }
     $reqvs = $this->getUserReqvs($uid);
     if (!$reqvs || !$reqvs['form_type']) {
         return false;
     }
     $reqv = $reqvs[$reqvs['form_type']];
     //@todo: использую существующий метод вместо своего
     $errors = sbr::checkRequired($reqvs['form_type'], $reqvs['rez_type'], $reqv, $is_emp);
     $is_valid = empty($errors);
     //Если фрилансер физик и не резидент
     //то проверяем есть ли скан паспорта
     //@todo: это доп.проверка так как на странице финансов это поле обязательно
     //то возможно данные были заполнены еще до ввода скана в обязаловку
     //Позже после того как пометим всех нерезидентов у которых нет сканов
     //как не корректные финансы - проверку можно убрать
     if ($is_valid && !$is_emp && $reqvs['form_type'] == sbr::FT_PHYS) {
         require_once ABS_PATH . "/classes/account.php";
         $account = new account();
         $account->GetInfo($uid, true);
         $is_valid = $account->isExistAttach();
         if (!$is_valid) {
             session::setFlashMessage(account::MSG_UPLOAD_REQ, 'isValidUserReqvs');
         }
     }
     //если исполнитель беженец то проверяем действительны ли еще у него документы
     if ($is_valid && !$is_emp && in_array($reqvs['rez_type'], array(sbr::RT_REFUGEE, sbr::RT_RESIDENCE))) {
         $is_valid = isset($reqv['idcard_to']) && !empty($reqv['idcard_to']) ? strtotime($reqv['idcard_to']) > strtotime('+ 1 day') : false;
         if (!$is_valid) {
             session::setFlashMessage(account::MSG_UPLOAD_OLD, 'isValidUserReqvs');
         }
     }
     /*
             $reqv = array_filter($reqv, function($value){ 
        return $value !== null && !empty($value); 
             });
             
             $valid_keys = array_keys($reqv);
             
             $req_keys_more = array();
             $req_keys = array(
        'fio',
        'birthday',
        'mob_phone'
             );
             
             switch($reqvs['form_type'])
             {
        case sbr::FT_PHYS:
            $req_keys_more = array(
                'idcard_ser',
                'idcard',
                'idcard_by',
                'address_reg',
                'address'
            );
        break;
             
        case sbr::FT_JURI:
            $req_keys_more = array(
                'full_name',
                'address_jry'
            );
            
            if($reqvs['rez_type'] == sbr::RT_RU)
            {
                $req_keys_more[] = 'type';
            }
            
        break;
             }
             
             $req_keys = array_merge($req_keys, $req_keys_more);
             $is_valid = (count(array_intersect($req_keys, $valid_keys)) == count($req_keys));
     */
     $this->is_valids[$uid] = $is_valid;
     return $is_valid;
 }