post_content, 'gravityform' ) ) {
$regex = "/\[gravityform.*id=[\'\"]?([0-9]*)[\'\"]?.*/";
$popup = get_post( $popup_id );
preg_match_all( $regex, $popup->post_content, $matches );
foreach ( $matches[1] as $form_id ) {
add_filter( "gform_confirmation_anchor_{$form_id}", '__return_false' );
gravity_form_enqueue_scripts( $form_id, true );
}
}
}
}
public static function settings_menu( $setting_tabs ) {
$setting_tabs['998.002'] = array(
'name' => 'popup-maker',
'label' => __( 'Popup Maker', 'popup-maker' ),
);
return $setting_tabs;
}
public static function get_form( $form_string, $form ) {
$settings = wp_json_encode( self::form_options( $form['id'] ) );
$field = "";
$form_string = preg_replace( '/(
)/', "$1 \r\n " . $field, $form_string );
return $form_string;
}
/**
* Get default values.
*
* @return array
*/
public static function defaults() {
return array(
'closepopup' => false,
'closedelay' => 0,
'openpopup' => false,
'openpopup_id' => 0,
);
}
/**
* Get a specific forms options.
*
* @param $id
*
* @return array
*/
public static function form_options( $id ) {
$settings = get_option( 'gforms_pum_' . $id, self::defaults() );
return wp_parse_args( $settings, self::defaults() );
}
/**
* Registers new cookie events.
*
* @param array $cookies
*
* @return array
*/
public static function register_cookies( $cookies = array() ) {
$cookies['gforms_form_success'] = array(
'labels' => array(
'name' => __( 'Gravity Form Success (deprecated. Use Form Submission instead.)', 'popup-maker' ),
),
'fields' => pum_get_cookie_fields(),
);
return $cookies;
}
public static function render_settings_page() {
$form_id = rgget( 'id' );
self::save();
$settings = self::form_options( $form_id );
GFFormSettings::page_header( __( 'Popup Settings', 'popup-maker' ) );
?>
'',
'label' => __( 'Select a popup', 'popup-maker' ),
),
);
$popups = get_posts( array(
'post_type' => 'popup',
'post_status' => array( 'publish' ),
'posts_per_page' => - 1,
) );
foreach ( $popups as $popup ) {
$popup_list[] = array(
'value' => $popup->ID,
'label' => $popup->post_title,
);
}
return $popup_list;
}
/**
* Save form popup options.
*/
public static function save() {
if ( empty( $_POST ) || ! check_admin_referer( 'gform_popup_settings_edit', 'gform_popup_settings_edit' ) ) {
return;
}
$form_id = rgget( 'id' );
if ( ! empty( $_POST['gforms-pum'] ) ) {
$settings = $_POST['gforms-pum'];
// Sanitize values.
$settings['openpopup'] = ! empty( $settings['openpopup'] );
$settings['openpopup_id'] = ! empty( $settings['openpopup_id'] ) ? absint( $settings['openpopup_id'] ) : 0;
$settings['closepopup'] = ! empty( $settings['closepopup'] );
$settings['closedelay'] = ! empty( $settings['closedelay'] ) ? absint( $settings['closedelay'] ) : 0;
update_option( 'gforms_pum_' . $form_id, $settings );
} else {
delete_option( 'gforms_pum_' . $form_id );
}
}
}
/**
*
* add_action( 'gform_loaded', array( 'PUM_Gravity_Forms_Integration', 'load' ), 5 );
*
* class PUM_Gravity_Forms_Integration {
*
* public static function load() {
* if ( ! method_exists( 'GFForms', 'include_feed_addon_framework' ) ) {
* return;
* }
* require_once 'gravity-forms/class-pum-gf-popup-addon.php';
* GFAddOn::register( 'PUM_GF_Popup_Addon' );
* }
* }
*
* function pum_gf_addon() {
* return PUM_GF_Popup_Addon::get_instance();
* }
*
*/