Compare commits

..

6 Commits
v2.5 ... master

Author SHA1 Message Date
ivan 0697c2392a readme.txt update 2024-06-12 15:38:19 +03:00
ivan 235b11259a customisable seconds in the widget 2024-06-12 15:29:31 +03:00
ivan ea64a55218 shorting dtime.js 2024-06-12 13:57:10 +03:00
ivan 0832e1504e holyday fixes 2024-06-12 13:02:39 +03:00
ivan e6aa5ad57b v2.555 2022-07-17 20:12:48 +03:00
ivan 7a955031d4 v2.555 2022-07-17 19:33:08 +03:00
3 changed files with 175 additions and 54 deletions

View File

@ -3,7 +3,7 @@
Plugin Name: Discordian Date Function Plugin Name: Discordian Date Function
Plugin URI: https://is3.soundragon.su/discordian-date-function Plugin URI: https://is3.soundragon.su/discordian-date-function
Description: Convert dates in Wordpress to customizable Discordian dates and time (decimal). Also, this plugin provides shortcode and widget used to display the current erisian date with notification of 70 holidays. Based on the Discordian Date plugin by Dan Johnson. Description: Convert dates in Wordpress to customizable Discordian dates and time (decimal). Also, this plugin provides shortcode and widget used to display the current erisian date with notification of 70 holidays. Based on the Discordian Date plugin by Dan Johnson.
Version: 2.5 Version: 2.5555
Author: ivan zlax Author: ivan zlax
Author URI: https://is3.soundragon.su/about Author URI: https://is3.soundragon.su/about
*/ */
@ -21,7 +21,7 @@ function get_ddate($content, $format = "", $originalRequest = null) {
case "get_the_date": case "get_the_date":
case "get_the_time": case "get_the_time":
$post = get_post( $format ); $post = get_post( $format );
if ( get_option('dtime_convert') == '1' ) if (get_option('dtime_convert'))
$standard_date = utcm5_convert(mysql2date( 'U', $post->post_date_gmt )); $standard_date = utcm5_convert(mysql2date( 'U', $post->post_date_gmt ));
else else
$standard_date = getdate (mysql2date( 'U', $post->post_date )); $standard_date = getdate (mysql2date( 'U', $post->post_date ));
@ -29,13 +29,13 @@ function get_ddate($content, $format = "", $originalRequest = null) {
case "get_comment_date": case "get_comment_date":
case "get_comment_time": case "get_comment_time":
$comment = get_comment( $format ); $comment = get_comment( $format );
if ( get_option('dtime_convert') == '1' ) if (get_option('dtime_convert'))
$standard_date = utcm5_convert(mysql2date( 'U', $comment->comment_date_gmt )); $standard_date = utcm5_convert(mysql2date( 'U', $comment->comment_date_gmt ));
else else
$standard_date = getdate (mysql2date( 'U', $comment->comment_date )); $standard_date = getdate (mysql2date( 'U', $comment->comment_date ));
break; break;
case "now": case "now":
if ( get_option('dtime_convert') == '1' ) if (get_option('dtime_convert'))
$standard_date = utcm5_convert(getdate()[0]); $standard_date = utcm5_convert(getdate()[0]);
else else
$standard_date = getdate(); $standard_date = getdate();
@ -195,25 +195,23 @@ class Discordian_Date_Widget extends WP_Widget {
} elseif ($dseason==0 && $dday==21) { } elseif ($dseason==0 && $dday==21) {
$holiday = " Celebrate Hug Day."; $holiday = " Celebrate Hug Day.";
} elseif ($dseason==0 && $dday==26) { } elseif ($dseason==0 && $dday==26) {
$holiday = " Celebrate Backwards Day (Traditional)."; $holiday = " Celebrate yaD sdrawkcaB, Traditional.";
} elseif ($dseason==0 && $dday==37) { } elseif ($dseason==0 && $dday==37) {
$holiday = " Celebrate Aaron Burrs Birthday."; $holiday = " Celebrate Aaron Burr's Birthday.";
} elseif ($dseason==0 && $dday==49) {
$holiday = " Celebrate The Mary Day.";
} elseif ($dseason==0 && $dday==51) { } elseif ($dseason==0 && $dday==51) {
$holiday = " Celebrate Pet Loving Day."; $holiday = " Celebrate Pet Loving Day.";
} elseif ($dseason==0 && $dday==69) { } elseif ($dseason==0 && $dday==69) {
$holiday = " Celebrate Head Chicken/Chicken Head Day."; $holiday = " Celebrate Chicken Head Day.";
} elseif ($dseason==0 && $dday==72) { } elseif ($dseason==0 && $dday==72) {
$holiday = " Celebrate Daytime."; $holiday = " Celebrate Daytime.";
} elseif ($dseason==1 && $dday==4) { } elseif ($dseason==1 && $dday==4) {
$holiday = " Celebrate Grover Clevelands Birthday."; $holiday = " Celebrate Grover Cleveland's Birthday.";
} elseif ($dseason==1 && $dday==11) { } elseif ($dseason==1 && $dday==11) {
$holiday = " Celebrate Discordians for Jesus/Love Your Neighbor Day."; $holiday = " Celebrate Discordians for Jesus/Love Your Neighbor Day.";
} elseif ($dseason==1 && $dday==18) { } elseif ($dseason==1 && $dday==18) {
$holiday = " Celebrate Fools Day."; $holiday = " Celebrate Fool's Day.";
} elseif ($dseason==1 && $dday==19) { } elseif ($dseason==1 && $dday==19) {
$holiday = " Celebrate St. John the Blasphemists Day."; $holiday = " Celebrate St. John the Blasphemist's Day.";
} elseif ($dseason==1 && $dday==34) { } elseif ($dseason==1 && $dday==34) {
$holiday = " Celebrate Omarmas."; $holiday = " Celebrate Omarmas.";
} elseif ($dseason==1 && $dday==43) { } elseif ($dseason==1 && $dday==43) {
@ -221,19 +219,17 @@ class Discordian_Date_Widget extends WP_Widget {
} elseif ($dseason==1 && $dday==68) { } elseif ($dseason==1 && $dday==68) {
$holiday = " Celebrate Mal-2mas."; $holiday = " Celebrate Mal-2mas.";
} elseif ($dseason==1 && $dday==70) { } elseif ($dseason==1 && $dday==70) {
$holiday = " Celebrate Jake Day Jr. (DJ)/Day of the Elppin."; $holiday = " Celebrate Day of the Elppin/Defenestration of Prague Day.";
} elseif ($dseason==1 && $dday==72) { } elseif ($dseason==1 && $dday==72) {
$holiday = " Celebrate Towel Day."; $holiday = " Celebrate Towel Day.";
} elseif ($dseason==2 && $dday==26) { } elseif ($dseason==2 && $dday==26) {
$holiday = " Celebrate Imaginary Friend/Captain Tuttle Day."; $holiday = " Celebrate Imaginary Friend.";
} elseif ($dseason==2 && $dday==28) { } elseif ($dseason==2 && $dday==28) {
$holiday = " Celebrate St. Georges Day."; $holiday = " Celebrate St. George's Day.";
} elseif ($dseason==2 && $dday==30) { } elseif ($dseason==2 && $dday==30) {
$holiday = " Celebrate Zoog Day."; $holiday = " Celebrate Zoog Day.";
} elseif ($dseason==2 && $dday==36) {
$holiday = " Celebrate June 31st for Popes.";
} elseif ($dseason==2 && $dday==37) { } elseif ($dseason==2 && $dday==37) {
$holiday = " Celebrate Mid-Years Day."; $holiday = " Celebrate Mid-Year's Day.";
} elseif ($dseason==2 && $dday==40) { } elseif ($dseason==2 && $dday==40) {
$holiday = " Celebrate X-Day."; $holiday = " Celebrate X-Day.";
} elseif ($dseason==2 && $dday==55) { } elseif ($dseason==2 && $dday==55) {
@ -242,36 +238,42 @@ class Discordian_Date_Widget extends WP_Widget {
$holiday = " Celebrate John Dillinger Day."; $holiday = " Celebrate John Dillinger Day.";
} elseif ($dseason==3 && $dday==3) { } elseif ($dseason==3 && $dday==3) {
$holiday = " Celebrate Multiversal Underwear Day."; $holiday = " Celebrate Multiversal Underwear Day.";
} elseif ($dseason==3 && $dday==10) {
$holiday = " Celebrate St. Cecil Day.";
} elseif ($dseason==3 && $dday==18) { } elseif ($dseason==3 && $dday==18) {
$holiday = " Celebrate Festival of Hanky-Panky Spankies."; $holiday = " Celebrate Spanking Fest.";
} elseif ($dseason==3 && $dday==33) { } elseif ($dseason==3 && $dday==33) {
$holiday = " Celebrate Cat Dancing & Pussyfoot Day."; $holiday = " Celebrate Pussyfoot Day.";
} elseif ($dseason==3 && $dday==37) { } elseif ($dseason==3 && $dday==37) {
$holiday = " Celebrate Mass of Planet Eris/Eristotle."; $holiday = " Celebrate Mass of Planet Eris/Mass of Eristotle.";
} elseif ($dseason==3 && $dday==39) { } elseif ($dseason==3 && $dday==39) {
$holiday = " Celebrate St. Mammes's Day."; $holiday = " Celebrate St. Mammes's Day.";
} elseif ($dseason==3 && $dday==41) { } elseif ($dseason==3 && $dday==41) {
$holiday = " Celebrate Emperor Norton Proclamation Day."; $holiday = " Celebrate Emperor Norton Proclamation Day.";
} elseif ($dseason==3 && $dday==55) {
$holiday = " Celebrate Feast of St. John Blasphemist.";
} elseif ($dseason==3 && $dday==57) { } elseif ($dseason==3 && $dday==57) {
$holiday = " Celebrate Shamlicht Kids Club Day."; $holiday = " Celebrate Shamlicht Kids Club Day.";
} elseif ($dseason==3 && $dday==59) { } elseif ($dseason==3 && $dday==59) {
$holiday = " Celebrate Gonkulator Day (Gonculator Day)."; $holiday = " Celebrate Gonculator Day.";
} elseif ($dseason==3 && $dday==60) { } elseif ($dseason==3 && $dday==60) {
$holiday = " Celebrate Mad Hatter Day."; $holiday = " Celebrate Mad Hatter Day.";
} elseif ($dseason==3 && $dday==66) { } elseif ($dseason==3 && $dday==66) {
$holiday = " Celebrate Habeas Corpus Remembrance Day."; $holiday = " Celebrate Habeas Corpus Remembrance Day.";
} elseif ($dseason==4 && $dday==17) {
$holiday = " Celebrate Pope Night.";
} elseif ($dseason==4 && $dday==28) { } elseif ($dseason==4 && $dday==28) {
$holiday = " Celebrate Ek-sen-triks CluborGuild Day."; $holiday = " Celebrate Ek-sen-triks CluborGuild Day.";
} elseif ($dseason==4 && $dday==36) {
$holiday = " Celebrate Spanking Fest.";
} elseif ($dseason==4 && $dday==37) { } elseif ($dseason==4 && $dday==37) {
$holiday = " Celebrate 537 Day, sometimes Turkey Day."; $holiday = " Celebrate 537 Day.";
} elseif ($dseason==4 && $dday==40) { } elseif ($dseason==4 && $dday==40) {
$holiday = " Celebrate Omars Day."; $holiday = " Celebrate Omar's Day.";
} elseif ($dseason==4 && $dday==43) { } elseif ($dseason==4 && $dday==43) {
$holiday = " Celebrate Day D."; $holiday = " Celebrate Day D.";
} elseif ($dseason==4 && $dday==46) { } elseif ($dseason==4 && $dday==46) {
$holiday = " Celebrate Hug Day II."; $holiday = " Celebrate Hug Day II.";
} elseif ($dseason==4 && $dday==56) {
$holiday = " Celebrate Agnostica.";
} elseif ($dseason==4 && $dday==65) { } elseif ($dseason==4 && $dday==65) {
$holiday = " Celebrate Circlemas."; $holiday = " Celebrate Circlemas.";
} }
@ -281,7 +283,15 @@ class Discordian_Date_Widget extends WP_Widget {
$body = apply_filters('widget_text', $instance['body']); $body = apply_filters('widget_text', $instance['body']);
ob_start(); ob_start();
echo "<div class=\"discordian_date_func\" style=\"width:100%;text-align:center;font-size:18px;line-height:36px;padding-top:40px;padding-bottom:40px;\"> Today is "; echo "<div class=\"discordian_date_func\" style=\"width:100%;text-align:center;font-size:18px;line-height:36px;padding-top:40px;padding-bottom:40px;\">";
if (get_option('dtime_widget')) {
if (get_option('dtime_convert'))
echo "<script type=\"text/javascript\">var eastertime = true;</script>";
if (get_option('dtime_widgetsec'))
echo "<script type=\"text/javascript\">var widgetsec = true;</script>";
echo "<h1 style=\"font-size: 255%\" id=\"dtime\"></h1>";
}
echo "Today is ";
echo get_ddate($content, $format, "now")."."; echo get_ddate($content, $format, "now").".";
if ($holiday) echo "<br><b>".$holiday."</b>"; if ($holiday) echo "<br><b>".$holiday."</b>";
echo "</div>"; echo "</div>";
@ -364,6 +374,14 @@ function ddatefunc_admin() {
update_option('dtime_convert', "1"); update_option('dtime_convert', "1");
else else
update_option('dtime_convert', "0"); update_option('dtime_convert', "0");
if (isset($_POST['dtime_widget_checkbox']))
update_option('dtime_widget', "1");
else
update_option('dtime_widget', "0");
if (isset($_POST['dtime_widgetsec_checkbox']))
update_option('dtime_widgetsec', "1");
else
update_option('dtime_widgetsec', "0");
echo '<div id="setting-error-settings_updated" class="updated settings-error"><p><b>'.__('Settings saved.').'</b></p></div>'; echo '<div id="setting-error-settings_updated" class="updated settings-error"><p><b>'.__('Settings saved.').'</b></p></div>';
} }
?> ?>
@ -426,7 +444,7 @@ Examples<br>
</td> </td>
</tr> </tr>
<tr valign="top"> <tr valign="top">
<th scope="row">Use Erisian start of the day - <a href="https://www.reddit.com/r/Time/comments/fhys8v/erisian_time/">starts 5 Christian hours later than the day in London</a>:</th> <th scope="row">Use Erisian start of the day - <a href="https://discordia.fandom.com/wiki/Erisian_Time">starts 5 Christian hours later than the day in London</a>:</th>
<td> <td>
<fieldset> <fieldset>
<legend class="screen-reader-text"> <legend class="screen-reader-text">
@ -438,6 +456,32 @@ Examples<br>
</fieldset> </fieldset>
</td> </td>
</tr> </tr>
<tr valign="top">
<th scope="row">Show Erisian time clock in the widget:</th>
<td>
<fieldset>
<legend class="screen-reader-text">
<span>Erisian time in the widget</span>
</legend>
<label for="users_can_register">
<input name="dtime_widget_checkbox" id="users_can_register" type="checkbox" value="1" <?php if(get_option('dtime_widget')==1) { echo 'checked="checked"'; } ?>>
</label>
</fieldset>
</td>
</tr>
<tr valign="top">
<th scope="row">Display seconds in erisian time clock in the widget:</th>
<td>
<fieldset>
<legend class="screen-reader-text">
<span>Seconds in the widget</span>
</legend>
<label for="users_can_register">
<input name="dtime_widgetsec_checkbox" id="users_can_register" type="checkbox" value="1" <?php if(get_option('dtime_widgetsec')==1) { echo 'checked="checked"'; } ?>>
</label>
</fieldset>
</td>
</tr>
</table> </table>
<div class="submit"> <div class="submit">
<input name="save" type="submit" class="button-primary" value="<?php echo __('Save Cganges'); ?>" /> <input name="save" type="submit" class="button-primary" value="<?php echo __('Save Cganges'); ?>" />
@ -447,12 +491,12 @@ Examples<br>
<?php <?php
} }
function ddatefunc_settings( $actions, $plugin_file ) { function ddatefunc_settings($actions, $plugin_file) {
if( false === strpos( $plugin_file, basename(__FILE__) ) ) if (false === strpos($plugin_file, basename(__FILE__)))
return $actions; return $actions;
$settings_link = '<a href="options-general.php?page=ddatefunc.php' .'">Settings</a>'; $settings_link = '<a href="options-general.php?page=ddatefunc.php' .'">Settings</a>';
array_unshift( $actions, $settings_link ); array_unshift($actions, $settings_link);
return $actions; return $actions;
} }
@ -461,27 +505,38 @@ function ddatefunc_deinstall() {
delete_option('ddatefunc_change'); delete_option('ddatefunc_change');
delete_option('dtimefunc_change'); delete_option('dtimefunc_change');
delete_option('dtime_convert'); delete_option('dtime_convert');
delete_option('dtime_widget');
delete_option('dtime_widgetsec');
} }
add_shortcode( 'today_ddate', 'return_today_ddate' ); function ddatefunc_init() {
add_action( 'widgets_init', 'register_ddatefunc_widget' ); wp_enqueue_script('dtime', plugins_url('/dtime.js', __FILE__));
add_option( 'ddatefunc_string', '%DD day of %DS, in the yold %DY');
add_option( 'ddatefunc_change', '1');
add_option( 'dtimefunc_change', '1');
add_option( 'dtime_convert', '1');
add_filter( 'plugin_action_links', 'ddatefunc_settings', 10, 2 );
add_action( 'admin_menu', 'ddatefunc_add_admin' );
if ( get_option('ddatefunc_change') == '1' ) {
add_filter( 'get_the_date','get_the_ddate_post' );
add_filter( 'get_comment_date','get_the_ddate_comment' );
} }
if ( get_option('dtimefunc_change') == '1' ) { add_shortcode('today_ddate', 'return_today_ddate');
add_filter( 'get_the_time','get_the_dtime_post' ); add_action('widgets_init', 'register_ddatefunc_widget');
add_filter( 'get_comment_time','get_the_dtime_comment' ); add_option('ddatefunc_string', '%DD day of %DS, in the yold %DY');
add_option('ddatefunc_change', '1');
add_option('dtimefunc_change', '1');
add_option('dtime_convert', '1');
add_option('dtime_widget', '1');
add_option('dtime_widgetsec', '1');
add_filter('plugin_action_links', 'ddatefunc_settings', 10, 2);
add_action('admin_menu', 'ddatefunc_add_admin');
if (get_option('ddatefunc_change')) {
add_filter('get_the_date','get_the_ddate_post');
add_filter('get_comment_date','get_the_ddate_comment');
} }
if (get_option('dtimefunc_change')) {
add_filter('get_the_time','get_the_dtime_post');
add_filter('get_comment_time','get_the_dtime_comment');
}
if (get_option('dtime_widget'))
add_action('wp_enqueue_scripts','ddatefunc_init');
if (function_exists('register_uninstall_hook')) if (function_exists('register_uninstall_hook'))
register_uninstall_hook(__FILE__, 'ddatefunc_deinstall'); register_uninstall_hook(__FILE__, 'ddatefunc_deinstall');

