Merge branch 'master' into feature/robbobswop
# Conflicts: # application/libraries/monpas/compactsop/Compacteonderdelen.php
This commit is contained in:
@@ -81,3 +81,9 @@ Thumbs.db
|
||||
*.mov
|
||||
*.wmv
|
||||
|
||||
|
||||
docs/
|
||||
|
||||
public/tmp/
|
||||
|
||||
documents/compactsops/
|
||||
|
||||
@@ -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'];
|
||||
|
||||
|
||||
@@ -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",
|
||||
$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');
|
||||
"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){
|
||||
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);
|
||||
}
|
||||
$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) {
|
||||
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);
|
||||
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);
|
||||
$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'));
|
||||
$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); } ;
|
||||
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');
|
||||
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!';
|
||||
|
||||
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(array('lower(gnaam)'=> strtolower($username)))){
|
||||
$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(array('UCASE(gnaam)'=>strtoupper($username)), 'email'))!=strtoupper($email)){
|
||||
$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{
|
||||
$userid = $this->Users_model->get_fieldvalue(array('lower(gnaam)'=> strtolower($username)), 'id');
|
||||
$this->load->library( 'email' );
|
||||
|
||||
$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->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);
|
||||
|
||||
|
||||
$result['errortekst'] = 'Er is een e-mail gestuurd naar ' . $email . ' met uw nieuwe wachtwoord.';
|
||||
$result['status'] = TRUE;
|
||||
}
|
||||
echo json_encode( $result );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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));
|
||||
|
||||
$this->load->library('email');
|
||||
$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->bcc("rfranke@framework-ed.nl");
|
||||
$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));
|
||||
}
|
||||
|
||||
@@ -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 />
|
||||
|
||||
@@ -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
@@ -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
Reference in New Issue
Block a user