/** * Проверить наличие финансовой информации * * @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; }