load_form_class( sanitize_title( $_POST['event_manager_form'] ) ); } } /** * Load a form's class * * @param string $form_name * @return string class name on success, false on failure */ private function load_form_class( $form_name ) { if ( ! class_exists( 'WP_Event_Manager_Form' ) ) { include 'wp-event-manager-form-abstract.php'; } // Now try to load the form_name $form_class = 'WP_Event_Manager_Form_' . str_replace( '-', '_', $form_name ); $form_file = EVENT_MANAGER_PLUGIN_DIR . '/forms/wp-event-manager-form-' . $form_name . '.php'; if ( class_exists( $form_class ) ) { return call_user_func( array( $form_class, 'instance' ) ); } if ( ! file_exists( $form_file ) ) { return false; } if ( ! class_exists( $form_class ) ) { include $form_file; } // Init the form return call_user_func( array( $form_class, 'instance' ) ); } /** * get_form function. * * @param string $form_name * @param array $atts Optional passed attributes * @return string */ public function get_form( $form_name, $atts = array() ) { if ( $form = $this->load_form_class( $form_name ) ) { ob_start(); $form->output( $atts ); return ob_get_clean(); } } }