| 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/Abstracts/ |
Upload File : |
<?php if ( ! defined( 'ABSPATH' ) ) exit;
/**
* Class NF_Abstracts_FieldOptIn
*
* Opt-In fields should extend this class.
*
* Supports:
* - Checkbox value processing
*
* Planned Support:
* - Single / Multiple Type Opt-In
*/
abstract class NF_Abstracts_FieldOptIn extends NF_Abstracts_Input
{
protected $_name = 'optin';
protected $_section = 'misc';
protected $_parent_type = 'checkbox';
protected $_templates = 'optin';
protected $_settings = array( 'type', 'fieldset', 'checkbox_default_value' );
protected $_settings_exclude = array( 'default', 'required', 'placeholder', 'input_limit_set', 'disable_input' );
protected $_lists = array();
public function __construct()
{
parent::__construct();
/*
* Setup 'type' options for the opt-in field.
*/
$this->_settings[ 'type' ][ 'options' ] = array(
array(
'label' => __( 'Single', 'ninja-forms' ),
'value' => 'single',
),
array(
'label' => __( 'Multiple', 'ninja-forms' ),
'value' => 'multiple',
),
);
/*
* Add a refresh extra for the groups fieldset.
*/
$this->_settings[ 'fieldset' ][ 'label' ] = __( 'Lists', 'ninja-forms' ) . ' <a href="#"><small>' . __( 'refresh', 'ninja-forms' ) . '</small></a>';
$this->_settings[ 'fieldset' ][ 'deps' ] = array( 'type' => 'multiple' );
/*
* Hide the 'type' and 'fieldset' ('groups') settings until they are ready for use.
*/
$this->_settings[ 'type' ][ 'group' ] = '';
$this->_settings[ 'fieldset' ][ 'group' ] = '';
}
protected function addList( $name, $label )
{
$this->_settings[ 'fieldset' ][ 'settings' ][] = array(
'name' => $name,
'type' => 'toggle',
'label' => $label,
'width' => 'full',
'value' => ''
);
}
protected function addLists( array $lists = array() )
{
if( empty( $lists ) ) return;
foreach( $lists as $name => $label ){
$this->addList( $name, $label );
}
}
public function get_parent_type(){
return $this->_parent_type;
}
}