You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
8.7 KiB
PHP
185 lines
8.7 KiB
PHP
<?php
|
|
|
|
function create_broadcast_post()
|
|
{
|
|
register_post_type(
|
|
'broadcast',
|
|
array(
|
|
'labels' => 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,
|
|
'show_in_rest' => 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);
|
|
$text_start = array();
|
|
$text_end = array();
|
|
wp_nonce_field('on_air_nonce', 'onair_nonce');
|
|
$broadcast = term_exists('Podcast', 'category', 0);
|
|
$old_term = term_exists($post->post_title, 'category', $broadcast);
|
|
?>
|
|
<input type="hidden" name="taxonomy_id" value="<?php echo $old_term['term_id'] ?>" />
|
|
<?php
|
|
for ($x=0;$x<7;$x++) :
|
|
$onair_day[$x] = isset($values['on_air_day_'.$x]) ? esc_attr($values['on_air_day_'.$x][0]) : '';
|
|
$text_start[$x] = isset($values['on_air_start_'.$x]) ? esc_attr($values['on_air_start_'.$x][0]) : '';
|
|
$text_end[$x] = isset($values['on_air_end_'.$x]) ? esc_attr($values['on_air_end_'.$x][0]) : '';
|
|
$broadcast[$x] = term_exists('Podcast', 'category', 0);
|
|
$old_term[$x] = term_exists($post->post_title, 'category', $broadcast); ?>
|
|
|
|
<div style='width:33%;float:left;'>
|
|
<select name="on_air_day_<?php echo $x; ?>" id="on_air_day_<?php echo $x; ?>">
|
|
<option <?php echo ($onair_day[$x]=='') ? 'selected="selected"' : ''; ?> value="">Seleziona un giorno</option>
|
|
<option <?php echo ($onair_day[$x]==1) ? 'selected="selected"' : ''; ?> value="1">Lunedì</option>
|
|
<option <?php echo ($onair_day[$x]==2) ? 'selected="selected"' : ''; ?> value="2">Martedì</option>
|
|
<option <?php echo ($onair_day[$x]==3) ? 'selected="selected"' : ''; ?> value="3">Mercoledì</option>
|
|
<option <?php echo ($onair_day[$x]==4) ? 'selected="selected"' : ''; ?> value="4">Giovedì</option>
|
|
<option <?php echo ($onair_day[$x]==5) ? 'selected="selected"' : ''; ?> value="5">Venerdì</option>
|
|
<option <?php echo ($onair_day[$x]==6) ? 'selected="selected"' : ''; ?> value="6">Sabato</option>
|
|
<option <?php echo ($onair_day[$x]==7) ? 'selected="selected"' : ''; ?> value="7">Domenica</option>
|
|
</select>
|
|
</div>
|
|
<div style='width:33%;float:left;'>
|
|
<label for="on_air_start_<?php echo $x; ?>">Ora inizio</label>
|
|
<input type="time" name="on_air_start_<?php echo $x; ?>" id="on_air_start_<?php echo $x; ?>" value="<?php echo $text_start[$x]; ?>" style="width: 30%;" />
|
|
</div>
|
|
<div style='width:33%;float:left;'>
|
|
<label for="on_air_end_<?php echo $x; ?>">Ora fine</label>
|
|
<input type="time" name="on_air_end_<?php echo $x; ?>" id="on_air_end_<?php echo $x; ?>" value="<?php echo $text_end[$x]; ?>" style="width: 30%;" />
|
|
</div>
|
|
<div style="clear:both;"></div>
|
|
<?php
|
|
endfor;
|
|
}
|
|
|
|
function orari_repliche_input($post)
|
|
{
|
|
$values = get_post_custom($post->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]) : ''; ?>
|
|
<div style='width:100%;float:left;'>
|
|
<h3>Replica n. <?php echo $x+1; ?></h3>
|
|
</div>
|
|
<div style='width:33%;float:left;'>
|
|
<select name="rerun_day_<?php echo $x; ?>" id="rerun_day_<?php echo $x; ?>">
|
|
<option <?php echo ($rerun_day[$x]=='') ? 'selected="selected"' : ''; ?> value="">Seleziona un giorno</option>
|
|
<option <?php echo ($rerun_day[$x]==1) ? 'selected="selected"' : ''; ?> value="1">Lunedì</option>
|
|
<option <?php echo ($rerun_day[$x]==2) ? 'selected="selected"' : ''; ?> value="2">Martedì</option>
|
|
<option <?php echo ($rerun_day[$x]==3) ? 'selected="selected"' : ''; ?> value="3">Mercoledì</option>
|
|
<option <?php echo ($rerun_day[$x]==4) ? 'selected="selected"' : ''; ?> value="4">Giovedì</option>
|
|
<option <?php echo ($rerun_day[$x]==5) ? 'selected="selected"' : ''; ?> value="5">Venerdì</option>
|
|
<option <?php echo ($rerun_day[$x]==6) ? 'selected="selected"' : ''; ?> value="6">Sabato</option>
|
|
<option <?php echo ($rerun_day[$x]==7) ? 'selected="selected"' : ''; ?> value="7">Domenica</option>
|
|
</select>
|
|
</div>
|
|
<div style='width:33%;float:left;'>
|
|
<label for="rerun_start_<?php echo $x; ?>">Ora inizio</label>
|
|
<input type="time" name="rerun_start_<?php echo $x; ?>" id="rerun_start_<?php echo $x; ?>" value="<?php echo $text_start[$x]; ?>" style="width: 30%;" />
|
|
</div>
|
|
<div style='width:33%;float:left;'>
|
|
<label for="rerun_end_<?php echo $x; ?>">Ora fine</label>
|
|
<input type="time" name="rerun_end_<?php echo $x; ?>" id="rerun_end_<?php echo $x; ?>" value="<?php echo $text_end[$x]; ?>" style="width: 30%;" />
|
|
</div>
|
|
<div style="clear:both;"></div>
|
|
<?php
|
|
endfor;
|
|
}
|
|
|
|
add_action('save_post', 'orari_dirette_save');
|
|
function orari_dirette_save($post_id)
|
|
{
|
|
// Bail if we're doing an auto save
|
|
if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) {
|
|
return;
|
|
}
|
|
// if our nonce isn't there, or we can't verify it, bail
|
|
if (!isset($_POST['onair_nonce']) || !wp_verify_nonce($_POST['onair_nonce'], 'on_air_nonce')) {
|
|
return;
|
|
}
|
|
|
|
if (!isset($_POST['re_run_nonce']) || !wp_verify_nonce($_POST['re_run_nonce'], 'rerun_nonce')) {
|
|
return;
|
|
}
|
|
// if our current user can't edit this post, bail
|
|
if (!current_user_can('edit_post', $post_id)) {
|
|
return;
|
|
}
|
|
/*
|
|
echo '<pre>';
|
|
print_r($_POST);
|
|
echo '</pre>';
|
|
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_0'])) {
|
|
$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));
|
|
for ($x=0;$x<7;$x++) {
|
|
update_post_meta($post_id, 'on_air_day_'.$x, wp_kses($_POST['on_air_day_'.$x], $allowed));
|
|
update_post_meta($post_id, 'on_air_start_'.$x, wp_kses($_POST['on_air_start_'.$x], $allowed));
|
|
update_post_meta($post_id, 'on_air_end_'.$x, wp_kses($_POST['on_air_end_'.$x], $allowed));
|
|
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));
|
|
}
|
|
}
|
|
}
|