109
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
1 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
2 |
/* |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
3 |
Plugin Name: Future Calendar |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
4 |
Plugin URI: http://anthologyoi.com/wordpress/plugins/future-posts-calendar-plugin.html |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
5 |
Description: A simple plugin that utalizes a modified get_calendar function that shows what dates have a future post scheduled in a calendar format, and makes it easy to change the current timestamp. Temperature Functionality and some tweaks by Flavio Jarabeck (www.InternetDrops.com.br) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
6 |
Author: Aaron Harun |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
7 |
Version: 1.0 |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
8 |
Author URI: http://anthologyoi.com/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
9 |
*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
10 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
11 |
/*Uncomment the following line if you want to have the calendar appear on the dashboard.*/ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
12 |
//add_action('activity_box_end', 'get_future_calendar_html'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
13 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
14 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
15 |
if (strpos($_SERVER['PHP_SELF'], 'post')){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
16 |
if($wp_version < 2.5){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
17 |
add_action('dbx_post_sidebar', 'get_future_calendar_html',2); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
18 |
}else{ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
19 |
add_action('submitpost_box', 'get_future_calendar_html'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
20 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
21 |
add_action('admin_head', 'fcal_javascript'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
22 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
23 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
24 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
25 |
// This gets called at the plugins_loaded action |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
26 |
function widget_fut_posts_init() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
27 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
28 |
// Check for the required API functions |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
29 |
if ( !function_exists('register_sidebar_widget') || !function_exists('register_widget_control') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
30 |
return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
31 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
32 |
// This saves options and prints the widget's config form. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
33 |
function widget_fut_posts_control() { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
34 |
$options = $newoptions = get_option('widget_fut_posts'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
35 |
if ( $_POST['fut_posts-submit'] ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
36 |
$newoptions['title'] = strip_tags(stripslashes($_POST['fut_posts-title'])); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
37 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
38 |
if ( $options != $newoptions ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
39 |
$options = $newoptions; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
40 |
update_option('widget_fut_posts', $options); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
41 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
42 |
?> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
43 |
<div style="text-align:right"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
44 |
<label for="fut_posts-title" style="line-height:35px;display:block;"><?php _e('Widget title:', 'widgets'); ?> <input type="text" id="fut_posts-title" name="fut_posts-title" value="<?php echo wp_specialchars($options['title'], true); ?>" /></label> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
45 |
<input type="hidden" name="fut_posts-submit" id="fut_posts-submit" value="1" /> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
46 |
</div> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
47 |
<?php |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
48 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
49 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
50 |
// This prints the widget |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
51 |
function widget_fut_posts($args) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
52 |
extract($args); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
53 |
$defaults = array('title' => 'Future Posts'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
54 |
$options = (array) get_option('widget_fut_posts'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
55 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
56 |
foreach ( $defaults as $key => $value ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
57 |
if ( !isset($options[$key]) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
58 |
$options[$key] = $defaults[$key]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
59 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
60 |
echo $before_widget . $before_title . $title . $after_title; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
61 |
fcal_get_future_posts(0); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
62 |
echo $after_widget; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
63 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
64 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
65 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
66 |
register_sidebar_widget('Future Posts', 'widget_fut_posts'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
67 |
register_widget_control('Future Posts', 'widget_fut_posts_control'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
68 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
69 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
70 |
// Delay plugin execution to ensure Dynamic Sidebar has a chance to load first |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
71 |
add_action('widgets_init', 'widget_fut_posts_init'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
72 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
73 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
74 |
function future_post_sidebar(){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
75 |
$title = __('Future Post','fcal'); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
76 |
echo '<div>' . '<h3>' . $title . '</h3>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
77 |
fcal_get_future_posts(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
78 |
echo '</div>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
79 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
80 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
81 |
function fcal_javascript(){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
82 |
echo ' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
83 |
<script type="text/javascript"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
84 |
function fcal_set_date(day,month,year){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
85 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
86 |
if(day > 0 && month <= 12 && month >= 0 && year > 0){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
87 |
document.getElementById("jj").value = day; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
88 |
document.getElementById("aa").value = year; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
89 |
document.getElementsByName("mm")[0].selectedIndex = month; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
90 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
91 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
92 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
93 |
</script> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
94 |
'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
95 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
96 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
97 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
98 |
function get_future_calendar_html(){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
99 |
global $wp_version; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
100 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
101 |
if($wp_version < 2.5){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
102 |
echo '<fieldset id="future_cal" class="dbx-box side-info">'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
103 |
echo '<h3 class="dbx-handle">'.__('Future Post Dates','fcal').'</h3>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
104 |
echo '<div class="dbx-content">'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
105 |
fcal_get_future_posts(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
106 |
echo '</div></fieldset>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
107 |
}else{ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
108 |
echo '<div class="inside">'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
109 |
echo '<p><strong>'.__('Future Post Dates','fcal').'</strong></p>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
110 |
fcal_get_future_posts(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
111 |
echo '</div>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
112 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
113 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
114 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
115 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
116 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
117 |
function fcal_get_future_posts($onclick = 1){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
118 |
global $wpdb, $wp_locale; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
119 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
120 |
$thisyear = gmdate('Y', current_time('timestamp')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
121 |
$thismonth = gmdate('m', current_time('timestamp')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
122 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
123 |
// Quick check. If we have no posts at all, abort! |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
124 |
if ( !$posts ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
125 |
$gotsome = $wpdb->get_var("SELECT ID from $wpdb->posts WHERE post_type = 'post' AND post_status = 'future' ORDER BY post_date DESC LIMIT 1"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
126 |
if ( !$gotsome ){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
127 |
get_future_calendar($thismonth,$thisyear,$onclick); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
128 |
return; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
129 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
130 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
131 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
132 |
get_future_calendar($thismonth,$thisyear,$onclick); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
133 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
134 |
//Technically thismonth is really nextmonth, but no reason to be technical about it |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
135 |
//But if thismonth is 12 then we need to reset it, and add a year otherwise we will be checking |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
136 |
// out the 13th month of this year. |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
137 |
if($thismonth == 12){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
138 |
$thismonth = 0; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
139 |
$thisyear +=1; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
140 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
141 |
// Get months this year and next with at least one post |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
142 |
$future = $wpdb->get_results("SELECT |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
143 |
DISTINCT MONTH(post_date) AS month, YEAR(post_date) AS year |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
144 |
FROM $wpdb->posts |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
145 |
WHERE post_date >'$thisyear-".($thismonth+1)."-01' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
146 |
AND post_type = 'post' AND post_status = 'future' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
147 |
ORDER BY post_date ASC"); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
148 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
149 |
foreach($future as $now){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
150 |
get_future_calendar($now->month,$now->year); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
151 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
152 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
153 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
154 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
155 |
// Calendar Output... |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
156 |
function get_future_calendar( $thismonth ='', $thisyear='', $onclick=1, $initial=true ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
157 |
global $wpdb, $timedifference, $wp_locale; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
158 |
$unixmonth = mktime(0, 0 , 0, $thismonth, 1, $thisyear); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
159 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
160 |
// week_begins = 0 stands for Sunday |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
161 |
$week_begins = intval(get_option('start_of_week')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
162 |
$add_hours = intval(get_option('gmt_offset')); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
163 |
$add_minutes = intval(60 * (get_option('gmt_offset') - $add_hours)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
164 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
165 |
echo '<table class="wp-calendar"> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
166 |
<caption><em>' . $wp_locale->get_month($thismonth) . ' ' . $thisyear . '</em></caption> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
167 |
<thead> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
168 |
<tr>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
169 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
170 |
$myweek = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
171 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
172 |
for ( $wdcount=0; $wdcount<=6; $wdcount++ ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
173 |
$myweek[] = $wp_locale->get_weekday(($wdcount+$week_begins)%7); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
174 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
175 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
176 |
foreach ( $myweek as $wd ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
177 |
$day_name = (true == $initial) ? $wp_locale->get_weekday_initial($wd) : $wp_locale->get_weekday_abbrev($wd); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
178 |
echo "\n\t\t<th abbr=\"$wd\" scope=\"col\" title=\"$wd\">$day_name</th>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
179 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
180 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
181 |
echo ' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
182 |
</tr> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
183 |
</thead> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
184 |
<tbody> |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
185 |
<tr>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
186 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
187 |
// Get days with posts |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
188 |
$dayswithposts = $wpdb->get_results("SELECT DISTINCT DAYOFMONTH(post_date) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
189 |
FROM $wpdb->posts WHERE MONTH(post_date) = '$thismonth' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
190 |
AND YEAR(post_date) = '$thisyear' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
191 |
AND post_type = 'post' AND post_status = 'future' |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
192 |
AND post_date > '" . current_time('mysql') . '\'', ARRAY_N); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
193 |
if ( $dayswithposts ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
194 |
foreach ( $dayswithposts as $daywith ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
195 |
$daywithpost[] = $daywith[0]; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
196 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
197 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
198 |
$daywithpost = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
199 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
200 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
201 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
202 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
203 |
if ( strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'camino') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'safari') ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
204 |
$ak_title_separator = "\n"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
205 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
206 |
$ak_title_separator = ', '; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
207 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
208 |
$ak_titles_for_day = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
209 |
//sets the Density Thermometer |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
210 |
$ak_posts_for_day = array(); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
211 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
212 |
$ak_post_titles = $wpdb->get_results("SELECT post_title, DAYOFMONTH(post_date) as dom " |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
213 |
."FROM $wpdb->posts " |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
214 |
."WHERE YEAR(post_date) = '$thisyear' " |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
215 |
."AND MONTH(post_date) = '$thismonth' " |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
216 |
."AND post_date > '".current_time('mysql')."' " |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
217 |
."AND post_type = 'post' AND post_status = 'future'" |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
218 |
); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
219 |
if ( $ak_post_titles ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
220 |
foreach ( $ak_post_titles as $ak_post_title ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
221 |
if ( empty($ak_titles_for_day['day_'.$ak_post_title->dom]) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
222 |
$ak_titles_for_day['day_'.$ak_post_title->dom] = ''; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
223 |
if ( empty($ak_titles_for_day["$ak_post_title->dom"]) ) // first one |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
224 |
$ak_titles_for_day["$ak_post_title->dom"] = str_replace('"', '"', wptexturize($ak_post_title->post_title)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
225 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
226 |
$ak_titles_for_day["$ak_post_title->dom"] .= $ak_title_separator . str_replace('"', '"', wptexturize($ak_post_title->post_title)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
227 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
228 |
$ak_posts_for_day["$ak_post_title->dom"] +=1; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
229 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
230 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
231 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
232 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
233 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
234 |
// See how much we should pad in the beginning |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
235 |
$pad = calendar_week_mod(date('w', $unixmonth)-$week_begins); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
236 |
if ( 0 != $pad ) { echo "\n\t\t".'<td colspan="'.$pad.'" class="pad"> </td>'; } |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
237 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
238 |
//Determines the Density Thermometer colors |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
239 |
$thermo = Array( "#BDFFBE", "#7AFFDE", "#2FEEFF", "#108BFF", "#0E72FF" ); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
240 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
241 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
242 |
$daysinmonth = intval(date('t', $unixmonth)); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
243 |
for ( $day = 1; $day <= $daysinmonth; ++$day ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
244 |
if ( isset($newrow) && $newrow ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
245 |
echo "\n\t</tr>\n\t<tr>\n\t\t"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
246 |
$newrow = false; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
247 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
248 |
if ( $day == gmdate('j', (time() + (get_option('gmt_offset') * 3600))) && $thismonth == gmdate('m', time()+(get_option('gmt_offset') * 3600)) && $thisyear == gmdate('Y', time()+(get_option('gmt_offset') * 3600)) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
249 |
echo '<td style="font-weight:bold;">'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
250 |
else |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
251 |
echo '<td>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
252 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
253 |
if($onclick == 1){ |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
254 |
$onclick1 = 'onclick="fcal_set_date('.$day.','.($thismonth-1).','.$thisyear.')"'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
255 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
256 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
257 |
// any posts on that day? |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
258 |
if ( in_array($day, $daywithpost) ) { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
259 |
//Outputs the Density Thermometer along with the day... |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
260 |
echo '<span style="background-color:'.($ak_posts_for_day[$day]<=Count($thermo) ? $thermo[$ak_posts_for_day[$day]-1] : $thermo[Count($thermo)-1]).';" title="'.$ak_titles_for_day[$day].' '.$onclick1.' >'.$day.'</span>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
261 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
262 |
} else { |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
263 |
echo '<span '.$onclick1.' >'.$day.'</span>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
264 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
265 |
echo '</td>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
266 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
267 |
if ( 6 == calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins) ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
268 |
$newrow = true; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
269 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
270 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
271 |
$pad = 7 - calendar_week_mod(date('w', mktime(0, 0 , 0, $thismonth, $day, $thisyear))-$week_begins); |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
272 |
if ( $pad != 0 && $pad != 7 ) |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
273 |
echo "\n\t\t".'<td class="pad" colspan="'.$pad.'"> </td>'; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
274 |
|
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
275 |
echo "\n\t</tr>\n\t</tbody>\n\t</table>"; |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
276 |
} |
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff
changeset
|
277 |
?> |