/** * generateTimeInputField * * @param string $menuName * @param string $additionalParams * @access public * @return string */ function generateTimeInputField($menuName = 'default', $additionalParams = '') { /*{{{*/ foreach ($this->menuNames as $name) { if ($name != $menuName) { $additionalParams .= $this->getSelectedValueAsMenuParam($name); } } // get the selected value for this menu $selectedValue = $this->getSelectedValue($menuName, $allowedValues); // render the form $formURL = 'index.php?id=' . t3lib_div::_GET('id') . $additionalParams; $formName = 'form_' . $menuName; $menuHTML = ''; // use extension date2cal (if installed) if ($this->useDate2Cal) { $JSCalendar = JSCalendar::getInstance(); $JSCalendar->setInputField($menuName); if (($jsCode = $JSCalendar->getMainJS()) != '') { $menuHTML .= $jsCode; } } $menuHTML .= '<div class="datebox">'; $menuHTML .= '<form name="' . $formName . '" id="' . $formName . '" method="post" action="' . $formURL . '">'; $menuHTML .= '<input type="submit" value="' . $GLOBALS['LANG']->getLL('button_OK') . '" style="float:right;" />'; $menuHTML .= $GLOBALS['LANG']->getLL($menuName) . '<br />'; if ($this->useDate2Cal) { $menuHTML .= $JSCalendar->render($selectedValue); } else { // render plain input field without datepicker $menuHTML .= '<input type="text" value="' . $selectedValue . '" jscalendar" id="' . $menuName . '_hr" name="' . $menuName . '" maxlength="16" size="12" /> dd-mm-yyyy'; } $menuHTML .= '</form>'; $menuHTML .= '</div>'; return $menuHTML; }
/** * Inits date2cal extension for use in the frontend * * @return void * @author Christian Buelter <*****@*****.**> * @since Tue Aug 17 2010 10:13:47 GMT+0200 */ public function initDate2Cal() { // include jscalendar api include_once t3lib_extMgm::siteRelPath('date2cal') . '/src/class.jscalendar.php'; // init jscalendar class $this->JSCalendar = JSCalendar::getInstance(); // set options // don't show Natural Langage Parser $this->JSCalendar->setNLP(false); // Don't show time, use format from typoscript config $this->JSCalendar->setDateFormat(false, $this->conf['datefield_inputfieldformat']); // get initialisation code of the calendar if (($jsCode = $this->JSCalendar->getMainJS()) != '') { if ($this->getNumericTYPO3versionNumber() >= 6000000) { $GLOBALS['TSFE']->getPageRenderer()->addHeaderData($jsCode); } else { $GLOBALS['TSFE']->additionalHeaderData['date2cal'] = $jsCode; } } $this->useDate2Cal = true; }