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"); } }
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; }
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(); } }
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(); } } }
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()); } }