function get() { global $I18N; // getId() ist erst hier verfügbar $this->addConfig('inputField', 'label_' . $this->getId(), true); $this->addConfig('ifFormat', $I18N->msg('dateformat'), true); $this->addConfig('hiddenField', $this->getId(), true); $this->addConfig('button', 'trigger_' . $this->getId(), true); $this->addConfig('onUpdate', 'rex_a22_timestamp_from_calendar'); $value = $this->getValue(); $formattedValue = $value != '' ? strftime($I18N->msg('dateformat'), $value) : ''; // Textfield für die formatierte Anzeige $s = parent::get(); $s = str_replace('id="', 'id="label_', $s); $s = preg_replace('/name="[^"]*"/', '', $s); $s = preg_replace('/value="[^"]*"/', 'value="' . $formattedValue . '"', $s); $s .= "\n"; // hidden field für das speichern des timestamps $s .= '<input type="hidden" id="' . $this->getId() . '" name="' . $this->getName() . '" value="' . $value . '" />' . "\n"; $s .= '<button id="trigger_' . $this->getId() . '" style="background-image:url(' . $this->path . 'icons/calendar_edit.png); width: 16px; height: 20px; background-position: center; background-repeat: no-repeat;" title="Datum wählen"></button>'; // Kalender setup $s .= '<script type="text/javascript">' . "\n"; $s .= 'Calendar.setup({' . "\n"; foreach ($this->getConfig() as $name => $value) { $s .= sprintf(' %-20s: %s,' . "\n", $name, $value); } $s .= '});' . "\n"; $s .= '</script>' . "\n"; return $s; }
function getInputFields() { return parent::get(); }