HOR-1697
System Settings: Se aceptan valores reales/negativos en los campos: "MemoryLimit, CookieLifetime y DefaultUserExpiryDate"
This commit is contained in:
@@ -27,28 +27,18 @@ class adminProxy extends HttpProxyController
|
||||
{
|
||||
const hashunlink = 'unlink';
|
||||
|
||||
/**
|
||||
* Save configurations of systemConf
|
||||
* @param $httpData
|
||||
* @throws Exception
|
||||
*/
|
||||
public function saveSystemConf($httpData)
|
||||
{
|
||||
G::loadClass('system');
|
||||
$envFile = PATH_CONFIG . 'env.ini';
|
||||
$updateRedirector = false;
|
||||
$restart = false;
|
||||
|
||||
if (!file_exists($envFile) ) {
|
||||
if (!is_writable(PATH_CONFIG)) {
|
||||
throw new Exception('The enviroment config directory is not writable. <br/>Please give write permission to directory: /workflow/engine/config');
|
||||
}
|
||||
$content = ";\r\n";
|
||||
$content .= "; ProcessMaker System Bootstrap Configuration\r\n";
|
||||
$content .= ";\r\n";
|
||||
file_put_contents($envFile, $content);
|
||||
//@chmod($envFile, 0777);
|
||||
} else {
|
||||
if (!is_writable($envFile)) {
|
||||
throw new Exception('The enviroment ini file file is not writable. <br/>Please give write permission to file: /workflow/engine/config/env.ini');
|
||||
}
|
||||
}
|
||||
|
||||
self::validateDataSystemConf($httpData, $envFile);
|
||||
$sysConf = System::getSystemConfiguration($envFile);
|
||||
$updatedConf = array();
|
||||
|
||||
@@ -1536,5 +1526,46 @@ class adminProxy extends HttpProxyController
|
||||
G::streamFile($support, true);
|
||||
G::rm_dir($support);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate data before saving
|
||||
* @param $httpData
|
||||
* @param $envFile
|
||||
* @throws Exception
|
||||
*/
|
||||
public static function validateDataSystemConf($httpData, $envFile)
|
||||
{
|
||||
if (!((is_numeric($httpData->memory_limit)) && ((int)$httpData->memory_limit == $httpData->memory_limit) &&
|
||||
((int)$httpData->memory_limit >= -1))
|
||||
) {
|
||||
throw new Exception('The Memory Limit has to be either a positive integer or -1 ');
|
||||
}
|
||||
|
||||
if (!((is_numeric($httpData->max_life_time)) && ((int)$httpData->max_life_time == $httpData->max_life_time) &&
|
||||
((int)$httpData->max_life_time > 0))
|
||||
) {
|
||||
throw new Exception('The Max Lifetime has to be either a positive integer ');
|
||||
}
|
||||
|
||||
if (!((is_numeric($httpData->expiration_year)) && ((int)$httpData->expiration_year == $httpData->expiration_year) &&
|
||||
((int)$httpData->expiration_year > 0))
|
||||
) {
|
||||
throw new Exception('The Default Expiration Year has to be either a positive integer');
|
||||
}
|
||||
|
||||
if (!file_exists($envFile)) {
|
||||
if (!is_writable(PATH_CONFIG)) {
|
||||
throw new Exception('The enviroment config directory is not writable. <br/>Please give write permission to directory: /workflow/engine/config');
|
||||
}
|
||||
$content = ";\r\n";
|
||||
$content .= "; ProcessMaker System Bootstrap Configuration\r\n";
|
||||
$content .= ";\r\n";
|
||||
file_put_contents($envFile, $content);
|
||||
//@chmod($envFile, 0777);
|
||||
} else {
|
||||
if (!is_writable($envFile)) {
|
||||
throw new Exception('The enviroment ini file is not writable. <br/>Please give write permission to file: /workflow/engine/config/env.ini');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -85,32 +85,6 @@ Ext.onReady(function(){
|
||||
|
||||
cmbTimeZone.setValue(sysConf.time_zone);
|
||||
|
||||
txtExpirationYear = new Ext.form.TextField({
|
||||
xtype: 'numberfield',
|
||||
id : 'expiration_year',
|
||||
name : 'expiration_year',
|
||||
fieldLabel: _('ID_DEFAULT_EXPIRATION_YEAR'),
|
||||
allowBlank: false,
|
||||
allowNegative: false,
|
||||
value: 1,
|
||||
maxlength: 15,
|
||||
minValue: 1,
|
||||
validator: function(value){
|
||||
if(value > 0) {
|
||||
return true;
|
||||
} else {
|
||||
PMExt.error( _('ID_ERROR'), _('ID_INVALID_VALUE_EXPECTING_POSITIVE_INTEGER', _('ID_DEFAULT_EXPIRATION_YEAR')));
|
||||
return false;
|
||||
}
|
||||
},
|
||||
listeners:{
|
||||
change: function(){
|
||||
changeSettings();
|
||||
}
|
||||
}
|
||||
});
|
||||
txtExpirationYear.setValue(sysConf.expiration_year);
|
||||
|
||||
saveButton = new Ext.Action({
|
||||
text : _('ID_SAVE_SETTINGS'),
|
||||
disabled : true,
|
||||
@@ -119,36 +93,54 @@ Ext.onReady(function(){
|
||||
|
||||
xfieldsUp = new Ext.form.FieldSet({
|
||||
title: _('ID_SYSTEM_SETTINGS'),
|
||||
items : [
|
||||
items: [
|
||||
cmbTimeZone,
|
||||
{
|
||||
xtype: 'numberfield',
|
||||
id : 'memory_limit',
|
||||
name : 'memory_limit',
|
||||
id: 'memory_limit',
|
||||
name: 'memory_limit',
|
||||
fieldLabel: _('ID_MEMORY_LIMIT'),
|
||||
allowBlank: false,
|
||||
autoCreate: {tag: "input", type: "text", autocomplete: "off", maxlength: 15 },
|
||||
allowDecimals: false,
|
||||
minValue: -1,
|
||||
autoCreate: {tag: "input", type: "text", autocomplete: "off", maxlength: 15},
|
||||
value: sysConf.memory_limit,
|
||||
listeners:{
|
||||
change: function(){
|
||||
listeners: {
|
||||
change: function () {
|
||||
changeSettings();
|
||||
}
|
||||
}
|
||||
}, {
|
||||
xtype: 'numberfield',
|
||||
id : 'max_life_time',
|
||||
name : 'max_life_time',
|
||||
id: 'max_life_time',
|
||||
name: 'max_life_time',
|
||||
fieldLabel: _('ID_MAX_LIFETIME'),
|
||||
// allowBlank: false,
|
||||
autoCreate: {tag: "input", type: "text", autocomplete: "off", maxlength: 15 },
|
||||
allowNegative: false,
|
||||
allowDecimals: false,
|
||||
autoCreate: {tag: "input", type: "text", autocomplete: "off", maxlength: 15},
|
||||
value: sysConf.session_gc_maxlifetime,
|
||||
listeners:{
|
||||
change: function(){
|
||||
listeners: {
|
||||
change: function () {
|
||||
changeSettings();
|
||||
}
|
||||
}
|
||||
}, {
|
||||
xtype: 'numberfield',
|
||||
id: 'expiration_year',
|
||||
name: 'expiration_year',
|
||||
fieldLabel: _('ID_DEFAULT_EXPIRATION_YEAR'),
|
||||
allowBlank: false,
|
||||
allowNegative: false,
|
||||
allowDecimals: false,
|
||||
value: sysConf.expiration_year,
|
||||
maxlength: 15,
|
||||
minValue: 1,
|
||||
listeners: {
|
||||
change: function () {
|
||||
changeSettings();
|
||||
}
|
||||
}
|
||||
}
|
||||
,txtExpirationYear
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user