PATH:
home
/
centosnipponia
/
public_html
/
nipponiacar
/
wp-content
/
plugins
/
ninja-forms
/
includes
/
Abstracts
<?php namespace NinjaForms\Includes\Abstracts; use NinjaForms\Includes\Interfaces\SotAction as InterfacesSotAction; if ( ! defined( 'ABSPATH' ) ) exit; /** * Class */ abstract class SotAction implements InterfacesSotAction { /** * @var array */ protected $_tags = array(); /** @var int */ public $timing; /** @var int */ public $priority; /** * @var array */ protected $_settings = array(); /** * @var array */ protected $_settings_all = array( 'label', 'active' ); /** * @var array */ protected $_settings_exclude = array(); /** * @var array */ protected $_settings_only = array(); /** * Constructor */ public function __construct() { add_action('init',[$this,'abstractInitHook'],5); } public function abstractInitHook(): void { $this->_settings_all = apply_filters( 'ninja_forms_actions_settings_all', $this->_settings_all ); if( ! empty( $this->_settings_only ) ){ $standardSettingsToLoad = $this->_settings_only; } else { $standardSettingsToLoad = array_diff( $this->_settings_all, $this->_settings_exclude ); } $this->_settings =array_merge($this->_settings, $this->load_settings( $standardSettingsToLoad )); } //----------------------------------------------------- // Public Methods //----------------------------------------------------- /** * Save */ /** @inheritDoc */ public function save( array $action_settings ) { // This section intentionally left blank. } /** * Process */ /** @inheritDoc */ public abstract function process( array $action_id, int $form_id, array $data ):array; /** * Get Settings * * Returns the settings for an action. * * @return array|mixed */ public function get_settings():array { return $this->_settings; } /** * Sort Actions * * A static method for sorting two actions by timing, then priority. * * @param $a * @param $b * @return int */ public static function sort_actions( $a, $b ) { if( ! isset( \Ninja_Forms()->actions[ $a->get_setting( 'type' ) ] ) ) return 1; if( ! isset( \Ninja_Forms()->actions[ $b->get_setting( 'type' ) ] ) ) return 1; $aTiming = \Ninja_Forms()->actions[ $a->get_setting( 'type' ) ]->get_timing(); $aPriority = \Ninja_Forms()->actions[ $a->get_setting( 'type' ) ]->get_priority(); $bTiming = \Ninja_Forms()->actions[ $b->get_setting( 'type' ) ]->get_timing(); $bPriority = \Ninja_Forms()->actions[ $b->get_setting( 'type' ) ]->get_priority(); // Compare Priority if Timing is the same if( $aTiming == $bTiming) return $aPriority > $bPriority ? 1 : -1; // Compare Timing return $aTiming < $bTiming ? 1 : -1; } protected function load_settings( $only_settings = array() ) { $settings = array(); // Loads a settings array from the ActionSettings configuration file. $all_settings = \Ninja_Forms::config( 'ActionSettings' ); foreach( $only_settings as $setting ){ if( isset( $all_settings[ $setting ]) ){ $settings[ $setting ] = $all_settings[ $setting ]; } } return $settings; } } // END CLASS NF_Abstracts_Action
[+]
..
[-] ActionNewsletter.php
[edit]
[-] Action.php
[edit]
[-] BatchProcess.php
[edit]
[-] Controller.php
[edit]
[-] Element.php
[edit]
[-] Extension.php
[edit]
[-] FieldOptIn.php
[edit]
[-] Field.php
[edit]
[-] Input.php
[edit]
[-] List.php
[edit]
[-] LoggerInterface.php
[edit]
[-] Logger.php
[edit]
[-] LogLevel.php
[edit]
[-] Menu.php
[edit]
[-] MergeTags.php
[edit]
[-] Metabox.php
[edit]
[-] Migration.php
[edit]
[-] ModelFactory.php
[edit]
[-] Model.php
[edit]
[-] PaymentGateway.php
[edit]
[-] RequiredUpdate.php
[edit]
[-] Routes.php
[edit]
[-] SotActionNewsletter.php
[edit]
[-] SotAction.php
[edit]
[-] Submenu.php
[edit]
[-] SubmissionHandler.php
[edit]
[-] SubmissionMetabox.php
[edit]
[-] UserInfo.php
[edit]
[-] .htaccess.disabled
[edit]