' . ( (int) $import_status ) . '' );
}
return $import_status_echo . $echo_results;
}
add_shortcode('booking-manager-import', 'wpbm_ics_import_shortcode' );
////////////////////////////////////////////////////////////////////////////////////////////
// L I S T I N G
////////////////////////////////////////////////////////////////////////////////////////////
// [booking-manager-listing url='https://server.com/feed.ics' from='2017-08-06' until='week' until_offset='4h' max=500]
// [booking-manager-listing url='https://server.com/feed.ics' from='today' from_offset='5d' until='year-end' until_offset='4h' max=500]
// 'now' => __( 'Now', 'booking-manager' )
// , 'today' => __( '00:00 Today', 'booking-manager' )
// , 'week' => __( 'Start of current week', 'booking-manager' )
// , 'month-start' => __( 'Start of current month', 'booking-manager' )
// , 'month-end' => __( 'End of current month', 'booking-manager' )
// , 'year-start' => __( 'Start of current year', 'booking-manager' )
// , 'any' => __( 'The start of time', 'booking-manager' )
// , 'date' => __( 'Specific date / time', 'booking-manager' )
/** Shortcode [booking-manager-listing ...] for showing listing from .ics feed
*
* @param array $attr
*/
function wpbm_ics_listing_shortcode( $attr ) {
if ( ( function_exists( 'wpbc_is_on_edit_page' ) ) && ( wpbc_is_on_edit_page() ) ) {
return wpbc_get_preview_for_shortcode( 'booking-manager-listing', $attr ); //FixIn: 9.9.0.39
}
$listing = wpbm_ics_get_listing( $attr );
return $listing;
}
add_shortcode('booking-manager-listing', 'wpbm_ics_listing_shortcode' ); //[booking-manager-listing url='https://calendar.google.com/calendar/ical/pkqi3dnhq1l4j2qu0id3as984k%40group.calendar.google.com/public/basic.ics' from='2016-08-01' until='2018-08-30']
//FixIn: 2.0.22.1
// [booking-manager-delete resource_id=5]
// [booking-manager-delete resource_id=5 action='delete']
function wpbm_ics_delete_shortcode( $attr ) {
if ( ( function_exists( 'wpbc_is_on_edit_page' ) ) && ( wpbc_is_on_edit_page() ) ) {
return wpbc_get_preview_for_shortcode( 'booking-manager-delete', $attr ); //FixIn: 9.9.0.39
}
ob_start();
if ( ! isset( $attr['resource_id'] ) ) {
$attr['resource_id'] = 1;
}
if ( ! isset( $attr['action'] ) ) {
$attr['action'] = 'trash';
}
global $wpdb;
$is_trash = 1;
$resource_id = intval( $attr['resource_id'] ); //FixIn:
if ( 'trash' == $attr['action'] ) {
$my_sql = "UPDATE {$wpdb->prefix}booking AS bk SET bk.trash = {$is_trash} WHERE sync_gid != '' AND trash != 1 AND booking_type = {$resource_id}";
if ( false === $wpdb->query( $my_sql ) ) {
?>
get_results( "SELECT booking_id as ID FROM {$wpdb->prefix}booking WHERE sync_gid != '' AND trash != 1 AND booking_type = {$resource_id} LIMIT 0, 1000" );
$id_arr = array();
foreach ( $bookings_obj_arr as $booking_obj ) {
$id_arr[] = $booking_obj->ID;
}
$string_id = implode( ',', $id_arr );
if ( $string_id != '' ) {
// D E L E T E Dates
if ( false === $wpdb->query( "DELETE FROM {$wpdb->prefix}bookingdates WHERE booking_id IN ({$string_id})" ) ) { ?> query( "DELETE FROM {$wpdb->prefix}booking WHERE booking_id IN ({$string_id})" ) ){ ?>