Version update
This commit is contained in:
159
ddatefunc.php
159
ddatefunc.php
@@ -2,8 +2,8 @@
|
||||
/*
|
||||
Plugin Name: Discordian Date Function
|
||||
Plugin URI: https://is3.soundragon.su/discordian-date-function
|
||||
Description: Convert dates in Wordpress to Discordian dates. Also, this plugin provides shortcode and widget used to display the current erisian date with notification of 70 holydays. Based on the Discordian Date plugin by Dan Johnson.
|
||||
Version: 0.5
|
||||
Description: Convert dates in Wordpress to customizable Discordian dates. Also, this plugin provides shortcode and widget used to display the current erisian date with notification of 70 holydays. Based on the Discordian Date plugin by Dan Johnson.
|
||||
Version: 0.55
|
||||
Author: ivan zlax
|
||||
Author URI: https://is3.soundragon.su/about
|
||||
*/
|
||||
@@ -37,6 +37,7 @@ function get_ddate($content, $format = "", $originalRequest = null) {
|
||||
$dseason=(int)($yday/73);
|
||||
$name_season=$season_list[$dseason];
|
||||
$dday=($yday-(73*$dseason))+1;
|
||||
$clear_dday=$dday;
|
||||
$suff=$dday%10;
|
||||
|
||||
switch ($suff) {
|
||||
@@ -54,8 +55,34 @@ function get_ddate($content, $format = "", $originalRequest = null) {
|
||||
}
|
||||
|
||||
$dweekday=$day_list[($yday%5)];
|
||||
$ddate=$dweekday.", the ".$dday." day of ".$name_season.", in the yold ".$dyear;
|
||||
|
||||
if ($originalRequest == "now") {
|
||||
$ddate=$dweekday.", the ".$dday." day of ".$name_season.", in the yold ".$dyear;
|
||||
} else {
|
||||
$patterns = array();
|
||||
$patterns[0] = '%DY';
|
||||
$patterns[1] = '%DS';
|
||||
$patterns[2] = '%DD';
|
||||
$patterns[3] = '%DC';
|
||||
$patterns[4] = '%DW';
|
||||
$patterns[5] = '%GY';
|
||||
$patterns[6] = '%GM';
|
||||
$patterns[7] = '%GN';
|
||||
$patterns[8] = '%GD';
|
||||
$patterns[9] = '%GW';
|
||||
$replacements = array();
|
||||
$replacements[0] = $dyear;
|
||||
$replacements[1] = $name_season;
|
||||
$replacements[2] = $dday;
|
||||
$replacements[3] = $clear_dday;
|
||||
$replacements[4] = $dweekday;
|
||||
$replacements[5] = $standard_date["year"];
|
||||
$replacements[6] = $standard_date["month"];
|
||||
$replacements[7] = $standard_date["mon"];
|
||||
$replacements[8] = $standard_date["mday"];
|
||||
$replacements[9] = $standard_date["weekday"];
|
||||
$ddate = str_replace($patterns, $replacements, get_option('ddatefunc_string'));
|
||||
}
|
||||
return $ddate;
|
||||
}
|
||||
|
||||
@@ -77,12 +104,15 @@ class Discordian_Date_Widget extends WP_Widget {
|
||||
$dday=($yday-(73*$dseason))+1;
|
||||
$a_holiday=array("Mungday", "Mojoday", "Syaday", "Zaraday", "Maladay");
|
||||
$s_holiday=array("Chaoflux", "Discoflux", "Confuflux", "Bureflux", "Afflux");
|
||||
$m_holyday=array("Chaomas", "Discomas", "Confumas", "Buremas", "Afmas");
|
||||
$t_holyday=array("Chaosloth", "Discosloth", "Confusloth", "Buresloth", "Afsloth");
|
||||
$e_holyday=array("Mungeye", "Mojeye", "Syadeye", "Zareye", "Maleye");
|
||||
$holyday="";
|
||||
|
||||
if ($dday==5) {
|
||||
$holyday = " Celebrate ".$a_holiday[$dseason].".";
|
||||
$holyday = " Celebrate Apostle Day, ".$a_holiday[$dseason].".";
|
||||
} elseif ($dday==50) {
|
||||
$holyday = " Celebrate ".$s_holiday[$dseason].".";
|
||||
$holyday = " Celebrate Flux Day, ".$s_holiday[$dseason].".";
|
||||
} elseif ($mon==2 && $mday==29) {
|
||||
$holyday = " Celebrate St. Tib's Day.";
|
||||
} elseif ($dseason==2 && $dday==28) {
|
||||
@@ -92,11 +122,11 @@ class Discordian_Date_Widget extends WP_Widget {
|
||||
} elseif ($dseason==4 && $dday==65) {
|
||||
$holyday = " Celebrate Circlemas.";
|
||||
} elseif ($dday==23) {
|
||||
$holyday = " Celebrate Synaptyclypse Day.";
|
||||
$holyday = " Celebrate Synaptyclypse Day, ".$m_holiday[$dseason].".";
|
||||
} elseif ($dday==27) {
|
||||
$holyday = " Celebrate Sloth Day.";
|
||||
$holyday = " Celebrate Sloth Day, ".$t_holiday[$dseason].".";
|
||||
} elseif ($dday==73) {
|
||||
$holyday = " Celebrate Eye Day.";
|
||||
$holyday = " Celebrate Eye Day, ".$e_holiday[$dseason].".";
|
||||
} elseif ($dseason==0 && $dday==8) {
|
||||
$holyday = " Celebrate Death of Emperor Norton.";
|
||||
} elseif ($dseason==0 && $dday==10) {
|
||||
@@ -222,21 +252,21 @@ class Discordian_Date_Widget extends WP_Widget {
|
||||
<input class="widefat" id="<?php echo $title_id; ?>" name="<?php echo $title_name; ?>"
|
||||
type="text" value="<?php echo esc_attr($title); ?>"/>
|
||||
</p>
|
||||
<?php
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
function get_the_ddate_post($content, $format){
|
||||
function get_the_ddate_post($content, $format) {
|
||||
return get_ddate($content, $format, "get_the_date"); }
|
||||
|
||||
function get_the_ddate_comment($content, $format){
|
||||
function get_the_ddate_comment($content, $format) {
|
||||
return get_ddate($content, $format, "get_comment_date"); }
|
||||
|
||||
function register_ddatefunc_widget() {
|
||||
register_widget( 'Discordian_Date_Widget' );
|
||||
}
|
||||
|
||||
function today_ddate(){
|
||||
function today_ddate() {
|
||||
echo return_today_hebDate();
|
||||
}
|
||||
|
||||
@@ -244,7 +274,106 @@ function return_today_ddate() {
|
||||
return get_ddate($content, $format, "now");
|
||||
}
|
||||
|
||||
add_shortcode('today_ddate', 'return_today_ddate');
|
||||
$settings_name = "Discordian Date Function Settings";
|
||||
|
||||
function ddatefunc_add_admin() {
|
||||
global $settings_name;
|
||||
add_options_page(__('Settings').': '.$settings_name, $settings_name, 'edit_themes', basename(__FILE__), 'ddatefunc_admin');
|
||||
}
|
||||
|
||||
function ddatefunc_admin() {
|
||||
global $settings_name;
|
||||
?>
|
||||
<div class="wrap">
|
||||
<?php
|
||||
screen_icon();
|
||||
echo '<h2>'.$settings_name.'</h2>';
|
||||
if (isset($_POST['save'])) {
|
||||
update_option('ddatefunc_string', stripslashes($_POST['textfield']));
|
||||
if (isset($_POST['checkbox']))
|
||||
update_option('ddatefunc_change', "1");
|
||||
else
|
||||
update_option('ddatefunc_change', "0");
|
||||
echo '<div id="setting-error-settings_updated" class="updated settings-error"><p><b>'.__('Settings saved.').'</b></p></div>';
|
||||
}
|
||||
?>
|
||||
<form method="post">
|
||||
<table class="form-table">
|
||||
<tr valign="top">
|
||||
<th scope="row">Date string:</th>
|
||||
<td>
|
||||
<input name="textfield" class="regular-text" type="text" value="<?php echo get_option('ddatefunc_string'); ?>" >
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<th scope="row">Legend:</th>
|
||||
<td>
|
||||
<b>%DY</b> - Discordian yold (example: 3180)<br>
|
||||
<b>%DS</b> - Erisian season name (example: Chaos)<br>
|
||||
<b>%DD</b> - Discordian season day (example: 5th)<br>
|
||||
<b>%DC</b> - Clear erisian day number (example: 5)<br>
|
||||
<b>%DW</b> - Discordian week day (example: Setting Orange)<br>
|
||||
<b>%GY</b> - Gregorian year (example: 2014)<br>
|
||||
<b>%GM</b> - Gregorian month (example: January)<br>
|
||||
<b>%GN</b> - Gregorian month number (example: 1)<br>
|
||||
<b>%GD</b> - Gregorian month day (example: 5)<br>
|
||||
<b>%GW</b> - Gregorian weekday (example: Friday)<br>
|
||||
<br>
|
||||
Examples<br>
|
||||
<br>
|
||||
<b>%DW, the %DD day of %DS, in the yold %DY</b><br> returns:<br><b>Setting Orange, the 5th day of Chaos, in the yold 3180</b><br>
|
||||
<br>
|
||||
<b>%DC %DS, %DY (%GN.%GN.%GY)</b><br> returns:<br><b>5 Chaos, 3180 (5.1.2014)</br>
|
||||
</td>
|
||||
</tr>
|
||||
<tr valign="top">
|
||||
<th scope="row">Convert all post and comments dates:</th>
|
||||
<td>
|
||||
<fieldset>
|
||||
<legend class="screen-reader-text">
|
||||
<span>Convert to Discordian dates</span>
|
||||
</legend>
|
||||
<label for="users_can_register">
|
||||
<input name="checkbox" id="users_can_register" type="checkbox" value="1" <?php if(get_option('ddatefunc_change')==1) { echo 'checked="checked"'; } ?>>
|
||||
</label>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="submit">
|
||||
<input name="save" type="submit" class="button-primary" value="<?php echo __('Save Cganges'); ?>" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
function ddatefunc_settings( $actions, $plugin_file ) {
|
||||
if( false === strpos( $plugin_file, basename(__FILE__) ) )
|
||||
return $actions;
|
||||
|
||||
$settings_link = '<a href="options-general.php?page=ddatefunc.php' .'">Settings</a>';
|
||||
array_unshift( $actions, $settings_link );
|
||||
return $actions;
|
||||
}
|
||||
|
||||
function ddatefunc_deinstall() {
|
||||
delete_option('ddatefunc_string');
|
||||
delete_option('ddatefunc_change');
|
||||
}
|
||||
|
||||
add_shortcode( 'today_ddate', 'return_today_ddate' );
|
||||
add_action( 'widgets_init', 'register_ddatefunc_widget' );
|
||||
add_filter( 'get_the_date','get_the_ddate_post' );
|
||||
add_filter( 'get_comment_date','get_the_ddate_comment' );
|
||||
add_option( 'ddatefunc_string', '%DD day of %DS, in the yold %DY');
|
||||
add_option( 'ddatefunc_change', '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 (function_exists('register_uninstall_hook'))
|
||||
register_uninstall_hook(__FILE__, 'ddatefunc_deinstall');
|
||||
Reference in New Issue
Block a user