'Y/m/d' ); /** * Output the stored data * * @param string|int $value the value stored in the database * @param \Doku_Renderer $R the renderer currently used to render the data * @param string $mode The mode the output is rendered in (eg. XHTML) * @return bool true if $mode could be satisfied */ public function renderValue($value, \Doku_Renderer $R, $mode) { $date = date_create($value); if($date !== false) { $out = date_format($date, $this->config['format']); } else { $out = ''; } $R->cdata($out); return true; } /** * Return the editor to edit a single value * * @param string $name the form name where this has to be stored * @param string $value the current value * @return string html */ public function valueEditor($name, $value) { $name = hsc($name); $value = hsc($value); $html = ""; return "$html"; } /** * Validate a single value * * This function needs to throw a validation exception when validation fails. * The exception message will be prefixed by the appropriate field on output * * @param string|int $value * @return int|string * @throws ValidationException */ public function validate($value) { $value = parent::validate($value); list($year, $month, $day) = explode('-',$value, 3); if (!checkdate($month, $day, $year)) { throw new ValidationException('invalid date format'); } return $value; } }