Example #1
0
 public function setUser($id)
 {
     $db = ECPFactory::getDbo();
     $user = $db->newQuery("select", "user")->table("logins")->where("id", $id, "=")->execute();
     if ($user->getRows()) {
         $u = $user->getSingleResult();
         $this->guest = false;
         $this->id = $id;
         $u['profiel'] = strtolower($u['profiel']);
         $this->user = $u;
         ecpimport("user.usertype");
         //usertype interface
         if (ecplocate("user.types.{$u['profiel']}")) {
             ecpimport("user.types.{$u['profiel']}");
             //usertype class
             $classname = "ECP_User_" . $u['profiel'];
             $this->typeobj = new $classname();
         } else {
             echo "fatal error.. usertype unknown<br/>Missing type is: {$u['profiel']}";
             ecpexit();
         }
         $this->locked = 1;
     } else {
         $this->guest = 1;
         $this->locked = 1;
         $this->user = array("naam" => "Gast", "type" => "Guest");
     }
 }
Example #2
0
 public function setAanvraag($pat_id, $data)
 {
     //rijksregister, patient_code, gemeente_id
     $patient = $this->getPatientById($pat_id, true);
     //met true halen we het object op!
     if ($data['huidigok'] == 1) {
         //huidige organisator blijft behouden, wat was deze?
         $data['organisator'] = $patient->getToegewezenGenre();
         //gemeente moet eigenlijk ocmw worden anders klopt de enum niet :s
         if ($data['organisator'] == "gemeente") {
             $data['organisator'] = "ocmw";
         }
         $data['organisatorid'] = $patient->getToegewezenId();
         //de organisatorid is ms onbekend.. dat is niet goed! dan maar 1 nemen
         if ($data['organisatorid'] == "" || $data['organisatorid'] == 0) {
             $data['organisatorid'] = 1;
         }
         //error of warning?
     }
     //rijksregister en gemeente_id gaan we niet gebruiken (zit bij patient, dus code is voldoende)
     //overleg_id is er pas indien er ook effectief een overleg komt
     self::$db = ECPFactory::getPDO("aanvraag.overleg");
     //print_r($data);
     $aanvraag = new AanvraagOverleg();
     $aanvraag->setPatientCode($patient->getCode())->setRijksregister($patient->getRijksregister())->setGemeenteId($patient->getGemId());
     //volgende waarden mogen niet leeg zijn, maar moeten tekst bevatten..
     self::slashset($data['organisator_reden']);
     self::slashset($data['organisator_reden_andere']);
     $aanvraag->setKeuzeOrganisator($data['organisator'])->setRedenOrganisator($data['organisator_reden']);
     $aanvraag->setAndereRedenOrganisator($data['organisator_reden_andere'])->setIdOrganisator($data['organisatorid']);
     //doelen mogen niet leeg zijn, dat zijn ze wel als ze niet aangevinkt waren :s
     //idem voor dringend || alle doelen behalve andere zijn integers.. dus preset.
     self::preset($data['informeren']);
     self::preset($data['beslissen']);
     self::preset($data['organiseren']);
     self::preset($data['debriefen']);
     self::preset($data['overtuigen']);
     self::slashset($data['doel_andere']);
     $aanvraag->setDoelInformeren($data['informeren'])->setDoelBeslissen($data['beslissen'])->setDoelDebriefen($data['debriefen']);
     $aanvraag->setDoelOrganiseren($data['organiseren'])->setDoelOvertuigen($data['overtuigen'])->setDoelAndere($data['doel_andere']);
     self::preset($data['dringend']);
     $aanvraag->setDringend($data['dringend']);
     $aanvraag->setNaamAanvrager($data['naam'])->setDisciplineAanvrager($data['relatie'])->setOrganisatieAanvrager($data['organisatie']);
     $aanvraag->setInfoAanvrager($data['email'] . "|" . $data['telefoon'])->setDringend($data['dringend'])->setStatus("aanvraag");
     $aanvraag->setTimestamp(time())->setRedenStatus("Nieuwe aanvraag");
     try {
         $insert = $aanvraag->insertIntoDatabase(self::$db);
     } catch (Exception $e) {
         ecpexit('{"succes":"negative","message":"Er liep iets grandioos fout!<br/>' . htmlentities($e->getMessage()) . '"}');
     }
     //ontvangst? Bron?
     return $insert;
 }
Example #3
0
 public function nieuw()
 {
     ecpimport("components.omb.listel.ombform");
     $formmodel = new ECP_Comp_OmbForm();
     if ($_SERVER['REQUEST_METHOD'] != "POST") {
         /*
          * Model
          */
         $contactwijze = $this->model->getContactwijze();
         $relatie = $this->model->getHoofdrelatie();
         //$probleemfactor = $this->model->getProbleemfactor();
         //$test = $this->model->testFunction();
         /*
          * Form
          */
         $formmodel->updateContactwijzeList($contactwijze);
         $formmodel->updateHoofdrelatieList($relatie);
         /*
          * View
          */
         $this->view->viewMeldingForm($formmodel->getForm("melding"));
     } else {
         echo '{"succes":"negative","message":"Oei het loopt even mis!<br/>De server ontving geen waarden van het formulier..."}';
         ecpexit();
     }
 }