54
dtime.js Normal file
View File

@ -0,0 +1,54 @@
/*
* based on:
* https://gitlab.com/zlax/dtime-js
*/
function addZero(numeral) {
if (numeral < 10)
return "0"+numeral;
return numeral;
}
function dtime(gregorianDate,resultar="default") {
if (typeof eastertime != "undefined") {
// Easter Island Winter Time Zone offset (-5*60*60*1000)
var date = new Date(gregorianDate.getTime()-18000000);
var christianMSDay = date.valueOf() % 86400000;
} else {
// Christian Time Zone calculation
var date = new Date(gregorianDate.getTime());
var h = date.getHours();
var m = date.getMinutes();
var s = date.getSeconds();
var ms = date.getMilliseconds();
var christianMSDay = h*3600000+m*60000+s*1000+ms;
}
var erisianSecondsDay = (christianMSDay/864);
var hour = Math.floor(erisianSecondsDay/10000);
erisianSecondsDay %= 10000;
var minute = Math.floor(erisianSecondsDay/100);
erisianSecondsDay %= 100;
var second = Math.floor(erisianSecondsDay);
switch (resultar) {
case "seconds":
return hour+":"+addZero(minute)+":"+addZero(second);
break;
default:
return hour+":"+addZero(minute);
break;
}
}
function go() {
if (typeof widgetsec != "undefined")
document.getElementById("dtime").innerHTML = dtime(new Date(), "seconds");
else
document.getElementById("dtime").innerHTML = dtime(new Date());
}
window.onload = function() {
go();
// 1 discordian decimal second = 864 christian milliseconds
setInterval(go, 864);
}

