diff --git a/gulliver/js/common/core/common.js b/gulliver/js/common/core/common.js
index 75d13b9a8..2460e0e08 100755
--- a/gulliver/js/common/core/common.js
+++ b/gulliver/js/common/core/common.js
@@ -1957,26 +1957,31 @@ function removeValue(id){
fireEvent(document.getElementById(id), 'change');
}
-function datePicker4(obj, id, mask, startDate, endDate, showTIme){
+function datePicker4(obj, id, mask, startDate, endDate, showTIme, idIsoDate){
if(showTIme=='false')
showTIme=false;
- Calendar.setup({
- inputField: id,
- dateFormat: mask,
- trigger: id+"[btn]",
- bottomBar: true,
- min:startDate,
- max:endDate,
- animation: _BROWSER.name =='msie'? false: true,
- showTime: showTIme,
- opacity: 1,
- onSelect: function() {
- this.hide();
- fireEvent(document.getElementById(id), 'change');
- }
-
+ var cal;
+ cal = Calendar.setup({
+ inputField: id,
+ dateFormat: mask,
+ trigger: id+"[btn]",
+ bottomBar: true,
+ min:startDate,
+ max:endDate,
+ animation: _BROWSER.name =='msie'? false: true,
+ showTime: showTIme,
+ opacity: 1,
+ onSelect: function() {
+ this.hide();
+ setisoDate(id, this, idIsoDate);
+ fireEvent(document.getElementById(id), 'change');
+ }
});
}
+function setisoDate(id, cals, idIsoDate){
+ var field= document.getElementById(idIsoDate);
+ field.value=cals.selection.print("%Y-%m-%d", "");
+}
function fireEvent(element,event){
if (document.createEventObject){
diff --git a/gulliver/system/class.xmlform.php b/gulliver/system/class.xmlform.php
index 45c3733a0..f8a8f2bcf 100755
--- a/gulliver/system/class.xmlform.php
+++ b/gulliver/system/class.xmlform.php
@@ -3384,13 +3384,15 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
$value = G::replaceDataField ( $value, $owner->values );
}
//$this->defaultValue = G::replaceDataField( $this->defaultValue, $owner->values);
- $id = "form[$this->name]";
+ $id = "form[$this->name]";
+ $idIsoDate = 'form['.$this->name.'_isodate]';
+
if ($this->renderMode != 'edit' && $value == 'today' ){
$mask = str_replace("%", "", $this->mask);
$value = date($mask);
return $value;
}
- return $this->__draw_widget ( $id, $value, $owner );
+ return $this->__draw_widget ( $id, $value, $owner, $idIsoDate );
}
/**
@@ -3423,8 +3425,9 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
}
$html = 'NSRequiredValue().' class="module_app_input___gray" id="form[' . $owner->name . '][' . $r . '][' . $this->name . ']" name="form[' . $owner->name . '][' . $r . '][' . $this->name . ']" type ="text" size="' . $this->size . '" maxlength="' . $this->maxLength . '" value="' . $this->htmlentities ( $v, ENT_COMPAT, 'utf-8' ) . '" required="' . $isRequired . '" style="display:none;' . htmlentities ( $this->style, ENT_COMPAT, 'utf-8' ) . '"/>' . htmlentities ( $v, ENT_COMPAT, 'utf-8' );
} else {
- $id = 'form[' . $owner->name . '][' . $r . '][' . $this->name . ']';
- $html = $this->__draw_widget ( $id, $v, $owner );
+ $id = 'form[' . $owner->name . '][' . $r . '][' . $this->name . ']';
+ $idIsoDate = 'form[' . $owner->name . '][' . $r . '][' . $this->name .'_isodate]';
+ $html = $this->__draw_widget ( $id, $v, $owner, $idIsoDate );
}
} else {
$html = $v;
@@ -3442,8 +3445,7 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
* @param $owner
* @return
*/
- function __draw_widget($pID, $value, $owner = '')
- {
+ function __draw_widget($pID, $value, $owner = '', $idIsoDate){
$startDate = G::replaceDataField ( $this->startDate, $owner->values );
$endDate = G::replaceDataField ( $this->endDate, $owner->values );
$beforeDate = G::replaceDataField ( $this->beforeDate, $owner->values );
@@ -3565,7 +3567,7 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
. ''
. '
'
. ''
- . '';
+ . '';
} else
{
$html = ''
. '
'
. ''
- . '';
+ . '';
}
- } else
- {
+ } else {
$html = "$value"
. '';
- }
+ }
+ // added isodate format in the data field when it has a mask
+ $amask = explode('-',str_replace('%','',$mask));
+ $axDate = explode('-',$value);
+ $valisoDate = '';
+ if(sizeof($amask)==sizeof($axDate)){
+ $aisoDate = array_combine($amask, $axDate);
+ if(isset($aisoDate['Y']) && isset($aisoDate['m']) && isset($aisoDate['d']))
+ $valisoDate = $aisoDate['Y'].'-'.$aisoDate['m'].'-'.$aisoDate['d'];
+ }
+ $html .= '';
+
if ($this->gridFieldType == '') $html .= $this->renderHint();
return $html;
}
@@ -3721,8 +3733,8 @@ class XmlForm_Field_Date5 extends XmlForm_Field_SimpleText
$value = G::replaceDataField ( $value, $owner->values );
}
//$this->defaultValue = G::replaceDataField( $this->defaultValue, $owner->values);
- $id = "form[$this->name]";
- return $this->__draw_widget ( $id, $value, $owner );
+ $id = "form[$this->name]";
+ return $this->__draw_widget ( $id, $value, $owner, $idIsoDate );
}
/**
@@ -3738,8 +3750,8 @@ class XmlForm_Field_Date5 extends XmlForm_Field_SimpleText
foreach ( $values as $v ) {
$v = ($v!='')?G::replaceDataField ( $v, $owner->values ):$this->defaultValue;
if (! $onlyValue) {
- $id = 'form[' . $owner->name . '][' . $r . '][' . $this->name . ']';
- $html = $this->__draw_widget ( $id, $v, $owner );
+ $id = 'form[' . $owner->name . '][' . $r . '][' . $this->name . ']';
+ $html = $this->__draw_widget ( $id, $v, $owner, $idIsoDate );
} else {
$html = $v;
}