Merge branch 'master' into feature/robbobswop

# Conflicts:
#	application/libraries/monpas/compactsop/Compacteonderdelen.php
This commit is contained in:
Monique
2021-09-03 21:30:11 +02:00
98 changed files with 268 additions and 193749 deletions
+6
View File
@@ -81,3 +81,9 @@ Thumbs.db
*.mov
*.wmv
docs/
public/tmp/
documents/compactsops/
+17 -8
View File
@@ -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'];
+165 -105
View File
@@ -1,128 +1,188 @@
<?php
class Login extends MY_Controller{
function __construct(){
use Mailgun\Mailgun;
class Login extends MY_Controller {
function __construct()
{
parent::__construct();
$models = array("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');
$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' );
}
}
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 );
}
}
+72 -19
View File
@@ -1,5 +1,8 @@
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
use Mailgun\Mailgun;
class Users extends MY_Controller{
function __construct(){
@@ -158,16 +161,45 @@ class Users extends MY_Controller{
$user = $this->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);
}
}
}
@@ -10,7 +10,7 @@
<table width="600px" style="background-color:#ffffff;border:4px solid #930f50;margin:10 0 60px 0;">
<tr>
<td colspan="4">
<img src="<?=base_url()?>css/images/monpasklein.png" style="margin:20px; height: 60px;" />
<img src="cid:monpasklein.png" style="margin:20px; height: 60px;" />
<div style="border:2px solid #930f50;width:500px;height;400px;margin-top:20px;padding:20px;margin-left:25px;background-color:#f1f4f7log;">
<p style="font-family:arial;font-size:14px;color:#031a3c;">
Beste <?=$fullname?>,<br /><br />
@@ -37,4 +37,4 @@
</tr>
</table>
</body>
</html>
</html>
+2 -2
View File
@@ -10,7 +10,7 @@
<table width="600px" style="background-color:#ffffff;border:4px solid #930f50;margin:10 0 60px 0;">
<tr>
<td colspan="4">
<img src="<?=base_url()?>css/images/monpasklein.png" style="margin:20px; height:60px" />
<img src="cid:monpasklein.png" style="margin:20px; height:60px" />
<div style="border:2px solid #930f50;width:500px;height;400px;margin-top:20px;padding:20px;margin-left:25px;background-color:#f1f4f7log;">
<p style="font-family:arial;font-size:14px;color:#031a3c;">
Beste <?=$fullname?>,<br /><br />
@@ -38,4 +38,4 @@
</tr>
</table>
</body>
</html>
</html>
+4 -1
View File
@@ -11,7 +11,10 @@
"source": "https://github.com/bcit-ci/CodeIgniter"
},
"require": {
"php": ">=7.0"
"php": ">=7.0",
"mailgun/mailgun-php": "^3.5",
"kriswallsmith/buzz": "^1.2",
"nyholm/psr7": "^1.4"
},
"suggest": {
"paragonie/random_compat": "Provides better randomness in PHP 5.x"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff