Adds yet another toolbar to the entry interface
Largely untested, this plugin won't be part of the standard distribution, for now — Edoardo Vacchi 2007/09/07 09:09
Copy paste this to fp-plugins/datechanger/plugin.datechanger.php. Have fun!
<?php /* Plugin Name: DateChanger Plugin URI: http://www.nowhereland.it/ Type: Block Description: Let you change date for entries and clutters the interface with another drop down menu Author: NoWhereMan Version: 1.0 Author URI: http://www.nowhereland.it/ */ if (! ( basename($_SERVER['PHP_SELF']) == 'admin.php' && // must be admin area @$_GET['p'] == 'entry' && // must be right panel @$_GET['action'] == 'write' && // must be right action !(@$_POST['timestamp'] || @$_REQUEST['entry']) // must be a new entry ) ) return; function plugin_datechanger_toolbar() { $time = time(); $h = date('H', $time); $m = date('i', $time); $s = date('s', $time); $Y = date('Y', $time); $M = date('m', $time); $D = date('d', $time); echo '<div id="admin-date"><p>'; echo '<label><select name="date[]">'; for ($i=0; $i<24; $i++) { $v = str_pad($i, 2, "0", STR_PAD_LEFT); echo '<option value="' . $v . '"'. (($v == $h)? ' selected="selected"' : ''). '>' . $v . '</option>'; } echo '</select>h</label> :'; echo '<label><select name="date[]">'; for ($i=0; $i<60; $i++) { $v = str_pad($i, 2, "0", STR_PAD_LEFT); echo '<option value="' . $v . '"'. (($v == $m)? ' selected="selected"' : ''). '>' . $v . '</option>'; } echo '</select>mins</label> :'; echo '<label><select name="date[]">'; for ($i=0; $i<60; $i++) { $v = str_pad($i, 2, "0", STR_PAD_LEFT); echo '<option value="' . $v . '"'. (($v == $s)? ' selected="selected"' : ''). '>' . $v . '</option>'; } echo '</select>secs</label> '; echo '<select name="date[]">'; foreach (range(2000, intval($Y)+10) as $v) { echo '<option value="' . $v . '"'. (($v == $Y)? ' selected="selected"' : ''). '>' . $v . '</option>'; } echo '</select>/'; $mths = array( 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec' ); echo '<select name="date[]">'; for ($i=0; $i<12; $i++) { $v = str_pad($i+1, 2, "0", STR_PAD_LEFT); echo '<option value="' . $v . '"'. (($v == $M)? ' selected="selected"' : ''). '>' . $mths[$i] . '</option>'; } echo '</select>/'; echo '<select name="date[]">'; for ($i=1; $i<=31; $i++) { $v = str_pad($i, 2, "0", STR_PAD_LEFT); echo '<option value="' . $v . '"'. (($v == $D)? ' selected="selected"' : ''). '>' . $v . '</option>'; } echo '</select></p></div><!-- end of #admin-date -->'; } add_action('editor_toolbar', 'plugin_datechanger_toolbar'); function plugin_datechanger_check() { if ((isset($_GET['p']) && $_GET['p'] != 'entry') || (isset($_GET['action']) && $_GET['action'] != 'write')) return; if (empty($_POST)) return; if (!empty($_POST['date'])) $date = $_POST['date']; else return; foreach ($date as $v) { if (!is_numeric($v)) return; else $date[] = intval($v); } list($hour, $minute, $second, $year, $month, $day) = $date; $time = mktime ( $hour, $minute, $second, $month, $day, $year ); $_POST['timestamp'] = $time; } add_action('init', 'plugin_datechanger_check'); ?>