diff --git a/.gitignore b/.gitignore index 69db029..d138466 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,9 @@ Thumbs.db *.mov *.wmv + +docs/ + +public/tmp/ + +documents/compactsops/ diff --git a/application/cache/.htaccess b/application/cache/.htaccess new file mode 100644 index 0000000..14249c5 --- /dev/null +++ b/application/cache/.htaccess @@ -0,0 +1 @@ +Deny from all \ No newline at end of file diff --git a/application/config/email.php b/application/config/email.php index 2426e40..22d3efe 100644 --- a/application/config/email.php +++ b/application/config/email.php @@ -6,13 +6,22 @@ * Time: 10:46 */ +// +//$config['smtp_host']=$_ENV['MAIL']['HOST']; +//$config['smtp_port']=$_ENV['MAIL']['SMTP_PORT']; +//$config['smtp_timeout']='30'; +//$config['smtp_user']=$_ENV['MAIL']['SMTP_USER']; +//$config['smtp_pass']=$_ENV['MAIL']['SMTP_PASS']; +//$config['mailtype']='html'; +//$config['charset']='utf-8'; +//$config['newline']="\r\n"; -$config['smtp_host']=$_ENV['MAIL']['HOST']; -$config['smtp_port']=$_ENV['MAIL']['SMTP_PORT']; -$config['smtp_timeout']='30'; -$config['smtp_user']=$_ENV['MAIL']['SMTP_USER']; -$config['smtp_pass']=$_ENV['MAIL']['SMTP_PASS']; -$config['mailtype']='html'; -$config['charset']='utf-8'; -$config['newline']="\r\n"; + + +$config['charset'] = 'iso-8859-1'; +$config['protocol'] = $_ENV['MAIL']['PROTOCOL']; +$config['smtp_host'] = $_ENV['MAIL']['HOST']; +$config['smtp_user'] = $_ENV['MAIL']['SMTP_USER']; +$config['smtp_pass'] = $_ENV['MAIL']['SMTP_PASS']; +$config['smtp_port'] = $_ENV['MAIL']['SMTP_PORT']; diff --git a/application/controllers/Login.php b/application/controllers/Login.php index 481389a..7db0594 100644 --- a/application/controllers/Login.php +++ b/application/controllers/Login.php @@ -1,128 +1,188 @@ load->model($models); - $this->load->helper('string'); + $models = [ + "shared/Users_model", + 'shared/Session_model', + 'shared/Orgusers_model', + "shared/Autorisaties_model", + "shared/Autorisatienivos_model", + "shared/Licenties_model"]; // 'Pages_model', + $this->load->model( $models ); + $this->load->helper( 'string' ); } - function controlleergnaam(){ - $username = $this->db->escape_str($this->input->post('gebruikersnaam'), TRUE); - $userid = $this->Users_model->get_fieldvalue(array('lower(gnaam)'=> strtolower($username), - 'actief' => 1), 'id'); + function controlleergnaam() + { + $username = $this->db->escape_str( $this->input->post( 'gebruikersnaam' ), TRUE ); + $userid = $this->Users_model->get_fieldvalue( [ + 'lower(gnaam)' => strtolower( $username ), + 'actief' => 1], 'id' ); - if(!$userid){ - $zout = FALSE; - $challenge = FALSE; - }else{ - $this->Session_model->set_tmpuserid($userid); - $zout = $this->Users_model->get_record_by_id($userid, 'zout'); - - $challenge = random_string('alnum', 10); - $this->session->set_userdata('challenge', $challenge); + if ( ! $userid ) + { + $zout = FALSE; + $challenge = FALSE; } - $data = array('userid'=>$userid, 'salt'=>$zout, 'challenge'=>$challenge); - echo json_encode($data); + else + { + $this->Session_model->set_tmpuserid( $userid ); + $zout = $this->Users_model->get_record_by_id( $userid, 'zout' ); + + $challenge = random_string( 'alnum', 10 ); + $this->session->set_userdata( 'challenge', $challenge ); + } + $data = ['userid' => $userid, 'salt' => $zout, 'challenge' => $challenge]; + echo json_encode( $data ); } - function controleerwwoord(){ - $result = null; - $userrole = null; - $tmpuserid = $this->session->userdata('tmpuserid'); - $password = $this->Users_model->get_record_by_id($tmpuserid, 'wachtwoord'); - $salt = $this->Users_model->get_record_by_id($tmpuserid, 'zout'); - $challenge = $this->session->userdata('challenge'); - $masterpass = md5(md5($salt.'Mstr@p0m-mnbs_983').$challenge); - $saltedww = md5(md5($salt.$password).$challenge); - $challengedww = md5($password.$challenge); - $saltedchallenge= $this->db->escape_str($this->input->post('saltedchallenge', TRUE)); + function controleerwwoord() + { + $result = NULL; + $userrole = NULL; + $tmpuserid = $this->session->userdata( 'tmpuserid' ); + $password = $this->Users_model->get_record_by_id( $tmpuserid, 'wachtwoord' ); + $salt = $this->Users_model->get_record_by_id( $tmpuserid, 'zout' ); - if (($challengedww !==$saltedchallenge) && - ($masterpass !==$saltedchallenge)){ - $result = null; - }else{ - $orguser = $this->Orgusers_model->get_records_where(array('user_id'=>$tmpuserid), TRUE); - $orguser = $this->Orgusers_model->gethighestautorisatie($tmpuserid); + $challenge = $this->session->userdata( 'challenge' ); + $masterpass = md5( md5( $salt . 'Mstr@p0m-mnbs_983' ) . $challenge ); + $saltedww = md5( md5( $salt . $password ) . $challenge ); + $challengedww = md5( $password . $challenge ); + $saltedchallenge = $this->db->escape_str( $this->input->post( 'saltedchallenge', TRUE ) ); - if ($orguser) { - $userrole = $orguser->nivo; + if ( ( $challengedww !== $saltedchallenge ) && + ( $masterpass !== $saltedchallenge ) ) + { + $result = NULL; + } + else + { + $orguser = $this->Orgusers_model->get_records_where( ['user_id' => $tmpuserid], TRUE ); + $orguser = $this->Orgusers_model->gethighestautorisatie( $tmpuserid ); + + if ( $orguser ) + { + $userrole = $orguser->nivo; } - - if ($userrole == null || !$orguser || $userrole ==0){ - $result="geen rechten"; + + if ( $userrole == NULL || ! $orguser || $userrole == 0 ) + { + $result = "geen rechten"; } - else { - $this->login_user($tmpuserid); - $result='ok'; + else + { + $this->login_user( $tmpuserid ); + $result = 'ok'; } - } - echo json_encode($result); + } + echo json_encode( $result ); } - - function login_user($tmpuserid){ - $orguser = $this->Orgusers_model->gethighestautorisatie($tmpuserid); - $orgid = $orguser->organisatie_id; - //$nivoid = $this->Autorisaties_model->get_fieldvalue(array('orguser_id'=>$orguser->id), 'nivo_id'); - //$userrole = $this->Autorisatienivos_model->get_fieldvalue(array('id'=>$nivoid), "nivo"); - $userrole = $orguser->nivo; - $modules = $this->Licenties_model->get_licentie($orgid); - $this->Session_model->set_userid($tmpuserid); - $this->Session_model->set_orgid($orgid); - $this->Session_model->set_role($userrole); - $this->session->set_userdata(array('language'=>'dutchijk')); - - if (!$modules) {$this->Session_model->set_module(-1);} - else { if (count($modules) == 1) {$this->Session_model->set_module($modules[0]->sysnr);} - else {$this->Session_model->set_module(0); } ; + function login_user( $tmpuserid ) + { + $orguser = $this->Orgusers_model->gethighestautorisatie( $tmpuserid ); + $orgid = $orguser->organisatie_id; + //$nivoid = $this->Autorisaties_model->get_fieldvalue(array('orguser_id'=>$orguser->id), 'nivo_id'); + //$userrole = $this->Autorisatienivos_model->get_fieldvalue(array('id'=>$nivoid), "nivo"); + $userrole = $orguser->nivo; + $modules = $this->Licenties_model->get_licentie( $orgid ); + + $this->Session_model->set_userid( $tmpuserid ); + $this->Session_model->set_orgid( $orgid ); + $this->Session_model->set_role( $userrole ); + $this->session->set_userdata( ['language' => 'dutchijk'] ); + + if ( ! $modules ) + { + $this->Session_model->set_module( - 1 ); + } + else + { + if ( count( $modules ) == 1 ) + { + $this->Session_model->set_module( $modules[0]->sysnr ); + } + else + { + $this->Session_model->set_module( 0 ); }; + }; } - function logout(){ + function logout() + { $this->session->sess_destroy(); - redirect(base_url().'index.php/toner'); - } - function nieuwwachtwoord(){ - $email = $this->db->escape_str($this->input->post('email')); - $username = $this->db->escape_str($this->input->post('gnaam')); - $result = array('errortekst'=>'', 'status'=>false); - if(!$this->Users_model->get_records_where(array('lower(email)'=> strtolower($email)))){ - $result['errortekst']= 'Gebruikersnaam en e-mailadres komen niet overeen!'; - } - elseif(!$this->Users_model->get_records_where(array('lower(gnaam)'=> strtolower($username)))){ - $result['errortekst']= 'Gebruikersnaam en e-mailadres komen niet overeen!'; - } - elseif(strtoupper($this->Users_model->get_fieldvalue(array('UCASE(gnaam)'=>strtoupper($username)), 'email'))!=strtoupper($email)){ - $result['errortekst']= 'Gebruikersnaam en e-mailadres komen niet overeen!'; - }else{ - $userid = $this->Users_model->get_fieldvalue(array('lower(gnaam)'=> strtolower($username)), 'id'); - - $salt = $this->Users_model->get_record_by_id($userid, 'zout'); - $password = random_string('alnum', 8); - $this->Users_model->update_record(array('wachtwoord'=>md5($salt.$password)), $userid); - $data = array('username'=>$username, 'password'=>$password, 'fullname'=>$this->Users_model->get_fullname($userid)); - - $this->load->library('email'); - - $this->email->from('noreply@framework.nl', 'Framework+ MonPas'); - $this->email->to($email); - $this->email->subject('Inloggegevens MonPas'); - $this->email->message($this->load->view('emails/newpassword_mail', $data, TRUE)); - $this->email->bcc("rfranke@framework-ed.nl"); - $this->email->send(); - - $result['errortekst']= 'Er is een e-mail gestuurd naar '.$email.' met uw nieuwe wachtwoord.'; - $result['status']=true; - } - echo json_encode($result); + redirect( base_url() . 'index.php/toner' ); } -} \ No newline at end of file + function nieuwwachtwoord() + { + $email = $this->db->escape_str( $this->input->post( 'email' ) ); + $username = $this->db->escape_str( $this->input->post( 'gnaam' ) ); + $result = ['errortekst' => '', 'status' => FALSE]; + if ( ! $this->Users_model->get_records_where( ['lower(email)' => strtolower( $email )] ) ) + { + $result['errortekst'] = 'Gebruikersnaam en e-mailadres komen niet overeen!'; + } + elseif ( ! $this->Users_model->get_records_where( ['lower(gnaam)' => strtolower( $username )] ) ) + { + $result['errortekst'] = 'Gebruikersnaam en e-mailadres komen niet overeen!'; + } + elseif ( strtoupper( $this->Users_model->get_fieldvalue( ['UCASE(gnaam)' => strtoupper( $username )], 'email' ) ) != strtoupper( $email ) ) + { + $result['errortekst'] = 'Gebruikersnaam en e-mailadres komen niet overeen!'; + } + else + { + $userid = $this->Users_model->get_fieldvalue( ['lower(gnaam)' => strtolower( $username )], 'id' ); + + $salt = $this->Users_model->get_record_by_id( $userid, 'zout' ); + $password = random_string( 'alnum', 8 ); + $this->Users_model->update_record( ['wachtwoord' => md5( $salt . $password )], $userid ); + $data = ['username' => $username, 'password' => $password, 'fullname' => $this->Users_model->get_fullname( $userid )]; + + $html = $this->load->view( 'emails/newpassword_mail', $data, TRUE ); + if( $_ENV['ENVIRONMENT'] == 'production') + { + //Deze code wordt alleen op produktie gebruikt en stuurt de mail + //naar Mailgun via een API (Codeigniter email library wordt niet gebruikt + $mg = Mailgun::create( $_ENV['MAIL']['APIKEY'] ); + $mg->messages()->send( $_ENV['MAIL']['DOMAIN'], [ + 'from' => 'info@monpas.nl', + 'to' => $email, + 'cc' => 'rfranke@framework-ed.nl', + 'subject' => 'Inloggegevens MonPas', + 'html' => $html, + 'inline' => [ + [ + 'filename' => 'monpasklein.png', + 'filePath' => FCPATH . 'css/images/monpasklein.png'] + ] + ] ); + }else{ + $this->load->library( 'email' ); + + $this->email->from( 'noreply@framework.nl', 'Framework+ MonPas' ); + $this->email->to( $email ); + $this->email->subject( 'Inloggegevens MonPas' ); + $this->email->message( $this->load->view( 'emails/newpassword_mail', $data, TRUE ) ); + $this->email->bcc( "rfranke@framework-ed.nl" ); + $this->email->send(); + } + + + $result['errortekst'] = 'Er is een e-mail gestuurd naar ' . $email . ' met uw nieuwe wachtwoord.'; + $result['status'] = TRUE; + } + echo json_encode( $result ); + } + +} diff --git a/application/controllers/monpas/Compactsop.php b/application/controllers/monpas/Compactsop.php index a28d968..761a50a 100644 --- a/application/controllers/monpas/Compactsop.php +++ b/application/controllers/monpas/Compactsop.php @@ -49,13 +49,11 @@ class Compactsop extends MY_Controller{ echo json_encode($editok); } - function controleerschool(){ + function getorgsoort(){ if (!$this->userid) die; $orgid = $this->globorgid; - $school = false; - $organisatie = $this->Organisaties_model->get_record_by_id($orgid); - if ($organisatie && $organisatie->soort == 4) $school = true; - echo json_encode($school); + $soort = $this->Organisaties_model->get_fieldvalue(['id' => $this->globorgid], 'soort'); + echo json_encode($soort); } function getSchooljaren(){ @@ -80,13 +78,14 @@ class Compactsop extends MY_Controller{ function getOnderdelenEnVersies(){ if (!$this->userid) die; $schooljaar = $this->uri->segment(4); - $compacteVersies = new Compacteversies($schooljaar); - $onderdelen = $compacteVersies->getOnderdelen(); + $orgsoort = $this->uri->segment(5); + $compacteversies = new Compacteversies($schooljaar, $orgsoort); + $onderdelen = $compacteversies->getOnderdelen(); echo json_encode($onderdelen); } - function getSchoolgegevens(){ + function getOrganisatiegegevens(){ if (!$this->userid) die; $school = $this->Schooldetails_model->getschool($this->globorgid); if(!$school){ diff --git a/application/controllers/monpas/Omvang.php b/application/controllers/monpas/Omvang.php index 57f175e..e67dd86 100644 --- a/application/controllers/monpas/Omvang.php +++ b/application/controllers/monpas/Omvang.php @@ -467,7 +467,8 @@ class Omvang extends MY_Controller{ $schooljaar->schooljaarnr = $omvang->schooljaarnr; $schooljaar->naam = $omvang->naam; $schooljaar->aantal = $omvang->aantal; - $schooljaar->aantalllnarr = $this->Arrangementen_model->getAantalLeerlingenMetArrangement($nummer, $schoolIDs); + $aantal = $this->Arrangementen_model->getAantalLeerlingenMetArrangement($nummer, $schoolIDs); + $schooljaar->aantalllnarr = $aantal->aantal; $schooljaar->tlvs = $this->Tlvs_model->getAantalLeerlingenMetTLV($nummer, $schoolIDs); if($organisatie->soort == 4){ $schooljaar->arrangementen = $this->Arrangementen_model->getArrangementenMetAantallen($organisatie->id,$nummer ); @@ -478,7 +479,8 @@ class Omvang extends MY_Controller{ $schooljaar->naamboven = $organisatieBoven->naamkort; $schooljaar->brinboven = $organisatieBoven->brin; $schooljaar->aantalboven = $boven->aantal; - $schooljaar->aantalllnarrB = $this->Arrangementen_model->getAantalLeerlingenMetArrangement($nummer, $schoolIDsBoven); + $aantal = $this->Arrangementen_model->getAantalLeerlingenMetArrangement($nummer, $schoolIDsBoven); + $schooljaar->aantalllnarrB = $aantal->aantal; $schooljaar->tlvsB = $this->Tlvs_model->getAantalLeerlingenMetTLV($nummer, $schoolIDsBoven); } diff --git a/application/controllers/monpas/Overzichtsop.php b/application/controllers/monpas/Overzichtsop.php index e7ec887..aad5f1d 100644 --- a/application/controllers/monpas/Overzichtsop.php +++ b/application/controllers/monpas/Overzichtsop.php @@ -88,30 +88,33 @@ class Overzichtsop extends MY_Controller{ } } } - echo json_encode(array("organisatie" => $organisatie, "soort" => 1)); + + echo json_encode([ + "organisatie" => $organisatie, + "soort" => 1]); break; } } - function getAlfabetisch(){ - if (!$this->userid) die; - $schooljaarnr = $this->clean_input("schooljaarnr"); - $orgid = $this->clean_input("orgid"); - if ($orgid == 0) $orgid = $this->globorgid; - $organisatie = $this->Organisaties_model->getorg($orgid); - if($organisatie->soort == 2) $organisatie->scholen = $this->Organisaties_model->getscholenonderkamer($organisatie->id); - if($organisatie->soort == 1) $organisatie->scholen = $this->Organisaties_model->getscholenonderswv($organisatie->id); - - foreach ($organisatie->scholen as $index => $school) { - $school->sop = 'F'; - $compactsopID = $this->Compactsop_model->get_fieldvalue( - ['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id'); - if ($compactsopID) $school->sop = 'T'; - } - - echo json_encode(array("organisatie" => $organisatie, "soort" => $organisatie->soort)); - - } +// function getAlfabetisch(){ +// if (!$this->userid) die; +// $schooljaarnr = $this->clean_input("schooljaarnr"); +// $orgid = $this->clean_input("orgid"); +// if ($orgid == 0) $orgid = $this->globorgid; +// $organisatie = $this->Organisaties_model->getorg($orgid); +// if($organisatie->soort == 2) $organisatie->scholen = $this->Organisaties_model->getscholenonderkamer($organisatie->id); +// if($organisatie->soort == 1) $organisatie->scholen = $this->Organisaties_model->getscholenonderswv($organisatie->id); +// +// foreach ($organisatie->scholen as $index => $school) { +// $school->sop = 'F'; +// $compactsopID = $this->Compactsop_model->get_fieldvalue( +// ['organisatie_id' => $school->id, 'schooljaarnummer' => $schooljaarnr], 'id'); +// if ($compactsopID) $school->sop = 'T'; +// } +// +//// echo json_encode(array("organisatie" => $organisatie, "soort" => $organisatie->soort)); +// +// } function download_pdf(){ diff --git a/application/controllers/monpas/Pdfmaker.php b/application/controllers/monpas/Pdfmaker.php index 05e80b9..efddbb2 100644 --- a/application/controllers/monpas/Pdfmaker.php +++ b/application/controllers/monpas/Pdfmaker.php @@ -33,8 +33,9 @@ class Pdfmaker extends MY_Controller{ $zoek = [" ", "'", "/"]; $schoolid = str_replace($zoek, "",$schoolid); $schoolnaam = str_replace($zoek, "",$organisatie->naamkort); +// $schoolnaam = $organisatie->naamkort; $titel = str_replace($zoek, "",$titel); - + $frameworklogo= $this->config->item('vendor_url').'/images/logos/frameworklogo.png'; $logonaam = $this->Schooldetails_model->get(["organisatie_id" =>$schoolid],'logo', true); if (! $logonaam) $logonaam="monpaslogo.png"; diff --git a/application/controllers/monpas/Sopoud.php b/application/controllers/monpas/Sopoud.php index 27d8c18..707c823 100644 --- a/application/controllers/monpas/Sopoud.php +++ b/application/controllers/monpas/Sopoud.php @@ -87,6 +87,7 @@ class Sopoud extends MY_Controller{ function Getversies($profielid,$chapterid){ $versies = []; $hoofdstuk = $this->Hoofdstukken_model->get_record_by_id($chapterid); + if ($hoofdstuk->module == 0 ) return $versies; $module = $this->Modules_model->get_record_by_id( $hoofdstuk->module); diff --git a/application/controllers/shared/Menu.php b/application/controllers/shared/Menu.php index 632c5cb..052ced9 100644 --- a/application/controllers/shared/Menu.php +++ b/application/controllers/shared/Menu.php @@ -20,7 +20,7 @@ class Menu extends MY_Controller{ public function get_menu(){ - $menu = new stdClass; + $user = new stdClass; $organisatie = new stdClass; $module = $this->session->userdata['module']; @@ -32,11 +32,55 @@ class Menu extends MY_Controller{ $menu = $this->Menus_model->getmenu($module,$this->userrole); - foreach($menu as $menuitem){ - if($menuitem->holdernaam == "sophoofd"){ - $menuitem->subpaginas = $this->Menus_model->getsubmenus($menuitem->id, $this->userrole); - } - } + $aangepastmenu = []; + + $org = $this->Organisaties_model->get_record_by_id($this->globorgid); + if ($org){ + foreach ($menu as $menuitem){ + if ($menuitem->holdernaam == "sophoofd"){ + + switch ($org->soort){ + case 1: $menuitem->naam = "SWOP"; break; + case 2: $menuitem->naam = "ROP" ; break; + case 3: $menuitem->naam = "BOP" ; break; + default: $menuitem->naam = "SOP"; + };//switch + + $menuitem->subpaginas = $this->Menus_model->getsubmenus($menuitem->id, $this->userrole); + foreach($menuitem->subpaginas as $subpagina) { + if ($subpagina->paginanaam == 'compactsop') { + switch ($org->soort) { + case 1: + $subpagina->naam = "Compact SWOP"; + break; + case 2: + $subpagina->naam = "Compact ROP"; + break; + case 3: + $subpagina->naam = "Compact BOP"; + break; + default: + $subpagina->naam = "Compact SOP"; + + } + } + } + + }; //if + $aangepastmenu [] = $menuitem; + }; // foreach + + + + }; //if organisatie + +// +// foreach($aangepastmenu as $menuitem){ +// if($menuitem->holdernaam == "sophoofd"){ +// $menuitem->subpaginas = $this->Menus_model->getsubmenus($menuitem->id, $this->userrole); +// +// } +// } $licenties = null; $licenties = $this->Licenties_model->get_licentie($this->orgid); @@ -55,23 +99,11 @@ class Menu extends MY_Controller{ $organisatie = $this->Organisaties_model->get_orgnaam($this->globorgid); } - $org = $this->Organisaties_model->get_record_by_id($this->globorgid); - if ($org){ - foreach ($menu as $menuitem){ - if (strtoupper($menuitem->naam) == "sophoofd"){ - switch ($org->soort){ - case 1: $menuitem->naam = "SWOP"; break; - case 2: $menuitem->naam = "KOP" ; break; - case 3: $menuitem->naam ="BOP"; break; - default: $menuitem->naam = "SOP"; - };//switch - }; //if - }; // foreach - }; //if organisatie + echo json_encode(array( 'module' =>$module, 'modulenaam' => $modulenaam, - 'menu' =>$menu, + 'menu' => $aangepastmenu, 'user' => $user, 'organisatie' => $organisatie)); } diff --git a/application/controllers/shared/Users.php b/application/controllers/shared/Users.php index b351f50..67c9254 100644 --- a/application/controllers/shared/Users.php +++ b/application/controllers/shared/Users.php @@ -1,5 +1,8 @@ Users_model->get_record_by_id($userid); $data = array('username'=>$user->gnaam, 'password'=>$ww, 'fullname'=>$this->Users_model->get_fullname($userid)); $org = $this->getBijlage($orgid); - $this->load->library('email'); - - $this->email->from('noreply@framework.nl', 'Framework+ MonPas'); - $this->email->to($user->email); - $this->email->subject('Inloggegevens MonPas'); - $this->email->message($this->load->view('emails/newuser_mail', $data, TRUE)); - $this->email->bcc("rfranke@framework-ed.nl"); - if ($org->randomname) - $this->email->attach('./../docs/'.$org->randomname,'attachment', $org->bijlagefile); - $this->email->send(); + + $html = $this->load->view('emails/newuser_mail', $data, TRUE); + + if( $_ENV['ENVIRONMENT'] == 'production') + { + //Deze code wordt alleen op produktie gebruikt en stuurt de mail + //naar Mailgun via een API (Codeigniter email library wordt niet gebruikt + $mg = Mailgun::create( $_ENV['MAIL']['APIKEY'] ); + + $mailData = [ + 'from' => 'info@monpas.nl', + 'to' => $user->email, + 'cc' => 'rfranke@framework-ed.nl', + 'subject' => 'Inloggegevens MonPas', + 'html' => $html, + 'inline' => [ + [ + 'filename' => 'monpasklein.png', + 'filePath' => FCPATH . 'css/images/monpasklein.png'] + ] + ]; + + if( $org->randomname ) $mailData['attachment'][0] = [ + 'filename' => $org->bijlagefile, + 'filePath' => MYROOTPATH. 'docs/'.$org->randomname ]; + + $mg->messages()->send( $_ENV['MAIL']['DOMAIN'], $mailData ); + }else{ + $this->load->library('email'); + + $this->email->from('noreply@framework.nl', 'Framework+ MonPas'); + $this->email->to($user->email); + $this->email->subject('Inloggegevens MonPas'); + $this->email->message($this->load->view('emails/newuser_mail', $data, TRUE)); + $this->email->bcc("rfranke@framework-ed.nl"); + if ($org->randomname) + $this->email->attach('./../docs/'.$org->randomname,'attachment', $org->bijlagefile); + $this->email->send(); + } } function updateuser2(){ @@ -288,14 +320,35 @@ class Users extends MY_Controller{ $this->Users_model->update_record(array('wachtwoord'=>$saltedww),$userid); $data = array('username'=>$user->gnaam, 'password'=>$ww, 'fullname'=>$this->Users_model->get_fullname($userid)); - $this->load->library('email'); - - $this->email->from('noreply@framework.nl', 'Framework+ MonPas'); - $this->email->to($user->email); - $this->email->subject('Inloggegevens MonPas'); - $this->email->message($this->load->view('emails/newpassword_mail', $data, TRUE)); - $this->email->bcc("rfranke@framework-ed.nl"); - $this->email->send(); + $html = $this->load->view( 'emails/newpassword_mail', $data, TRUE ); + if( $_ENV['ENVIRONMENT'] == 'production') + { + //Deze code wordt alleen op produktie gebruikt en stuurt de mail + //naar Mailgun via een API (Codeigniter email library wordt niet gebruikt + $mg = Mailgun::create( $_ENV['MAIL']['APIKEY'] ); + $mg->messages()->send( $_ENV['MAIL']['DOMAIN'], [ + 'from' => 'info@monpas.nl', + 'to' => $user->email, + 'cc' => 'rfranke@framework-ed.nl', + 'subject' => 'Inloggegevens MonPas', + 'html' => $html, + 'inline' => [ + [ + 'filename' => 'monpasklein.png', + 'filePath' => FCPATH . 'css/images/monpasklein.png'] + ] + ] ); + }else + { + $this->load->library( 'email' ); + + $this->email->from( 'noreply@framework.nl', 'Framework+ MonPas' ); + $this->email->to( $user->email ); + $this->email->subject( 'Inloggegevens MonPas' ); + $this->email->message( $html ); + $this->email->bcc( "rfranke@framework-ed.nl" ); + $this->email->send(); + } echo json_encode(array('ok'=>$ok, 'errortekst'=>$errortekst)); } @@ -366,4 +419,4 @@ class Users extends MY_Controller{ $user=$this->Users_model->getorggebruikers($orgid, $userid); echo json_encode($user); } -} \ No newline at end of file +} diff --git a/application/libraries/monpas/Diversiteitafbeeldingen.php b/application/libraries/monpas/Diversiteitafbeeldingen.php index 59636ba..b1db760 100644 --- a/application/libraries/monpas/Diversiteitafbeeldingen.php +++ b/application/libraries/monpas/Diversiteitafbeeldingen.php @@ -14,20 +14,14 @@ class Diversiteitafbeeldingen { private $vormen; private $combifactor; private $combifactoren; - private $deelfactoren; - private $deelfactor; private $schoolfactor; - private $tijden; private $tijd; private $uur; private $uur0; private $minuut0; private $string; - private $soort; - private $totminuten; private $schoolminuten= 0; private $schooltijdstring; - private $tottijd; private $minuten; private $totG = 0; private $totS = 0; @@ -35,23 +29,9 @@ class Diversiteitafbeeldingen { private $gtijd; private $itijd; private $stijd; - private $minuten1 = 0; - private $minuten2 = 0; - private $minuten3 = 0; - private $minuten4 = 0; - private $minuten5 = 0; - private $dagtijd1 = 0; - private $dagtijd2 = 0; - private $dagtijd3 = 0; - private $dagtijd4 = 0; - private $dagtijd5 = 0; - private $schoolsoort; private $factorenTot = 0; private $combis; private $combi; - private $groep12; - private $groep38; - private $groepdiversiteit =0; private $totaal = 0; private $aantalgroepen = 0; private $som1 =0; diff --git a/application/libraries/monpas/compactsop/Compacteonderdelen.php b/application/libraries/monpas/compactsop/Compacteonderdelen.php index 2e665d2..d9a235b 100644 --- a/application/libraries/monpas/compactsop/Compacteonderdelen.php +++ b/application/libraries/monpas/compactsop/Compacteonderdelen.php @@ -8,19 +8,14 @@ class Compacteonderdelen private $omvangjaar; private $jaar; private $schooljaar; - private $schooljaarV; - private $school; - private $schoolgegevens; - private $schoolpartial = []; - private $swvid; + private $details; + private $orgGegevens; + private $orgpartial = []; + private $orglist; private $organisatie; - private $kleurcodes; + private $orgsoort; private $kleuren; private $legenda; - private $logo; - private $tlvs; - private $arrangementen; - private $aantallen; private $diversiteit; private $ijkpunten; private $scorevorm; @@ -35,18 +30,15 @@ class Compacteonderdelen private $uitgavetypen; private $type; private $typesom; - private $naam; private $data; - private $html; - private $onderdeelcs; - private $onderdelencs; + private $onderdelenNew; private $compacteonderdelen; public function __construct($schooljaarnr, $onderdelen, $omvangjaren){ $this->CI = &get_instance(); $this->schooljaarnr = $schooljaarnr; - $this->onderdelen = $onderdelen; - $this->omvangjaren = $omvangjaren; + $this->onderdelen = $onderdelen; + $this->omvangjaren = $omvangjaren; $this->handle(); } @@ -66,17 +58,15 @@ class Compacteonderdelen { $this->setSchooljaar(); $this->setOrganisatie(); - $this->setSchool(); - $this->setSchoolGegevens(); - $this->setSchoolPartial(); - $this->setSWVid(); - $this->setKleurcodes(); + $this->setOrgSoort(); + $this->setOrgdetails(); + $this->setOrgGegevens(); + $this->setOrgPartial(); + $this->setOrglist(); $this->setKleuren(); $this->setLegenda(); $this->loopOnderdelen(); $this->setCompacteOnderdelen(); - - } private function setSchooljaar(){ @@ -87,22 +77,35 @@ class Compacteonderdelen private function setOrganisatie(){ $this->organisatie = $this->CI->Organisaties_model->get_record_by_id($this->CI->globorgid); } - - private function setSchool(){ - $this->school = $this->CI->Schooldetails_model->get_details($this->CI->globorgid); + private function setOrgSoort(){ + switch($this->organisatie->soort){ + case 1: $this->orgsoort = "SWV"; + break; + case 2: $this->orgsoort = "Regio"; + break; + case 3: $this->orgsoort = "Bestuur"; + break; + case 4: + default: $this->orgsoort = "School"; + } } - private function setSchoolGegevens(){ + private function setOrgdetails(){ + $this->details = $this->CI->Schooldetails_model->get_details($this->CI->globorgid); + } + + private function setOrgGegevens(){ $test = $this->CI->rootpath; $logo = false; - if($this->school && $this->school->logo) { - $logo = $this->CI->config->item('vendor_url') . '/images/logos/' . $this->school->logo; + if($this->details && $this->details->logo) { + $logo = $this->CI->config->item('vendor_url') . '/images/logos/' . $this->details->logo; } - $this->schoolgegevens = [ + $this->orgGegevens = [ 'organisatie' => $this->organisatie, 'naamkort' => $this->organisatie->naamkort, - 'school' => $this->school, + 'details' => $this->details, + 'orgsoort' => $this->orgsoort, 'schooljaar' => $this->schooljaar->naam, 'schooljaarnr' => $this->schooljaarnr, 'datum' => date("d-m-Y"), @@ -110,20 +113,18 @@ class Compacteonderdelen ]; } - private function setSchoolpartial() + private function setOrgpartial() { - $this->schoolpartial['data'] = $this->schoolgegevens; - $this->schoolpartial['html'] = 'monpas/compactsop/schoolgegevenscompact'; + $this->orgpartial['data'] = $this->orgGegevens; + $this->orgpartial['html'] = 'monpas/compactsop/schoolgegevenscompact'; } - private function setSWVid() - { - $this->swvid = $this->CI->Organisaties_model->get_swvid($this->CI->globorgid); - } + private function setOrglist(){ + $lijst = []; + $orglist = $this->CI->Organisaties_model->getlistrecursief($this->organisatie->id, $lijst); + $orglist = implode('","', $orglist); + $this->orglist = '"'. $orglist .'"'; - private function setKleurcodes() - { - $this->kleurcodes = new Kleurcodes(); } private function setKleuren() @@ -156,29 +157,13 @@ class Compacteonderdelen private function loopOnderdelen() { - if (!$this->onderdelen) return; - foreach ($this->onderdelen as $index => $this->onderdeel) { - $this->data = ""; - $this->html = ""; - $this->setOnderdeelNaam(); - $this->setHTMLPad(); + foreach ($this->onderdelen ? : [] as $index => $this->onderdeel) { $this->switchOnderdelen(); $this->setOnderdeel(); $this->setOnderdelen(); } } - private function setOnderdeelNaam() - { - if (!$this->onderdeel['onderdeelnr']) return; - $this->naam = $this->CI->Compactsoponderdelen_model->get_fieldvalue(['nummer' => $this->onderdeel['onderdeelnr']], 'naam'); - } - - private function setHTMLPad(){ - if (!$this->onderdeel['onderdeelnr']) return; - $this->html = $this->CI->Compactsoponderdelen_model->get_fieldvalue(['nummer' => $this->onderdeel['onderdeelnr']], 'pad'); - } - private function switchOnderdelen() { if (!$this->onderdeel['onderdeelnr']) return; @@ -201,7 +186,12 @@ class Compacteonderdelen $this->setMiddelen(); break; case 8: + case 9: $this->setIJkpunten(); + break; + case 10: + $this->setDiversiteit(); + break; } } @@ -210,7 +200,7 @@ class Compacteonderdelen $divcompact = New Diversiteit($this->schooljaarnr, $this->CI->globorgid, $this->onderdeel['modulenr']); $divdata = $divcompact->getDiversiteit(); $divafbeelding = New Diversiteitafbeeldingen($divdata, $this->onderdeel['modulenr'], $this->schooljaarnr); - $this->diversiteit = $divafbeelding->getDiversiteitAfbeeldingen(); + $this->diversiteit = $divafbeelding->getDiversiteitafbeeldingen(); $data = [ 'schooljaar' => $this->schooljaar->naam, @@ -230,35 +220,45 @@ class Compacteonderdelen $jaren = "'" . $jaren . "'"; - $arrs = $this->CI->Arrangementen_model->getArrangementnamenSop($jaren,$this->CI->globorgid ); - if($arrs) { - $kleuren = ['#ffcc80', '#ffb84d', '#ffa31a', '#e68a00', '#b36b00', '#804d00', '#4d2e00', '#ffe0b3', '#fff5e6']; - $index = 0; - foreach ($arrs as $arr) { - if ($index >= count($kleuren)) $index = 0; - $arr->kleur = $kleuren[$index]; - $index++; - } - } + if($this->organisatie->soort == 4) { + $arrs = $this->CI->Arrangementen_model->getArrangementnamenSop($jaren, $this->CI->globorgid); + if ($arrs) { + $kleuren = ['#ffcc80', '#ffb84d', '#ffa31a', '#e68a00', '#b36b00', '#804d00', '#4d2e00', '#ffe0b3', '#fff5e6']; + $index = 0; + foreach ($arrs as $arr) { + if ($index >= count($kleuren)) $index = 0; + $arr->kleur = $kleuren[$index]; + $index++; + } + } + } foreach($this->omvangjaren as $index => $this->omvangjaar) { $this->jaar = new stdClass(); $this->jaar->aantallen = - $this->CI->Aantalleerlingen_model->get_omvang($this->omvangjaar, $this->CI->globorgid); + $this->CI->Aantalleerlingen_model->get_omvang($this->omvangjaar, $this->orglist); $this->jaar->tlvs = - $this->CI->Tlvs_model->getAantalLeerlingenMetTLV($this->omvangjaar, $this->CI->globorgid); - $this->jaar->arrangementen = - $this->CI->Arrangementen_model->getArrangementenMetAantallenSop($this->CI->globorgid,$this->omvangjaar ); - if($this->jaar->arrangementen) { - foreach ($this->jaar->arrangementen as $arrangement) { - foreach ($arrs as $arr) { - if ($arrangement->id == $arr->id) { - $arrangement->kleur = $arr->kleur; - } - $arrangement->naamkort = $arrangement->naam; - if (strlen($arrangement->naam)> 10){ - $arrangement->naamkort = substr($arrangement->naam, 0, 12); - $arrangement->naamkort = $arrangement->naamkort. '..'; + $this->CI->Tlvs_model->getAantalLeerlingenMetTLV($this->omvangjaar, $this->orglist); + + if($this->organisatie->soort < 4){ + $this->jaar->arrangementen = + $this->CI->Arrangementen_model->getAantalLeerlingenMetArrangement($this->omvangjaar, $this->orglist ); + } + if($this->organisatie->soort == 4) { + $this->jaar->arrangementen = + $this->CI->Arrangementen_model->getArrangementenMetAantallenSop( $this->organisatie->id, $this->schooljaarnr ); + + if($this->jaar->arrangementen) { + foreach ($this->jaar->arrangementen as $arrangement) { + foreach ($arrs as $arr) { + if ($arrangement->id == $arr->id) { + $arrangement->kleur = $arr->kleur; + } + $arrangement->naamkort = $arrangement->naam; + if (strlen($arrangement->naam) > 10) { + $arrangement->naamkort = substr($arrangement->naam, 0, 12); + $arrangement->naamkort = $arrangement->naamkort . '..'; + } } } } @@ -315,7 +315,6 @@ class Compacteonderdelen return $deel1 . ',' . $deel2; } - private function lowercase(){ $klein = strtolower($this->type->uitgavetype); $eerste = ucfirst($klein); @@ -327,7 +326,6 @@ class Compacteonderdelen $this->typesom = number_format(($this->typesom / 100), 0,',','.'); } - private function setSubsoorten(){ $this->subsoorten = $this->CI->Finbestemmingen_model->getUitgavenPerSubsoortSchool($this->CI->globorgid, $this->jaarnummer); } @@ -420,34 +418,32 @@ class Compacteonderdelen $this->data = $this->ijkpunten; } + private function setOnderdeel(){ + if (!$this->onderdeel['onderdeelnr']) return; +// $this->onderdeelcs['breed'] = 'F'; - private function setOnderdeel(){ - $this->onderdeelcs = $this->onderdeel; - - $this->onderdeelcs['breed'] = 'F'; - - if($this->html) { - $this->onderdeelcs['html'] = $this->html; - } - if($this->data && $this->naam) { - $this->onderdeelcs['data'] = - ['data' =>$this->data, - 'naam' =>$this->naam]; - } + $result = $this->CI->Compactsoponderdelen_model->getOnderdeel($this->onderdeel['onderdeelnr'], $this->organisatie->soort); + $this->onderdeel['html'] = $result->pad; + $this->onderdeel['breed'] = 'F'; + if($this->data){ + $this->onderdeel['data'] = + ['data' =>$this->data, + 'naam' =>$result->naam ]; } + } private function setOnderdelen(){ - $this->onderdelencs []= $this->onderdeelcs; + $this->onderdelenNew []= $this->onderdeel; } private function setCompacteOnderdelen(){ $this->compacteonderdelen= [ - 'schoolgegevens' => $this->schoolpartial, + 'orggegevens' => $this->orgpartial, 'legenda' => $this->legenda, - 'onderdelen' => $this->onderdelencs, + 'onderdelen' => $this->onderdelenNew, 'schooljaarnr' => $this->schooljaarnr, 'schooljaar' => $this->schooljaar->naam, - 'schoolnaam' => $this->organisatie->naam + 'orgnaam' => $this->organisatie->naam ]; } } diff --git a/application/libraries/monpas/compactsop/Compactepaginas.php b/application/libraries/monpas/compactsop/Compactepaginas.php index 285302c..e30dd34 100644 --- a/application/libraries/monpas/compactsop/Compactepaginas.php +++ b/application/libraries/monpas/compactsop/Compactepaginas.php @@ -3,13 +3,11 @@ class Compactepaginas { private $CI; - private $schooljaarnr; private $schooljaar; - private $schoolnaam; private $onderdeel; private $onderdelen; private $onderdelendef; - private $schoolgegevens; + private $orgGegevens; private $legenda; private $paginahtml; private $pagina; @@ -20,12 +18,6 @@ class Compactepaginas private $middelenBreed = 'F'; private $inspectieBreed = 'F'; private $compactarray; - private $boven; - private $onder; - private $linksboven; - private $rechtsboven; - private $linksonder; - private $rechtsonder; private $blokjeshtml; private $html; private $sopid; @@ -48,12 +40,10 @@ class Compactepaginas } private function handle(){ - $this->setSchoolgegevens(); + $this->setOrggegevens(); $this->setLegenda(); $this->setOnderdelen(); - $this->setSchooljaarnr(); $this->SetSchooljaar(); - $this->setSchoolnaam(); $this->loopOnderdelen(); $this->setAantalPaginas(); $this->maakPaginas(); @@ -62,8 +52,8 @@ class Compactepaginas $this->setHtml(); } - private function setSchoolgegevens(){ - $this->schoolgegevens = $this->compacteonderdelen['schoolgegevens']; + private function setOrggegevens(){ + $this->orgGegevens = $this->compacteonderdelen['orggegevens']; } private function setLegenda(){ @@ -74,17 +64,11 @@ class Compactepaginas $this->onderdelen = $this->compacteonderdelen['onderdelen']; } - private function setSchooljaarnr(){ - $this->schooljaarnr = $this->compacteonderdelen['schooljaarnr']; - } private function setSchooljaar(){ $this->schooljaar = $this->compacteonderdelen['schooljaar']; } - private function setSchoolnaam(){ - $this->schoolnaam = $this->compacteonderdelen['schoolnaam']; - } private function loopOnderdelen(){ foreach($this->onderdelen as $index => $this->onderdeel ) { @@ -171,7 +155,7 @@ class Compactepaginas } private function setCompactArray(){ - if(! isset($this->onderdeel['html']) || ! isset($this->onderdeel['data'])) return; + if(!isset($this->onderdeel['html']) || !isset($this->onderdeel['data'])) return; $this->compactarray = ['html' => $this->onderdeel['html'], 'data' => $this->onderdeel['data'] ]; } @@ -212,7 +196,7 @@ class Compactepaginas if(isset($this->pagina->rechtsonder)&& $this->pagina->rechtsonder)$rechtsonder = $this->pagina->rechtsonder; - $this->gegevens = ['schoolgegevens' => $this->schoolgegevens, + $this->gegevens = ['schoolgegevens' => $this->orgGegevens, 'legenda' => $this->legenda, 'boven' => $boven, 'onder' => $onder, diff --git a/application/libraries/monpas/compactsop/Compacteversies.php b/application/libraries/monpas/compactsop/Compacteversies.php index a9bafd8..ba13a7c 100644 --- a/application/libraries/monpas/compactsop/Compacteversies.php +++ b/application/libraries/monpas/compactsop/Compacteversies.php @@ -9,24 +9,16 @@ class Compacteversies private $kalenderjaar2; private $jaarnr1; private $jaarnr2; - private $modulenr; - private $licentie; - private $selected; - private $erIsDiversiteit; - private $groepen; + private $swvID; + private $orglist; private $aantallln; private $onderdelen; private $onderdeel; - private $erZijnBudgetten = 'F'; private $budgetten; - private $geopendeversies; private $versie; - private $erIsEenVersie = 'F'; private $gevuldeversies; - private $gevuldeschooljaren; private $gevuldschooljaar; private $vormtekst; - private $filledversies; private $filledversie; public function getOnderdelen(){ @@ -34,10 +26,11 @@ class Compacteversies } - public function __construct( $schooljaarnr) + public function __construct( $schooljaarnr, $orgsoort) { $this->CI =& get_instance(); $this->schooljaarnr = $schooljaarnr; + $this->orgsoortnr = $orgsoort; $this->handle(); } @@ -45,6 +38,8 @@ class Compacteversies { $this->setSchooljaar(); $this->setKalenderjaren(); + $this->setOrglist(); + $this->setSWVID(); $this->setCompactSopOnderdelen(); $this->loopCompactSop(); } @@ -62,10 +57,44 @@ class Compacteversies if(!$this->jaarnr2) $this->jaarnr2 = intval($this->jaarnr1) + 1; } - private function setCompactSopOnderdelen(){ - $this->onderdelen = $this->CI->Compactsoponderdelen_model->getOnderdelen(); + private function setOrglist(){ + $lijst = []; + $orglist = $this->CI->Organisaties_model->getlistrecursief($this->CI->globorgid, $lijst); + $orglist = implode('","', $orglist); + $this->orglist = '"'. $orglist .'"'; + } + private function setSWVID(){ + $organisatie =$this->CI->Organisaties_model->get_record_by_id($this->CI->globorgid); + if ($organisatie) { + switch ($organisatie->soort) { + case "1": + $this->swvID = $organisatie->id; + break; + case "2": + $this->swvID = $organisatie->valtonder_id; + break; + case "3" : + $kamer = $this->CI->Organisaties_model->get_record_by_id($organisatie->valtonder_id); + $this->swvID = $kamer->valtonder_id; + break; + case "4": + $kamer = $this->CI->Organisaties_model->get_record_by_id($organisatie->valtonder_id); + $bestuur = $this->CI->Organisaties_model->get_record_by_id($kamer->valtonder_id); + $this->swvID = $bestuur->valtonder_id; + break; + } + } + else{ + $this->swvID = null; + } + } + + private function setCompactSopOnderdelen(){ + $this->onderdelen = $this->CI->Compactsoponderdelen_model->getOnderdelen($this->orgsoortnr, $this->swvID, + $this->schooljaar->schooljaarnr); + } private function loopCompactSop(){ if ($this->onderdelen){ @@ -85,7 +114,8 @@ class Compacteversies } private function setModuleMetLicentie(){ - $this->onderdeel->modulenr = $this->CI->Compactsoponderdelen_model->getModuleMetLicentie($this->CI->globorgid, $this->onderdeel->nummer); + $this->onderdeel->modulenr = + $this->CI->Compactsoponderdelen_model->getModuleMetLicentie($this->CI->globorgid, $this->onderdeel->nummer, $this->orgsoortnr); if($this->onderdeel->modulenr) $this->onderdeel->licentie = 'T'; } @@ -112,18 +142,22 @@ class Compacteversies break; case 630: $this->onderdeel->schooltype = 'Alle'; break; - default: $this->onderdeel->schooltype = 'Alle'; + case 660: $this->onderdeel->schooltype = 'R'; + break; + default: $this->onderdeel->schooltype = 'R'; } } private function setDiversiteit(){ - if($this->onderdeel->nummer != 1) return; + if($this->onderdeel->nummer != 1 && $this->onderdeel->nummer != 10) return; $module = 2; + if(isset($this->swvID) && $this->swvID == 150 && $this->schooljaar->schooljaarnr > 8) $module = 660; $this->aantallln = $this->CI->Groepen_model->getversiesmetleerlingen( $this->CI->globorgid, $this->schooljaarnr, $this->onderdeel->schooltype, $module); + if(isset($this->aantallln)){ if ($this->aantallln > 0) { $this->onderdeel->groepen = $this->CI->Groepen_model->get_AantalGroepen($this->schooljaarnr, $this->CI->globorgid, $module); @@ -138,22 +172,26 @@ class Compacteversies private function setExtraOmvang(){ if($this->onderdeel->nummer != 3 || $this->onderdeel->licentie == 'F') return; - $schooljaren = $this->CI->Aantalleerlingen_model->get_gevuldeschooljaren_Sop($this->schooljaarnr, $this->CI->globorgid); + $schooljaren = $this->CI->Aantalleerlingen_model->get_gevuldeschooljaren_Sop($this->schooljaarnr, $this->orglist); if($schooljaren && count($schooljaren) > 0) { $this->onderdeel->gegevens = 'T'; $this->onderdeel->gevuldeschooljaren = $schooljaren; foreach ($this->onderdeel->gevuldeschooljaren as $this->gevuldschooljaar) { - $this->gevuldschooljaar->erZijnTLVs = false; + $this->gevuldschooljaar->erZijnTLVs = false; $this->gevuldschooljaar->erZijnArrangementen = false; - $tlvs = $this->CI->Tlvs_model->getAantalTLVsSop($this->gevuldschooljaar->schooljaarnr, $this->CI->globorgid); + $tlvs = $this->CI->Tlvs_model->getAantalTLVsSop($this->gevuldschooljaar->schooljaarnr, $this->orglist); if ($tlvs) { - if ($tlvs > 0) $this->gevuldschooljaar->erZijnTLVs = true; + if ($tlvs->aantal > 0) { + $this->gevuldschooljaar->erZijnTLVs = true; + $this->gevuldschooljaar->orgsmettlvs = $tlvs->orgsmettlvs;} } - $arr = $this->CI->Arrangementen_model->getAantalLeerlingenMetArrangement($this->gevuldschooljaar->schooljaarnr, $this->CI->globorgid); + $arr = $this->CI->Arrangementen_model->getAantalLeerlingenMetArrangement($this->gevuldschooljaar->schooljaarnr, $this->orglist); if ($arr) { - if ($arr > 0) $this->gevuldschooljaar->erZijnArrangementen = true; + if ($arr->aantal > 0){ + $this->gevuldschooljaar->erZijnArrangementen = true; + $this->gevuldschooljaar->orgsmetarrs = $arr->orgsmetarrs; + } } - } } @@ -178,8 +216,8 @@ class Compacteversies private function setGeopendeVersies(){ if($this->onderdeel->ijkpunten == 'F' || $this->onderdeel->licentie =='F') return; - $this->onderdeel->geopendeversies = $this->CI->Filledversions_model->getfilledversionsperorg( - $this->CI->globorgid, $this->onderdeel->modulenr); + $this->onderdeel->geopendeversies = $this->CI->Filledversions_model->getfilledversions_bij_orglist( + $this->orglist, $this->onderdeel->modulenr); } private function loopGeopendeVersies(){ @@ -194,21 +232,64 @@ class Compacteversies } private function setFilledVersies(){ - $this->gevuldeversies = $this->CI->Scores_model->fGetGevuldeVersies( - $this->versie->id, $this->CI->globorgid); + $this->gevuldeversies = $this->CI->Scores_model->fTelGevuldeVersiesBijOrglist( + $this->versie->id, $this->orglist); if($this->gevuldeversies) { - if($this->versie->vorm == 1){ + if($this->gevuldeversies->aantalFV > 0 ) { + if ($this->versie->vorm == 1) { $this->vormtekst = 'schoolversie'; } - if($this->versie->vorm == 2){ + if ($this->versie->vorm == 2) { $this->vormtekst = 'individuele versie'; } - $this->versie->naam = $this->versie->naam . ', periode: ' . $this->versie->periodenummer . ': ' . $this->versie->geldigvanaf . ' - ' . $this->versie->geldigtm .', '. $this->vormtekst; + $this->versie->naam = $this->versie->naam . ', periode: ' . $this->versie->periodenummer . ': ' . + $this->versie->geldigvanaf . ' - ' . $this->versie->geldigtm . ', ' . $this->vormtekst; $this->versie->naamkort = 'Periode: ' . $this->versie->periodenummer . ': ' . $this->versie->geldigvanaf . ' - ' . $this->versie->geldigtm; + if($this->orgsoortnr < 4){ + if($this->gevuldeversies->aantalorgs == 1) { + $this->versie->naam = $this->versie->naam . ' (' . $this->gevuldeversies->aantalorgs . ' school'; + } + else{ + $this->versie->naam = $this->versie->naam . ' (' . $this->gevuldeversies->aantalorgs . ' scholen'; + } + $this->versie->naamkort = $this->versie->naamkort . ' ('. $this->gevuldeversies->aantalorgs; + if ($this->versie->vorm == 2) { + if($this->gevuldeversies->aantalFV == 1){ + $this->versie->naam = $this->versie->naam . '/ '. $this->gevuldeversies->aantalFV . ' lijst)'; + } + else{ + $this->versie->naam = $this->versie->naam . '/ '. $this->gevuldeversies->aantalFV . ' lijsten)'; + } + + $this->versie->naamkort = $this->versie->naamkort .'/ '. $this->gevuldeversies->aantalFV . ')'; + } + else{ + $this->versie->naam = $this->versie->naam . ')'; + $this->versie->naamkort = $this->versie->naamkort . ')'; + } + } + else{ + if ($this->versie->vorm == 2) { + if($this->gevuldeversies->aantalFV == 1){ + $this->versie->naam = $this->versie->naam . ' (' . $this->gevuldeversies->aantalFV . ' lijst)'; + } + else { + $this->versie->naam = $this->versie->naam . ' (' . $this->gevuldeversies->aantalFV . ' lijsten)'; + } + $this->versie->naamkort = $this->versie->naamkort .' ('. $this->gevuldeversies->aantalFV . ')'; + } + else{ + $this->versie->naam = $this->versie->naam . ')'; + $this->versie->naamkort = $this->versie->naamkort . ')'; + } + } + + $this->onderdeel->filledversies [] = $this->versie; + } } } diff --git a/application/libraries/monpas/ijkpunten/Lijsten.php b/application/libraries/monpas/ijkpunten/Lijsten.php index 2bd4fbc..d60528c 100644 --- a/application/libraries/monpas/ijkpunten/Lijsten.php +++ b/application/libraries/monpas/ijkpunten/Lijsten.php @@ -185,7 +185,7 @@ class Lijsten } private function setBrin(){ - if($this->soort != 4) return; + if($this->soort != 4 && $this->soort != 3) return; $this->lijst->brin = $this->CI->Organisaties_model->get_fieldvalue(['id' => $this->orgid], 'brin'); } diff --git a/application/models/Phantom_model.php b/application/models/Phantom_model.php index 18f36d3..ac25f05 100644 --- a/application/models/Phantom_model.php +++ b/application/models/Phantom_model.php @@ -114,7 +114,7 @@ class Phantom_model extends CI_Model{ curl_setopt_array( $curl, array( CURLOPT_RETURNTRANSFER => 1, - CURLOPT_URL => 'https://print.pensare-services.nl/print', + CURLOPT_URL => $_ENV['printserver'], // CURLOPT_URL => 'http://pdf.pensare-services.nl/index.php/pdfcreate', CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $data diff --git a/application/models/monpas/Arrangementen_model.php b/application/models/monpas/Arrangementen_model.php index 4fd0a4b..6587be8 100644 --- a/application/models/monpas/Arrangementen_model.php +++ b/application/models/monpas/Arrangementen_model.php @@ -86,18 +86,18 @@ class arrangementen_model extends MY_Model{ return $this->get_query_row(); } - function getAantalLeerlingenMetArrangement($schooljaarnr, $orgids){ - $this->sql= "SELECT SUM(APA.aantal) as aantal + function getAantalLeerlingenMetArrangement($schooljaarnr, $orglist){ + $this->sql= "SELECT SUM(APA.aantal) as aantal, COUNT(DISTINCT(ARR.organisatie_id)) AS orgsmetarrs FROM tb_arrangementen_piv_aantal APA JOIN tb_arrangementen ARR ON APA.arrangement_id = ARR.id JOIN tb_aantalleerlingen A ON ARR.organisatie_id = A.organisatie_id WHERE APA.schooljaarnr = {$schooljaarnr} - AND ARR.organisatie_id IN ({$orgids}) + AND ARR.organisatie_id IN ({$orglist}) AND A.schooljaarnr = {$schooljaarnr} AND A.meetellen = 'T' GROUP BY APA.schooljaarnr "; - return $this->get_query_row('aantal'); + return $this->get_query_row(); } diff --git a/application/models/monpas/Compactsoponderdelen_model.php b/application/models/monpas/Compactsoponderdelen_model.php index 3e58c12..452e603 100644 --- a/application/models/monpas/Compactsoponderdelen_model.php +++ b/application/models/monpas/Compactsoponderdelen_model.php @@ -1,7 +1,6 @@ load->model($models); } - function getOnderdelen(){ - $this->sql = "SELECT * - FROM tb_compactsoponderdelen - ORDER BY nummer "; + function getOnderdelen($orgsoort, $swvID, $schooljaarnr){ + $this->sql = "SELECT C.naam, C.naamkort, C.ijkpunten, C.vergelijking, S.pad, S.blokid, C.nummer, + S.toon_nummer + FROM tb_compactsoponderdelen C + JOIN tb_compactonderdeel_piv_orgsoort S ON C.id = S.onderdeel_id + WHERE S.org_soort = {$orgsoort} "; + + if($swvID == 150 && $schooljaarnr > 8){ + $this->sql .= "AND C.nummer <> 1 "; + } + else{ + $this->sql .= "AND C.nummer <> 10 "; + } + + $this->sql .= " ORDER BY S.toon_nummer "; return $this->get_query_result(); } + function getOnderdeel($nummer, $orgsoort){ + $this->sql = "SELECT C.naam, C.naamkort, S.pad, S.blokid, S.toon_nummer + FROM tb_compactsoponderdelen C + JOIN tb_compactonderdeel_piv_orgsoort S ON C.id = S.onderdeel_id + WHERE S.org_soort = {$orgsoort} + AND C.nummer = {$nummer} "; + return $this->get_query_row(); + } -function getModuleMetLicentie($orgid, $onderdeelnummer){ +function getModuleMetLicentie($orgid, $onderdeelnummer, $orgsoort){ $this->sql = "SELECT L.modulenr FROM tb_compactsoponderdelen CO JOIN tb_sop_piv_modules SM ON CO.nummer = SM.onderdeel_nr JOIN tb_licenties L ON SM.modulenr = L.modulenr + JOIN tb_compactonderdeel_piv_orgsoort S ON CO.id = S.onderdeel_id WHERE L.orgid = {$orgid} - AND CO.nummer = {$onderdeelnummer} + AND CO.nummer = {$onderdeelnummer} + AND S.org_soort = {$orgsoort} GROUP BY CO.nummer "; return $this->get_query_row("modulenr"); } - - - } diff --git a/application/models/monpas/Filledversions_model.php b/application/models/monpas/Filledversions_model.php index 4698c09..d64a046 100644 --- a/application/models/monpas/Filledversions_model.php +++ b/application/models/monpas/Filledversions_model.php @@ -62,8 +62,7 @@ class Filledversions_model extends MY_Model{ - function getfilledversionsperorg($orgid, $modulenr) - { + function getfilledversionsperorg($orgid, $modulenr){ // om de ingevulde lijsten per school op te halen $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id, V.naam, OV.vorm, OV.scoretype, OV.score_omschrijving, @@ -82,6 +81,24 @@ class Filledversions_model extends MY_Model{ } + function getfilledversions_bij_orglist($orglist, $modulenr){ + $this->sql = "SELECT DISTINCT(FV.orgversie_id) as id, OV.organisatie_id, periodenummer, OV.actief, versie_id, V.naam, + OV.vorm, OV.scoretype, OV.score_omschrijving, + DATE_FORMAT(geldigvanaf, '%d-%m-%Y') AS geldigvanaf, + DATE_FORMAT(geldigtm, '%d-%m-%Y') AS geldigtm, + DATE_FORMAT(invullentm, '%d-%m-%Y') AS invullentm, + V.naam + FROM tb_filledversions FV + JOIN tb_orgversies OV ON OV.id = FV.orgversie_id + JOIN tb_versies V ON V.id =OV.versie_id + WHERE FV.organisatie_id IN ({$orglist}) + AND V.modulenr = {$modulenr} + + ORDER BY OV.actief DESC, OV.periodenummer DESC "; + return $this->get_query_result(); + + } + function gettevergelijkenschoolversies($orgids, $modulenr){ // om de ingevulde lijsten per school op te halen $this->sql =" SELECT DISTINCT (FV.orgversie_id) AS orgversieid, vorm, scoretype, (OV.versie_id) AS versieid, naam, A.omschrijving diff --git a/application/models/monpas/Groepen_model.php b/application/models/monpas/Groepen_model.php index c634596..b86447a 100644 --- a/application/models/monpas/Groepen_model.php +++ b/application/models/monpas/Groepen_model.php @@ -49,14 +49,25 @@ class Groepen_model extends MY_Model{ return $this->get_query_row('aantal'); } - function getversiesmetleerlingen($orgid, $schooljaarnr, $schooltype, $module){ + function getversiesmetleerlingengoedeversie($orgid, $schooljaarnr, $schooltype, $module){ $this->sql="SELECT SUM(totaantal) AS llnschool FROM tb_groepen WHERE organisatie_id ={$orgid} AND schooljaarnr = {$schooljaarnr} AND schooltype = '{$schooltype}' AND module = {$module} "; - return $this->get_query_row('llnschool'); + return $this->get_query_row("aantallln"); + + } + + function getversiesmetleerlingen($orgid, $schooljaarnr, $schooltype, $module){ + $this->sql="SELECT totaantal, niveau, schooljaarnr + FROM tb_groepen + WHERE organisatie_id ={$orgid} + AND schooljaarnr = {$schooljaarnr} + AND schooltype = '{$schooltype}' + AND module = {$module} "; + return $this->get_query_result(); } diff --git a/application/models/monpas/Scores_model.php b/application/models/monpas/Scores_model.php index 3961b31..3a0782e 100644 --- a/application/models/monpas/Scores_model.php +++ b/application/models/monpas/Scores_model.php @@ -434,6 +434,21 @@ class Scores_model extends MY_Model{ return $lijst; } + function fTelGevuldeVersiesBijOrglist($orgversieid, $orglist){ + $this->sql =" SELECT COUNT(DISTINCT(Q.filledversion_id)) AS aantalFV, COUNT(DISTINCT(Q.organisatie_id)) AS aantalorgs + FROM( + SELECT S.filledversion_id, FV.organisatie_id + FROM tb_scores S + JOIN tb_filledversions FV ON FV.id = S.filledversion_id + WHERE FV.orgversie_id = {$orgversieid} + AND FV.organisatie_id IN ({$orglist}) + AND FV.meetellen = 1 + AND S.score > 0 + GROUP BY S.filledversion_id + HAVING COUNT(S.id) >= 5) AS Q "; + return $this->get_query_row(); + } + function fCountGevuldeBestuurVersies($orgversieid, $bgid){ $this->sql =" SELECT COUNT(DISTINCT filledversion_id) as aantal FROM tb_scores S @@ -445,7 +460,7 @@ class Scores_model extends MY_Model{ AND S.score > 0 GROUP BY S.filledversion_id HAVING COUNT(S.id) >= 5"; - return $this->get_query_result('aantal'); + return $this->get_query_row('aantal'); } diff --git a/application/models/monpas/Sopinhouden_model.php b/application/models/monpas/Sopinhouden_model.php index b15cda2..a78f416 100644 --- a/application/models/monpas/Sopinhouden_model.php +++ b/application/models/monpas/Sopinhouden_model.php @@ -164,7 +164,7 @@ class Sopinhouden_model extends MY_Model{ // $content = ''; $versie = ""; $result = $this->getOntwikkelagenda($profielid, 4,$targetversieid); - if($result ) { + if($result) { $versie = $result['targetversie']; } $imageoa = $this->Phantom_model->create_img($result['tabel1'], 'test', FALSE, FALSE, array(650, 300)); diff --git a/application/models/monpas/Tlvs_model.php b/application/models/monpas/Tlvs_model.php index f4866b4..cfb63c2 100644 --- a/application/models/monpas/Tlvs_model.php +++ b/application/models/monpas/Tlvs_model.php @@ -39,16 +39,16 @@ class tlvs_model extends MY_Model{ return $this->get_query_result(); } - function getAantalTLVsSop($schooljaarnr, $orgid){ - $this->sql = "SELECT SUM(COALESCE(T.aantal, 0)) as aantal + function getAantalTLVsSop($schooljaarnr, $orglist){ + $this->sql = "SELECT SUM(COALESCE(T.aantal, 0)) as aantal, COUNT(DISTINCT(T.organisatie_id)) AS orgsmettlvs FROM tb_tlvs T JOIN tb_schooljaren S ON T.schooljaarnr = S.schooljaarnr JOIN tb_aantalleerlingen A ON T.organisatie_id = A.organisatie_id - WHERE T.organisatie_id = {$orgid} + WHERE T.organisatie_id IN ({$orglist}) AND T.schooljaarnr = {$schooljaarnr} AND A.schooljaarnr = {$schooljaarnr} AND A.meetellen = 'T' "; - return $this->get_query_row('aantal'); + return $this->get_query_row(); } diff --git a/application/models/shared/Aantalleerlingen_model.php b/application/models/shared/Aantalleerlingen_model.php index 5aa6d31..2b4f760 100644 --- a/application/models/shared/Aantalleerlingen_model.php +++ b/application/models/shared/Aantalleerlingen_model.php @@ -42,20 +42,22 @@ class aantalleerlingen_model extends MY_Model{ return $this->get_query_result(); } - function get_gevuldeschooljaren_Sop($schooljaarnr, $schoolid){ - $this->sql= " SELECT A.schooljaarnr, S.naam + function get_gevuldeschooljaren_Sop($schooljaarnr, $orglist){ + $this->sql= " SELECT A.schooljaarnr, S.naam, COUNT(A.organisatie_id) AS orgsmetlln FROM tb_schooljaren S JOIN tb_aantalleerlingen A ON S.schooljaarnr = A.schooljaarnr - WHERE A.organisatie_id = {$schoolid} + WHERE A.organisatie_id IN ({$orglist}) AND A.aantal > 0 AND A.schooljaarnr <= {$schooljaarnr} AND A.meetellen = 'T' + GROUP BY A.schooljaarnr ORDER BY A.schooljaarnr DESC"; return $this->get_query_result(); } + function get_omvang($schooljaarnr, $orgs){ $this->sql=" SELECT A.schooljaarnr, S.naam, SUM(A.aantal) as aantal FROM tb_schooljaren S diff --git a/application/models/shared/Organisaties_model.php b/application/models/shared/Organisaties_model.php index 2d775a1..8bd66b9 100644 --- a/application/models/shared/Organisaties_model.php +++ b/application/models/shared/Organisaties_model.php @@ -507,7 +507,6 @@ class Organisaties_model extends MY_Model{ return $lijst; } - function getKleurcodesOrg($clusterid = FALSE, $swvid){ if (! $clusterid) $clusterid = 0; $sql = " SELECT * diff --git a/application/views/emails/newpassword_mail.php b/application/views/emails/newpassword_mail.php index 1ecd257..301471a 100644 --- a/application/views/emails/newpassword_mail.php +++ b/application/views/emails/newpassword_mail.php @@ -10,7 +10,7 @@
- +