View File

@ -1,23 +1,23 @@
=== Discordian Date Function === === Discordian Date Function ===
Contributors: zlaxyi Contributors: zlaxyi
Donate link: https://is3.soundragon.su/discordian-date-function Donate link: https://is3.soundragon.su/discordian-date-function
Tags: date, time, discordian, erisian, widget, eris, discordia, calendar Tags: date, time, discordian, erisian, widget, eris, discordia, calendar, ddate, dtime
Requires at least: 2.0 Requires at least: 2.0
Tested up to: 5.4 Tested up to: 6.6
Stable tag: trunk Stable tag: trunk
License: DWTWL 2.55 License: DWTWL 2.55
License URI: https://soundragon.su/license/license.html License URI: https://soundragon.su/license/license.html
This plugin provides Erisian (Discordian) dates and time in Wordpress. This plugin provides Erisian (Discordian) dates and time in Wordpress.
Also provides shortcode and widget which displays the current date according to the Discordian calendar, with notification of more than 70 holidays. Also provides shortcode and widget which displays the clock, current date according to the Discordian calendar, with notification of more than 70 holidays.
== Description == == Description ==
This plugin allows WordPress to easily show customizable Erisian dates and time (decimal) instead of the standard Gregorian dates. No theme changes are required. This plugin allows WordPress to easily show customizable Erisian dates and time (decimal) instead of the standard Gregorian dates. No theme changes are required.
The Discordian Date Function plugin provides a widget which will display the current date according to the [Discordian calendar](http://en.wikipedia.org/wiki/Discordian_calendar). This functional based on the Discordian Date plugin by Dan Johnson. The Discordian Date Function plugin provides a widget which will display the current Erisian time and date according to the [Discordian calendar](http://en.wikipedia.org/wiki/Discordian_calendar). This functional based on the Discordian Date plugin by Dan Johnson.
And you can add the shortcode [today_ddate] in posts or pages for show the Discordian date of today. Also you can add the shortcode [today_ddate] in posts or pages for show the Discordian date of today.
== Installation == == Installation ==
@ -41,10 +41,22 @@ Feel free to ask any questions about this plugin at the [Discordian Date Functio
== Changelog == == Changelog ==
= 2.5555 =
*Release Date - 17th day of Confusion 3190*
* Customisable seconds in the widget
* Specification of holidays
* Minor fixes
= 2.555 =
*Release Date - 52nd day of Confusion, 3188*
* Add optional Erisian time clock to the widget.
= 2.5 = = 2.5 =
*Release Date - 21st day of Discord, 3186* *Release Date - 21st day of Discord, 3186*
* Add optional [Erisian (decimal) time](https://www.reddit.com/r/Time/comments/fhys8v/erisian_time/) support * Add optional [Erisian (decimal) time](https://www.reddit.com/r/Time/comments/fhys8v/erisian_time/) support.
= 0.555 = = 0.555 =
*Release Date - 60th day of Chaos, 3186* *Release Date - 60th day of Chaos, 3186*
@ -66,5 +78,5 @@ Feel free to ask any questions about this plugin at the [Discordian Date Functio
== Upgrade Notice == == Upgrade Notice ==
= 2.5 = = 2.5555 =
This version is actual. This version is actual.