0 && $action=='duplicate' && check_admin_referer('ticketdrum_duplicate_'.$id))
{
global $wpdb;
$source = $wpdb->get_row($wpdb->prepare("SELECT * FROM %i WHERE id=%d",TICKETDRUM_EVENTS_TABLE,$id),ARRAY_A);
if ($source)
{
unset($source['id']);
/* translators: %s: title of the event being duplicated */
$source['title'] = sprintf(__('%s (copy)','ticketdrum'),$source['title']);
$source['status'] = 'draft';
$source['salt'] = ticketdrum_generate_password(20);
$source['added'] = gmdate("Y-m-d H:i:s");
$wpdb->insert(TICKETDRUM_EVENTS_TABLE,$source);
$new_event_id = $wpdb->insert_id;
//Copy the event's ticket types too
$source_tickets = $wpdb->get_results($wpdb->prepare("SELECT * FROM %i WHERE event_id=%d",TICKETDRUM_TICKETS_TABLE,$id),ARRAY_A);
foreach ($source_tickets as $st)
{
unset($st['id']);
$st['event_id'] = $new_event_id;
$st['salt'] = ticketdrum_generate_password(20);
$st['added'] = gmdate("Y-m-d H:i:s");
$wpdb->insert(TICKETDRUM_TICKETS_TABLE,$st);
}
/* translators: %s: number of ticket types copied */
echo '
'.esc_html(sprintf(_n('Event duplicated (as a draft) with %s ticket type.','Event duplicated (as a draft) with %s ticket types.',count($source_tickets),'ticketdrum'),number_format_i18n(count($source_tickets)))).' '.esc_html__('Edit the copy','ticketdrum').'
';
}
ticketdrum_event_list();
}
elseif ($id>0 && $action=='delete_confirmed' && check_admin_referer('ticketdrum_event_delete_'.$id))
{
$wpdb->query($wpdb->prepare("DELETE FROM %i WHERE id=%d LIMIT 1",TICKETDRUM_EVENTS_TABLE,$id));
ticketdrum_event_list();
}
else
ticketdrum_event_list();
}
function ticketdrum_event_list() {
global $wpdb;
?>
__('draft','ticketdrum'),'active'=>__('active','ticketdrum'),'archived'=>__('archived','ticketdrum')];
$rows = $wpdb->get_results($wpdb->prepare("SELECT * FROM %i ORDER BY (end_datetime>=NOW()) DESC, CASE WHEN end_datetime>=NOW() THEN start_datetime END ASC, start_datetime DESC",TICKETDRUM_EVENTS_TABLE),ARRAY_A);
?>