Beste ,

@@ -37,4 +37,4 @@

- \ No newline at end of file + diff --git a/application/views/emails/newuser_mail.php b/application/views/emails/newuser_mail.php index 9e059e6..74ed91d 100644 --- a/application/views/emails/newuser_mail.php +++ b/application/views/emails/newuser_mail.php @@ -10,7 +10,7 @@
- +

Beste ,

@@ -38,4 +38,4 @@

- \ No newline at end of file + diff --git a/application/views/monpas/compactsop/expertisecompactsosbo.php b/application/views/monpas/compactsop/expertisecompactsosbo.php new file mode 100644 index 0000000..e8eef99 --- /dev/null +++ b/application/views/monpas/compactsop/expertisecompactsosbo.php @@ -0,0 +1,260 @@ +
+
+ +

+ + +
+

+ vorm == 1 ? ', schoolversie' : ', indivduele versie'; ?> +

+ $lijst){ ?> +

vantm ?>

+ +
+ + +
+ +
+
+ +
+ scores){ ?> + + + + + + + + + + + + + scores as $score){ ?> + + + + scores[$i]->kleur) ? $lijst->scores[$i]->kleur : ''; + $gem = isset($lijst->scores[$i]->gem) ? $lijst->scores[$i]->gem : ''; ?> + + + + + + + + + +
nr + + label?> + + periodenummer; ?> +
nummer != 'gem'){ echo $score->nummer . '.';}?> + + omschrijving) ? $score->omschrijving: 'Gemiddelde'?> + + +
Scores in procenten
+ + + +
+
\ No newline at end of file diff --git a/application/views/monpas/compactsop/maaksoponderdelen/blokvorm.php b/application/views/monpas/compactsop/maaksoponderdelen/blokvorm.php index 1feb667..4d0da1e 100644 --- a/application/views/monpas/compactsop/maaksoponderdelen/blokvorm.php +++ b/application/views/monpas/compactsop/maaksoponderdelen/blokvorm.php @@ -3,15 +3,17 @@ data-bind=" css{randinactief: geenLicentie(), geenrand: selected} ">
-

@@ -49,7 +51,7 @@ - + diff --git a/application/views/monpas/compactsop/maaksoponderdelen/kiesonderdelen.php b/application/views/monpas/compactsop/maaksoponderdelen/kiesonderdelen.php index 41010cb..5ec4851 100644 --- a/application/views/monpas/compactsop/maaksoponderdelen/kiesonderdelen.php +++ b/application/views/monpas/compactsop/maaksoponderdelen/kiesonderdelen.php @@ -10,7 +10,8 @@
- + load->view("monpas/compactsop/maaksoponderdelen/blokvorm"); ?>
@@ -19,7 +20,8 @@
- + load->view("monpas/compactsop/maaksoponderdelen/blokvorm"); ?>
@@ -34,7 +36,7 @@ color: white; padding: 10px; margin: 5px; margin-right: 15px; height: 150px; ">
-
+
@@ -39,7 +39,7 @@
-
+
@@ -69,7 +69,7 @@ style =" color: white; padding: 10px; margin: 5px; margin-right: 15px; height: 150px; ">