Ejemplo n.º 1
0
 public function update()
 {
     if ($this->isLogged()) {
         $page = $this->getPage();
         $this->load->model('VisitorModel');
         $this->load->model('AddressModel');
         $this->load->model('DistrictModel');
         $this->load->model('CityModel');
         $this->load->model('StateModel');
         $address = new AddressModel();
         $district = new DistrictModel();
         $city = new CityModel();
         $state = new StateModel();
         $visitor = new VisitorModel();
         //          VARIÁVEIS VÃO RECEBER TODAS AS INFORMAÇÕES ENVIADAS PELO FORMULÁRIO PARA TRABALHAR DENTRO DO CONTROLADOR
         $vid = $this->input->get('id');
         $vstatus = $this->input->get('status');
         $vmaker = $this->input->get('maker');
         $vname = mb_strtoupper($this->input->get('name'));
         $vcpf = $this->input->get('cpf');
         $vrg = $this->input->get('rg');
         $vphone = $this->input->get('phone');
         $vstreet = mb_strtoupper($this->input->get('street'));
         $vnumber = $this->input->get('number');
         $vcep = $this->input->get('cep');
         $vdistrict = mb_strtoupper($this->input->get('district'));
         $vcity = mb_strtoupper($this->input->get('city'));
         $vuf = $this->input->get('uf');
         // ***********************************************************************************************************************
         //
         //          cityaux vai receber do banco uma cidade cuja qual o estado relacionado tenha uf igual a fornecida no formulario
         $cityaux = null;
         $districtaux = null;
         $addressaux = null;
         $cityaux = $city->surecity($vcity, $vuf);
         if (!$cityaux) {
             // se esta cidade não existir, ele deve salvar ela no banco de dados
             $citydata['idcity'] = null;
             $citydata['namecity'] = $vcity;
             $citydata['state'] = $vuf;
             if ($city->save($citydata)) {
                 // caso salve corretamente, cityaux passa a receber essa nova cidade salva
                 $cityaux = $city->lastinsert();
             } else {
                 // caso não salve a cidade, já fica impossibilitado o restante do código, não cadastranso o visitante
                 return false;
             }
         }
         //          districtaux vai receber do banco um bairro cujo qual a cidade relacionada é a mesma definida em cityaux
         $districtaux = $district->suredistrict($vdistrict, $cityaux['idcity']);
         if (!$districtaux) {
             // se este bairro não existir, deve ser criado
             $districtdata['iddistrict'] = NULL;
             $districtdata['namedistrict'] = $vdistrict;
             $districtdata['city'] = $cityaux['idcity'];
             if ($district->save($districtdata)) {
                 // caso salvo corretamente, districtaux recebe o novo bairro salvo
                 $districtaux = $district->lastinsert();
             } else {
                 // caso não salve o bairro, já fica impossibilitado o restante do código, não cadastranso o visitante
                 return false;
             }
         }
         //          COM CIDADE E BAIRRO DEFINIDAS, AGORA É HORA DE SALVAR O ENDEREÇO
         //          PARA CADA NOVO USUÁRIO, UM NOVO ENDEREÇO DEVE SER SALVO
         $visitoraux = $visitor->search($vid);
         $addressaux = $address->search($visitoraux['address']);
         $addressdata['idaddress'] = $addressaux['idaddress'];
         $addressdata['street'] = $vstreet;
         $addressdata['number'] = $vnumber;
         $addressdata['cep'] = $vcep;
         $addressdata['district'] = $districtaux['iddistrict'];
         $address->update($addressdata);
         $visitordata['id'] = $vid;
         $visitordata['name'] = $vname;
         $visitordata['cpf'] = $vcpf;
         $visitordata['rg'] = $vrg;
         $visitordata['phone'] = $vphone;
         $visitordata['address'] = $addressaux['idaddress'];
         $visitordata['maker'] = $vmaker;
         $visitordata['status'] = $vstatus;
         if ($visitor->update($visitordata)) {
             if ($this->session->userdata('incourse') === TRUE) {
                 $current = array("id" => 4, "page" => "user");
                 $page = array("current" => $current);
                 $this->load->view('template/user/header', $page);
                 $delivery = $visitor->searchforcpf($vcpf);
                 $msg = array("visitors" => $delivery);
                 $this->load->view('user/newloan', $msg);
             } else {
                 $this->load->view('template/user/header', $page);
                 $savesuccess = array("id" => "1", "class" => "success", "message" => "Cadastro atualizado com sucesso!");
                 $delivery = $visitor->searchforcpf($vcpf);
                 $msg = array("visitors" => $delivery, "savesuccess" => $savesuccess);
                 $this->load->view('user/visitor', $msg);
             }
             $this->load->view('template/public/footer');
         } else {
             return false;
         }
     }
 }