BUG 0000 simplify code of datepicker

This commit is contained in:
Alvaro Campos
2011-09-15 11:50:33 -04:00
parent 3a242fe8a5
commit 07d3d61cc7

View File

@@ -3448,9 +3448,7 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
$endDate = G::replaceDataField ( $this->endDate, $owner->values ); $endDate = G::replaceDataField ( $this->endDate, $owner->values );
$beforeDate = G::replaceDataField ( $this->beforeDate, $owner->values ); $beforeDate = G::replaceDataField ( $this->beforeDate, $owner->values );
$afterDate = G::replaceDataField ( $this->afterDate, $owner->values ); $afterDate = G::replaceDataField ( $this->afterDate, $owner->values );
$valueaux=$value; $defaultValue=$this->defaultValue;
$value=$this->defaultValue;
if ($startDate != '') { if ($startDate != '') {
if (! $this->verifyDateFormat ( $startDate )) if (! $this->verifyDateFormat ( $startDate ))
$startDate = ''; $startDate = '';
@@ -3465,10 +3463,6 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
$startDate = $this->size . '-01-01'; $startDate = $this->size . '-01-01';
} }
if ($startDate == '') {
//$startDate = date ( 'Y-m-d' ); // the default is the current date
}
if ($endDate != '') { if ($endDate != '') {
if (! $this->verifyDateFormat ( $endDate )) if (! $this->verifyDateFormat ( $endDate ))
$endDate = ''; $endDate = '';
@@ -3495,20 +3489,19 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
$mask = '%Y-%m-%d'; //set default $mask = '%Y-%m-%d'; //set default
} }
/**
* - init - Backward compatibility
*
* By Erik A. O. <erik@colosa.com>
* @package gulliver.system
*/
if( strpos($mask, '%') === false ) { if( strpos($mask, '%') === false ) {
if( strpos($mask, '-') !== false ) { // case '-' saparator if( strpos($mask, '-') !== false )
$maskparts = explode('-', $mask); $separator = '-';
if( strpos($mask, '/') !== false )
$separator = '/';
if( strpos($mask, '.') !== false )
$separator = '.';
$maskparts = explode($separator, $mask);
$mask = ''; $mask = '';
foreach($maskparts as $part) { foreach($maskparts as $part) {
if($mask != '') if($mask != '')
$mask .= '-'; $mask .= $separator;
if($part=='yyyy') if($part=='yyyy')
$part='Y'; $part='Y';
if($part=='dd') if($part=='dd')
@@ -3521,57 +3514,18 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
} }
} }
if( strpos($mask, '/') !== false ) { // case '/' saparator
$maskparts = explode('/', $mask);
$mask = '';
foreach($maskparts as $part) {
if($mask != '')
$mask .= '/';
if($part=='yyyy')
$part='Y';
if($part=='dd')
$part='d';
if($part=='mm')
$part='m';
if($part=='yy')
$part='y';
$mask .= '%'.$part;
}
}
if( strpos($mask, '.') !== false ) { // case '.' saparator
$maskparts = explode('.', $mask);
$mask = '';
foreach($maskparts as $part) {
if($mask != '')
$mask .= '.';
if($part=='yyyy')
$part='Y';
if($part=='dd')
$part='d';
if($part=='mm')
$part='m';
if($part=='yy')
$part='y';
$mask .= '%'.$part;
}
}
}
/** - end - Backward compatibility **/
$tmp = str_replace("%", "", $mask); $tmp = str_replace("%", "", $mask);
if ( trim ($value) == '' or $value == NULL ) { if ( trim ($value) == '' or $value == NULL ) {
$value = ''; //date ($tmp); $value = ''; //date ($tmp);
} else { } else
{
switch(strtolower($value)){ switch(strtolower($value)){
case 'today': case 'today':
// $value = date($tmp); $value=masktophp ($mask);// $value = date($tmp);
$value=masktophp ($mask);
break; break;
default: default:
if(!$this->verifyDateFormat($value)) if(!$this->verifyDateFormat($value))
$value=''; //$value='';
break; break;
} }
} }
@@ -3582,44 +3536,29 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
else else
$onchange = ''; $onchange = '';
#the validations field was moved to javascript routines ;)
if ($this->renderMode == 'edit') { if ($this->renderMode == 'edit') {
if( $startDate=='1969-12-31' ) {
$startDate='';
$endDate='';
}
$maskleng = strlen($mask); $maskleng = strlen($mask);
$hour = '%H';$min = '%M';$sec = '%S'; $hour = '%H';$min = '%M';$sec = '%S';
$sizehour = strpos($mask, $hour); $sizehour = strpos($mask, $hour);
$sizemin = strpos($mask, $hour); $sizemin = strpos($mask, $hour);
$sizesec = strpos($mask, $hour); $sizesec = strpos($mask, $hour);
$Time = 'false'; $Time = 'false';
if (($sizehour !== false)&&($sizemin !== false)&&($sizesec !== false)) { if (($sizehour !== false)&&($sizemin !== false)&&($sizesec !== false)) {
$sizeend = $maskleng + 2; $sizeend = $maskleng + 2;
$Time = 'true'; $Time = 'true';
} else { } else
{
$sizeend = $maskleng + 2; $sizeend = $maskleng + 2;
} }
if ($this->required)
if($valueaux=='today'){
$valueaux=masktophp ($mask);
}
$value1=$value;
$value=$valueaux;
if(($value==NULL)||($value=='')){
$value=$value1;
}
if ($this->required){
$isRequired = '1'; $isRequired = '1';
} else { else
$isRequired = '0'; $isRequired = '0';
}
if ( $this->editable != "0") { if ( $this->editable != "0") {
$html = '<input pm:required="'. $isRequired .'" id="'.$pID.'" name="'.$pID.'" pm:mask="'.$mask.'" pm:start="'.$startDate.'" pm:end="'.$endDate.'" pm:time="'.$Time.'" '.$onchange.' class="module_app_input___gray" size="'.$sizeend.'" value="'.$value.'" pm:defaultvalue="'.$value1.'" required="' . $isRequired . '"/>' $html = '<input pm:required="'. $isRequired .'" id="'.$pID.'" name="'.$pID.'" pm:mask="'.$mask.'"'
. 'pm:start="'.$startDate.'" pm:end="'.$endDate.'" pm:time="'.$Time.'" '.$onchange.' class="module_app_input___gray" size="'.$sizeend.'"'
. 'value="'.$value.'" pm:defaultvalue="'.$defaultValue.'" required="' . $isRequired . '"/>'
. '<a onclick="removeValue(\''.$pID.'\'); return false;" style="position:relative;left:-17px;top:5px;" > ' . '<a onclick="removeValue(\''.$pID.'\'); return false;" style="position:relative;left:-17px;top:5px;" > '
. ' <img src="/images/icons_silk/calendar_x_button.png" />' . ' <img src="/images/icons_silk/calendar_x_button.png" />'
. '</a>' . '</a>'
@@ -3627,8 +3566,11 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
. ' <img src="/images/pmdateicon.png" border="0" width="12" height="14" />' . ' <img src="/images/pmdateicon.png" border="0" width="12" height="14" />'
. '</a>' . '</a>'
. '<script>datePicker4("", \''.$pID.'\', \''.$mask.'\', \''.$startDate.'\', \''.$endDate.'\','.$Time.')</script>'; . '<script>datePicker4("", \''.$pID.'\', \''.$mask.'\', \''.$startDate.'\', \''.$endDate.'\','.$Time.')</script>';
} else { } else
$html = '<input pm:required="'. $isRequired .'" id="'.$pID.'" name="'.$pID.'" pm:mask="'.$mask.'" pm:start="'.$startDate.'" pm:end="'.$endDate.'" pm:time="'.$Time.'" '.$onchange.' class="module_app_input___gray" size="'.$sizeend.'" value="'.$value.'"pm:defaultvalue="'.$value1.'" readonly="readonly" required="' . $isRequired . '"/>' {
$html = '<input pm:required="'. $isRequired .'" id="'.$pID.'" name="'.$pID.'" pm:mask="'.$mask.'" pm:start="'.$startDate.'"'
. 'pm:end="'.$endDate.'" pm:time="'.$Time.'" '.$onchange.' class="module_app_input___gray" size="'.$sizeend.'"'
. 'value="'.$value.'"pm:defaultvalue="'.$defaultValue.'" readonly="readonly" required="' . $isRequired . '"/>'
. '<a onclick="removeValue(\''.$pID.'\'); return false;" style="position:relative;left:-17px;top:5px;" >' . '<a onclick="removeValue(\''.$pID.'\'); return false;" style="position:relative;left:-17px;top:5px;" >'
. ' <img src="/images/icons_silk/calendar_x_button.png" />' . ' <img src="/images/icons_silk/calendar_x_button.png" />'
. '</a>' . '</a>'
@@ -3637,22 +3579,18 @@ class XmlForm_Field_Date extends XmlForm_Field_SimpleText
. '</a>' . '</a>'
. '<script>datePicker4("", \''.$pID.'\', \''.$mask.'\', \''.$startDate.'\', \''.$endDate.'\','.$Time.')</script>'; . '<script>datePicker4("", \''.$pID.'\', \''.$mask.'\', \''.$startDate.'\', \''.$endDate.'\','.$Time.')</script>';
} }
} else
{
$html = "<span style='border:1;border-color:#000;width:100px;' name='" . $pID . "'>$value</span>"
. '<input type="hidden" id="'.$pID.'" name="'.$pID.'" pm:mask="'.$mask.'" pm:start="'.$startDate.'"'
. 'pm:end="'.$endDate.'" '.$onchange.' class="module_app_input___gray" value="'.$value.'"/>';
} else {
//$html = "<span style='border:1;border-color:#000;width:100px;' name='" . $pID . "'>$value</span>";
///-- $html = '<input class="module_app_input___gray" id="form[' . $this->name . ']" name="form[' . $this->name . ']" type ="text" size="' . $this->size . '" ' . (isset ( $this->maxLength ) ? ' maxlength="' . $this->maxLength . '"' : '') . ' value=\'' . htmlentities ( $value, ENT_COMPAT, 'utf-8' ) . '\' style="display:none;' . htmlentities ( $this->style, ENT_COMPAT, 'utf-8' ) . '" />' . htmlentities ( $value, ENT_COMPAT, 'utf-8' );
$html = "<span style='border:1;border-color:#000;width:100px;' name='" . $pID . "'>$valueaux</span>";
$html .= '<input type="hidden" id="'.$pID.'" name="'.$pID.'" pm:mask="'.$mask.'" pm:start="'.$startDate.'" pm:end="'.$endDate.'" '.$onchange.' class="module_app_input___gray" value="'.$valueaux.'"/>';
} }
if ($this->gridFieldType == '') $html .= $this->renderHint(); if ($this->gridFieldType == '') $html .= $this->renderHint();
return $html; return $html;
} }
} }
/** /**
* Calendar Widget with Javascript Routines * Calendar Widget with Javascript Routines
* @author Erik amaru Ortiz <aortiz@gmail.com, erik@colosa.com> * @author Erik amaru Ortiz <aortiz@gmail.com, erik@colosa.com>