/** * Initialise the application. * * @param array An optional associative array of configuration settings. * @since 1.0 */ public function initialise() { $this->session = ECPFactory::getSession(); if ($this->state !== "offline") { $this->state = "initialized"; } }
/** * Set user to guest -> can only be done from session class! (when validating) */ public function setGuest() { $session = ECPFactory::getSession(); if ($session->getState() === "unvalidated" || $session->getState() === "postunvalidated") { $this->guest = 1; $this->locked = 1; $this->user = array("naam" => "Gast", "type" => "Guest"); } }
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()); } }