diff --git a/gulliver/js/ext/pmos-common.js b/gulliver/js/ext/pmos-common.js index 6c4e2a342..1dacd4c61 100755 --- a/gulliver/js/ext/pmos-common.js +++ b/gulliver/js/ext/pmos-common.js @@ -153,4 +153,102 @@ var getBrowserInf = function(){ return {name:'unknow', version:'', screen: screen} }; -var _BROWSER = getBrowserInf(); \ No newline at end of file +var _BROWSER = getBrowserInf(); + +/** + * Environment Formats function for full name + */ +function _FNF(USER_NAME, FIRST_NAME, LAST_NAME, FN_FORMAT) +{ + if (FN_FORMAT===undefined) + if (typeof FORMATS == 'undefined') + FN_FORMAT = '(@lastName, @firstName) @userName'; + else + FN_FORMAT = FORMATS.FullNameFormat; + var aux = FN_FORMAT; + aux = aux.replace('@userName',USER_NAME); + aux = aux.replace('@firstName',FIRST_NAME); + aux = aux.replace('@lastName',LAST_NAME); + return aux; +} + +/** + * Environment Formats function for date + */ +function _DF(DATE_TIME, D_FORMAT){ + function LZ(x){return(x<0||x>9?"":"0")+x;} + if (D_FORMAT===undefined) + if (typeof FORMATS == 'undefined') + D_FORMAT = 'm/d/Y'; + else + D_FORMAT = FORMATS.DateFormat; + if (DATE_TIME!=''){ + var arrD = DATE_TIME.split(' '); + var arrF = arrD[0].split('-'); + if (arrD.length ==2){ + var arrH = arrD[1].split(':'); + }else{ + var arrH = new Array(0,0,0); + } + + + var MONTH_NAMES=new Array(_('ID_MONTH_1'),_('ID_MONTH_2'),_('ID_MONTH_3'),_('ID_MONTH_4'),_('ID_MONTH_5'),_('ID_MONTH_6'),_('ID_MONTH_7'), + _('ID_MONTH_8'),_('ID_MONTH_9'),_('ID_MONTH_10'),_('ID_MONTH_11'),_('ID_MONTH_12'),_('ID_MONTH_ABB_1'),_('ID_MONTH_ABB_2'), + _('ID_MONTH_ABB_3'),_('ID_MONTH_ABB_4'),_('ID_MONTH_ABB_5'),_('ID_MONTH_ABB_6'),_('ID_MONTH_ABB_7'),_('ID_MONTH_ABB_8'), + _('ID_MONTH_ABB_9'),_('ID_MONTH_ABB_10'),_('ID_MONTH_ABB_11'),_('ID_MONTH_ABB_12')); + var DAY_NAMES=new Array(_('ID_WEEKDAY_0'),_('ID_WEEKDAY_1'),_('ID_WEEKDAY_2'),_('ID_WEEKDAY_3'),_('ID_WEEKDAY_4'),_('ID_WEEKDAY_5'), + _('ID_WEEKDAY_6'),_('ID_WEEKDAY_ABB_0'),_('ID_WEEKDAY_ABB_1'),_('ID_WEEKDAY_ABB_2'),_('ID_WEEKDAY_ABB_3'),_('ID_WEEKDAY_ABB_4'), + _('ID_WEEKDAY_ABB_5'),_('ID_WEEKDAY_ABB_6')); + + var date = new Date(arrF[0],parseInt(arrF[1])-1,arrF[2],arrH[0],arrH[1],arrH[2],0); + var y=date.getFullYear()+''; + var M=date.getMonth()+1; + var d=date.getDate(); + var E=date.getDay(); + var H=date.getHours(); + var m=date.getMinutes(); + var s=date.getSeconds(); + + var values = new Object(); + values['Y'] = y; + values['y'] = y.substring(2, 4); + values['F'] = MONTH_NAMES[M-1]; + values['M'] = MONTH_NAMES[M+11]; + values['m'] = LZ(M); + values['n'] = M; + values['d'] = LZ(d); + values['j'] = d; + values['D'] = DAY_NAMES[E+7]; + values['l'] = DAY_NAMES[E]; + values['G'] = H; + values['H'] = LZ(H); + if (H==0){ values['g'] = 12;} + else if (H>12){ values['g'] = H-12; } + else { values['g'] = H; } + values['h'] = LZ(values['g']); + values['i'] = LZ(m); + values['s'] = LZ(s); + if (H>11) values['a'] = 'pm'; else values['a'] = 'am'; + if (H>11) values['A'] = 'PM'; else values['A'] = 'AM'; + if (typeof FORMATS == 'undefined') values['T'] = '**'; + else values['T'] = FORMATS.TimeZone; + + var aDate = D_FORMAT.split(''); + var aux = ''; + + var xParts = new Array('Y','y','F','M','m','n','d','j','D','l','G','H','g','h','i','s','a','A','T'); + for (var i=0; i < aDate.length; i++){ + if (xParts.indexOf(aDate[i])==-1){ + aux = aux + aDate[i]; + }else{ + aux = aux + values[aDate[i]]; + } + } + return aux; + }else{ + if (DATE_TIME=='') + return ''; + else + return '**' + DATE_TIME + '**'; + } + } \ No newline at end of file diff --git a/workflow/engine/classes/class.configuration.php b/workflow/engine/classes/class.configuration.php index 470eb47f3..90d157f05 100644 --- a/workflow/engine/classes/class.configuration.php +++ b/workflow/engine/classes/class.configuration.php @@ -258,7 +258,7 @@ class Configurations // extends Configuration /** * usersNameFormat - * @author Qennix + * @author Enrique Ponce de Leon enrique@colosa.com * @param string $username * @param string $firstname * @param string $lastname @@ -282,6 +282,23 @@ class Configurations // extends Configuration } } + /** + * getFormats + * @author Enrique Ponce de Leon enrique@colosa.com + * @return FORMATS array + */ + + function getFormats(){ + if (!isset($this->UserConfig)) $this->UserConfig = $this->getConfiguration('ENVIRONMENT_SETTINGS', ''); + $formats = Array(); + $formats['FullNameFormat'] = isset($this->UserConfig['format']) ? $this->UserConfig['format'] : '@lastName @firstName (@userName)'; + $formats['DateFormat'] = isset($this->UserConfig['dateFormat']) ? $this->UserConfig['dateFormat'] : 'm/d/Y'; + $formats['CasesListDateFormat'] = isset($this->UserConfig['casesListDateFormat']) ? $this->UserConfig['casesListDateFormat'] : 'm/d/Y'; + $formats['CasesListRowNumber'] = isset($this->UserConfig['casesListRowNumber']) ? $this->UserConfig['casesListRowNumber'] : 10; + $formats['TimeZone'] = date('T'); + return $formats; + } + /** * setConfig