/** * Feld generieren * @return <type> */ public function generate() { $strBuffer = parent::generate(); if ($this->readonly || $this->disabled) { return $strBuffer; } //CSS und JAVACRIPT laden $GLOBALS['TL_CSS'][] = 'plugins/datepicker/dashboard.css'; $GLOBALS['TL_JAVASCRIPT'][] = 'plugins/datepicker/datepicker.js'; //Datumsformat setzen $dateFormat = strlen($this->xdateformat) ? $this->xdateformat : $GLOBALS['TL_CONFIG']['dateFormat']; $dateFormat_kalender = "%d.%m.%Y"; if (strlen($this->xdateformat) == 5) { $dateFormat_kalender = str_replace('d', '%d', $this->xdateformat); $dateFormat_kalender = str_replace('m', '%m', $dateFormat_kalender); $dateFormat_kalender = str_replace('Y', '%Y', $dateFormat_kalender); } //Startwert aufarbeiten $xstartwertset = $this->setzteXWert($this->xstartwert, $dateFormat); //Stopwert setzen $xstopwertset = $this->setzteXWert($this->xstopwert, $dateFormat); //---------------------------------------------------------------------- //Picker zusammenbauen //---------------------------------------------------------------------- $strBuffer = str_replace('class', 'class', $strBuffer); if ($this->varValue == "") { $strBuffer = str_replace('value="', 'value="' . ($xstartwertset == "" ? date($dateFormat) : $xstartwertset), $strBuffer); } $strBuffer .= '<img src="plugins/datepicker/icon.gif" id="xdate_toggler' . $this->strId . '" class="xdate_toggler' . $this->strId . '" alt="calenderbild" style="position: relative; top: 3px; margin-left: 4px;" />'; //Keine Abhänignkeit da if ($this->xdepend == "none") { $objTE = $this->Database->prepare("SELECT id FROM tl_form_field WHERE xdepend=?")->execute($this->strId); if ($objTE->numRows == 0) { $strBuffer .= ' <script type="text/javascript"> <!--//--><![CDATA[//><!-- window.addEvent("load", function() { new Picker.Date($$("#ctrl_' . $this->strId . '"), { draggable:false, toggle:$$("#xdate_toggler' . $this->strId . '"), format:"' . $dateFormat_kalender . '", timePicker:false, pickerClass:"datepicker_dashboard", days_abbr: ' . $GLOBALS['TL_LANG']['FFL']['xdependentcalendarfields']['days'] . ', months_abbr: ' . $GLOBALS['TL_LANG']['FFL']['xdependentcalendarfields']['month'] . ', useFadeInOut:!Browser.ie, startDay:1, allowEmpty:false, titleFormat:"%d. %B %Y" '; //Startwert if ($xstartwertset != "") { $strBuffer .= ',minDate : "' . $xstartwertset . '"'; } //Stopwert if ($xstopwertset != "") { $strBuffer .= ',maxDate : "' . $xstopwertset . '"'; } $strBuffer .= "});});//--><!]]></script>"; } } else { //Erster Kalender $objDatenxdepend = $this->Database->prepare("SELECT xstartwert,xstopwert FROM tl_form_field WHERE id=?")->execute($this->xdepend); $xstartwertset_depend = $xstartwertset; $xstopwertset_depend = $xstopwertset; if ($objDatenxdepend->numRows > 0) { $ergobjDatenxdepend = $objDatenxdepend->fetchAssoc(); $xstartwertset_depend = $this->setzteXWert($ergobjDatenxdepend['xstartwert'], $dateFormat); $xstopwertset_depend = $this->setzteXWert($ergobjDatenxdepend['xstopwert'], $dateFormat); } $strBuffer .= ' <script type="text/javascript"> <!--//--><![CDATA[//><!-- window.addEvent("load", function() { var xdatepicker' . $this->xdepend . ' = new Picker.Date($$("#ctrl_' . $this->xdepend . '"), { draggable:false, toggle:$$("#xdate_toggler' . $this->xdepend . '"), format:"' . $dateFormat_kalender . '", timePicker:false, pickerClass:"datepicker_dashboard", days_abbr: ' . $GLOBALS['TL_LANG']['FFL']['xdependentcalendarfields']['days'] . ', months_abbr: ' . $GLOBALS['TL_LANG']['FFL']['xdependentcalendarfields']['month'] . ', useFadeInOut:!Browser.ie, allowEmpty:false, startDay:1, titleFormat:"%d. %B %Y" '; //Startwert if ($xstartwertset_depend != "") { $strBuffer .= ',minDate : "' . $xstartwertset_depend . '"'; } //Stopwert if ($xstopwertset_depend != "") { $strBuffer .= ',maxDate : "' . $xstopwertset_depend . '"'; } $strBuffer .= '});'; //Zweiter Kalender $strBuffer .= ' new Picker.Date($$("#ctrl_' . $this->strId . '"), { draggable:false, toggle:$$("#xdate_toggler' . $this->strId . '"), format:"' . $dateFormat_kalender . '", timePicker:false, pickerClass:"datepicker_dashboard", days_abbr: ' . $GLOBALS['TL_LANG']['FFL']['xdependentcalendarfields']['days'] . ', months_abbr: ' . $GLOBALS['TL_LANG']['FFL']['xdependentcalendarfields']['month'] . ', useFadeInOut:!Browser.ie, startDay:1, allowEmpty:false, titleFormat:"%d. %B %Y" '; //Startwert if ($xstartwertset != "") { $strBuffer .= ',minDate : "' . $xstartwertset . '"'; } //Stopwert if ($xstopwertset != "") { $strBuffer .= ',maxDate : "' . $xstopwertset . '"'; } $strBuffer .= ',maxDate : "' . $xstopwertset . '"'; $strBuffer .= "\r\n ,onSelect: function(d){ \r\n var xtime = Math.floor(d.valueOf()); \r\n var date = new Date(xtime);\r\n "; $strBuffer .= ' xdatepicker' . $this->xdepend . '.options.minDate = new Date(xtime); $("ctrl_' . $this->xdepend . '").value = new Date(xtime).format("' . $dateFormat_kalender . '"); } }); });//--><!]]></script>'; } return $strBuffer; }
/** * Generate the widget and return it as string * * @return string The widget markup */ public function generate() { return parent::generate(); }