Server IP : 104.21.38.3 / Your IP : 104.23.175.161 Web Server : Apache System : Linux krdc-ubuntu-s-2vcpu-4gb-amd-blr1-01.localdomain 5.15.0-142-generic #152-Ubuntu SMP Mon May 19 10:54:31 UTC 2025 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /www/wwwroot/coircraft.com/wp-content/plugins/caldera-forms/classes/render/ |
Upload File : |
<?php /** * Methods for creating Caldera Forms in modals * * @package Caldera_Forms * @author Josh Pollock <[email protected]> * @license GPL-2.0+ * @link * @copyright 2017 CalderaWP LLC */ class Caldera_Forms_Render_Modals { /** * Holds modal HTML to be loaded in footer * * @since 1.5.0.7 * since 1.4.2 in Caldera_Forms * * @var string */ protected static $footer_modals; /** * Load a Caldera Form in a modal. * * @since 1.5.0.7 * since unknown in Calder_Forms * * @param string|array $atts Shortcode atts or form ID * @param string $content Content to use in trigger link. * * @return string */ public static function modal_form( $atts, $content, $is_revision = false ) { if ( empty( $atts[ 'id' ] ) ) { return $content; } if ( ! $is_revision ) { $form = Caldera_Forms_Forms::get_form( $atts[ 'id' ] ); }else{ $form = $atts; } if ( empty( $form[ 'ID' ] ) || $form[ 'ID' ] != $atts[ 'id' ] ) { return $content; } $modal_id = self::modal_id( $form ); $out = self::modal_button( $atts, $content, $form, $modal_id ); if(!empty($_GET['cf_er'])){ $transdata = Caldera_Forms_Transient::get_transient( $_GET[ 'cf_er' ] ); if($transdata['transient'] == $_GET['cf_er']){ $current_state = 'style="display:block;"'; } } if ( ! empty( $_GET[ 'cf_su' ] ) ) { // disable notices unset( $_GET[ 'cf_su' ] ); } $form_html = Caldera_Forms::render_form( $atts ); self::add_to_footer( self::modal_body( $form_html, $modal_id, $atts[ 'id' ] ) ); return $out; } /** * Create modal body * * @since 1.5.0.7 * * @param string $form_html HTML for modal body * @param string $modal_id ID attribute for modal Should be created with self::modal_id() * @param string $classes Optional. Additional classes for the modal. "remodal caldera-front-modal-container" are always applied * * @return string */ public static function modal_body( $form_html, $modal_id, $form_id, $classes = '' ){ $class_attr = 'remodal caldera-front-modal-container'; if( ! empty( $classes ) ){ $class_attr .= $classes; } ob_start(); ?> <div data-remodal-id="<?php echo esc_attr( $modal_id ); ?>" id="<?php echo esc_attr( $modal_id ); ?>" class="<?php echo esc_attr( $class_attr ); ?>" data-form-id="<?php echo esc_attr( $form_id ); ?>" data-remodal-options="hashTracking: true, closeOnOutsideClick: false"> <button data-remodal-action="close" class="remodal-close"></button> <div class="caldera-modal-body caldera-front-modal-body" id="<?php echo $modal_id; ?>_modal_body"> <?php echo $form_html ?> </div> </div> <?php Caldera_Forms_Render_Assets::enqueue_modals(); return ob_get_clean(); } /** * Add modal to footer * * @since 1.5.0.7 * * @param $html */ public static function add_to_footer( $html ){ self::$footer_modals .= $html; } /** * Print modal content in footer. * * @since 1.5.0.7 * since unknown in Caldera_Forms * * @uses "wp_footer" */ public static function render_footer_modals() { $footer_modals = self::$footer_modals; if ( ! empty( $footer_modals ) && is_string( $footer_modals ) ) { echo $footer_modals; } } /** * Create a modal button's HTML * * @since 1.5.0.7 * since 1.5.0.4 in Caldera_Forms * * @param array $atts Form atts Form atts for Caldera_Forms::render_form() * @param string $content Content for opener * @param array $form Form config * @param string|null $modal_id Optional, modal ID. self::modal_id() will be used if empty. * * @return string */ public static function modal_button( $atts, $content, $form, $modal_id = null ){ if( ! $modal_id ){ $modal_id = self::modal_id( $form ); } if ( empty( $content ) ) { $content = $form[ 'name' ]; } $tag_atts = sprintf( 'data-form="%1s"', $form[ 'ID' ] ); if ( ! empty( $atts[ 'width' ] ) ) { $tag_atts .= sprintf( ' data-width="%1s"', $atts[ 'width' ] ); } if ( ! empty( $atts[ 'height' ] ) ) { $tag_atts .= sprintf( ' data-height="%1s"', $atts[ 'height' ] ); } $title = sprintf( __( 'Click to open the form %s in a modal', 'caldera-forms' ), $form[ 'name' ] ); if ( ! empty( $atts[ 'type' ] ) && $atts[ 'type' ] == 'button' ) { $tag_atts .= sprintf( 'data-remodal-target="%1s"', $modal_id ); return sprintf( '<button class="caldera-forms-modal" %s title="%s">%s</button>', $tag_atts, $title, $content ); } else { return sprintf( '<a href="%s" class="caldera-forms-modal" %s title="%s">%s</a>', '#' . $modal_id, $tag_atts, esc_attr( $title ), $content ); } } /** * Create a modal ID * * @since 1.5.0.7 * * @param $form * * @return string */ public static function modal_id( $form ){ $modal_id = 'cf-modal-' . uniqid( $form[ 'ID' ] ); return $modal_id; } }