Example #4
0
 public function nieuw()
 {
     ecpimport("components.overleg.base.overlegform");
     $formmodel = new ECP_Comp_OverlegForm();
     if ($_SERVER['REQUEST_METHOD'] != "POST") {
         if (!is_null($this->vars[0])) {
             //patientnummer opgeven
             $pat_id = $this->vars[0];
             //patient met overleggen ophalen
             $patient = $this->model->getOverlegByPatientId($pat_id);
             if ($patient == null) {
                 //patient had geen overleggen... Dan maar alleen patient opgeven
                 $patient = $this->model->getPatientById($pat_id);
             }
             //de toegewezen OC ophalen en bij data patient steken...
             $patient['toegewezen'] = $this->model->getPatientToewijzing($pat_id);
             //regionaal dienstencentra ophalen (RDC)
             $formmodel->updateRDCList($this->model->getRDC());
             //zorgaanbieders ophalen (ZA)
             $formmodel->updateZAList($this->model->getZA());
             //zorgaanbieders profiel PSY ophalen
             $formmodel->updatePSYList($this->model->getPSY());
             $this->view->newOverleg($patient, $pat_id, $formmodel->getForm("new"));
         } else {
             $patienten = $this->model->getAllPatients();
             $formmodel->updatePatientList($patienten);
             $this->view->selectPatient($patienten, $formmodel->getForm("select"));
         }
     } else {
         //we zouden nu data hebben mee gekregen :)
         if (array_key_exists("values", $_POST) && array_key_exists("patid", $_POST)) {
             $session = ECPFactory::getSession();
             if ($session->isActive()) {
                 //hier normaal controle op loginpin
                 $patient = $this->model->getOverlegByPatientId($_POST['patid']);
                 if ($patient == null) {
                     //patient had geen overleggen... Dan maar alleen patient opgeven
                     $patient = $this->model->getPatientById($_POST['patid']);
                 }
                 if ($patient == null) {
                     ecpexit('{"succes":"negative","message":"Oei het loopt even mis!<br/>De server kon de patient niet vinden..."}');
                 }
                 //regionaal dienstencentra ophalen (RDC)
                 $formmodel->updateRDCList($this->model->getRDC());
                 //zorgaanbieders ophalen (ZA)
                 $formmodel->updateZAList($this->model->getZA());
                 //zorgaanbieders profiel PSY ophalen
                 $formmodel->updatePSYList($this->model->getPSY());
                 //data insteken
                 $values = json_decode($_POST['values'], true);
                 //json string naar assoc array parsen..
                 $report = $formmodel->validateValuesNewOverleg($values);
                 if ($report === 0) {
                     ecpexit('{"succes":"negative","message":"Oei het loopt even mis!<br/>De server kon niets opmaken uit de gestuurde waarden..."}');
                 }
                 //en dan nu valideren :)
                 //print_r($report);
                 $error = $formmodel->validateNewOverleg($report);
                 //print_r($error);
                 if ($this->model->setAanvraag($_POST['patid'], $values)) {
                     ecpexit('{"succes":"positive","message":"Het overleg werd aangevraagd!<br/>Het systeem keert terug naar de overleglijst..."}');
                 } else {
                     ecpexit('{"succes":"negative","message":"Oei het loopt even mis!<br/>Onze database kon de aanvraag niet verwerken.<br/>Probeer opnieuw of neem contact op met de beheerder."}');
                 }
             } else {
                 echo $session->getState();
             }
         } else {
             echo '{"succes":"negative","message":"Oei het loopt even mis!<br/>De server ontving geen waarden van het formulier..."}';
             ecpexit();
         }
     }
 }
Example #5
0
 public function eid()
 {
     include "openid.php";
     $openid = new LightOpenID('localhost');
     if ($openid->mode) {
         $session = ECPFactory::getSession();
         ecpimport("helpers.cryptology");
         $loginpin = ECP_Cryptology::generateInteger(30);
         $pinhash = ECP_Cryptology::generateHash($loginpin);
         $user = $openid->getAttributes();
         $achternaam = $user["namePerson/last"];
         $postcode = $user["contact/postalCode/home"];
         $adres = $user["contact/postalAddress/home"];
         $db = ECPFactory::getPDO("Logins");
         $log = new Logins();
         $log->setAdres($adres)->setOverlegGemeente($postcode)->setNaam($achternaam);
         $results = Logins::findByExample($db, $log);
         if (empty($results)) {
             //email en ww komt niet overeen
             ecpexit("exit");
         } else {
             foreach ($results as $result) {
                 $id = $result->getId();
                 $result->setIpadres($_SERVER['REMOTE_ADDR'])->setLoginpin($pinhash);
                 $count = $result->updateToDatabase($db);
                 if ($count != l) {
                     return 2;
                 } else {
                     ecpexit("uid=>{$id},pin=>{$loginpin}");
                 }
             }
         }
     } else {
         //Step 2: Authentication, with requirements
         $openid->identity = 'https://www.e-contract.be/eid-idp/endpoints/openid/auth-ident';
         $openid->required = array('namePerson/first', 'namePerson/last', 'namePerson', 'person/gender', 'contact/postalCode/home', 'contact/postalAddress/home', 'contact/city/home', 'eid/nationality', 'eid/pob', 'birthDate', 'eid/card-number', 'eid/card-validity/begin', 'eid/card-validity/end');
         //$openid->optional = array('');
         header('Location: ' . $openid->authUrl());
     }
 }