public function lagreDb($filSti, $epost, $passord, $klubbId) { if (ValiderBruker::validerBrukerRettighet($this->database, $epost, $passord, $klubbId, "importerDatabase")) { $valider = new FilvaliderController(); // $liste = fread($handle, filesize($filSti)); // fclose($handle); // // $liste = str_replace("\r\n", "\n", $liste); // // // utf8Konverterer::cp1252_to_utf8( // $listeArray = @split("[|]", $liste); // //echo $listeArray[0]; // echo "---"; // return; // // $size = sizeof($listeArray); $handle = fopen($filSti, "r"); if ($handle) { $tekst = fgets($handle, 4096); $filtype = $valider->getFiltype(utf8Konverterer::cp1252_to_utf8($tekst)); $ret = ""; $this->svarListe[2] = $filtype; switch ($filtype) { case "Eier": $ep = new EierParser(); $hd = new EierDatabase(); break; case "Fugl": $ep = new FuglParser(); $hd = new JaktproveDatabase(); break; case "Hdsykdom": $ep = new HdsykdomParser(); $hd = new HdsykdomDatabase(); break; case "Hund": $ep = new HundParser(); $hd = new HundDatabase(); break; case "Kull": $ep = new KullParser(); $hd = new KullDatabase(); break; case "Oppdrett": $ep = new OppdrettParser(); $hd = new OppdrettDatabase(); break; case "Person": $ep = new PersonParser(); $hd = new PersonDatabase(); break; case "Premie": $ep = new PremieParser(); $hd = new PremieDatabase(); break; case "Utstilling": $ep = new UtstillingParser(); $hd = new UtstillingDatabase(); break; case "Veteriner": $ep = new VeterinerParser(); $hd = new VeterinerDatabase(); break; case "Aasykdom": $ep = new AasykdomParser(); $hd = new AasykdomDatabase(); break; case "Oyesykdom": $ep = new OyesykdomParser(); $hd = new OyesykdomDatabase(); break; default: return "Dette er en ukjent .dat fil"; } while (!feof($handle)) { $tekst = fgets($handle, 4096); $tekst = str_replace("\r\n", "\n", $tekst); $tekst = str_replace("\n", "", $tekst); $tekst = utf8Konverterer::cp1252_to_utf8($tekst); $verdier = $ep->getArray($tekst); foreach ($verdier as $nokkel => $v) { if ($v == "") { $verdier[$nokkel] = null; } } $svar = $hd->settInn($verdier, $klubbId); $this->velgHandling($svar, $tekst); //echo true; // Spytt ut firefox "søppel" for at tilkoblingen ikke skal stoppe. Safari kræsjer pga denne. } fclose($handle); } $ret = ""; $splitter = ""; foreach ($this->svarListe as $svar) { $ret .= $splitter . $svar; $splitter = "###"; } return $ret; } $feilkode = 1; throw new Exception('Du har ikke denne rettigheten', $feilkode); }
function testGetFiltypeController() { $fv = new FilvaliderController(); $this->assertEquals("Eier", $fv->getFiltype("EIER|HUID|RAID")); $this->assertEquals("Fugl", $fv->getFiltype("ProeveNr|ProveDato|PartiNr|Klasse|PEID_Domm1|PEID_Domm2|HUID|SlippTid|EgneStand|EgneStoekk|TomStand|MakkerStand|MakkerStoekk|JaktLyst|Fart|Stil|Selvstendighet|Bredde|Reviering|Samarbeid|Pres_Upresis|Pres_NoeUpresis|Pres_Presis|Reis_Nekter|Reis_Noelende|Reis_Villig|Reis_Djerv|Sek_Stjeler|Sek_Spontan|App_IkkeGodkj|App_Godkj|Rapp_Innkalt|Rapp_Spont|Premiegrad|CERTIFIKAT|RegAv|RegDato|RAID")); $this->assertEquals("Hdsykdom", $fv->getFiltype("AvlestAv|Betaling|Diagnose|DiagnoseKode|EndretAv|HDID|HUID|IdMerket|IdMerkerKode|Kode|Lidelse|LidelseKode|PEID|RAID|RegAv|SekHoyre|SekHoyreKode|SekVenstre|SekVenstreKode|Sendes|VEID|RontgenDato|AvlestDato")); $this->assertEquals("Hund", $fv->getFiltype("RAID|KUID|HUID|Tittel|Navn|HUIDFar|HUIDMor|IDNR|FargeBeskrivelse|FargeVariant|AD|HD|Haarlag|IDMerk|Kjoenn|PEID|EndretAv|EndretDato|RegDato|Stoerrelse")); $this->assertEquals("Kull", $fv->getFiltype("KUID|HUIDFar|HUIDMor|PEIDOppdretter|EndretDato|Foedt|RAID")); $this->assertEquals("Oppdrett", $fv->getFiltype("KUID|Oppdretter|RAID")); $this->assertEquals("Person", $fv->getFiltype("PEID|Navn|Adresse1|Adresse2|Adresse3|Postnr|Landkode|RAID|Status|Telefon1|EndretDato|RegDato|Foedt")); $this->assertEquals("Premie", $fv->getFiltype("DOID|UTID|HUID|Katalognr|PEIDdommer|Klasse|Kjonn|RAID|IM|KIP|JK|JKK|UK|UKK|BK|BKK|AK|AKK|VK|CHK|CHKK|VTK|VTKK|HP|CK|CC|CA|BIK|BIR|BIM")); $this->assertEquals("Utstilling", $fv->getFiltype("UTID|KLID|PEID|RegDato|RegAv|Navn|Adresse1|Adresse2|Postnr|SpesialAdresse|UtstillingDato|UtstillingSted|ArrangoerNavn1|ArrangoerNavn2|OverfoertDato")); $this->assertEquals("Veteriner", $fv->getFiltype("VEID|PEID|Adresse1|Adresse2|Adresse3|Postnr|Telefon|Telefax|KlinikkNavn|RegDato|RegAv|EndretAv")); $this->assertEquals("Aasykdom", $fv->getFiltype("VEID|AAID|DiagnoseKode|IdMerkerKode|LidelseKode|SekHoyreKode|SekVenstreKode|EndretAv|RegAv|AvlestAv|Betaling|Diagnose|HUID|IdFeil|IdMerket|Kode|Lidelse|PEID|Purring|RAID|Retur|SekHoyre|SekVenstre|Sendes|AvlestDato|RontgenDato")); $this->assertEquals("Ukjent", $fv->getFiltype("EIER|HUIT|RAID")); $this->assertEquals("Ukjent", $fv->getFiltype("")); }