File "logs.php"
Full Path: /home/digimqhe/flashdigi.uk/comment-content/plugins/gpt3-ai-content-generator/admin/views/audio/logs.php
File size: 7.29 KB
MIME-type: text/x-php
Charset: utf-8
<?php
if ( ! defined( 'ABSPATH' ) ) exit;
if (isset($_GET['search']) && !empty($_GET['search']) && !wp_verify_nonce($_GET['wpaicg_nonce'], 'wpaicg_audiolog_search_nonce')) {
die(esc_html__('Nonce verification failed','gpt3-ai-content-generator'));
}
if(isset($_GET['audio_delete']) && !empty($_GET['audio_delete'])){
if(!wp_verify_nonce($_GET['_wpnonce'], 'wpaicg_delete_'.sanitize_text_field($_GET['audio_delete']))){
die(esc_html__('Nonce verification failed','gpt3-ai-content-generator'));
}
wp_delete_post(sanitize_text_field($_GET['audio_delete']));
echo '<script>window.location.href = "'.esc_js(admin_url('admin.php?page=wpaicg_audio&action=logs')).'"</script>';
}
$wpaicg_audio_page = isset($_GET['wpage']) && !empty($_GET['wpage']) ? sanitize_text_field($_GET['wpage']) : 1;
$args = array(
'post_type' => 'wpaicg_audio',
'posts_per_page' => 40,
'paged' => $wpaicg_audio_page,
'order' => 'DESC',
'orderby' => 'date'
);
$search = '';
if(isset($_GET['search']) && !empty($_GET['search'])){
$search = sanitize_text_field($_GET['search']);
$args['s'] = $search;
}
$wpaicg_audios = new WP_Query($args);
?>
<style>
.wpaicg_modal{
height: 40%;
}
.wpaicg_modal_content{
height: calc(100% - 80px);
overflow-y: auto;
}
.wpaicg_modal_content pre{
overflow-y: unset;
}
</style>
<div>
<div class="wpaicg-mb-10">
<form action="" method="GET">
<?php wp_nonce_field('wpaicg_audiolog_search_nonce', 'wpaicg_nonce'); ?>
<input type="hidden" name="page" value="wpaicg_audio">
<input type="hidden" name="action" value="logs">
<input value="<?php echo esc_html($search)?>" name="search" type="text" placeholder="<?php echo esc_html__('Search Audio','gpt3-ai-content-generator')?>">
<button class="button button-primary"><?php echo esc_html__('Search','gpt3-ai-content-generator')?></button>
</form>
</div>
</div>
<table class="wp-list-table widefat fixed striped table-view-list posts">
<thead>
<tr>
<th width="40"><?php echo esc_html__('ID','gpt3-ai-content-generator')?></th>
<th><?php echo esc_html__('Title','gpt3-ai-content-generator')?></th>
<th><?php echo esc_html__('Format','gpt3-ai-content-generator')?></th>
<th><?php echo esc_html__('Date','gpt3-ai-content-generator')?></th>
<th><?php echo esc_html__('Duration','gpt3-ai-content-generator')?></th>
<th><?php echo esc_html__('Action','gpt3-ai-content-generator')?></th>
</tr>
</thead>
<tbody>
<?php
if($wpaicg_audios->have_posts()){
foreach ($wpaicg_audios->posts as $wpaicg_audio){
$wpaicg_response = get_post_meta($wpaicg_audio->ID,'wpaicg_response',true);
$wpaicg_duration = get_post_meta($wpaicg_audio->ID,'wpaicg_duration',true);
?>
<tr>
<td><?php echo esc_html($wpaicg_audio->ID)?></td>
<td>
<?php
if($wpaicg_response == 'post' || $wpaicg_response == 'page'):
$wpaicg_post_id = get_post_meta($wpaicg_audio->ID,'wpaicg_post',true);
?>
<a href="<?php echo esc_url(admin_url('post.php?post='.esc_html($wpaicg_post_id).'&action=edit')); ?>" class="wpaicg-view-content">
<?php
else:
?>
<a data-response="<?php echo esc_html($wpaicg_response)?>" href="javascript:void(0)" class="wpaicg-view-content" data-content="<?php echo esc_html($wpaicg_audio->post_content)?>">
<?php
endif;
?>
<?php
if($wpaicg_response == 'post' || $wpaicg_response == 'page'){
$post_title = get_the_title($wpaicg_post_id);
if(empty($post_title)){
echo esc_html($wpaicg_audio->post_title);
}
else{
echo esc_html($post_title);
}
}
else{
echo esc_html($wpaicg_audio->post_title);
}
?>
</a>
</td>
<td><?php echo esc_html($wpaicg_response)?></td>
<td><?php echo esc_html(gmdate('d.m.Y H:i',strtotime($wpaicg_audio->post_date)))?></td>
<td><?php echo esc_html(WPAICG\WPAICG_Content::get_instance()->wpaicg_seconds_to_time((int)$wpaicg_duration))?></td>
<td>
<?php
if($wpaicg_response != 'post' && $wpaicg_response != 'page'):
?>
<a download href="<?php echo esc_url(wp_nonce_url(site_url('index.php?wpaicg_download_audio='.$wpaicg_audio->ID),'wpaicg_download_'.$wpaicg_audio->ID)); ?>" class="button button-primary button-small"><?php echo esc_html__('Download','gpt3-ai-content-generator')?></a>
<?php
endif;
?>
<a onclick="return confirm('Are you sure?')" href="<?php echo esc_url(wp_nonce_url(admin_url('admin.php?page=wpaicg_audio&action=logs&audio_delete='.$wpaicg_audio->ID),'wpaicg_delete_'.$wpaicg_audio->ID)); ?>" class="button button-link-delete button-small"><?php echo esc_html__('Delete','gpt3-ai-content-generator')?></a>
</td>
</tr>
<?php
}
}
?>
</tbody>
</table>
<div class="wpaicg-paginate">
<?php
// phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Reason: paginate_links() generates safe HTML markup; escaping it would break the generated links.
echo paginate_links( array(
'base' => admin_url('admin.php?page=wpaicg_audio&action=logs&wpage=%#%'), // admin_url() is safe here as an argument
'total' => $wpaicg_audios->max_num_pages,
'current' => $wpaicg_audio_page,
'format' => '?wpage=%#%',
'show_all' => false,
'prev_next' => false,
'add_args' => false,
));
?>
</div>
<script>
jQuery(document).ready(function ($){
$('.wpaicg_modal_close').click(function (){
$('.wpaicg_modal_close').closest('.wpaicg_modal').hide();
$('.wpaicg_modal_close').closest('.wpaicg_modal').removeClass('wpaicg-small-modal');
$('.wpaicg-overlay').hide();
})
$('.wpaicg-view-content').click(function (){
var content = $(this).attr('data-content');
var response = $(this).attr('data-response');
var html = '';
html += content.replace(/\n/g, "<br />");
if(response === 'json' || response === 'verbose_json') {
$('.wpaicg_modal_content')[0].innerHTML = "";
content = JSON.parse(content);
$('.wpaicg_modal_content')[0].innerHTML = '<pre>'+JSON.stringify(content, undefined, 4)+'</pre>';
}
else{
$('.wpaicg_modal_content').html(html);
}
$('.wpaicg-overlay').show();
$('.wpaicg_modal').show();
$('.wpaicg_modal_title').html('<?php echo esc_html__('View Content','gpt3-ai-content-generator')?>');
})
})
</script>