public function edit($id) { //dohvat iz tablice $this->data['service_2'] = $this->service_m->get($id, TRUE); //count($this->data['user']) || $this->data['errors'][] = 'User could not be found'; //ako korisnik nije pronađen, dodati error poruku u error array $this->data['options'] = array('U TIJEKU', 'GOTOVO'); //pravila forme //$rules = $this->service_m->rules; //dohvat varijable 'rules' (koja je array) iz 'user_m' $this->form_validation->set_rules($this->rules); //procesiranje forme if ($this->form_validation->run() == TRUE) { $podaci = $this->service_m->array_from_post(array('kraj_servisa', 'status', 'komentar')); //$data['password'] = $this->user_m->hash(data['password']); $this->data['options'] = array('U TIJEKU', 'GOTOVO'); //datum format $podaci['kraj_servisa'] = dateform_($podaci['kraj_servisa']); $id_servisa = $this->service_m->save($podaci, $id); //zapis statusa servisa u tablicu 'mechanics' $mechanics_array = array('status_servisa' => $podaci['status']); // $id_serv = array('servis_mehanicar' => $id_servisa); $mechanic_row = $this->mechanic_m->get_by($id_serv, TRUE); $this->mechanic_m->save($mechanics_array, $mechanic_row->id); redirect('mech/service'); } //load view-a $this->data['subview'] = 'mech/service/edit'; //view $this->data['subview_2'] = 'mech/menu/index'; $this->load->view('login/_layout_main', $this->data); }
public function pretrazivanje_1() { $vrijednost = $this->array_from_post(array('vrijednost_search')); $search_array = $vrijednost['vrijednost_search']; $ime_servisa_korisnika = array('id' => $search_array); $i_servisa_result = $this->get_by($ime_servisa_korisnika, FALSE); $ime2_servisa_korisnika = array('naziv' => $search_array); $ii_servisa_result = $this->get_by($ime2_servisa_korisnika, FALSE); $result = $this->get(); $result_date = array(); foreach ($result as $key => $row) { $time = $row->created; //$date = date_format($time, 'Y-m-d H:i:s'); //datetime u string $search_rastavljeni = explode(" ", $time); //samo Y-m-d if (dateform_($search_array) == $search_rastavljeni[0]) { $result_date[$key] = $row; } } if (count($i_servisa_result)) { return $i_servisa_result; } elseif (count($ii_servisa_result)) { return $ii_servisa_result; } elseif (count($result_date)) { return $result_date; } /* elseif($vrijednost['opcija_search'] == 'Ime') { $ime_korisnika = array('ime'=>$search_array); $ime_korisnika_result = $this->user_m->get_by($ime_korisnika, FALSE); $this->data['users_search'] = $ime_korisnika_result; } elseif($vrijednost['opcija_search'] == 'Prezime') { $prezime_korisnika = array('prezime'=>$search_array); $prezime_korisnika_result = $this->user_m->get_by($prezime_korisnika, FALSE); $this->data['users_search'] = $prezime_korisnika_result; } elseif($vrijednost['opcija_search'] == 'Korisničko ime') { $name_korisnika = array('name'=>$search_array); $name_korisnika_result = $this->user_m->get_by($name_korisnika, FALSE); $this->data['users_search'] = $name_korisnika_result; } */ }
public function edit($id = NULL) { //dohvat korisnika iz tablice ili stvaranje novog (za preliminarni ispis kod edit-a) if ($id != NULL) { $this->data['user'] = $this->user_m->get($id); //count($this->data['user']) || $this->data['errors'][] = 'User could not be found'; //ako korisnik nije pronađen, dodati error poruku u error array /*spremanje trenutnog imena za provjeru pri editiranju (callback username...) $url = array('admin/user/edit/'.$id); if(in_array(uri_string(), $url)==TRUE) // { $trenutno_ime = array('trenutno_ime'=>$this->data['user']->name); $this->user_m->save($trenutno_ime, $id); }*/ } else { $this->data['user'] = $this->user_m->get_new(); } //pravila forme $rules = $this->user_m->rules; //dohvat varijable 'rules' (koja je array) iz 'user_m' //password, stavi neka je required ako se pravi novi profil if ($id == NULL) { $rules['password']['rules'] .= '|required'; } //$rules['password']['rules'] = $rules['password'] . '|required'; //$id==NULL || $rules['password']['rules'] .= '|required'; //NE RADI $this->form_validation->set_rules($rules); //drop-down menu $this->data['type_options'] = array('Administrator', 'Mehaničar', 'Klijent'); if ($id == NULL) { $this->data['type_options_2'] = array('Zaposlenik', 'Nije zaposlenik'); } else { $this->data['type_options_2'] = array('Zaposlenik', 'Bivši zaposlenik', 'Nije zaposlenik'); } //procesiranje forme if ($this->input->post('submit') == 'Spremi') { if ($this->form_validation->run() == TRUE) { /* ne radi ako se stavi PRIJE 119. linije $podaci = ... jer array još nije definiran $now = date('Y-m-d H:i:s'); if($id==NULL) {$podaci['created'] = $now;} elseif($id!=NULL) {$podaci['modified'] = $now;} */ $podaci = $this->user_m->array_from_post(array('ime', 'prezime', 'email', 'password', 'user_type', 'status', 'adresa', 'datum_rodjenja', 'JMBG', 'oruzani_broj', 'kontakt_broj')); //originalna lozinka - za privremeni ispis pri kreaciji novog profila $password_original = $podaci['password']; //password hashiranje (kako admin ne bi vidio) $podaci['password'] = $this->login_m->hash($podaci['password']); //kada se editira Šef, on je automatski admin i zaposlenik (UVIJEK) if ($id != NULL) { if ($this->data['user']->nadleznost == 'Šef') { //$type = array('user_type'=> 'admin'); //ne radi jer se naknadno sprema preko $podaci //$this->user_m->save($type, $id); $podaci['user_type'] = 'admin'; $podaci['status'] = 'Zaposlenik'; } } //kada se editira profil, upisuje se stara šifra if ($id != NULL) { $podaci['password'] = $this->data['user']->password; } //datum format $podaci['datum_rodjenja'] = dateform_($podaci['datum_rodjenja']); //stvaranje korisničkog imena //$prvo_slovo_ime = substr($podaci['ime'], 0,1); $username = $podaci['ime'] . $podaci['prezime']; $user_result = $this->user_m->get(); $najveci = 0; //$trenutno_ime = $this->data['user']->name; //$trenutno_ime_broj = preg_replace('/[^0-9]+/', ' ', $trenutno_ime); foreach ($user_result as $user_row) { //$user_name = explode('_', $user_row->name); //$name = $user_name['0'] . '_'; $name = preg_replace("/[^a-zA-ZčćđžšČĆŽŠĐ]+/", '', $user_row->name); //zamijeni sve osim slova u $user_row->name sa '' //$name = str_replace($numbers, '', $user_row->name); //ako to NIJE redak korisnika kojeg upravo uređujemo if ($user_row->id != $id) { if ($username == $name) { //$rastavljeni = explode("_", $user_row->name); //$broj_username = intval($rastavljeni['1']); //preg_match_all('!\d+!', $user_row->name, $broj); $broj = preg_replace('/[^0-9]+/', ' ', $user_row->name); //uzima $user_row->name string, zamjenjuje sve znakove sa prazninom osim brojki $broj_username = intval($broj); if ($broj_username >= $najveci) { $najveci = $broj_username + 1; } } } } $username = $username . $najveci; //spremanje korisničkog imena $podaci['name'] = $username; /*if($id!=NULL) { //brisanje vrijednosti 'trenutno_ime' $trenutno_ime = array('trenutno_ime'=>NULL); $this->user_m->save($trenutno_ime, $id); }*/ //postavljanje tipa korisnika if ($podaci['user_type'] == 'Administrator') { $podaci['user_type'] = 'admin'; } elseif ($podaci['user_type'] == 'Mehaničar') { $podaci['user_type'] = 'mech'; } elseif ($podaci['user_type'] == 'Klijent') { $podaci['user_type'] = 'client'; } //ako je client, automatski je 'Nije zaposlenik' if ($podaci['user_type'] == 'client') { $podaci['status'] = 'Nije zaposlenik'; } //ako se novi korisnik postavi na tip 'admin' ili 'mech', on je automatski zaposlenik if ($id == NULL) { if ($podaci['user_type'] == 'admin' || $podaci['user_type'] == 'mech') { $podaci['status'] = 'Zaposlenik'; } } //ako se ažurirani korisnik postavi na admina ili mecha i stavi kao 'nije zaposlenik' - on je autoamtski bivši zaposlenik if ($id != NULL) { if ($podaci['user_type'] == 'admin' || $podaci['user_type'] == 'mech') { if ($podaci['status'] == 'Nije zaposlenik') { $podaci['status'] = 'Bivši zaposlenik'; } } } $this->user_m->save($podaci, $id); $novi_user = $this->user_m->get_by($podaci, TRUE); //dohvat novostvorenog korisnika //spremanje originalne lozinke (prije hasha) /* $novi_user->password_original = $password_original; $password_array = array('password_original'=> $novi_user->password_original); $this->user_m->save($password_array, $novi_user->id); */ //privremeno spremanje lozinke radi ispisa (za printanje) $this->session->set_flashdata('lozinka', $password_original); //ažuriranje (NE spremanje) klijenta (ako je klijent) u tablicu klijenata ('clients') if ($podaci['user_type'] == 'client') { $klijent_ime = $podaci['name']; //$klijent_id = $this->data['user']->id; -još nije stvoren id, izbacuje error $klijent_id = $novi_user->id; $klijent_array = array('name_client' => $klijent_ime, 'id_client' => $klijent_id); //$novi_klijent_redak = $this->client_m->get_new(); //iz nekog razloga na ovo se ne izbacuje error //$id_2 = $novi_klijent_redak->id; //a trebao bi... //ipak radi i sprema $id_2 = NULL //isto se dogodi i ako stavimo varijablu bilo kojeg drugog naziva (a nije id) $id_array = array('id_client' => $klijent_id); $klijent_result = $this->client_m->get_by($id_array, FALSE); //id klijenta je nepromjenjen if (count($klijent_result)) { foreach ($klijent_result as $klijent_row) { $id_clients = $klijent_row->id; $this->client_m->save($klijent_array, $id_clients); //nema potrebe za get_new() //save() automatski stvara novi redak ako nema prijenosa id-a } } //ažuriranje podataka klijenta u tablicama servisa ('services') i oružija ('weapons') $klijent_array_1 = array('vlasnik' => $klijent_ime); $id_array_1 = array('id_vlasnika' => $klijent_id); $weapon_result = $this->weapon_m->get_by($id_array_1, FALSE); $service_result = $this->service_m->get_by($id_array_1, FALSE); if (count($service_result)) { foreach ($service_result as $service_row) { $id_service = $service_row->id; $this->service_m->save($klijent_array_1, $id_service); } } if (count($weapon_result)) { foreach ($weapon_result as $weapon_row) { $id_weapon = $weapon_row->id; $this->weapon_m->save($klijent_array_1, $id_weapon); } } } //ažuriranje (NE spremanje) mehaničara (ako je mehaničar) u tablicama 'services' i 'mechanics' if ($podaci['user_type'] == 'mech') { $mehanicar_ime = $podaci['name']; $mehanicar_id = $novi_user->id; $servicer_row = array('serviser' => $mehanicar_ime, 'id_servisera' => $mehanicar_id); $mechanic_row = array('name_mehanicar' => $mehanicar_ime, 'id_mehanicar' => $mehanicar_id); $id_array_s = array('id_servisera' => $mehanicar_id); $id_array_m = array('id_mehanicar' => $mehanicar_id); $stari_mehan_result_s = $this->service_m->get_by($id_array_s, FALSE); //ako nema, vraća NULL $stari_mehan_result_m = $this->mechanic_m->get_by($id_array_m, FALSE); foreach ($stari_mehan_result_s as $row_s) { ////ako je stari_mehan = NULL, foreach se uopće ne izvrši, $id_services = $row_s->id; //čak nema ni potrebe za if(count($stari_mehan)) $this->service_m->save($servicer_row, $id_services); } foreach ($stari_mehan_result_m as $row_m) { $id_mechanics = $row_m->id; $this->mechanic_m->save($mechanic_row, $id_mechanics); } } //spremanje korisnika u tablicu 'zaposlenici' ukoliko je zaposlenik/bivši zaposlenik if ($podaci['status'] == 'Zaposlenik' && $id == NULL) { $datum_zaposlenja = date('Y-m-d'); $zaposlenik_array = array('name' => $username, 'pocetak_rada' => $datum_zaposlenja); $this->zaposlenik_m->save($zaposlenik_array, $id); } elseif ($podaci['status'] == 'Bivši zaposlenik' && $id != NULL) { $zaposlenik = array('name' => $username); $zaposlenici = $this->zaposlenik_m->get_by($zaposlenik, FALSE); foreach ($zaposlenici as $zaposlen) { if ($zaposlen->kraj_rada == "0000-00-00") { $id_zaposlenik = $zaposlen->id; } } $datum_prestanka = date('Y-m-d'); $zaposlenik_array = array('kraj_rada' => $datum_prestanka); $this->zaposlenik_m->save($zaposlenik_array, $id_zaposlenik); } elseif ($podaci['status'] == 'Zaposlenik' && $id != NULL) { $i = FALSE; $datum_zaposlenja = date('Y-m-d'); $zaposlenik_array = array('name' => $username); $zaposlenik_array_2 = array('name' => $username, 'pocetak_rada' => $datum_zaposlenja); $zaposlenik_result = $this->zaposlenik_m->get_by($zaposlenik_array, FALSE); foreach ($zaposlenik_result as $zaposlen) { if ($zaposlen->pocetak_rada != "0000-00-00" && $zaposlen->kraj_rada == "0000-00-00") { //koji nema 'kraj_rada' (nije popunjen) $i = TRUE; break; } } if ($i == FALSE) { $this->zaposlenik_m->save($zaposlenik_array_2, $id_zaposlenik); //stvori novi red s tim korisničkim imenom } } //redirect if ($id == NULL) { redirect('admin/printing/index/' . $novi_user->id); } else { redirect('admin/user'); } //inače preusmjeri nazad na popis } else { $this->form_validation->set_message('rule', 'Error Message'); } } //load view-a $this->data['subview'] = 'admin/user/edit'; //view $this->data['subview_2'] = 'admin/menu/index'; $this->load->view('login/_layout_main', $this->data); }
public function edit($id = NULL) { //dohvat korisnika iz tablice ili stvaranje novog if ($id != NULL) { $this->data['service'] = $this->service_m->get($id); //count($this->data['user']) || $this->data['errors'][] = 'User could not be found'; //ako korisnik nije pronađen, dodati error poruku u error array } else { $this->data['service'] = $this->service_m->get_new(); } //pravila forme $rules = $this->service_m->rules; //dohvat varijable 'rules' (koja je array) iz 'user_m' $this->form_validation->set_rules($rules); $user_type_client = array('user_type' => 'client'); $user_type_mech = array('user_type' => 'mech'); //slanje liste korisnika (drop-down menu) $this->data['clients_options'] = $this->user_m->get_by($user_type_client, FALSE); //slanje liste oružija (drop-down menu) $this->data['weapons_options'] = $this->weapon_m->get(); //slanje liste mehaničara (drop-down menu) $this->data['mechs_options'] = $this->user_m->get_by($user_type_mech, FALSE); //vraća nekoliko redova //$id || $rules['password']['rules'] .= '|required'; //$rules['password']['rules'] = $rules['password'] . '|required'; //procesiranje forme if ($this->form_validation->run() == TRUE) { $podaci = $this->service_m->array_from_post(array('oruzije', 'serviser', 'pocetak_servisa', 'kraj_servisa')); //$data['password'] = $this->user_m->hash(data['password']); $podaci['preuzeto'] = FALSE; $podaci['kraj_servisa'] = date('Y-m-d'); //date format $podaci['pocetak_servisa'] = dateform_($podaci['pocetak_servisa']); $mehanicar = array('name' => $podaci['serviser']); //dohvat servisera $mech_row = $this->user_m->get_by($mehanicar, TRUE); //dohvat retka tog mehaničara iz tablice 'users' $id_mehanicara = $mech_row->id; //dohvat tog mehaničara //TREBAO BI BITI ID MEHANICARA!!!! $ime_mehanicara = $mech_row->name; //dohvat imena mehanicara $oruzije = array('name' => $podaci['oruzije']); //dohvat $oruz_row = $this->weapon_m->get_by($oruzije, TRUE); $id_oruzija = $oruz_row->id; //dohvat tog oružija //TREBAO BI BITI ID ORUŽIJA!! $naziv_oruzija = $oruz_row->name; //dohvat naziva oruzija //naziv_servisa /* $br_servisa = count($this->service_m->get())+1; $naziv_servisa_osnovno = 'Servis_' . $br_servisa; $postojeci_servisi = $this->service_m->get(); $ii = 0; foreach($postojeci_servisi as $servis) { if($naziv_servisa_osnovno == $servis->naziv_servisa) {$i++;} } if($i!=0) { $naziv_servisa = 'Servis_' . $br_servisa . '_'; } */ //naziv servisa !$id || $this->db->where('id !=', $id); //preskače se naziv aktualnog servisa, (ukoliko se ažurira) $postojeci_servisi = $this->service_m->get(); $najveci = 0; foreach ($postojeci_servisi as $servis) { //ako nema servisa, nema foreach-a... $rastavljeni = explode("_", $servis->naziv); $broj_servisa = intval($rastavljeni['1']); if ($broj_servisa >= $najveci) { $najveci = $broj_servisa + 1; } } $naziv_servisa = 'Servis_' . $najveci; // $podaci_update = array('id_vlasnika' => $oruz_row->id_vlasnika, 'id_oruzija' => $id_oruzija, 'id_servisera' => $id_mehanicara, 'naziv' => $naziv_servisa); $id_servisa = $this->service_m->save($podaci, $id); $this->service_m->save($podaci_update, $id_servisa); //dodatno spremanje $mechanics_array = array('id_mehanicar' => $id_mehanicara, 'name_mehanicar' => $ime_mehanicara, 'servis_mehanicar' => $id_servisa, 'id_oruzije_mehanicar' => $id_oruzija, 'naziv_servisa' => $naziv_servisa, 'oruzije_mehanicar' => $naziv_oruzija); // //$novi_mech_servis = $this->mechanic_m->get_new(); //stvaranje novog retka u tablici 'mechanics' //$id_2 = $novi_mech_servis->id; //dohvat id-a novostvorenog retka -NO //za dvije gornje linije, iz nekog razloga, ne javlja error kada se stavi $id_2 u save() $this->mechanic_m->save($mechanics_array); //za spremanje id servisa i imena mehanicara // u tablicu 'mechanics' u odgovarajuće atribute //zapis id servisa u tablicu 'clients' $klijent = array('id_client' => $oruz_row->id_vlasnika, 'id_oruzija_client' => $id_oruzija); //DODATI JOŠ ID ORUŽIJA KAO UVJET PRETRAGE $client_row = $this->client_m->get_by($klijent, TRUE); //JER ISTI KLIJENT MOŽE IMATI VIŠE ORUŽIJA // = JEDAN SERVIS $id_2 = $client_row->id; $client_array = array('servis_client' => $id_servisa, 'naziv_servisa' => $naziv_servisa); $this->client_m->save($client_array, $id_2); //zapis id servisa u tablicu oružija $id_oruzija_ = array('id' => $id_oruzija); //TREBAO BI BITI ID ORUŽIJA!!! $weapon_row = $this->weapon_m->get_by($id_oruzija_, TRUE); //izvlači se nešto što se već ima... $id_3 = $weapon_row->id; $weapon_array = array('pripadni_servis' => $id_servisa, 'naziv_servisa' => $naziv_servisa); $this->weapon_m->save($weapon_array, $id_3); $ime_vlasnika = $client_row->name_client; //dohvat imena vlasnika //spremanje pojedinih naziva u tablicu servisa $podaci_2 = array('serviser' => $ime_mehanicara, 'oruzije' => $naziv_oruzija, 'vlasnik' => $ime_vlasnika); $this->service_m->save($podaci_2, $id_servisa); redirect('admin/service'); } //load view-a $this->data['subview'] = 'admin/service/edit'; //view $this->data['subview_2'] = 'admin/menu/index'; $this->load->view('login/_layout_main', $this->data); }
public function pretrazivanje_2($oruzija) { $i_oruzija = array(); $iii_oruzija = array(); $vrijednost = $this->array_from_post(array('vrijednost_search')); $search_array = $vrijednost['vrijednost_search']; $ime_oruzija_korisnika = array('name' => $search_array); $i_oruzija_result = $this->get_by($ime_oruzija_korisnika, FALSE); $ime2_oruzija_korisnika = array('puni_naziv' => $search_array); $ii_oruzija_result = $this->get_by($ime2_oruzija_korisnika, FALSE); if (count($i_oruzija_result)) { //foreach($i_oruzija_result as $oruzije_row): foreach ($oruzija as $key => $oruzije_row) { if ($oruzije_row->oruzije_mehanicar == $search_array) { $i_oruzija[$key] = $oruzije_row; } } //endforeach; return $i_oruzija; } if (count($ii_oruzija_result)) { foreach ($oruzija as $key => $oruzije_row) { $naziv = array('name' => $oruzije_row->oruzije_mehanicar); $weap = $this->get_by($naziv, TRUE); //dohvati iz tablice oružija puni naziv $puni_naziv = $weap->puni_naziv; if ($puni_naziv == $search_array) { $i_oruzija[$key] = $oruzije_row; } } return $ii_oruzija_result; } if (count($oruzija)) { //foreach($i_oruzija_result as $oruzije_row): foreach ($oruzija as $key => $oruzije_row) { $time = $oruzije_row->created; //$date = date_format($time, 'Y-m-d H:i:s'); //datetime u string $search_rastavljeni = explode(" ", $time); if ($search_rastavljeni['0'] == dateform_($search_array)) { $iii_oruzija[$key] = $oruzije_row; } } //endforeach; if (count($iii_oruzija)) { return $iii_oruzija; } } }