Merge code from github to bitbucket 2014-08-14
This commit is contained in:
@@ -1213,8 +1213,17 @@ function G_Text(form, element, name)
|
|||||||
if (me.validate == 'Any' && me.mask == '') return true;
|
if (me.validate == 'Any' && me.mask == '') return true;
|
||||||
|
|
||||||
var pressKey = (window.event)? window.event.keyCode : event.which;
|
var pressKey = (window.event)? window.event.keyCode : event.which;
|
||||||
if (pressKey == 107 || pressKey == 187 || pressKey == 191 || pressKey == 192 || pressKey == 172 || pressKey == 171 || pressKey == 226 || pressKey == 220 || pressKey == 226 || pressKey == 0 || pressKey == 221 || pressKey == 222 || pressKey == 186) {
|
|
||||||
pressKey = 43;
|
if (me.validate == "NodeName" && (pressKey == 189 || pressKey == 173)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (me.validate == "NodeName" && (pressKey == 0 || pressKey == 192 || pressKey == 109)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pressKey == 107 || pressKey == 187 || pressKey == 191 || pressKey == 172 || pressKey == 171 || pressKey == 226 || pressKey == 220 || pressKey == 226 || pressKey == 221 || pressKey == 222 || pressKey == 186) {
|
||||||
|
pressKey = 43;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(pressKey){
|
switch(pressKey){
|
||||||
@@ -1464,6 +1473,14 @@ function G_Text(form, element, name)
|
|||||||
if (keyCode == 0) return true;
|
if (keyCode == 0) return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (me.browser.name == 'Microsoft Internet Explorer' || me.browser.name == 'Netscape'){
|
||||||
|
if (event.preventDefault) {
|
||||||
|
event.preventDefault();
|
||||||
|
} else {
|
||||||
|
event.returnValue = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (me.browser.name == 'Chrome' || me.browser.name == 'Safari'){
|
if (me.browser.name == 'Chrome' || me.browser.name == 'Safari'){
|
||||||
event.returnValue = false;
|
event.returnValue = false;
|
||||||
}
|
}
|
||||||
@@ -2960,6 +2977,7 @@ var validateForm = function(sRequiredFields) {
|
|||||||
* i.ei <form onsubmit="myaction(MyjsString)" ... with var MyjsString = "some string that is into a variable, so this broke the html";
|
* i.ei <form onsubmit="myaction(MyjsString)" ... with var MyjsString = "some string that is into a variable, so this broke the html";
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
sRequiredFields = sRequiredFields.replace(/\n/g, " ");
|
||||||
if( typeof(sRequiredFields) != 'object' || sRequiredFields.indexOf("%27") > 0 ) {
|
if( typeof(sRequiredFields) != 'object' || sRequiredFields.indexOf("%27") > 0 ) {
|
||||||
sRequiredFields = sRequiredFields.replace(/%27/gi, '"');
|
sRequiredFields = sRequiredFields.replace(/%27/gi, '"');
|
||||||
}
|
}
|
||||||
@@ -3930,15 +3948,15 @@ function dropDownSetOption(elem, arrayOption)
|
|||||||
function dynaFormChanged(frm)
|
function dynaFormChanged(frm)
|
||||||
{
|
{
|
||||||
for (var i1 = 0; i1 <= frm.elements.length - 1; i1++) {
|
for (var i1 = 0; i1 <= frm.elements.length - 1; i1++) {
|
||||||
|
|
||||||
if((frm.elements[i1].type=="radio" || frm.elements[i1].type=="checkbox") && (frm.elements[i1].checked!=frm.elements[i1].defaultChecked)) {
|
if((frm.elements[i1].type=="radio" || frm.elements[i1].type=="checkbox") && (frm.elements[i1].checked!=frm.elements[i1].defaultChecked)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((frm.elements[i1].type=="textarea" || frm.elements[i1].type=="text" || frm.elements[i1].type=="file") && (frm.elements[i1].value!=frm.elements[i1].defaultValue)) {
|
if((frm.elements[i1].type=="textarea" || frm.elements[i1].type=="text" || frm.elements[i1].type=="file") && (frm.elements[i1].value!=frm.elements[i1].defaultValue)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (frm.elements[i1].tagName.toLowerCase() == "select") {
|
if (frm.elements[i1].tagName.toLowerCase() == "select") {
|
||||||
var selectDefaultValue = frm.elements[i1].value;
|
var selectDefaultValue = frm.elements[i1].value;
|
||||||
|
|||||||
@@ -98,6 +98,13 @@ var G_Grid = function(oForm, sGridName){
|
|||||||
this.aElements[this.aElements.length - 1].mask = this.aFields[j].oProperties.sMask;
|
this.aElements[this.aElements.length - 1].mask = this.aFields[j].oProperties.sMask;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case "date":
|
||||||
|
this.aElements.push(new G_Date(oForm, elem, elemName));
|
||||||
|
|
||||||
|
if (this.aFields[j].oProperties) {
|
||||||
|
this.aElements[this.aElements.length - 1].mask = dateSetMask(this.aFields[j].oProperties.mask);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
this.aElements.push(new G_Field(oForm, elem, elemName));
|
this.aElements.push(new G_Field(oForm, elem, elemName));
|
||||||
|
|
||||||
|
|||||||
@@ -1024,7 +1024,9 @@ switch(action){case'mask':case'move':dataNewMask=me.replaceMasks(newValue,newCur
|
|||||||
break;case 256:newValue=currentValue.substring(0,cursorStart);newValue+='.';newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;case 35:case 36:case 37:case 38:case 39:case 40:newValue=currentValue;switch(keyCode){case 36:newCursor=0;break;case 35:newCursor=currentValue.length;break;case 37:newCursor=cursorStart-1;break;case 39:newCursor=cursorStart+1;break;}
|
break;case 256:newValue=currentValue.substring(0,cursorStart);newValue+='.';newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;case 35:case 36:case 37:case 38:case 39:case 40:newValue=currentValue;switch(keyCode){case 36:newCursor=0;break;case 35:newCursor=currentValue.length;break;case 37:newCursor=cursorStart-1;break;case 39:newCursor=cursorStart+1;break;}
|
||||||
break;default:newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue+=newKey;newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;}
|
break;default:newKey=String.fromCharCode(keyCode);newValue=currentValue.substring(0,cursorStart);newValue+=newKey;newValue+=currentValue.substring(cursorEnd,currentValue.length);newCursor=cursorStart+1;break;}
|
||||||
if(newCursor<0)newCursor=0;me.element.value=newValue;me.setSelectionRange(newCursor,newCursor);}};this.sendOnChange=function(){if(me.element.fireEvent){me.element.fireEvent("onchange");}else{var evObj=document.createEvent('HTMLEvents');evObj.initEvent('change',true,true);me.element.dispatchEvent(evObj);}};this.handleKeyDown=function(event){if(me.element.readOnly){return true;}
|
if(newCursor<0)newCursor=0;me.element.value=newValue;me.setSelectionRange(newCursor,newCursor);}};this.sendOnChange=function(){if(me.element.fireEvent){me.element.fireEvent("onchange");}else{var evObj=document.createEvent('HTMLEvents');evObj.initEvent('change',true,true);me.element.dispatchEvent(evObj);}};this.handleKeyDown=function(event){if(me.element.readOnly){return true;}
|
||||||
if(me.validate=='Any'&&me.mask=='')return true;var pressKey=(window.event)?window.event.keyCode:event.which;if(pressKey==107||pressKey==187||pressKey==191||pressKey==192||pressKey==172||pressKey==171||pressKey==226||pressKey==220||pressKey==226||pressKey==0||pressKey==221||pressKey==222||pressKey==186){pressKey=43;}
|
if(me.validate=='Any'&&me.mask=='')return true;var pressKey=(window.event)?window.event.keyCode:event.which;if(me.validate=="NodeName"&&(pressKey==189||pressKey==173)){return true;}
|
||||||
|
if(me.validate=="NodeName"&&(pressKey==0||pressKey==192||pressKey==109)){return false;}
|
||||||
|
if(pressKey==107||pressKey==187||pressKey==191||pressKey==172||pressKey==171||pressKey==226||pressKey==220||pressKey==226||pressKey==221||pressKey==222||pressKey==186){pressKey=43;}
|
||||||
switch(pressKey){case 8:case 46:case 35:case 36:case 37:case 38:case 39:case 40:case 43:if((pressKey==8||pressKey==46)&&me.validate=="NodeName"){return true;}
|
switch(pressKey){case 8:case 46:case 35:case 36:case 37:case 38:case 39:case 40:case 43:if((pressKey==8||pressKey==46)&&me.validate=="NodeName"){return true;}
|
||||||
if(pressKey==46&&me.validate=="Email"){return true;}
|
if(pressKey==46&&me.validate=="Email"){return true;}
|
||||||
if(me.validate=="Email"&&pressKey!=8&&(me.element.value.length>me.element.maxLength-1)){return false;}
|
if(me.validate=="Email"&&pressKey!=8&&(me.element.value.length>me.element.maxLength-1)){return false;}
|
||||||
@@ -1058,6 +1060,7 @@ if(pressKey==46){me.applyMask(256);}
|
|||||||
else{me.applyMask(pressKey);}
|
else{me.applyMask(pressKey);}
|
||||||
if(updateOnChange){me.sendOnChange();}}
|
if(updateOnChange){me.sendOnChange();}}
|
||||||
if(me.browser.name=='Firefox'){if(keyCode==0)return true;}
|
if(me.browser.name=='Firefox'){if(keyCode==0)return true;}
|
||||||
|
if(me.browser.name=='Microsoft Internet Explorer'||me.browser.name=='Netscape'){if(event.preventDefault){event.preventDefault();}else{event.returnValue=false;}}
|
||||||
if(me.browser.name=='Chrome'||me.browser.name=='Safari'){event.returnValue=false;}
|
if(me.browser.name=='Chrome'||me.browser.name=='Safari'){event.returnValue=false;}
|
||||||
else{return false;}}};if(this.element){this.element.onblur=function(event)
|
else{return false;}}};if(this.element){this.element.onblur=function(event)
|
||||||
{var evt=event||window.event;var keyPressed=evt.which||evt.keyCode;if((me.mask!='')&&((me.mType=='currency')||(me.mType=='percentage')||((me.validate=="Real")&&(me.mType=='text')))&&(me.mask.indexOf('-')==-1)&&(me.element.value!='')){masks=me.mask;aMasks=masks.split(';');for(m=0;m<aMasks.length;m++){var separatorField=",";if(typeof(me.comma_separator)!='undefined'){separatorField=me.comma_separator;}else{txtRealMask=aMasks[m].split('');p=txtRealMask.length-1;for(;p>=0;p--){if(txtRealMask[p]!='#'&&txtRealMask[p]!='%'&&txtRealMask[p]!=' '){separatorField=txtRealMask[p];break;}}}
|
{var evt=event||window.event;var keyPressed=evt.which||evt.keyCode;if((me.mask!='')&&((me.mType=='currency')||(me.mType=='percentage')||((me.validate=="Real")&&(me.mType=='text')))&&(me.mask.indexOf('-')==-1)&&(me.element.value!='')){masks=me.mask;aMasks=masks.split(';');for(m=0;m<aMasks.length;m++){var separatorField=",";if(typeof(me.comma_separator)!='undefined'){separatorField=me.comma_separator;}else{txtRealMask=aMasks[m].split('');p=txtRealMask.length-1;for(;p>=0;p--){if(txtRealMask[p]!='#'&&txtRealMask[p]!='%'&&txtRealMask[p]!=' '){separatorField=txtRealMask[p];break;}}}
|
||||||
@@ -1207,7 +1210,7 @@ dropdowns=grids[j].getElementsByTagName('select');for(i=0;i<dropdowns.length;i++
|
|||||||
fieldGridName=$label[1]+"["+$label[2]+"["+$label[3].split("]")[0];if(!notValidateThisFields.inArray(fieldGridName)){invalidFields.push($fieldName);}
|
fieldGridName=$label[1]+"["+$label[2]+"["+$label[3].split("]")[0];if(!notValidateThisFields.inArray(fieldGridName)){invalidFields.push($fieldName);}
|
||||||
vtext.failed();}else{vtext.passed();}}}
|
vtext.failed();}else{vtext.passed();}}}
|
||||||
return(invalidFields);};var swSubmitValidateForm=1;var validateForm=function(sRequiredFields){if(swSubmitValidateForm==1){swSubmitValidateForm=0;sFormName=document.getElementById('__DynaformName__');if(typeof(__dynaformSVal__)!='undefined'&&(typeof(sFormName)!='undefined'&&sFormName!='login')&&(typeof(__usernameLogged__)!='undefined'&&__usernameLogged__!='')){if(!sessionPersits()){showPromptLogin('session');swSubmitValidateForm=1;return false;}}
|
return(invalidFields);};var swSubmitValidateForm=1;var validateForm=function(sRequiredFields){if(swSubmitValidateForm==1){swSubmitValidateForm=0;sFormName=document.getElementById('__DynaformName__');if(typeof(__dynaformSVal__)!='undefined'&&(typeof(sFormName)!='undefined'&&sFormName!='login')&&(typeof(__usernameLogged__)!='undefined'&&__usernameLogged__!='')){if(!sessionPersits()){showPromptLogin('session');swSubmitValidateForm=1;return false;}}
|
||||||
if(typeof(sRequiredFields)!='object'||sRequiredFields.indexOf("%27")>0){sRequiredFields=sRequiredFields.replace(/%27/gi,'"');}
|
sRequiredFields=sRequiredFields.replace(/\n/g," ");if(typeof(sRequiredFields)!='object'||sRequiredFields.indexOf("%27")>0){sRequiredFields=sRequiredFields.replace(/%27/gi,'"');}
|
||||||
if(typeof(sRequiredFields)!='object'||sRequiredFields.indexOf("%39")>0){sRequiredFields=sRequiredFields.replace(/%39/gi,"'");}
|
if(typeof(sRequiredFields)!='object'||sRequiredFields.indexOf("%39")>0){sRequiredFields=sRequiredFields.replace(/%39/gi,"'");}
|
||||||
aRequiredFields=eval(sRequiredFields);var sMessage='';var invalid_fields=Array();var fielEmailInvalid=Array();for(var i=0;i<aRequiredFields.length;i++){aRequiredFields[i].label=(aRequiredFields[i].label=='')?aRequiredFields[i].name:aRequiredFields[i].label;if(!notValidateThisFields.inArray(aRequiredFields[i].name)){if(typeof aRequiredFields[i].required!='undefined'){required=aRequiredFields[i].required;}else{required=1;}
|
aRequiredFields=eval(sRequiredFields);var sMessage='';var invalid_fields=Array();var fielEmailInvalid=Array();for(var i=0;i<aRequiredFields.length;i++){aRequiredFields[i].label=(aRequiredFields[i].label=='')?aRequiredFields[i].name:aRequiredFields[i].label;if(!notValidateThisFields.inArray(aRequiredFields[i].name)){if(typeof aRequiredFields[i].required!='undefined'){required=aRequiredFields[i].required;}else{required=1;}
|
||||||
if(typeof aRequiredFields[i].validate!='undefined'){validate=aRequiredFields[i].validate;}else{validate='';}
|
if(typeof aRequiredFields[i].validate!='undefined'){validate=aRequiredFields[i].validate;}else{validate='';}
|
||||||
@@ -1355,6 +1358,7 @@ this.aElements[this.aElements.length-1].validate=this.aFields[j].oProperties.val
|
|||||||
break;case"percentage":this.aElements.push(new G_Percentage(oForm,elem,elemName));if(this.aFields[j].oProperties){if(this.aFields[j].oProperties.comma_separator){this.aElements[this.aElements.length-1].comma_separator=this.aFields[j].oProperties.comma_separator;}
|
break;case"percentage":this.aElements.push(new G_Percentage(oForm,elem,elemName));if(this.aFields[j].oProperties){if(this.aFields[j].oProperties.comma_separator){this.aElements[this.aElements.length-1].comma_separator=this.aFields[j].oProperties.comma_separator;}
|
||||||
this.aElements[this.aElements.length-1].validate=this.aFields[j].oProperties.validate;this.aElements[this.aElements.length-1].mask=this.aFields[j].oProperties.mask;}
|
this.aElements[this.aElements.length-1].validate=this.aFields[j].oProperties.validate;this.aElements[this.aElements.length-1].mask=this.aFields[j].oProperties.mask;}
|
||||||
break;case"dropdown":this.aElements.push(new G_DropDown(oForm,elem,elemName));if(this.aFields[j].oProperties){this.aElements[this.aElements.length-1].mask=this.aFields[j].oProperties.sMask;}
|
break;case"dropdown":this.aElements.push(new G_DropDown(oForm,elem,elemName));if(this.aFields[j].oProperties){this.aElements[this.aElements.length-1].mask=this.aFields[j].oProperties.sMask;}
|
||||||
|
break;case"date":this.aElements.push(new G_Date(oForm,elem,elemName));if(this.aFields[j].oProperties){this.aElements[this.aElements.length-1].mask=dateSetMask(this.aFields[j].oProperties.mask);}
|
||||||
break;default:this.aElements.push(new G_Field(oForm,elem,elemName));if(this.aFields[j].oProperties){this.aElements[this.aElements.length-1].mask=this.aFields[j].oProperties.sMask;}
|
break;default:this.aElements.push(new G_Field(oForm,elem,elemName));if(this.aFields[j].oProperties){this.aElements[this.aElements.length-1].mask=this.aFields[j].oProperties.sMask;}
|
||||||
break;}}}}
|
break;}}}}
|
||||||
var sw=false;if(this.allDependentFields==""){sw=true;}
|
var sw=false;if(this.allDependentFields==""){sw=true;}
|
||||||
|
|||||||
@@ -376,7 +376,30 @@ class Form extends XmlForm
|
|||||||
switch ($v->type) {
|
switch ($v->type) {
|
||||||
case 'radiogroup':
|
case 'radiogroup':
|
||||||
$values[$k] = $newValues[$k];
|
$values[$k] = $newValues[$k];
|
||||||
$values[$k . "_label"] = $newValues[$k . "_label"] = $v->options[$newValues[$k]];
|
|
||||||
|
if (isset($v->options[$newValues[$k]])) {
|
||||||
|
$values[$k . "_label"] = $newValues[$k . "_label"] = $v->options[$newValues[$k]];
|
||||||
|
} else {
|
||||||
|
$query = G::replaceDataField( $this->fields[$k]->sql, $newValues );
|
||||||
|
|
||||||
|
//Execute just if a query was set, it should be not empty
|
||||||
|
if (trim($query) == "") {
|
||||||
|
continue; //if it is empty string skip it
|
||||||
|
}
|
||||||
|
|
||||||
|
//We do the query to the external connection and we've got the label
|
||||||
|
$con = Propel::getConnection(($this->fields[$k]->sqlConnection != "") ? $this->fields[$k]->sqlConnection : "workflow");
|
||||||
|
$stmt = $con->prepareStatement($query);
|
||||||
|
$rs = $stmt->executeQuery(ResultSet::FETCHMODE_NUM);
|
||||||
|
|
||||||
|
while ($rs->next()) {
|
||||||
|
list ($rowId, $rowContent) = $rs->getRow();
|
||||||
|
if ($newValues[$k] == $rowId) {
|
||||||
|
$values[$k . "_label"] = $rowContent;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'suggest':
|
case 'suggest':
|
||||||
$values[$k] = $newValues[$k];
|
$values[$k] = $newValues[$k];
|
||||||
@@ -548,6 +571,15 @@ class Form extends XmlForm
|
|||||||
//This value is added when the user does not mark any checkbox
|
//This value is added when the user does not mark any checkbox
|
||||||
$values[$k] = "__NULL__";
|
$values[$k] = "__NULL__";
|
||||||
break;
|
break;
|
||||||
|
case "grid":
|
||||||
|
$values[$k] = $_FILES["form"]["name"][$k];
|
||||||
|
foreach ($values[$k] as $inp => $ii){
|
||||||
|
foreach ($ii as $oo => $ee){
|
||||||
|
$x = $v->fields;
|
||||||
|
$_POST["INPUTS"][$k][$oo] = $x[$oo]->input;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -690,6 +722,9 @@ class Form extends XmlForm
|
|||||||
break;
|
break;
|
||||||
case "grid":
|
case "grid":
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
if (!is_array($data[$v->name])) {
|
||||||
|
$data[$v->name] = array();
|
||||||
|
}
|
||||||
foreach ($data[$v->name] as $dataGrid) {
|
foreach ($data[$v->name] as $dataGrid) {
|
||||||
$i = $i + 1;
|
$i = $i + 1;
|
||||||
|
|
||||||
|
|||||||
@@ -319,6 +319,15 @@ class XmlForm_Field
|
|||||||
if ($this->sql === '') {
|
if ($this->sql === '') {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isset($this->mode) && $this->mode == "edit" && (isset($this->owner->values[$this->name]) && $this->owner->values[$this->name] !== "")){
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(isset($this->mode) && $this->mode == "view" && ($this->type == "text" || $this->type == "currency" || $this->type == "percentage" || $this->type == "textarea" || $this->type == "hidden" || $this->type == "suggest")){
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (! $this->sqlConnection) {
|
if (! $this->sqlConnection) {
|
||||||
$this->sqlConnection = 'workflow';
|
$this->sqlConnection = 'workflow';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -577,7 +577,7 @@ class Cases
|
|||||||
if ($jump != '') {
|
if ($jump != '') {
|
||||||
$aCases = $oAppDel->LoadParallel($sAppUid);
|
$aCases = $oAppDel->LoadParallel($sAppUid);
|
||||||
$aFields['TAS_UID'] = '';
|
$aFields['TAS_UID'] = '';
|
||||||
$aFields['CURRENT_USER'] = '';
|
$aFields['CURRENT_USER'] = array();
|
||||||
foreach ($aCases as $key => $value) {
|
foreach ($aCases as $key => $value) {
|
||||||
$oCurUser->load($value['USR_UID']);
|
$oCurUser->load($value['USR_UID']);
|
||||||
$aFields['CURRENT_USER'][]= $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
|
$aFields['CURRENT_USER'][]= $oCurUser->getUsrFirstname() . ' ' . $oCurUser->getUsrLastname();
|
||||||
@@ -5069,7 +5069,8 @@ class Cases
|
|||||||
"INPUT" => Array(),
|
"INPUT" => Array(),
|
||||||
"OUTPUT" => Array(),
|
"OUTPUT" => Array(),
|
||||||
"CASES_NOTES" => 0,
|
"CASES_NOTES" => 0,
|
||||||
"MSGS_HISTORY" => Array()
|
"MSGS_HISTORY" => Array(),
|
||||||
|
"SUMMARY_FORM" => 0
|
||||||
);
|
);
|
||||||
|
|
||||||
//permissions per user
|
//permissions per user
|
||||||
@@ -5226,6 +5227,7 @@ class Cases
|
|||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
}
|
}
|
||||||
$RESULT['CASES_NOTES'] = 1;
|
$RESULT['CASES_NOTES'] = 1;
|
||||||
|
$RESULT['SUMMARY_FORM'] = 1;
|
||||||
|
|
||||||
// Message History
|
// Message History
|
||||||
$RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION);
|
$RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION);
|
||||||
@@ -5373,6 +5375,9 @@ class Cases
|
|||||||
case 'CASES_NOTES':
|
case 'CASES_NOTES':
|
||||||
$RESULT['CASES_NOTES'] = 1;
|
$RESULT['CASES_NOTES'] = 1;
|
||||||
break;
|
break;
|
||||||
|
case 'SUMMARY_FORM':
|
||||||
|
$RESULT['SUMMARY_FORM'] = 1;
|
||||||
|
break;
|
||||||
case 'MSGS_HISTORY':
|
case 'MSGS_HISTORY':
|
||||||
// Permission
|
// Permission
|
||||||
$RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION);
|
$RESULT['MSGS_HISTORY'] = array('PERMISSION' => $ACTION);
|
||||||
@@ -5424,7 +5429,8 @@ class Cases
|
|||||||
"INPUT_DOCUMENTS" => $RESULT['INPUT'],
|
"INPUT_DOCUMENTS" => $RESULT['INPUT'],
|
||||||
"OUTPUT_DOCUMENTS" => $RESULT['OUTPUT'],
|
"OUTPUT_DOCUMENTS" => $RESULT['OUTPUT'],
|
||||||
"CASES_NOTES" => $RESULT['CASES_NOTES'],
|
"CASES_NOTES" => $RESULT['CASES_NOTES'],
|
||||||
"MSGS_HISTORY" => $RESULT['MSGS_HISTORY']
|
"MSGS_HISTORY" => $RESULT['MSGS_HISTORY'],
|
||||||
|
"SUMMARY_FORM" => $RESULT['SUMMARY_FORM']
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,15 @@ class p11835 extends patch
|
|||||||
return patch::$isPathchable;
|
return patch::$isPathchable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function pmVersion($version)
|
||||||
|
{
|
||||||
|
if (preg_match("/^\D*([\d\.]+)\D*$/", $version, $matches)) {
|
||||||
|
$version = $matches[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $version;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Note.- Use after DB was upgraded.
|
* Note.- Use after DB was upgraded.
|
||||||
* Set the patch, setting all the TAS_GROUP_VARIABLE to ''
|
* Set the patch, setting all the TAS_GROUP_VARIABLE to ''
|
||||||
@@ -83,7 +92,38 @@ class p11835 extends patch
|
|||||||
$aRow = $recordSet->getRow();
|
$aRow = $recordSet->getRow();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
echo $count. " records where patched to use SELF_SERVICE feature.\n";
|
|
||||||
|
//Fix BUG-15394
|
||||||
|
|
||||||
|
G::LoadClass("configuration");
|
||||||
|
|
||||||
|
$conf = new Configurations();
|
||||||
|
|
||||||
|
if (!$conf->exists("HOTFIX")) {
|
||||||
|
//HOTFIX, Create empty record
|
||||||
|
$conf->aConfig = array();
|
||||||
|
$conf->saveConfig("HOTFIX", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
$arrayHotfix = $conf->getConfiguration("HOTFIX", "");
|
||||||
|
$arrayHotfix = (is_array($arrayHotfix))? $arrayHotfix : array($arrayHotfix);
|
||||||
|
|
||||||
|
$pmVersion = self::pmVersion(System::getVersion()) . "";
|
||||||
|
|
||||||
|
if (($pmVersion == "2.5.2.4" || $pmVersion == "2.8") && !in_array("15394", $arrayHotfix)) {
|
||||||
|
$cnn = Propel::getConnection("workflow");
|
||||||
|
$stmt = $cnn->prepareStatement("UPDATE USERS_PROPERTIES SET USR_LOGGED_NEXT_TIME = 0");
|
||||||
|
$rs = $stmt->executeQuery();
|
||||||
|
|
||||||
|
//HOTFIX, Update record (add 15394)
|
||||||
|
$arrayHotfix[] = "15394";
|
||||||
|
|
||||||
|
$conf->aConfig = $arrayHotfix;
|
||||||
|
$conf->saveConfig("HOTFIX", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
//echo
|
||||||
|
echo $count . " records where patched to use SELF_SERVICE feature.\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ define('PM_CREATE_NEW_DELEGATION', 1013);
|
|||||||
define('PM_SINGLE_SIGN_ON', 1014);
|
define('PM_SINGLE_SIGN_ON', 1014);
|
||||||
define('PM_GET_CASES_AJAX_LISTENER', 1015);
|
define('PM_GET_CASES_AJAX_LISTENER', 1015);
|
||||||
define('PM_BEFORE_CREATE_USER', 1016);
|
define('PM_BEFORE_CREATE_USER', 1016);
|
||||||
|
define('PM_AFTER_LOGIN', 1017);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3639,6 +3639,10 @@ class processMap
|
|||||||
$sObjectType = G::LoadTranslation('MSGS_HISTORY');
|
$sObjectType = G::LoadTranslation('MSGS_HISTORY');
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
$sObject = G::LoadTranslation('ID_ALL');
|
||||||
break;
|
break;
|
||||||
|
case 'SUMMARY_FORM':
|
||||||
|
$sObjectType = G::LoadTranslation('ID_SUMMARY_FORM');
|
||||||
|
$sObject = G::LoadTranslation('ID_ALL');
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
$sObjectType = G::LoadTranslation('ID_ALL');
|
$sObjectType = G::LoadTranslation('ID_ALL');
|
||||||
$sObject = G::LoadTranslation('ID_ALL');
|
$sObject = G::LoadTranslation('ID_ALL');
|
||||||
|
|||||||
@@ -1142,7 +1142,7 @@ class System
|
|||||||
@preg_match( $patt, $content, $match );
|
@preg_match( $patt, $content, $match );
|
||||||
|
|
||||||
if (is_array( $match ) && count( $match ) > 0 && isset( $match[1] )) {
|
if (is_array( $match ) && count( $match ) > 0 && isset( $match[1] )) {
|
||||||
$newUrl = 'sys/' . $conf['lang'] . '/' . $conf['skin'] . '/login/login';
|
$newUrl = "sys/" . (($conf["lang"] != "")? $conf["lang"] : ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en")) . "/" . $conf["skin"] . "/login/login";
|
||||||
|
|
||||||
$newMetaStr = str_replace( $match[1], $newUrl, $match[0] );
|
$newMetaStr = str_replace( $match[1], $newUrl, $match[0] );
|
||||||
$newContent = str_replace( $match[0], $newMetaStr, $content );
|
$newContent = str_replace( $match[0], $newMetaStr, $content );
|
||||||
|
|||||||
@@ -532,6 +532,29 @@ class workspaceTools
|
|||||||
$oCriteria->add(ConfigurationPeer::OBJ_UID, array("todo", "draft", "sent", "unassigned", "paused", "cancelled"), Criteria::NOT_IN);
|
$oCriteria->add(ConfigurationPeer::OBJ_UID, array("todo", "draft", "sent", "unassigned", "paused", "cancelled"), Criteria::NOT_IN);
|
||||||
ConfigurationPeer::doDelete($oCriteria);
|
ConfigurationPeer::doDelete($oCriteria);
|
||||||
// end of reset
|
// end of reset
|
||||||
|
|
||||||
|
//close connection
|
||||||
|
$connection = Propel::getConnection( 'workflow' );
|
||||||
|
|
||||||
|
$sql_sleep = "SELECT * FROM information_schema.processlist WHERE command = 'Sleep' and user = SUBSTRING_INDEX(USER(),'@',1) and db = DATABASE() ORDER BY id;";
|
||||||
|
$stmt_sleep = $connection->createStatement();
|
||||||
|
$rs_sleep = $stmt_sleep->executeQuery( $sql_sleep, ResultSet::FETCHMODE_ASSOC );
|
||||||
|
|
||||||
|
while ($rs_sleep->next()) {
|
||||||
|
$row_sleep = $rs_sleep->getRow();
|
||||||
|
$oStatement_sleep = $connection->prepareStatement( "kill ". $row_sleep['ID'] );
|
||||||
|
$oStatement_sleep->executeQuery();
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql_query = "SELECT * FROM information_schema.processlist WHERE user = SUBSTRING_INDEX(USER(),'@',1) and db = DATABASE() ORDER BY id;";
|
||||||
|
$stmt_query = $connection->createStatement();
|
||||||
|
$rs_query = $stmt_query->executeQuery( $sql_query, ResultSet::FETCHMODE_ASSOC );
|
||||||
|
|
||||||
|
while ($rs_query->next()) {
|
||||||
|
$row_query = $rs_query->getRow();
|
||||||
|
$oStatement_query = $connection->prepareStatement( "kill ". $row_query['ID'] );
|
||||||
|
$oStatement_query->executeQuery();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -1051,8 +1051,8 @@ class AppCacheView extends BaseAppCacheView
|
|||||||
$criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "CANCELLED", CRITERIA::EQUAL)->addAnd(
|
$criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "CANCELLED", CRITERIA::EQUAL)->addAnd(
|
||||||
$criteria->getNewCriterion(AppCacheViewPeer::DEL_THREAD_STATUS, "CLOSED"))
|
$criteria->getNewCriterion(AppCacheViewPeer::DEL_THREAD_STATUS, "CLOSED"))
|
||||||
)->addOr(
|
)->addOr(
|
||||||
//Completed - getCompleted()
|
$criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "COMPLETED", CRITERIA::EQUAL)->addAnd(
|
||||||
$criteria->getNewCriterion(AppCacheViewPeer::APP_STATUS, "COMPLETED", CRITERIA::EQUAL)
|
$criteria->getNewCriterion(AppCacheViewPeer::DEL_LAST_INDEX, '1', Criteria::EQUAL))
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!$doCount) {
|
if (!$doCount) {
|
||||||
|
|||||||
@@ -211,6 +211,8 @@ class AppDelegation extends BaseAppDelegation
|
|||||||
|
|
||||||
public function LoadParallel ($AppUid)
|
public function LoadParallel ($AppUid)
|
||||||
{
|
{
|
||||||
|
$aCases = array();
|
||||||
|
|
||||||
$c = new Criteria( 'workflow' );
|
$c = new Criteria( 'workflow' );
|
||||||
$c->addSelectColumn( AppDelegationPeer::APP_UID );
|
$c->addSelectColumn( AppDelegationPeer::APP_UID );
|
||||||
$c->addSelectColumn( AppDelegationPeer::DEL_INDEX );
|
$c->addSelectColumn( AppDelegationPeer::DEL_INDEX );
|
||||||
|
|||||||
@@ -844,7 +844,9 @@ class OutputDocument extends BaseOutputDocument
|
|||||||
//$pdf->SetFont('dejavusans', '', 14, '', true);
|
//$pdf->SetFont('dejavusans', '', 14, '', true);
|
||||||
// Detect chinese, japanese, thai
|
// Detect chinese, japanese, thai
|
||||||
if (preg_match('/[\x{30FF}\x{3040}-\x{309F}\x{4E00}-\x{9FFF}\x{0E00}-\x{0E7F}]/u', $sContent, $matches)) {
|
if (preg_match('/[\x{30FF}\x{3040}-\x{309F}\x{4E00}-\x{9FFF}\x{0E00}-\x{0E7F}]/u', $sContent, $matches)) {
|
||||||
$pdf->SetFont('kozminproregular');
|
$fileArialunittf = PATH_THIRDPARTY . "tcpdf" . PATH_SEP . "fonts" . PATH_SEP . "arialuni.ttf";
|
||||||
|
|
||||||
|
$pdf->SetFont((!file_exists($fileArialunittf))? "kozminproregular" : $pdf->addTTFfont($fileArialunittf, "TrueTypeUnicode", "", 32));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add a page
|
// Add a page
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: ProcessMaker 2.5.2.3\n"
|
"Project-Id-Version: ProcessMaker 2.5.2.3\n"
|
||||||
"POT-Creation-Date: \n"
|
"POT-Creation-Date: \n"
|
||||||
"PO-Revision-Date: 2014-07-03 12:29:08\n"
|
"PO-Revision-Date: 2014-07-22 13:19:57\n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: Colosa Developers Team <developers@colosa.com>\n"
|
"Language-Team: Colosa Developers Team <developers@colosa.com>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@@ -5032,8 +5032,8 @@ msgstr "To delete a language you should select a item from the list first."
|
|||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_DELETE_LANGUAGE_CONFIRM
|
# LABEL/ID_DELETE_LANGUAGE_CONFIRM
|
||||||
#: LABEL/ID_DELETE_LANGUAGE_CONFIRM
|
#: LABEL/ID_DELETE_LANGUAGE_CONFIRM
|
||||||
msgid "Do you want remove the language \"{0}\" ?"
|
msgid "Are you sure you want to delete the language \"{0}\"?"
|
||||||
msgstr "Do you want remove the language \"{0}\" ?"
|
msgstr "Are you sure you want to delete the language \"{0}\"?"
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_DELETE_LANGUAGE
|
# LABEL/ID_DELETE_LANGUAGE
|
||||||
@@ -16339,6 +16339,18 @@ msgstr "The variable \"{0}\" required the variables \"{1}\" for the query."
|
|||||||
msgid "The Output Document with {0}: {1} it's assigned in \"{2}\"."
|
msgid "The Output Document with {0}: {1} it's assigned in \"{2}\"."
|
||||||
msgstr "The Output Document with {0}: {1} it's assigned in \"{2}\"."
|
msgstr "The Output Document with {0}: {1} it's assigned in \"{2}\"."
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_EXISTS_FILES
|
||||||
|
#: LABEL/ID_EXISTS_FILES
|
||||||
|
msgid "The file exists."
|
||||||
|
msgstr "The file exists."
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_FILENAME_REQUIRED
|
||||||
|
#: LABEL/ID_FILENAME_REQUIRED
|
||||||
|
msgid "The filename is required."
|
||||||
|
msgstr "The filename is required."
|
||||||
|
|
||||||
# additionalTables/additionalTablesData.xml?ADD_TAB_NAME
|
# additionalTables/additionalTablesData.xml?ADD_TAB_NAME
|
||||||
# additionalTables/additionalTablesData.xml
|
# additionalTables/additionalTablesData.xml
|
||||||
#: text - ADD_TAB_NAME
|
#: text - ADD_TAB_NAME
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ class Admin extends Controller
|
|||||||
$timeZonesList = array_keys( $timeZonesList );
|
$timeZonesList = array_keys( $timeZonesList );
|
||||||
$mainController = new Main();
|
$mainController = new Main();
|
||||||
$languagesList = $mainController->getLanguagesList();
|
$languagesList = $mainController->getLanguagesList();
|
||||||
|
$languagesList[] = array ("", G::LoadTranslation("ID_USE_LANGUAGE_URL"));
|
||||||
$sysConf = System::getSystemConfiguration( PATH_CONFIG . 'env.ini' );
|
$sysConf = System::getSystemConfiguration( PATH_CONFIG . 'env.ini' );
|
||||||
|
|
||||||
foreach ($skinsList['skins'] as $skin) {
|
foreach ($skinsList['skins'] as $skin) {
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ class adminProxy extends HttpProxyController
|
|||||||
|
|
||||||
$this->success = true;
|
$this->success = true;
|
||||||
$this->restart = $restart;
|
$this->restart = $restart;
|
||||||
$this->url = '/sys' . SYS_SYS . '/' . $sysConf['default_lang'] . '/' . $sysConf['default_skin'] . $urlPart;
|
$this->url = "/sys" . SYS_SYS . "/" . (($sysConf["default_lang"] != "")? $sysConf["default_lang"] : ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en")) . "/" . $sysConf["default_skin"] . $urlPart;
|
||||||
$this->message = 'Saved Successfully';
|
$this->message = 'Saved Successfully';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -334,6 +334,7 @@ class Ajax
|
|||||||
$processData['PRO_AUTHOR'] = '(USER DELETED)';
|
$processData['PRO_AUTHOR'] = '(USER DELETED)';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
G::LoadClass('configuration');
|
||||||
$conf = new Configurations();
|
$conf = new Configurations();
|
||||||
$conf->getFormats();
|
$conf->getFormats();
|
||||||
$processData['PRO_CREATE_DATE'] = $conf->getSystemDate($processData['PRO_CREATE_DATE']);
|
$processData['PRO_CREATE_DATE'] = $conf->getSystemDate($processData['PRO_CREATE_DATE']);
|
||||||
@@ -809,7 +810,7 @@ class Ajax
|
|||||||
public function dynaformViewFromHistory()
|
public function dynaformViewFromHistory()
|
||||||
{
|
{
|
||||||
?>
|
?>
|
||||||
<link rel="stylesheet" type="text/css" href="/css/classic.css" />
|
<link rel="stylesheet" type="text/css" href="/css/<?php echo SYS_SKIN; ?>.css" />
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
//!Code that simulated reload library javascript maborak
|
//!Code that simulated reload library javascript maborak
|
||||||
|
|||||||
@@ -47,6 +47,12 @@ try {
|
|||||||
}
|
}
|
||||||
$applicationFields = $case->loadCase( $_REQUEST['APP_UID'], $_REQUEST['DEL_INDEX'] );
|
$applicationFields = $case->loadCase( $_REQUEST['APP_UID'], $_REQUEST['DEL_INDEX'] );
|
||||||
|
|
||||||
|
$respView = $case->getAllObjectsFrom( $applicationFields['PRO_UID'], $_REQUEST['APP_UID'], $applicationFields['TAS_UID'], $_SESSION['USER_LOGGED'], 'VIEW' );
|
||||||
|
|
||||||
|
if ($respView['SUMMARY_FORM'] == 0) {
|
||||||
|
throw new Exception( G::LoadTranslation( 'ID_SUMMARY_FORM_NO_PERMISSIONS' ) );
|
||||||
|
}
|
||||||
|
|
||||||
if (file_exists( PATH_DYNAFORM . $applicationFields['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'] . '.xml' )) {
|
if (file_exists( PATH_DYNAFORM . $applicationFields['PRO_UID'] . PATH_SEP . $_REQUEST['DYN_UID'] . '.xml' )) {
|
||||||
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
|
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP_LABEL'] = '';
|
||||||
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = '#';
|
$applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = '#';
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ try {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!isset($uid) || $uid < 0) {
|
if (!isset($uid) || $uid < 0) {
|
||||||
if (isset($_SESSION['FAILED_LOGINS'])) {
|
if (isset($_SESSION['FAILED_LOGINS']) && ($uid == -1 || $uid == -2)) {
|
||||||
$_SESSION['FAILED_LOGINS']++;
|
$_SESSION['FAILED_LOGINS']++;
|
||||||
}
|
}
|
||||||
if (!defined('PPP_FAILED_LOGINS')) {
|
if (!defined('PPP_FAILED_LOGINS')) {
|
||||||
@@ -113,8 +113,13 @@ try {
|
|||||||
$oStatement = $oConnection->prepareStatement("UPDATE USERS SET USR_STATUS = 'INACTIVE' WHERE USR_UID = '" . $sUserUID . "'");
|
$oStatement = $oConnection->prepareStatement("UPDATE USERS SET USR_STATUS = 'INACTIVE' WHERE USR_UID = '" . $sUserUID . "'");
|
||||||
$oStatement->executeQuery();
|
$oStatement->executeQuery();
|
||||||
unset($_SESSION['FAILED_LOGINS']);
|
unset($_SESSION['FAILED_LOGINS']);
|
||||||
G::SendMessageText(G::LoadTranslation('ID_ACCOUNT') . ' "' . $usr . '" ' . G::LoadTranslation('ID_ACCOUNT_DISABLED_CONTACT_ADMIN'), 'warning');
|
$errLabel = G::LoadTranslation('ID_ACCOUNT') . ' "' . $usr . '" ' . G::LoadTranslation('ID_ACCOUNT_DISABLED_CONTACT_ADMIN');
|
||||||
}
|
}
|
||||||
|
//Log failed authentications
|
||||||
|
$message = "| Many failed authentication attempts for USER: " . $usr . " | IP: " . G::getIpAddress() . " | WS: " . SYS_SYS;
|
||||||
|
$message .= " | BROWSER: " . $_SERVER['HTTP_USER_AGENT'] ." | \n" ;
|
||||||
|
|
||||||
|
G::log($message, PATH_DATA, 'loginFailed.log');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -131,20 +136,6 @@ try {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//LOG Filed authentications
|
|
||||||
$filedTimes = (defined(PPP_FAILED_LOGINS)) ? PPP_FAILED_LOGINS : 3;
|
|
||||||
|
|
||||||
if($_SESSION['FAILED_LOGINS'] > $filedTimes){
|
|
||||||
$ip = G::getIpAddress();
|
|
||||||
$browser = $_SERVER['HTTP_USER_AGENT'];
|
|
||||||
|
|
||||||
$path = PATH_DATA;
|
|
||||||
$message = "| Many failed authentication attempts for USER: " . $usr . " | IP: " . $ip . " | WS: " . SYS_SYS . " | BROWSER: " .$browser ." | \n" ;
|
|
||||||
$file = "loginFailed.log";
|
|
||||||
|
|
||||||
G::log($message, $path, $file);
|
|
||||||
}
|
|
||||||
|
|
||||||
G::header("location: $loginUrl");
|
G::header("location: $loginUrl");
|
||||||
die;
|
die;
|
||||||
}
|
}
|
||||||
@@ -200,7 +191,7 @@ try {
|
|||||||
$lang = $frm['USER_LANG'];
|
$lang = $frm['USER_LANG'];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (defined('SYS_LANG')) {
|
if (defined("SYS_LANG") && SYS_LANG != "") {
|
||||||
$lang = SYS_LANG;
|
$lang = SYS_LANG;
|
||||||
} else {
|
} else {
|
||||||
$lang = 'en';
|
$lang = 'en';
|
||||||
@@ -319,6 +310,12 @@ try {
|
|||||||
|
|
||||||
$oHeadPublisher->addExtJsScript('login/init', false); //adding a javascript file .js
|
$oHeadPublisher->addExtJsScript('login/init', false); //adding a javascript file .js
|
||||||
$oHeadPublisher->assign('uriReq', $sLocation);
|
$oHeadPublisher->assign('uriReq', $sLocation);
|
||||||
|
|
||||||
|
$oPluginRegistry =& PMPluginRegistry::getSingleton();
|
||||||
|
if ($oPluginRegistry->existsTrigger ( PM_AFTER_LOGIN )) {
|
||||||
|
$oPluginRegistry->executeTriggers ( PM_AFTER_LOGIN , $_SESSION['USER_LOGGED'] );
|
||||||
|
}
|
||||||
|
|
||||||
G::RenderPage('publish', 'extJs');
|
G::RenderPage('publish', 'extJs');
|
||||||
//G::header('Location: ' . $sLocation);
|
//G::header('Location: ' . $sLocation);
|
||||||
die;
|
die;
|
||||||
|
|||||||
@@ -149,9 +149,14 @@ G::LoadClass('configuration');
|
|||||||
|
|
||||||
$oConf = new Configurations();
|
$oConf = new Configurations();
|
||||||
$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', '');
|
$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS', '');
|
||||||
$aFields['USER_LANG'] = isset($oConf->aConfig['login_defaultLanguage'])
|
|
||||||
? $oConf->aConfig['login_defaultLanguage']
|
$myUrl = explode("/", $_SERVER["REQUEST_URI"]);
|
||||||
: 'en';
|
|
||||||
|
if (isset($myUrl) && $myUrl != "") {
|
||||||
|
$aFields["USER_LANG"] = $myUrl[2];
|
||||||
|
} else {
|
||||||
|
$aFields["USER_LANG"] = isset($oConf->aConfig["login_defaultLanguage"])? $oConf->aConfig["login_defaultLanguage"] : SYS_LANG;
|
||||||
|
}
|
||||||
|
|
||||||
$G_PUBLISH = new Publisher();
|
$G_PUBLISH = new Publisher();
|
||||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/login', '', $aFields, SYS_URI . 'login/authentication.php');
|
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'login/login', '', $aFields, SYS_URI . 'login/authentication.php');
|
||||||
|
|||||||
@@ -488,6 +488,22 @@ try {
|
|||||||
// ';
|
// ';
|
||||||
// $oHeadPublisher->addScriptCode($jscriptCode);
|
// $oHeadPublisher->addScriptCode($jscriptCode);
|
||||||
$_REQUEST['fcontent'] = $fcontent;
|
$_REQUEST['fcontent'] = $fcontent;
|
||||||
|
|
||||||
|
preg_match_all('/\@(?:([\>])([a-zA-Z\_]\w*)|([a-zA-Z\_][\w\-\>\:]*)\(((?:[^\\\\\)]*(?:[\\\\][\w\W])?)*)\))((?:\s*\[[\'"]?\w+[\'"]?\])+)?/',$fcontent,$matches);
|
||||||
|
foreach ($matches[0] as $key => $value) {
|
||||||
|
preg_match('/(\!--)'.$value.'(-->)/',$fcontent, $match);
|
||||||
|
if (count($match)==0) {
|
||||||
|
$fcontent = preg_replace ('/'.$value.'/i','<!--'.$value.'-->',$fcontent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
preg_match_all('/\@(?:([\<])([a-zA-Z\_]\w*)|([a-zA-Z\_][\w\-\>\:]*)\(((?:[^\\\\\)]*(?:[\\\\][\w\W])?)*)\))((?:\s*\[[\'"]?\w+[\'"]?\])+)?/',$fcontent,$matches);
|
||||||
|
foreach ($matches[0] as $key => $value) {
|
||||||
|
preg_match('/(\!--)'.$value.'(-->)/',$fcontent, $match);
|
||||||
|
if (count($match)==0) {
|
||||||
|
$fcontent = preg_replace ('/'.$value.'/i','<!--'.$value.'-->',$fcontent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//if($extion[count($extion)-1]=='html' || $extion[count($extion)-1]=='txt'){
|
//if($extion[count($extion)-1]=='html' || $extion[count($extion)-1]=='txt'){
|
||||||
$aData = Array('pro_uid' => $_REQUEST['pro_uid'], 'fcontent' => $fcontent, 'filename' => $_REQUEST['filename']);
|
$aData = Array('pro_uid' => $_REQUEST['pro_uid'], 'fcontent' => $fcontent, 'filename' => $_REQUEST['filename']);
|
||||||
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_FileEdit', '', $aData);
|
$G_PUBLISH->AddContent('xmlform', 'xmlform', 'processes/processes_FileEdit', '', $aData);
|
||||||
@@ -695,6 +711,21 @@ try {
|
|||||||
//$json = new Services_JSON();
|
//$json = new Services_JSON();
|
||||||
$sOutput = Bootstrap::json_encode($response);
|
$sOutput = Bootstrap::json_encode($response);
|
||||||
break;
|
break;
|
||||||
|
case "verifyNameFile":
|
||||||
|
$response = array();
|
||||||
|
$status = "OK";
|
||||||
|
|
||||||
|
$filename = $_POST["filename"];
|
||||||
|
|
||||||
|
$pathDirectory = PATH_DATA_MAILTEMPLATES . $_REQUEST["pro_uid"] . PATH_SEP;
|
||||||
|
|
||||||
|
if (file_exists($pathDirectory . PATH_SEP . $filename)) {
|
||||||
|
$status = "ERROR";
|
||||||
|
}
|
||||||
|
|
||||||
|
$response["status"] = $status;
|
||||||
|
echo Bootstrap::json_encode($response);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (isset($sOutput)) {
|
if (isset($sOutput)) {
|
||||||
die($sOutput);
|
die($sOutput);
|
||||||
|
|||||||
@@ -152,17 +152,25 @@ try {
|
|||||||
$oContent = new Content();
|
$oContent = new Content();
|
||||||
$aRow = $oDataset->getRow();
|
$aRow = $oDataset->getRow();
|
||||||
|
|
||||||
//THERE IS NO ANY CASE STARTED FROM THES LANGUAGE
|
if($locale != "en"){ //Default Lengage 'en'
|
||||||
if ($aRow[0] == 0) { //so we can delete this language
|
if($locale != SYS_LANG){ //Current lenguage
|
||||||
try {
|
//THERE IS NO ANY CASE STARTED FROM THES LANGUAGE
|
||||||
Content::removeLanguageContent( $locale );
|
if ($aRow[0] == 0) { //so we can delete this language
|
||||||
$trn->removeTranslationEnvironment( $locale );
|
try {
|
||||||
echo G::LoadTranslation( 'ID_LANGUAGE_DELETED_SUCCESSFULLY' );
|
Content::removeLanguageContent( $locale );
|
||||||
} catch (Exception $e) {
|
$trn->removeTranslationEnvironment( $locale );
|
||||||
echo $e->getMessage();
|
echo G::LoadTranslation( 'ID_LANGUAGE_DELETED_SUCCESSFULLY' );
|
||||||
}
|
} catch (Exception $e) {
|
||||||
|
echo $e->getMessage();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo str_replace( '{0}', $aRow[0], G::LoadTranslation( 'ID_LANGUAGE_CANT_DELETE' ) );
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo str_replace( '{0}', $aRow[0], G::LoadTranslation( 'ID_LANGUAGE_CANT_DELETE_CURRENTLY' ) );
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
echo str_replace( '{0}', $aRow[0], G::LoadTranslation( 'ID_LANGUAGE_CANT_DELETE' ) );
|
echo str_replace( '{0}', $aRow[0], G::LoadTranslation( 'ID_LANGUAGE_CANT_DELETE_DEFAULT' ) );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,8 @@ switch ($request) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$result->rows[] = array ("LAN_ID" => "", "LAN_NAME" => G::LoadTranslation("ID_USE_LANGUAGE_URL"));
|
||||||
|
|
||||||
print (G::json_encode( $result )) ;
|
print (G::json_encode( $result )) ;
|
||||||
break;
|
break;
|
||||||
case 'saveSettings':
|
case 'saveSettings':
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
global $RBAC;
|
||||||
|
$RBAC->requirePermissions( 'PM_USERS' );
|
||||||
|
|
||||||
//calculating the max upload file size;
|
//calculating the max upload file size;
|
||||||
$POST_MAX_SIZE = ini_get( 'post_max_size' );
|
$POST_MAX_SIZE = ini_get( 'post_max_size' );
|
||||||
|
|||||||
@@ -1589,4 +1589,11 @@ td.x-cnotes-label {
|
|||||||
padding-bottom: 15px;
|
padding-bottom: 15px;
|
||||||
padding-left: 3px;
|
padding-left: 3px;
|
||||||
padding-right: 3px;
|
padding-right: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.x-grid3-cell-inner, .x-grid3-hd-inner {
|
||||||
|
overflow:hidden;
|
||||||
|
padding:3px 3px 3px 5px;
|
||||||
|
white-space:normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1673,3 +1673,9 @@ td.x-cnotes-label {
|
|||||||
#ext-comp-1010.xtb-text {
|
#ext-comp-1010.xtb-text {
|
||||||
font-size: 9px;
|
font-size: 9px;
|
||||||
}
|
}
|
||||||
|
.x-grid3-cell-inner, .x-grid3-hd-inner {
|
||||||
|
overflow:hidden;
|
||||||
|
padding:3px 3px 3px 5px;
|
||||||
|
white-space:normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,6 +66,7 @@ Ext.onReady(function() {
|
|||||||
name: 'DAS_INS_TITLE',
|
name: 'DAS_INS_TITLE',
|
||||||
fieldLabel: _('ID_TITLE'),
|
fieldLabel: _('ID_TITLE'),
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
|
maxLength: 200,
|
||||||
width: 320,
|
width: 320,
|
||||||
listeners: {
|
listeners: {
|
||||||
blur: function() {
|
blur: function() {
|
||||||
|
|||||||
@@ -185,6 +185,11 @@ Ext.onReady(function(){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function formatLineWrap(value){
|
||||||
|
str = '<div class="title-dashboard-text">'+value+'</div>';
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
cmodel = new Ext.grid.ColumnModel({
|
cmodel = new Ext.grid.ColumnModel({
|
||||||
defaults: {
|
defaults: {
|
||||||
width: 50,
|
width: 50,
|
||||||
@@ -192,7 +197,7 @@ Ext.onReady(function(){
|
|||||||
},
|
},
|
||||||
columns: [
|
columns: [
|
||||||
{id:'DAS_INS_UID', dataIndex: 'DAS_INS_UID', hidden:true, hideable:false},
|
{id:'DAS_INS_UID', dataIndex: 'DAS_INS_UID', hidden:true, hideable:false},
|
||||||
{header: _("ID_TITLE"), dataIndex: "DAS_INS_TITLE", width: 150, hidden: false, align: "left"},
|
{header: _("ID_TITLE"), dataIndex: "DAS_INS_TITLE", width: 150, hidden: false, align: "left", renderer : formatLineWrap},
|
||||||
{header: _("ID_DASHLET"), dataIndex: "DAS_TITLE", width: 200, hidden: false, align: "left"},
|
{header: _("ID_DASHLET"), dataIndex: "DAS_TITLE", width: 200, hidden: false, align: "left"},
|
||||||
{header: _('ID_VERSION'), dataIndex: 'DAS_VERSION', width: 60, hidden: false, align: 'center'},
|
{header: _('ID_VERSION'), dataIndex: 'DAS_VERSION', width: 60, hidden: false, align: 'center'},
|
||||||
{header: _('ID_ASSIGNED_TO'), dataIndex: 'DAS_INS_OWNER_TITLE', width: 200, hidden: false, align: 'center'},
|
{header: _('ID_ASSIGNED_TO'), dataIndex: 'DAS_INS_OWNER_TITLE', width: 200, hidden: false, align: 'center'},
|
||||||
|
|||||||
@@ -144,7 +144,7 @@
|
|||||||
<?php echo "$node_name";?>
|
<?php echo "$node_name";?>
|
||||||
</td>
|
</td>
|
||||||
<td><p style="font-size:12px; color:#1C3166; font-weight:bold">
|
<td><p style="font-size:12px; color:#1C3166; font-weight:bold">
|
||||||
<?php if( isset($node['__CONTENT__'][SYS_LANG]['__VALUE__']) ){
|
<?php if (isset($node["__CONTENT__"][SYS_LANG]["__VALUE__"]) && $node["__CONTENT__"][SYS_LANG]["__VALUE__"] != "") {
|
||||||
if( strlen($node['__CONTENT__'][SYS_LANG]['__VALUE__']) > 30 ){
|
if( strlen($node['__CONTENT__'][SYS_LANG]['__VALUE__']) > 30 ){
|
||||||
$label = substr(trim(strip_tags(G::stripCDATA($node['__CONTENT__'][SYS_LANG]['__VALUE__']))), 0, 30 ) . '...';
|
$label = substr(trim(strip_tags(G::stripCDATA($node['__CONTENT__'][SYS_LANG]['__VALUE__']))), 0, 30 ) . '...';
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -275,6 +275,7 @@ Ext.onReady(function(){
|
|||||||
region: 'center',
|
region: 'center',
|
||||||
xtype : 'fieldset',
|
xtype : 'fieldset',
|
||||||
labelWidth: 200,
|
labelWidth: 200,
|
||||||
|
autoScroll: true,
|
||||||
items:[
|
items:[
|
||||||
{
|
{
|
||||||
xtype : 'displayfield',
|
xtype : 'displayfield',
|
||||||
@@ -683,6 +684,7 @@ Ext.onReady(function(){
|
|||||||
region: 'center',
|
region: 'center',
|
||||||
xtype : 'panel',
|
xtype : 'panel',
|
||||||
bodyStyle : 'background:none;padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;font-size:1.2em;',
|
bodyStyle : 'background:none;padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;font-size:1.2em;',
|
||||||
|
autoScroll: true,
|
||||||
items:[
|
items:[
|
||||||
{
|
{
|
||||||
xtype:'fieldset',
|
xtype:'fieldset',
|
||||||
|
|||||||
@@ -622,12 +622,14 @@ render_lastlogin = function(v){
|
|||||||
//Load Grid By Default
|
//Load Grid By Default
|
||||||
GridByDefault = function(){
|
GridByDefault = function(){
|
||||||
searchText.reset();
|
searchText.reset();
|
||||||
infoGrid.store.load();
|
store.setBaseParam( 'textFilter', '');
|
||||||
|
store.load();
|
||||||
};
|
};
|
||||||
|
|
||||||
//Do Search Function
|
//Do Search Function
|
||||||
DoSearch = function(){
|
DoSearch = function(){
|
||||||
infoGrid.store.load({params: {textFilter: searchText.getValue()}});
|
store.setBaseParam( 'textFilter', searchText.getValue());
|
||||||
|
store.load();
|
||||||
};
|
};
|
||||||
|
|
||||||
//Delete User Function
|
//Delete User Function
|
||||||
|
|||||||
@@ -1,51 +1,85 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<dynaForm name="processes_EditObjectPermission" width="100%" enableTemplate="1">
|
<dynaForm name="processes_EditObjectPermission" width="100%" enableTemplate="1">
|
||||||
<TITLE type="title">
|
<TITLE type="title">
|
||||||
<en><![CDATA[Edit Specific Permission]]></en>
|
<en>Edit Specific Permission</en>
|
||||||
</TITLE>
|
</TITLE>
|
||||||
<LANG type="private"/>
|
<LANG type="private"/>
|
||||||
<PRO_UID type="hidden"/>
|
<PRO_UID type="hidden"/>
|
||||||
<OP_UID type="hidden"/>
|
<OP_UID type="hidden"/>
|
||||||
<OP_CASE_STATUS type="dropdown" mode="edit">
|
|
||||||
<en><![CDATA[Status Case]]><option name="ALL"><![CDATA[ALL]]></option><option name="DRAFT"><![CDATA[DRAFT]]></option><option name="TO_DO"><![CDATA[TO_DO]]></option><option name="PAUSED"><![CDATA[PAUSED]]></option><option name="COMPLETED"><![CDATA[COMPLETED]]></option></en>
|
<OP_CASE_STATUS type="dropdown" mode="edit">
|
||||||
</OP_CASE_STATUS>
|
<en>Status Case
|
||||||
<TAS_UID type="dropdown" mode="edit"><![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en><![CDATA[Target Task]]><option name=""><![CDATA[All Tasks]]></option></en></TAS_UID>
|
<option name="ALL">ALL</option>
|
||||||
<GROUP_USER type="text" mode="view">
|
<option name="DRAFT">DRAFT</option>
|
||||||
<en><![CDATA[Group or User]]></en>
|
<option name="TO_DO">TO_DO</option>
|
||||||
</GROUP_USER>
|
<option name="PAUSED">PAUSED</option>
|
||||||
<GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER"/>
|
<option name="COMPLETED">COMPLETED</option>
|
||||||
<OP_TASK_SOURCE type="dropdown" mode="edit"><![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en><![CDATA[Origin Task]]><option name=""><![CDATA[All Tasks]]></option></en></OP_TASK_SOURCE>
|
</en>
|
||||||
<OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit">
|
</OP_CASE_STATUS>
|
||||||
<en><![CDATA[Participation required?]]></en>
|
|
||||||
</OP_PARTICIPATE>
|
<TAS_UID type="dropdown" mode="edit">
|
||||||
<OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID">
|
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]>
|
||||||
<en><![CDATA[Type]]><option name="ANY"><![CDATA[All]]></option><option name="DYNAFORM"><![CDATA[Dynaform]]></option><option name="INPUT"><![CDATA[Input Document]]></option><option name="OUTPUT"><![CDATA[Output Document]]></option><option name="CASES_NOTES"><![CDATA[Cases Notes]]></option><option name="MSGS_HISTORY"><![CDATA[Messages History]]></option></en>
|
<en>Target Task
|
||||||
</OP_OBJ_TYPE>
|
<option name="">All Tasks</option>
|
||||||
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
|
</en>
|
||||||
|
</TAS_UID>
|
||||||
|
|
||||||
|
<GROUP_USER type="text" mode="view">
|
||||||
|
<en>Group or User</en>
|
||||||
|
</GROUP_USER>
|
||||||
|
|
||||||
|
<GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER" />
|
||||||
|
|
||||||
|
<OP_TASK_SOURCE type="dropdown" mode="edit">
|
||||||
|
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en>Origin Task<option name="">All Tasks</option></en>
|
||||||
|
</OP_TASK_SOURCE>
|
||||||
|
|
||||||
|
<OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit">
|
||||||
|
<en>Participation required?</en>
|
||||||
|
</OP_PARTICIPATE>
|
||||||
|
<OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID">
|
||||||
|
<en>Type
|
||||||
|
<option name="ANY">All</option>
|
||||||
|
<option name="DYNAFORM">Dynaform</option>
|
||||||
|
<option name="INPUT">Input Document</option>
|
||||||
|
<option name="OUTPUT">Output Document</option>
|
||||||
|
<option name="CASES_NOTES">Cases Notes</option>
|
||||||
|
<option name="MSGS_HISTORY">Messages History</option>
|
||||||
|
</en>
|
||||||
|
</OP_OBJ_TYPE>
|
||||||
|
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
|
||||||
SELECT * FROM allObjects
|
SELECT * FROM allObjects
|
||||||
<en><![CDATA[Object]]><option name=""><![CDATA[All]]></option></en>
|
<en>Object
|
||||||
|
<option name="">All</option>
|
||||||
|
</en>
|
||||||
</ALL>
|
</ALL>
|
||||||
<DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray">
|
<DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray">
|
||||||
SELECT * FROM allDynaforms
|
SELECT * FROM allDynaforms
|
||||||
<en><![CDATA[DynaForm]]><option name=""><![CDATA[All]]></option></en>
|
<en>DynaForm<option name="">All</option></en>
|
||||||
</DYNAFORMS>
|
</DYNAFORMS>
|
||||||
<INPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
|
<INPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
|
||||||
SELECT * FROM allInputs
|
SELECT * FROM allInputs
|
||||||
<en><![CDATA[Input Document]]><option name=""><![CDATA[All]]></option></en>
|
<en>Input Document<option name="">All</option></en>
|
||||||
</INPUTS>
|
</INPUTS>
|
||||||
<OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
|
<OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
|
||||||
SELECT * FROM allOutputs
|
SELECT * FROM allOutputs
|
||||||
<en><![CDATA[Output Document]]><option name=""><![CDATA[All]]></option></en>
|
<en>Output Document<option name="">All</option></en>
|
||||||
</OUTPUTS>
|
</OUTPUTS>
|
||||||
<OP_ACTION type="dropdown" mode="edit">
|
<OP_ACTION type="dropdown" mode="edit">
|
||||||
<en><![CDATA[Permission]]><option name="VIEW"><![CDATA[View]]></option><option name="BLOCK"><![CDATA[Block]]></option><option name="DELETE"><![CDATA[Delete]]></option><option name="RESEND"><![CDATA[Resend]]></option></en>
|
<en>Permission
|
||||||
</OP_ACTION>
|
<option name="VIEW">View</option>
|
||||||
<CREATE type="button" onclick="saveObjectPermission(this.form);">
|
<option name="BLOCK">Block</option>
|
||||||
<en><![CDATA[Save]]></en>
|
<option name="DELETE">Delete</option>
|
||||||
</CREATE>
|
<option name="RESEND">Resend</option>
|
||||||
<ID_DELETE type="private"/>
|
</en>
|
||||||
<ID_RESEND type="private"/>
|
</OP_ACTION>
|
||||||
<JS type="javascript"><![CDATA[
|
|
||||||
|
<CREATE type="button" onclick="saveObjectPermission(this.form);">
|
||||||
|
<en>Save</en>
|
||||||
|
</CREATE>
|
||||||
|
<ID_DELETE type="private"/>
|
||||||
|
<ID_RESEND type="private"/>
|
||||||
|
<JS type="javascript"><![CDATA[
|
||||||
var aOptions = [];
|
var aOptions = [];
|
||||||
var getOptions = function() {
|
var getOptions = function() {
|
||||||
var oAux = getField('OP_ACTION');
|
var oAux = getField('OP_ACTION');
|
||||||
|
|||||||
@@ -146,25 +146,48 @@ function showCreateEmptyOptions(e, MAIN_DIRECTORY){
|
|||||||
}
|
}
|
||||||
|
|
||||||
function saveEmptyFile(){
|
function saveEmptyFile(){
|
||||||
var fileName = getField('emptyfilename').value + ".html";
|
var fileName = getField("emptyfilename").value.trim();
|
||||||
fileName = fileName.trim();
|
|
||||||
|
|
||||||
var oRPC = new leimnud.module.rpc.xmlhttp({
|
if(fileName != "") {
|
||||||
url : 'processes_Ajax',
|
fileName = fileName + ".html";
|
||||||
args: 'action=saveFile&filename='+fileName+'&pro_uid='+CURRENT_PRO_UID+'&MAIN_DIRECTORY='+CURRENT_MAIN_DIRECTORY+'&fcontent='
|
fileName = fileName.trim();
|
||||||
});
|
|
||||||
|
|
||||||
oRPC.callback = function(rpc){
|
var rpcAjax = new leimnud.module.rpc.xmlhttp({
|
||||||
showCreateEmptyOptionsPanel.remove();
|
url: "processes_Ajax",
|
||||||
/// goToDirectory(CURRENT_PRO_UID, 'mailTemplates', '');
|
method: "POST",
|
||||||
if(typeof(CURRENT_MAIN_DIRECTORY) != "undefined" ) {
|
args: "action=verifyNameFile&filename=" + fileName + "&pro_uid=" + CURRENT_PRO_UID + "&MAIN_DIRECTORY=" + CURRENT_MAIN_DIRECTORY + "&fcontent="
|
||||||
goToDirectory(CURRENT_PRO_UID, CURRENT_MAIN_DIRECTORY, '');
|
});
|
||||||
} else {
|
|
||||||
goToDirectory(CURRENT_PRO_UID, 'mailTemplates', '');
|
rpcAjax.callback = function (rpc)
|
||||||
}
|
{
|
||||||
editFile(CURRENT_PRO_UID, fileName)
|
var response = rpc.xmlhttp.responseText.parseJSON();
|
||||||
}.extend(this);
|
var status = response.status;
|
||||||
oRPC.make();
|
|
||||||
|
if (status == "OK") {
|
||||||
|
var oRPC = new leimnud.module.rpc.xmlhttp({
|
||||||
|
url : 'processes_Ajax',
|
||||||
|
args: 'action=saveFile&filename='+fileName+'&pro_uid='+CURRENT_PRO_UID+'&MAIN_DIRECTORY='+CURRENT_MAIN_DIRECTORY+'&fcontent='
|
||||||
|
});
|
||||||
|
|
||||||
|
oRPC.callback = function(rpc){
|
||||||
|
showCreateEmptyOptionsPanel.remove();
|
||||||
|
/// goToDirectory(CURRENT_PRO_UID, 'mailTemplates', '');
|
||||||
|
if(typeof(CURRENT_MAIN_DIRECTORY) != "undefined" ) {
|
||||||
|
goToDirectory(CURRENT_PRO_UID, CURRENT_MAIN_DIRECTORY, '');
|
||||||
|
} else {
|
||||||
|
goToDirectory(CURRENT_PRO_UID, 'mailTemplates', '');
|
||||||
|
}
|
||||||
|
editFile(CURRENT_PRO_UID, fileName)
|
||||||
|
}.extend(this);
|
||||||
|
oRPC.make();
|
||||||
|
} else {
|
||||||
|
new leimnud.module.app.alert().make({label: _("ID_EXISTS_FILES")});
|
||||||
|
}
|
||||||
|
}.extend(this);
|
||||||
|
rpcAjax.make();
|
||||||
|
} else {
|
||||||
|
new leimnud.module.app.alert().make({label: _("ID_FILENAME_REQUIRED")});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function xReaload(){
|
function xReaload(){
|
||||||
|
|||||||
@@ -1,53 +1,87 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<dynaForm name="processes_NewObjectPermission" width="100%" enableTemplate="1">
|
<dynaForm name="processes_NewObjectPermission" width="100%" enableTemplate="1">
|
||||||
<TITLE type="title">
|
<TITLE type="title">
|
||||||
<en><![CDATA[New Specific Permission]]></en>
|
<en>New Specific Permission</en>
|
||||||
</TITLE>
|
</TITLE>
|
||||||
<LANG type="private"/>
|
<LANG type="private"/>
|
||||||
<PRO_UID type="hidden"/>
|
<PRO_UID type="hidden"/>
|
||||||
<OP_CASE_STATUS type="dropdown" mode="edit">
|
|
||||||
<en><![CDATA[Status Case]]><option name="ALL"><![CDATA[All]]></option><option name="DRAFT"><![CDATA[DRAFT]]></option><option name="TO_DO"><![CDATA[TO DO]]></option><option name="PAUSED"><![CDATA[PAUSED]]></option><option name="COMPLETED"><![CDATA[COMPLETED]]></option></en>
|
|
||||||
</OP_CASE_STATUS>
|
<OP_CASE_STATUS type="dropdown" mode="edit">
|
||||||
<TAS_UID type="dropdown" mode="edit"><![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en><![CDATA[Target Task]]><option name=""><![CDATA[All Tasks]]></option></en></TAS_UID>
|
<en>Status Case
|
||||||
<GROUP_USER type="text" mode="view">
|
<option name="ALL">All</option>
|
||||||
<en><![CDATA[Group or User]]></en>
|
<option name="DRAFT">DRAFT</option>
|
||||||
</GROUP_USER>
|
<option name="TO_DO">TO DO</option>
|
||||||
<GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER"/>
|
<option name="PAUSED">PAUSED</option>
|
||||||
<OP_TASK_SOURCE type="dropdown" mode="edit"><![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en><![CDATA[Origin Task]]><option name=""><![CDATA[All Tasks]]></option></en></OP_TASK_SOURCE>
|
<option name="COMPLETED">COMPLETED</option>
|
||||||
<OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit">
|
</en>
|
||||||
<en><![CDATA[Participation required?]]></en>
|
</OP_CASE_STATUS>
|
||||||
</OP_PARTICIPATE>
|
|
||||||
<OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID">
|
<TAS_UID type="dropdown" mode="edit">
|
||||||
<en><![CDATA[Type]]><option name="ANY"><![CDATA[All]]></option><option name="DYNAFORM"><![CDATA[Dynaform]]></option><option name="INPUT"><![CDATA[Input Document]]></option><option name="OUTPUT"><![CDATA[Output Document]]></option><option name="CASES_NOTES"><![CDATA[Cases Notes]]></option><option name="MSGS_HISTORY"><![CDATA[Messages History]]></option></en>
|
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]>
|
||||||
</OP_OBJ_TYPE>
|
<en>Target Task
|
||||||
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
|
<option name="">All Tasks</option>
|
||||||
|
</en>
|
||||||
|
</TAS_UID>
|
||||||
|
|
||||||
|
<GROUP_USER type="text" mode="view">
|
||||||
|
<en>Group or User</en>
|
||||||
|
</GROUP_USER>
|
||||||
|
|
||||||
|
<GROUP_USER_DROPDOWN type="title" mode="view" enableHtml="1" label="@#GROUP_USER" />
|
||||||
|
|
||||||
|
<OP_TASK_SOURCE type="dropdown" mode="edit">
|
||||||
|
<![CDATA[SELECT TAS_UID, CON_VALUE AS TAS_TITLE FROM TASK LEFT JOIN CONTENT ON (TAS_UID = CON_ID AND CON_CATEGORY = 'TAS_TITLE' AND CON_LANG = @@LANG) WHERE PRO_UID = @@PRO_UID AND TAS_TYPE = 'NORMAL' ORDER BY TAS_TITLE]]><en>Origin Task<option name="">All Tasks</option></en>
|
||||||
|
</OP_TASK_SOURCE>
|
||||||
|
|
||||||
|
<OP_PARTICIPATE type="yesno" defaultvalue="1" mode="edit">
|
||||||
|
<en>Participation required?</en>
|
||||||
|
</OP_PARTICIPATE>
|
||||||
|
<OP_OBJ_TYPE type="dropdown" mode="edit" dependentfields="OP_OBJ_UID">
|
||||||
|
<en>Type
|
||||||
|
<option name="ANY">All</option>
|
||||||
|
<option name="DYNAFORM">Dynaform</option>
|
||||||
|
<option name="INPUT">Input Document</option>
|
||||||
|
<option name="OUTPUT">Output Document</option>
|
||||||
|
<option name="CASES_NOTES">Cases Notes</option>
|
||||||
|
<option name="MSGS_HISTORY">Messages History</option>
|
||||||
|
</en>
|
||||||
|
</OP_OBJ_TYPE>
|
||||||
|
<ALL type="dropdown" mode="edit" sqlConnection="dbarray">
|
||||||
SELECT * FROM allObjects
|
SELECT * FROM allObjects
|
||||||
<en><![CDATA[Object]]><option name=""><![CDATA[All]]></option></en>
|
<en>Object
|
||||||
|
<option name="">All</option>
|
||||||
|
</en>
|
||||||
</ALL>
|
</ALL>
|
||||||
<DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray">
|
<DYNAFORMS type="dropdown" mode="edit" sqlConnection="dbarray">
|
||||||
SELECT * FROM allDynaforms
|
SELECT * FROM allDynaforms
|
||||||
<en><![CDATA[DynaForm]]><option name=""><![CDATA[All]]></option></en>
|
<en>DynaForm<option name="">All</option></en>
|
||||||
</DYNAFORMS>
|
</DYNAFORMS>
|
||||||
<INPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
|
<INPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
|
||||||
SELECT * FROM allInputs
|
SELECT * FROM allInputs
|
||||||
<en><![CDATA[Input Document]]><option name=""><![CDATA[All]]></option></en>
|
<en>Input Document<option name="">All</option></en>
|
||||||
</INPUTS>
|
</INPUTS>
|
||||||
<OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
|
<OUTPUTS type="dropdown" mode="edit" sqlConnection="dbarray">
|
||||||
SELECT * FROM allOutputs
|
SELECT * FROM allOutputs
|
||||||
<en><![CDATA[Output Document]]><option name=""><![CDATA[All]]></option></en>
|
<en>Output Document<option name="">All</option></en>
|
||||||
</OUTPUTS>
|
</OUTPUTS>
|
||||||
<OP_ACTION type="dropdown" mode="edit">
|
<OP_ACTION type="dropdown" mode="edit">
|
||||||
<en><![CDATA[Permission]]><option name="VIEW"><![CDATA[View]]></option><option name="BLOCK"><![CDATA[Block]]></option></en>
|
<en>Permission
|
||||||
</OP_ACTION>
|
<option name="VIEW">View</option>
|
||||||
<BTN_CANCEL type="button" onclick="cancel();">
|
<option name="BLOCK">Block</option>
|
||||||
<en><![CDATA[Cancel]]></en>
|
</en>
|
||||||
</BTN_CANCEL>
|
</OP_ACTION>
|
||||||
<CREATE type="button" onclick="saveObjectPermission(this.form);">
|
|
||||||
<en><![CDATA[Create]]></en>
|
<BTN_CANCEL type="button" onclick="cancel();">
|
||||||
</CREATE>
|
<en>Cancel</en>
|
||||||
<ID_DELETE type="private"/>
|
</BTN_CANCEL>
|
||||||
<ID_RESEND type="private"/>
|
|
||||||
<JS type="javascript"><![CDATA[
|
<CREATE type="button" onclick="saveObjectPermission(this.form);">
|
||||||
|
<en>Create</en>
|
||||||
|
</CREATE>
|
||||||
|
<ID_DELETE type="private"/>
|
||||||
|
<ID_RESEND type="private"/>
|
||||||
|
<JS type="javascript"><![CDATA[
|
||||||
var aOptions = [];
|
var aOptions = [];
|
||||||
var getOptions = function() {
|
var getOptions = function() {
|
||||||
var oAux = getField('OP_ACTION');
|
var oAux = getField('OP_ACTION');
|
||||||
@@ -259,4 +293,4 @@ function cancel(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
]]></JS>
|
]]></JS>
|
||||||
</dynaForm>
|
</dynaForm>
|
||||||
@@ -227,7 +227,7 @@
|
|||||||
if (!file_exists(PATH_HTML . 'index.html')) { // if not, create it from template
|
if (!file_exists(PATH_HTML . 'index.html')) { // if not, create it from template
|
||||||
file_put_contents(
|
file_put_contents(
|
||||||
PATH_HTML . 'index.html',
|
PATH_HTML . 'index.html',
|
||||||
G::parseTemplate(PATH_TPL . 'index.html', array('lang' => SYS_LANG, 'skin' => SYS_SKIN))
|
G::parseTemplate(PATH_TPL . "index.html", array("lang" => ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en"), "skin" => SYS_SKIN))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -473,7 +473,7 @@ if (Bootstrap::isPMUnderUpdating()) {
|
|||||||
|
|
||||||
// verify if index.html exists
|
// verify if index.html exists
|
||||||
if (! file_exists( PATH_HTML . 'index.html' )) { // if not, create it from template
|
if (! file_exists( PATH_HTML . 'index.html' )) { // if not, create it from template
|
||||||
file_put_contents( PATH_HTML . 'index.html', Bootstrap::parseTemplate( PATH_TPL . 'index.html', array ('lang' => SYS_LANG,'skin' => SYS_SKIN
|
file_put_contents( PATH_HTML . "index.html", Bootstrap::parseTemplate( PATH_TPL . "index.html", array ("lang" => ((defined("SYS_LANG") && SYS_LANG != "")? SYS_LANG : "en"), "skin" => SYS_SKIN
|
||||||
) ) );
|
) ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user