| Server IP : 68.183.124.220 / Your IP : 216.73.216.141 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : 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, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/wp-content/plugins/ninja-forms/includes/Display/ |
Upload File : |
<?php
final class NF_Display_Shortcodes
{
public function __construct()
{
add_shortcode( 'nf_preview', array( $this, 'display_form_preview' ) );
add_shortcode( 'ninja_form', array( $this, 'display_form_front_end' ) );
add_shortcode( 'ninja_forms', array( $this, 'display_form_front_end' ) );
add_shortcode( 'ninja_forms_display_form', array( $this, 'display_form_front_end' ) );
}
public function display_form_preview( $atts = array() )
{
if( ! isset( $atts[ 'id' ] ) ) return $this->display_no_id();
ob_start();
Ninja_Forms()->display( $atts['id'], TRUE );
return ob_get_clean();
}
public function display_form_front_end( $atts = array() )
{
if( ! isset( $atts[ 'id' ] ) ) return $this->display_no_id();
ob_start();
Ninja_Forms()->display( $atts['id'] );
return ob_get_clean();
}
/**
* TODO: Extract output to template files.
* @return string
*/
private function display_no_id()
{
$output = __( 'Notice: Ninja Forms shortcode used without specifying a form.', 'ninja-forms' );
// TODO: Maybe support filterable permissions.
if( ! current_user_can( 'manage_options' ) ) return "<!-- $output -->";
// TODO: Log error for support reference.
// TODO: Maybe display notice if not logged in.
trigger_error( __( 'Ninja Forms shortcode used without specifying a form.', 'ninja-forms' ) );
return "<div style='border: 3px solid red; padding: 1em; margin: 1em auto;'>$output</div>";
}
}