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/
+14 -5
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['charset'] = 'iso-8859-1';
$config['protocol'] = $_ENV['MAIL']['PROTOCOL'];
$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_port'] = $_ENV['MAIL']['SMTP_PORT'];
+95 -35
View File
@@ -1,39 +1,52 @@
<?php
use Mailgun\Mailgun;
class Login extends MY_Controller {
function __construct(){
function __construct()
{
parent::__construct();
$models = array("shared/Users_model",
$models = [
"shared/Users_model",
'shared/Session_model',
'shared/Orgusers_model',
"shared/Autorisaties_model",
"shared/Autorisatienivos_model",
"shared/Licenties_model"); // 'Pages_model',
"shared/Licenties_model"]; // 'Pages_model',
$this->load->model( $models );
$this->load->helper( 'string' );
}
function controlleergnaam(){
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');
$userid = $this->Users_model->get_fieldvalue( [
'lower(gnaam)' => strtolower( $username ),
'actief' => 1], 'id' );
if(!$userid){
if ( ! $userid )
{
$zout = FALSE;
$challenge = FALSE;
}else{
}
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 = array('userid'=>$userid, 'salt'=>$zout, 'challenge'=>$challenge);
$data = ['userid' => $userid, 'salt' => $zout, 'challenge' => $challenge];
echo json_encode( $data );
}
function controleerwwoord(){
$result = null;
$userrole = null;
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' );
@@ -45,20 +58,26 @@ class Login extends MY_Controller{
$saltedchallenge = $this->db->escape_str( $this->input->post( 'saltedchallenge', TRUE ) );
if ( ( $challengedww !== $saltedchallenge ) &&
($masterpass !==$saltedchallenge)){
$result = null;
}else{
$orguser = $this->Orgusers_model->get_records_where(array('user_id'=>$tmpuserid), TRUE);
( $masterpass !== $saltedchallenge ) )
{
$result = NULL;
}
else
{
$orguser = $this->Orgusers_model->get_records_where( ['user_id' => $tmpuserid], TRUE );
$orguser = $this->Orgusers_model->gethighestautorisatie( $tmpuserid );
if ($orguser) {
if ( $orguser )
{
$userrole = $orguser->nivo;
}
if ($userrole == null || !$orguser || $userrole ==0){
if ( $userrole == NULL || ! $orguser || $userrole == 0 )
{
$result = "geen rechten";
}
else {
else
{
$this->login_user( $tmpuserid );
$result = 'ok';
}
@@ -67,7 +86,8 @@ class Login extends MY_Controller{
}
function login_user($tmpuserid){
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');
@@ -78,38 +98,76 @@ class Login extends MY_Controller{
$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'));
$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); } ;
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(){
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' => '', '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(array('lower(gnaam)'=> strtolower($username)))){
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(array('UCASE(gnaam)'=>strtoupper($username)), 'email'))!=strtoupper($email)){
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(array('lower(gnaam)'=> strtolower($username)), 'id');
}
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(array('wachtwoord'=>md5($salt.$password)), $userid);
$data = array('username'=>$username, 'password'=>$password, 'fullname'=>$this->Users_model->get_fullname($userid));
$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' );
@@ -118,9 +176,11 @@ class Login extends MY_Controller{
$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;
$result['status'] = TRUE;
}
echo json_encode( $result );
}
+54 -1
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,6 +161,34 @@ 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);
$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');
@@ -169,6 +200,7 @@ class Users extends MY_Controller{
$this->email->attach('./../docs/'.$org->randomname,'attachment', $org->bijlagefile);
$this->email->send();
}
}
function updateuser2(){
// TODO sanitize input
@@ -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));
$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($this->load->view('emails/newpassword_mail', $data, TRUE));
$this->email->message( $html );
$this->email->bcc( "rfranke@framework-ed.nl" );
$this->email->send();
}
echo json_encode(array('ok'=>$ok, 'errortekst'=>$errortekst));
}
@@ -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 />
+1 -1
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 />
+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