Skip to content

Commit 970a553

Browse files
Merge pull request #28 from OnePlc/1.0.24-dev
1.0.24 dev
2 parents 771b799 + b95ceb0 commit 970a553

File tree

4 files changed

+36
-74
lines changed

4 files changed

+36
-74
lines changed

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description": "onePlace User Module",
44
"type": "oneplace-module",
55
"license": "BSD-3-Clause",
6-
"version": "1.0.23",
6+
"version": "1.0.24",
77
"keywords": [
88
"laminas",
99
"mvc",
@@ -15,7 +15,7 @@
1515
"phpunit/phpunit": "^8",
1616
"laminas/laminas-test": "^3.3.0",
1717
"laminas/laminas-coding-standard": "^1.0",
18-
"oneplace/oneplace-core": "^1.0.21",
18+
"oneplace/oneplace-core": "^1.0.33",
1919
"ext-json": "*"
2020
},
2121
"require": {

data/data.sql

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@ INSERT INTO `core_form_field` (`Field_ID`, `type`, `label`, `fieldkey`, `tab`, `
3232
(NULL, 'text', 'Username', 'username', 'usercopy-base', 'user-copy', 'col-md-3', '/user/view/##ID##', '', 0, 1, 0, '', '', ''),
3333
(NULL, 'text', 'Full Name', 'full_name', 'usercopy-base', 'user-copy', 'col-md-3', '', '', 0, 1, 0, '', '', ''),
3434
(NULL, 'email', 'E-Mail', 'email', 'usercopy-base', 'user-copy', 'col-md-3', '/user/view/##ID##', '', 0, 1, 0, '', '', ''),
35-
(NULL, 'password', 'Password', 'password', 'usercopy-base', 'user-copy', 'col-md-3', '', '', 0, 1, 0, '', '', '');
35+
(NULL, 'password', 'Password', 'password', 'usercopy-base', 'user-copy', 'col-md-3', '', '', 0, 1, 0, '', '', ''),
36+
(NULL, 'text', 'Theme', 'theme', 'user-base', 'user-single', 'col-md-3', '', '', 0, 1, 0, '', '', ''),
37+
(NULL, 'text', 'Language', 'lang', 'user-base', 'user-single', 'col-md-3', '', '', 0, 1, 0, '', '', '');
3638

3739
--
3840
-- Core Form Tab

src/Model/User.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ public function exchangeArray(array $data)
206206
$this->id = ! empty($data['User_ID']) ? $data['User_ID'] : 0;
207207
$this->email = ! empty($data['email']) ? $data['email'] : '';
208208
$this->username = ! empty($data['username']) ? $data['username'] : '';
209-
$this->lang = ! empty($data['lang']) ? $data['lang'] : '';
209+
$this->lang = ! empty($data['lang']) ? $data['lang'] : 'en_US';
210210
$this->full_name = ! empty($data['full_name']) ? $data['full_name'] : '';
211211
$this->password = ! empty($data['password']) ? $data['password'] : '';
212212
$this->password_reset_token = ! empty($data['password_reset_token'])

src/Module.php

Lines changed: 30 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ class Module
3434
*
3535
* @since 1.0.0
3636
*/
37-
const VERSION = '1.0.23';
37+
const VERSION = '1.0.24';
3838

3939
/**
4040
* Load module config file
@@ -74,8 +74,19 @@ function ($e) {
7474

7575
$oDbAdapter = $sm->get(AdapterInterface::class);
7676

77-
$translator = $sm->get(TranslatorInterface::class);
78-
$translator->setLocale('de_DE');
77+
CoreController::$oTranslator = $sm->get(TranslatorInterface::class);
78+
CoreController::$oTranslator->setLocale('en_US');
79+
if(getenv('PLCWEBLANG')) {
80+
if(getenv('PLCWEBLANG') != '') {
81+
switch(getenv('PLCWEBLANG')) {
82+
case 'de':
83+
CoreController::$oTranslator->setLocale('de_DE');
84+
break;
85+
default:
86+
break;
87+
}
88+
}
89+
}
7990

8091
$sTravisBase = '/home/travis/build/OnePlc/PLC_X_User';
8192
if (is_dir($sTravisBase)) {
@@ -101,82 +112,21 @@ function ($e) {
101112
$container = new Container('plcauth');
102113
$bLoggedIn = false;
103114

104-
if(isset($_REQUEST['lang'])) {
105-
switch($_REQUEST['lang']) {
106-
case 'de':
107-
$container->sLang = 'de_DE';
108-
//$translator->setLocale('de_DE');
109-
break;
110-
case 'en':
111-
$container->sLang = 'en_US';
112-
//$translator->setLocale('en_US');
113-
break;
114-
case 'fr':
115-
$container->sLang = 'de_DE';
116-
//$translator->setLocale('en_US');
117-
break;
118-
default:
119-
break;
120-
}
121-
}
122-
123-
if(isset($container->sLang)) {
124-
if($container->sLang != '') {
125-
$translator->setLocale($container->sLang);
126-
}
127-
}
128-
129-
# Whitelisted routes that need no authentication
130-
if(!isset($container->aWhiteList)) {
131-
$aWhiteListedRoutes = [];
132-
$oWhiteListTbl = new TableGateway('settings', $oDbAdapter);
133-
$oWhiteList = $oWhiteListTbl->select(['settings_key' => 'firewall-whitelist']);
134-
if(count($oWhiteList) > 0) {
135-
$oWhiteList = $oWhiteList->current();
136-
137-
$aListEntries = json_decode($oWhiteList->settings_value);
138-
if(count($aListEntries) > 0) {
139-
foreach($aListEntries as $sEntry) {
140-
$aWhiteListedRoutes[$sEntry] = [];
141-
}
142-
}
143-
}
144-
145-
$container->aWhiteList = $aWhiteListedRoutes;
146-
}
147-
148-
149115
# check if user is logged in
150116
if (isset($container->oUser)) {
151117
$bLoggedIn = true;
152118
# check permissions
153-
/**
154-
if(isset($_REQUEST['lang'])) {
155-
switch($_REQUEST['lang']) {
156-
case 'de':
157-
$container->sLang = 'de_DE';
158-
break;
159-
case 'en':
160-
$container->sLang = 'de_DE';
161-
break;
162-
case 'fr':
163-
$container->sLang = 'de_DE';
164-
break;
165-
default:
166-
break;
167-
}
168-
} elseif(!isset($container->sLang)) {
169-
$container->sLang = $container->oUser->getLang();
170-
}
171-
$translator->setLocale($container->sLang);
172-
* **/
119+
CoreController::$oTranslator->setLocale($container->oUser->getLang());
120+
121+
122+
//echo 'check for '.$aRouteInfo['action'].'-'.$aRouteInfo['controller'];
173123

174124
$container->oUser->setAdapter($oDbAdapter);
175125

176126
$bIsSetupController = stripos($aRouteInfo['controller'], 'InstallController');
177127
if ($bIsSetupController === false) {
178128
if (! $container->oUser->hasPermission($aRouteInfo['action'], $aRouteInfo['controller'])
179-
&& $sRouteName != 'denied' && !array_key_exists($sRouteName,$container->aWhiteList)) {
129+
&& $sRouteName != 'denied') {
180130
$response = $e->getResponse();
181131
$response->getHeaders()->addHeaderLine(
182132
'Location',
@@ -213,10 +163,20 @@ function ($e) {
213163
}
214164
}
215165

166+
# Whitelisted routes that need no authentication
167+
$aWhiteListedRoutes = [
168+
'tokenlogin' => [],
169+
'setup' => [],
170+
'login' => [],
171+
'reset-pw' => [],
172+
'forgot-pw' => [],
173+
'register' => [],
174+
];
175+
216176
/**
217177
* Redirect to Login Page if not logged in
218178
*/
219-
if (! $bLoggedIn && ! array_key_exists($sRouteName, $container->aWhiteList)) {
179+
if (! $bLoggedIn && ! array_key_exists($sRouteName, $aWhiteListedRoutes)) {
220180
/**
221181
* Setup before First Login
222182
*/

0 commit comments

Comments
 (0)