settings_page = new WP_Event_Manager_Settings(); add_action( 'admin_menu', array( $this, 'admin_menu' ), 12 ); add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) ); //add_action( 'admin_notices', array( $this,'rating_showcase_admin_notice') ); add_action( 'admin_init', array( $this, 'admin_init' ) ); add_action( 'current_screen', array( $this, 'conditional_includes' ) ); if ( version_compare( get_option( 'wp_event_manager_db_version', 0 ), '3.1.13', '<' ) ) { add_action( 'admin_notices', array( $this, 'upgrade_database_notice' ) ); } // Ajax add_action( 'wp_ajax_wpem_upgrade_database', array( $this, 'wpem_upgrade_database' ) ); //add_action( 'wp_ajax_nopriv_wpem_upgrade_database', array( $this, 'wpem_upgrade_database' ) ); } /** * upgrade_database_notice function. * * @access public * @return void */ public function upgrade_database_notice() { if ( version_compare( get_option( 'wp_event_manager_db_version', 0 ), '3.1.13', '<' ) ) { ?>

Please update now.', 'wp-event-manager-migration' ), admin_url( 'edit.php?post_type=event_listing&page=event-manager-upgrade-database' ) ); ?>

id, apply_filters( 'event_manager_admin_screen_ids', array( 'edit-event_listing', 'event_listing', 'event_listing_page_event-manager-settings', 'event_listing_page_event-manager-addons', 'event_listing_page_event-manager-upgrade-database' ) ) ) ) { $jquery_version = isset( $wp_scripts->registered['jquery-ui-core']->ver ) ? $wp_scripts->registered['jquery-ui-core']->ver : '1.9.2'; wp_enqueue_style( 'jquery-ui-style', EVENT_MANAGER_PLUGIN_URL. '/assets/js/jquery-ui/jquery-ui.min.css', array(), $jquery_version ); wp_register_script( 'jquery-tiptip', EVENT_MANAGER_PLUGIN_URL. '/assets/js/jquery-tiptip/jquery.tipTip.min.js', array( 'jquery' ), EVENT_MANAGER_VERSION, true ); wp_register_script( 'wp-event-manager-admin-js', EVENT_MANAGER_PLUGIN_URL. '/assets/js/admin.min.js', array( 'jquery', 'jquery-tiptip','jquery-ui-core','jquery-ui-datepicker'), EVENT_MANAGER_VERSION, true ); wp_localize_script( 'wp-event-manager-admin-js', 'wp_event_manager_admin_js', array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'upgrade_database_before_send_text' => __( 'Your database upgrading now', 'wp-event-manager' ), 'upgrade_database_success_send_text' => __( 'Your database has been upgraded successfully! In order to take advantage, save the permalink and proceed.', 'wp-event-manager'), 'i18n_datepicker_format' => WP_Event_Manager_Date_Time::get_datepicker_format(), 'i18n_timepicker_format' => WP_Event_Manager_Date_Time::get_timepicker_format(), 'i18n_timepicker_step' => WP_Event_Manager_Date_Time::get_timepicker_step(), 'show_past_date' => apply_filters( 'event_manager_show_past_date', false ), ) ); wp_enqueue_script('wp-event-manager-admin-js'); } wp_register_script( 'wp-event-manager-admin-settings', EVENT_MANAGER_PLUGIN_URL. '/assets/js/admin-settings.min.js', array( 'jquery' ), EVENT_MANAGER_VERSION, true ); wp_register_script( 'chosen', EVENT_MANAGER_PLUGIN_URL . '/assets/js/jquery-chosen/chosen.jquery.min.js', array( 'jquery' ), '1.1.0', true ); wp_enqueue_script('chosen'); wp_enqueue_style( 'chosen', EVENT_MANAGER_PLUGIN_URL . '/assets/css/chosen.css' ); wp_enqueue_style( 'wp-event-manager-jquery-timepicker-css', EVENT_MANAGER_PLUGIN_URL . '/assets/js/jquery-timepicker/jquery.timepicker.min.css'); wp_register_script( 'wp-event-manager-jquery-timepicker', EVENT_MANAGER_PLUGIN_URL. '/assets/js/jquery-timepicker/jquery.timepicker.min.js', array( 'jquery' ,'jquery-ui-core'), EVENT_MANAGER_VERSION, true ); wp_enqueue_script( 'wp-event-manager-jquery-timepicker'); } /** * admin_menu function. * * @access public * @return void */ public function admin_menu() { global $wpdb; add_submenu_page( 'edit.php?post_type=event_listing', __( 'Settings', 'wp-event-manager' ), __( 'Settings', 'wp-event-manager' ), 'manage_options', 'event-manager-settings', array( $this->settings_page, 'output' ) ); if ( version_compare( get_option( 'wp_event_manager_db_version', 0 ), '3.1.13', '<' ) ) { add_submenu_page( 'edit.php?post_type=event_listing', __( 'Upgrade Database', 'wp-event-manager' ), __( 'Upgrade Database', 'wp-event-manager' ) , 'manage_options', 'event-manager-upgrade-database', array( $this, 'upgrade_database' ) ); } if ( apply_filters( 'event_manager_show_addons_page', true ) ) { add_submenu_page( 'edit.php?post_type=event_listing', __( 'WP Event Manager Add-ons', 'wp-event-manager' ), __( 'Add-ons', 'wp-event-manager' ) , 'manage_options', 'event-manager-addons', array( $this, 'addons_page' ) ); } } /** * Upgrade database page */ public function upgrade_database() { ?>

.

forms->get_form( 'submit-organizer', array() ); $form_submit_organizer_instance = call_user_func( array( 'WP_Event_Manager_Form_Submit_Organizer', 'instance' ) ); $organizer_fields = $form_submit_organizer_instance->merge_with_custom_fields('backend'); if( !empty($organizer_fields) && isset($organizer_fields['organizer']) && !empty($organizer_fields['organizer']) ) { $args = [ 'post_type' => 'event_listing', 'post_status' => ['publish'], 'posts_per_page' => '-1', ]; $events = new WP_Query($args); if( $events->found_posts > 0 ) { foreach ($events->posts as $event) { if( isset($event->_organizer_email) && !empty($event->_organizer_email) ) { $organizer_data = []; foreach ($organizer_fields['organizer'] as $key => $field) { $name = '_'.$key; if($key == 'organizer_logo') { $organizer_data[$key] = $event->_thumbnail_id; } else { $organizer_data[$key] = $event->$name; } } $this->migrate_organizer_from_event_meta($event, $organizer_data); $this->banner_image_set_thumnail($event); } } } update_option( 'wp_event_manager_db_version', '3.1.13' ); } wp_send_json( __( 'Your database upgraded successfully!', 'wp-event-manager' ) ); wp_die(); } /** * migrate_organizer_from_event_meta */ public function migrate_organizer_from_event_meta($event, $organizer_data) { $organizer_id = check_organizer_exist($organizer_data['organizer_email']); if( !$organizer_id ) { $args = apply_filters('wpem_create_event_organizer_data',array( 'post_title' => wp_strip_all_tags( $organizer_data['organizer_name'] ), 'post_content' => $organizer_data['organizer_description'], 'post_status' => 'publish', 'post_type' => 'event_organizer', 'comment_status' => 'closed', 'post_author' => $event->post_author, ) ); $organizer_id = wp_insert_post( $args ); } foreach ($organizer_data as $name => $value) { if($name == 'organizer_logo') { update_post_meta( $organizer_id, '_thumbnail_id', sanitize_text_field($value) ); } else { update_post_meta( $organizer_id, '_'.$name, sanitize_text_field($value) ); delete_post_meta( $event->ID, '_'.$name ); } } update_post_meta( $event->ID, '_event_organizer_ids', [$organizer_id] ); } /** * banner_image_set_thumnail */ public function banner_image_set_thumnail($event) { $banner = get_event_banner($event); if(is_array($banner)) { $image_url = $banner[0]; } else { $image_url = $banner; } if( isset($image_url) && !empty($image_url) ) { $wp_upload_dir = wp_get_upload_dir(); $baseurl = $wp_upload_dir['baseurl'] . '/'; $wp_attached_file = str_replace($baseurl, '', $image_url); $args = array( 'meta_key' => '_wp_attached_file', 'meta_value' => $wp_attached_file, 'post_type' => 'attachment', 'posts_per_page' => 1, ); $attachments = get_posts($args); if(!empty($attachments)) { foreach ($attachments as $attachment) { update_post_meta( $event->ID, '_thumbnail_id', $attachment->ID ); } } } } /** * Output addons page */ public function addons_page() { $addons = include( 'wp-event-manager-addons.php' ); $addons->output(); } /** * Show showcase admin notice */ public function rating_showcase_admin_notice(){ $showcase = get_option('event_manager_rating_showcase_admin_notices_dismiss', 0); if(! $showcase == true ) { ?>
WP Event Manager for some time now. we hope you love it! We\'d be thrilled if you could give us a nice rating on WordPress.org! Don\'t forget to submit your site to our showcase and generate more traffic from our site.', 'wp-event-manager' ); ?>
id ) { case 'options-permalink': include 'wp-event-manager-permalink-settings.php'; break; } } /** * Ran on WP admin_init hook */ public function admin_init() { if( ! empty( $_GET[ 'event-manager-main-admin-dismiss']) ){ update_option('event_manager_rating_showcase_admin_notices_dismiss', 1); } } } new WP_Event_Manager_Admin();