-tags t.b.d's: - check date values using javascript function datePickerClosed(dateField) - try to interpret incomplete date formats like "1." "1.8." "2.2010" etc - add year selector to calendarbox */ // @DEBUG(__file__,1); #------------- # conguration section - change as you like - but best in you config.php ! # url of where datepicker-files (accessible form webbrowser) are placed (must NOT end with an / ) SDV($DatepickerDirUrl,"$FarmPubDirUrl/datepicker"); # Style of datepicker-box can be changed in these files: SDV($DatepickerCSS,'datepicker-default.css'); # use image instead of text-button, iconfile must be placed in pub-dir #SDV($DatepickerImg,""); // dont't use a datapicker image SDV($DatepickerImg,"$DatepickerDirUrl/datepickerselect.gif"); # language specific formats # date formats # see http://en.wikipedia.org/wiki/Calendar_date#List_of_the_world_locations_by_date_format_in_use SDV($DatepickerFormat,'d.m.Y'); #SDV($DatepickerFormat,'Ymd'); #SDV($DatepickerFormat,'Y-m-d'); HTMLStylesFmt #SDV($DatepickerFormat,'d-m-Y'); #SDV($DatepickerFormat,'d/m/Y'); #SDV($DatepickerFormat,'m/d/Y'); // these formats must also be defined within function getDateString(dateVal) in file datepicker-nsftool.js ! /* you have to change translations as well (e.g. on page PmWikiDe.XLPageLocal) */ # end of user configuration #------------- # markup-format: (:datepicker field=FIELDNAME [ button=today|tomorrow ] [ usetextbutton=1 ]:) Markup('datepicker', 'directives', '/\(:datepicker\s*(.+?):\)/e', 'datepicker("$1")'); $HTMLHeaderFmt['datepicker'] = "\n\n" ."\n" ."\n" ."\n" ."\n"; function datepicker_translate() // translate the languagespecific content of the javascript-part // the corresponding language-specific text has to be translated in a local XLate-Page (page PmWikiXX.XLPageLocal): /* sample section for german translations: # für datepicker 'select' => 'Datum auswählen' 'today' => 'heute' 'tomorrow' => 'morgen' 'press to select date' => 'Auswahl des Datums aus Kalender' 'Su' => 'So' 'Mo' => 'Mo' 'Tu' => 'Di' 'We' => 'Mi' 'Th' => 'Do' 'Fr' => 'Fr' 'Sa' => 'Sa' 'Sunday' => 'Sonntag' 'Monday' => 'Montag' 'Tuesday' => 'Dienstag' 'Wednesday' => 'Mittwoch' 'Thursday' => 'Donnerstag' 'Friday' => 'Freitag' 'January' => 'Januar' 'February' => 'Februar' 'March' => 'März' 'April' => 'Apil' 'May' => 'Mai' 'June' => 'Juni' 'July' => 'Juli' 'August' => 'August' 'September' => 'September' 'October' => 'Oktober' 'November' => 'November' 'December' => 'Dezember' */ { $jscode = "var text_TodayIs = '".XL('Today is')."';\n"; $jscode .= "var text_ThisMonth = '".XL('this month')."';\n"; $jscode .= "var text_Close = '".XL('close')."';\n"; // weekday and month strings $jscode .= "var dayArrayShort = new Array('".XL('Su')."', '".XL('Mo')."', '".XL('Tu')."', '".XL('We')."', '".XL('Th')."', '".XL('Fr')."', '".XL('Sa')."');\n"; $jscode .= "var dayArrayLong = new Array('".XL('Sunday')."', '".XL('Monday')."', '".XL('Tuesday')."', '".XL('Wednesday')."', '".XL('Thursday')."', '".XL('Friday')."', '".XL('Saturday')."');\n"; $jscode .= "var monthArrayShort = new Array('".XL('Jan')."', '".XL('Feb')."', '".XL('Mar')."', '".XL('Apr')."', '".XL('May')."', '".XL('Jun')."', '".XL('Jul')."', '".XL('Aug')."', '".XL('Sep')."', '".XL('Oct')."', '".XL('Nov')."', '".XL('Dec')."');\n"; $jscode .= "var monthArrayLong = new Array('".XL('January')."', '".XL('February')."', '".XL('March')."', '".XL('April')."', '".XL('May')."', '".XL('June')."', '".XL('July')."', '".XL('August')."', '".XL('September')."', '".XL('October')."', '".XL('November')."', '".XL('December')."');\n"; return $jscode; } function datepicker($args) { global $DatepickerFormat; global $DatepickerImg; global $FarmPubDirUrl; $args = ParseArgs($args); # @DEBUG($args,1); $button = $args['button']; $format = $args['format']; $fieldname = $args['field']; if (empty($format)) $format = $DatepickerFormat; /* // TODO: why did I that ? has to do with fox-fields ... $fieldname2 = str_replace('[','_',$fieldname); $fieldname2 = str_replace(']','_',$fieldname2); */ // if button= specified, create a button to set today's or tommorow's date if ($button == 'today') $buttondate = date($format); elseif ($button == 'tomorrow') $buttondate = date($format,time()+(24*60*60)); $code = "\n\n"; // if icon is defined show image (if not overwritten by option usetextbutton=1 // does not work (starts reloading, so calendarbox disapears after a second) ! so use + instead if (!empty($DatepickerImg) and empty($args['usetextbutton'])) $code .= '['.XL('select').']'."\n"; if (!empty($button)) $code .= ''; $code .= "\n\n"; return keep($code); } ?>