diff --git a/admin/add_broadcast_page.old b/admin/add_broadcast_page.old
deleted file mode 100644
index 976b6a0..0000000
--- a/admin/add_broadcast_page.old
+++ /dev/null
@@ -1,174 +0,0 @@
- array(
- 'name' => __('Trasmissioni'),
- 'add_new' => __('Aggiungi Trasmissione'),
- 'new_item' => __('Nuova Trasmissione')
- ),
- 'public' => true,
- 'hierarchical' => false,
- 'exclude_from_search' => true,
- 'show_ui' => true,
- 'show_in_menu' => true,
- 'menu_position' => 3,
- 'has_archive' => false,
- 'supports' => array(
- 'title',
- 'editor',
- 'excerpt',
- 'thumbnail',
- 'post-formats'
- ),
- 'menu_icon' => 'dashicons-microphone',
- )
- );
-}
-add_action('init', 'create_broadcast_post');
-
-add_action('add_meta_boxes', 'live_meta_box_add');
-function live_meta_box_add()
-{
- //give name of your input field
- add_meta_box('orari-dirette', 'ORARI DELLA DIRETTA', 'orari_dirette_input', 'broadcast', 'normal', 'high');
- add_meta_box('orari-repliche', 'ORARI DELLE REPLICHE', 'orari_repliche_input', 'broadcast', 'normal', 'high');
-}
-
-function orari_dirette_input($post)
-{
- $values = get_post_custom($post->ID);
- $onair_day = isset($values['on_air_day']) ? esc_attr($values['on_air_day'][0]) : '';
- $text_start = isset($values['on_air_start']) ? esc_attr($values['on_air_start'][0]) : '';
- $text_end = isset($values['on_air_end']) ? esc_attr($values['on_air_end'][0]) : '';
- $broadcast = term_exists('Podcast', 'category', 0);
- $old_term = term_exists($post->post_title, 'category', $broadcast);
- wp_nonce_field('on_air_nonce', 'onair_nonce'); ?>
-
-
-
-
-
-
-
-
-
-
-
-
-
-ID);
- $text_start = array();
- $text_end = array();
- wp_nonce_field('rerun_nonce', 're_run_nonce');
- for ($x=0;$x<7;$x++) :
- $rerun_day[$x] = isset($values['rerun_day_'.$x]) ? esc_attr($values['rerun_day_'.$x][0]) : '';
- $text_start[$x] = isset($values['rerun_start_'.$x]) ? esc_attr($values['rerun_start_'.$x][0]) : '';
- $text_end[$x] = isset($values['rerun_end_'.$x]) ? esc_attr($values['rerun_end_'.$x][0]) : ''; ?>
-
-
Replica n.
-
-
-
-
-
-
-
-
-
-
-
-
-
-';
- print_r($_POST);
- echo '';
- exit();
- */
- // now we can actually save the data
- $allowed = array(
- 'a' => array( // on allow a tags
- 'href' => array() // and those anchords can only have href attribute
- )
- );
- if (isset($_POST['on_air_start'])) {
- $broadcast = term_exists('Podcast', 'category', 0);
- $check = term_exists(intval($_POST['taxonomy_id']), 'category', $broadcast['term_id']);
- if (intval($check['term_id']) > 0) {
- $args = array(
- 'cat_ID' => intval($check['term_id']),
- 'taxonomy' => 'category',
- 'cat_name' => $_POST['post_title'],
- 'category_description' => '',
- 'category_nicename' => $_POST['post_name'],
- 'category_parent' => $broadcast['term_id']
- );
- $test = wp_insert_category($args);
- } else {
- $args = array(
- 'parent' => $broadcast['term_id'],
- 'slug' => strtolower(wp_specialchars(str_replace(" ", "-", $_POST['post_title']))),
- );
- wp_insert_term($_POST['post_title'], 'category', $args);
- }
- update_post_meta($post_id, 'taxonomy_id', wp_kses($_POST['taxonomy_id'], $allowed));
- update_post_meta($post_id, 'on_air_day', wp_kses($_POST['on_air_day'], $allowed));
- update_post_meta($post_id, 'on_air_start', wp_kses($_POST['on_air_start'], $allowed));
- update_post_meta($post_id, 'on_air_end', wp_kses($_POST['on_air_end'], $allowed));
- for ($x=0;$x<7;$x++) {
- update_post_meta($post_id, 'rerun_day_'.$x, wp_kses($_POST['rerun_day_'.$x], $allowed));
- update_post_meta($post_id, 'rerun_start_'.$x, wp_kses($_POST['rerun_start_'.$x], $allowed));
- update_post_meta($post_id, 'rerun_end_'.$x, wp_kses($_POST['rerun_end_'.$x], $allowed));
- }
- }
-}
diff --git a/admin/add_broadcast_page.php b/admin/add_broadcast_page.php
index 02dd9a4..8480577 100644
--- a/admin/add_broadcast_page.php
+++ b/admin/add_broadcast_page.php
@@ -95,7 +95,7 @@ function orari_dirette_input($post)
array(
- 'name' => __('Trasmissioni'),
- 'add_new' => __('Aggiungi Trasmissione'),
- 'new_item' => __('Nuova Trasmissione')
- ),
- 'public' => true,
- 'hierarchical' => false,
- 'exclude_from_search' => true,
- 'show_ui' => true,
- 'show_in_menu' => true,
- 'menu_position' => 3,
- 'has_archive' => false,
- 'supports' => array(
- 'title',
- 'editor',
- 'excerpt',
- 'thumbnail',
- 'post-formats'
- ),
- 'menu_icon' => 'dashicons-microphone',
- )
- );
-}
-add_action('init', 'create_broadcast_post');
-
-add_action('add_meta_boxes', 'live_meta_box_add');
-function live_meta_box_add()
-{
- //give name of your input field
- add_meta_box('orari-dirette', 'ORARI DELLA DIRETTA', 'orari_dirette_input', 'broadcast', 'normal', 'high');
- add_meta_box('orari-repliche', 'ORARI DELLE REPLICHE', 'orari_repliche_input', 'broadcast', 'normal', 'high');
-}
-
-function orari_dirette_input($post)
-{
- $values = get_post_custom($post->ID);
- $onair_day = isset($values['on_air_day']) ? esc_attr($values['on_air_day'][0]) : '';
- $text_start = isset($values['on_air_start']) ? esc_attr($values['on_air_start'][0]) : '';
- $text_end = isset($values['on_air_end']) ? esc_attr($values['on_air_end'][0]) : '';
- $broadcast = term_exists('Podcast', 'category', 0);
- $old_term = term_exists($post->post_title, 'category', $broadcast);
- wp_nonce_field('on_air_nonce', 'onair_nonce'); ?>
-
-
-
-
- Lunedì
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Martedì
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Mercoledì
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Giovedì
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Venerdì
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sabato
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sabato
-
-
-
-
-
-
-
-
-
-
-
-ID);
- $text_start = array();
- $text_end = array();
- wp_nonce_field('rerun_nonce', 're_run_nonce');
- for ($x=0;$x<7;$x++) :
- $rerun_day[$x] = isset($values['rerun_day_'.$x]) ? esc_attr($values['rerun_day_'.$x][0]) : '';
- $text_start[$x] = isset($values['rerun_start_'.$x]) ? esc_attr($values['rerun_start_'.$x][0]) : '';
- $text_end[$x] = isset($values['rerun_end_'.$x]) ? esc_attr($values['rerun_end_'.$x][0]) : ''; ?>
-
-
Replica n.
-
-
-
-
-
-
-
-
-
-
-
-
-
-';
- print_r($_POST);
- echo '';
- exit();
- */
- // now we can actually save the data
- $allowed = array(
- 'a' => array( // on allow a tags
- 'href' => array() // and those anchords can only have href attribute
- )
- );
- if (isset($_POST['on_air_start'])) {
- $broadcast = term_exists('Podcast', 'category', 0);
- $check = term_exists(intval($_POST['taxonomy_id']), 'category', $broadcast['term_id']);
- if (intval($check['term_id']) > 0) {
- $args = array(
- 'cat_ID' => intval($check['term_id']),
- 'taxonomy' => 'category',
- 'cat_name' => $_POST['post_title'],
- 'category_description' => '',
- 'category_nicename' => $_POST['post_name'],
- 'category_parent' => $broadcast['term_id']
- );
- $test = wp_insert_category($args);
- } else {
- $args = array(
- 'parent' => $broadcast['term_id'],
- 'slug' => strtolower(wp_specialchars(str_replace(" ", "-", $_POST['post_title']))),
- );
- wp_insert_term($_POST['post_title'], 'category', $args);
- }
- update_post_meta($post_id, 'taxonomy_id', wp_kses($_POST['taxonomy_id'], $allowed));
- update_post_meta($post_id, 'on_air_day', wp_kses($_POST['on_air_day'], $allowed));
- update_post_meta($post_id, 'on_air_start', wp_kses($_POST['on_air_start'], $allowed));
- update_post_meta($post_id, 'on_air_end', wp_kses($_POST['on_air_end'], $allowed));
- for ($x=0;$x<7;$x++) {
- update_post_meta($post_id, 'rerun_day_'.$x, wp_kses($_POST['rerun_day_'.$x], $allowed));
- update_post_meta($post_id, 'rerun_start_'.$x, wp_kses($_POST['rerun_start_'.$x], $allowed));
- update_post_meta($post_id, 'rerun_end_'.$x, wp_kses($_POST['rerun_end_'.$x], $allowed));
- }
- }
-}
diff --git a/admin/add_onchange_listener.js b/admin/js/add_onchange_listener.js
similarity index 56%
rename from admin/add_onchange_listener.js
rename to admin/js/add_onchange_listener.js
index bcf0b65..f52c5a2 100644
--- a/admin/add_onchange_listener.js
+++ b/admin/js/add_onchange_listener.js
@@ -1,31 +1,33 @@
-// change, consistently with day field, the date field
+// change the date field consistently with day field
function add_change_day_handler(elem, day_field_id, date_field_id) {
elem.addEventListener('change', function(e) {
const setted_weekday = document.getElementById(day_field_id).value;
const date_input = document.getElementById(date_field_id);
- if (date_input.value.length !== 0){
+ if (date_input.value.length !== 0 && setted_weekday.length !== 0){
const date = new Date(date_input.value);
let weekday = date.getDay();
weekday = (weekday == 0) ? 7 : weekday;
if (weekday != setted_weekday ) {
let weekday_diff = setted_weekday - weekday;
date.setDate(date.getDate() + weekday_diff);
- date_input.value = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate();
+ date_input.value = date.toISOString().split('T')[0];
}
}
});
}
-// change, consistently with date field, the day field
+// change the day field consistently with date field
function add_change_date_handler(elem, day_field_id, date_field_id) {
elem.addEventListener('change', function(e) {
const setted_date = document.getElementById(date_field_id).value;
- const day_input = document.getElementById(day_field_id);
- let setted_weekday = day_input.value;
- let date_weekday = new Date(setted_date).getDay();
- date_weekday = (date_weekday == 0) ? 7 : date_weekday;
- if (date_weekday != setted_weekday) {
- day_input.value = date_weekday;
+ if (setted_date.length !== 0) {
+ const day_input = document.getElementById(day_field_id);
+ let setted_weekday = day_input.value;
+ let date_weekday = new Date(setted_date).getDay();
+ date_weekday = (date_weekday == 0) ? 7 : date_weekday;
+ if (date_weekday != setted_weekday) {
+ day_input.value = date_weekday;
+ }
}
});
}
@@ -37,7 +39,10 @@ for (var i = 0; i < 7 ; i++) {
let rerun_date_input = document.getElementById("rerun_start_date_" + i);
add_change_day_handler(onair_day_input, "on_air_day_" + i, "on_air_start_date_" + i);
add_change_day_handler(rerun_day_input, "rerun_day_" + i, "rerun_start_date_" + i);
- add_change_date_handler(onair_date_input, "on_air_day_" + i, "on_air_start_date_" + i);
- add_change_date_handler(rerun_date_input, "rerun_day_" + i, "rerun_start_date_" + i);
+ add_change_day_handler(onair_date_input, "on_air_day_" + i, "on_air_start_date_" + i);
+ add_change_day_handler(rerun_date_input, "rerun_day_" + i, "rerun_start_date_" + i);
+ // add_change_date_handler(onair_date_input, "on_air_day_" + i, "on_air_start_date_" + i);
+ // add_change_date_handler(rerun_date_input, "rerun_day_" + i, "rerun_start_date_" + i);
+
}
\ No newline at end of file
diff --git a/shortcodes/palinsesto.php b/shortcodes/palinsesto.php
index a5acd87..3384705 100644
--- a/shortcodes/palinsesto.php
+++ b/shortcodes/palinsesto.php
@@ -1,19 +1,24 @@
setTime(0,0,0);
- $start_date = new DateTime($start_date_s);
+ if (!empty($start_date_s)) {
+ $start_date = new DateTime($start_date_s);
+ if ($start_date > $today){
+ return false;
+ }
+ }
$return_value;
switch($cadence_i) {
case 1: //settimanale
$return_value = true;
break;
case 2: //ogni 2 settimane
- case 3:
+ case 3: //ogni 3 settimane
case 4: //ogni 4 settimane
$modulo = 7 * $cadence_i;
+ $today->modify("this week {$start_date->format('l')}");
$date_difference = date_diff($today, $start_date);
$days_difference = $date_difference->days;
if (($days_difference % $modulo) < 7) {
@@ -30,12 +35,12 @@ function have_to_run_this_week($start_date_s, $cadence_i)
$return_value = false;
break;
}
-
return $return_value;
}
function which_day_of_the_month($datetime)
{
+ $datetime->setTime(0,0,0);
$weekday_literal = $datetime->format("l");
$weekday_iterator = clone($datetime);
$weekday_iterator->modify("first $weekday_literal of this month");
diff --git a/shortcodes/whatplaynow.php b/shortcodes/whatplaynow.php
index 7d589d1..666e9a6 100644
--- a/shortcodes/whatplaynow.php
+++ b/shortcodes/whatplaynow.php
@@ -15,106 +15,56 @@ function what_play_now($args)
$now = new DateTime("NOW");
$done = false;
-
/* Cerco nelle dirette */
- /* Prendo dalla tabella wp_postmeta le tramissioni con diretta oggi */
- $results = $wpdb->get_results("select post_id from wp_postmeta where meta_key = 'on_air_day' and meta_value = '$day'");
-
- //print_r($results);
-
- foreach ($results as $t) {
-
- $post_id = $t->post_id;
+ /* Prendo dalla tabella wp_postmeta le tramissioni con diretta oggi e le repliche */
+ $today_onair = $wpdb->get_results("
+ SELECT post_id, meta_key FROM wp_postmeta
+ WHERE meta_key BETWEEN 'on_air_day_0' AND 'on_air_day_6'
+ AND meta_value = '$day'
+ ");
+ $today_rerun = $wpdb->get_results("
+ SELECT post_id, meta_key FROM wp_postmeta
+ WHERE meta_key BETWEEN 'rerun_day_0' AND 'rerun_day_6'
+ AND meta_value = '$day'
+ ");
+
+ /* Inserisco in un array le trasmissioni */
+ $broadcast_to_check = [];
+
+ foreach ($today_onair as $t) {
+ array_push($broadcast_to_check, (array) $t );
+ }
+ foreach ($today_rerun as $t) {
+ array_push($broadcast_to_check, (array) $t );
+ }
+ foreach($broadcast_to_check as $broadcast) {
+ $post_id = $broadcast['post_id'];
+ $day_meta_key = $broadcast['meta_key'];
+ $meta_key_start = str_replace("day", "start", $day_meta_key);
+ $meta_key_end = str_replace("day", "end", $day_meta_key);
/* Estraggo la fascia oraria e controllo ne $now è contenuto nel range */
- $start = $wpdb->get_results("select meta_value from wp_postmeta where meta_key = 'on_air_start' and post_id = '$post_id'");
- $end = $wpdb->get_results("select meta_value from wp_postmeta where meta_key = 'on_air_end' and post_id = '$post_id'");
- $s = $start[0]->meta_value;
- $e = $end[0]->meta_value;
-
- /*
- echo "";
- echo "$s $e";
- echo "
";
- */
-
- $begin = new DateTime("$s");
- $end = new DateTime("$e");
-
- if ($now >= $begin && $now <= $end) {
+ $start_timestring = ($wpdb->get_results("
+ SELECT meta_value FROM wp_postmeta
+ WHERE post_id = '$post_id' AND meta_key = '$meta_key_start'
+ "))[0]->meta_value;
+ $end_timestring = ($wpdb->get_results("
+ SELECT meta_value FROM wp_postmeta
+ WHERE post_id = '$post_id' AND meta_key = '$meta_key_end'
+ "))[0]->meta_value;
+
+ $start = new DateTime("$start_timestring");
+ $end = new DateTime("$end_timestring");
+
+ if ($now >= $start && $now <= $end) {
$done = true;
- //echo get_post($post_id)->post_title;
return get_post($post_id)->post_title;
break;
}
}
- /* inizio check repliche */
- if (!$done) {
-
- /* Cerco nelle repliche */
- $rerun_today = [];
- $tocheck = [];
-
- /* Prendo dalla tabella wp_postmeta le trasmissioni con una replica oggi */
- for ($i=0; $i <=6; $i++) {
- $rerun = "rerun_day_$i";
-
- $results = $wpdb->get_results("select post_id from wp_postmeta where meta_key = '$rerun' and meta_value = '$day'");
-
- /*
- echo "";
- print_r($results);
- echo "
";
- */
-
- foreach ($results as $t) {
- $tocheck[0] = $i;
- $tocheck[1] = $t->post_id;
- array_push($rerun_today,$tocheck);
- }
- }
-
- foreach ($rerun_today as $t) {
- $rerun_start = "rerun_start_$t[0]";
- $rerun_end = "rerun_end_$t[0]";
-
- $start = $wpdb->get_results("select meta_value from wp_postmeta where meta_key = '$rerun_start' and post_id = '$t[1]'");
- $end = $wpdb->get_results("select meta_value from wp_postmeta where meta_key = '$rerun_end' and post_id = '$t[1]'");
-
- $s = $start[0]->meta_value;
- $e = $end[0]->meta_value;
-
- /*
- echo "";
- print_r($s);
- print_r($e);
- echo "
";
- */
-
- $begin = new DateTime("$s");
- $end = new DateTime("$e");
-
- /*
- echo "";
- print_r($now);
- echo "
";
- */
-
- if ($now >= $begin && $now <= $end) {
- $done = true;
- //echo get_post($post_id)->post_title;
- return get_post($t[1])->post_title;
- break;
- }
- }
- }
- /* fine check repliche */
-
-
if (!$done) {
- //echo "Selezione musicale";
return "Selezione musicale";
}