User Tools

Site Tools


res:plugins:datechanger
no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


Next revision
res:plugins:datechanger [2019/01/12 17:53] – external edit 127.0.0.1
Line 1: Line 1:
 +====== DateChanger Plugin ======
 +
 +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!
 +
 +
 +<code php>
 +<?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 = sprintf('%02d', $i);
 + 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 = sprintf('%02d', $i);
 + 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 = sprintf('%02d', $i);
 + 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 = sprintf('%02d', $i+1);
 + echo '<option value="' . $v . '"'.
 + (($v == $M)? ' selected="selected"' : '').
 + '>' . $mths[$i] . '</option>';
 + }
 + echo '</select>/';
 +
 + echo '<select name="date[]">';
 + for ($i=1; $i<=31; $i++) {
 + $v = sprintf('%02d', $i);
 + 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');
 +
 +?></code>
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki