Sindbad~EG File Manager
<?php
/**
* Integrations for ninja-forms
*
* @package PopupMaker
* @copyright Copyright (c) 2024, Code Atlantic LLC
*
* phpcs:disable Universal.Files.SeparateFunctionsFromOO.Mixed
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Class NF_PUM
*/
final class NF_PUM {
const PREFIX = 'NF_PUM';
/**
* @var NF_PUM
* @since 3.0
*/
private static $instance;
/**
* Plugin Directory
*
* @since 3.0
* @var string $dir
*/
public static $dir = '';
/**
* Plugin URL
*
* @since 3.0
* @var string $url
*/
public static $url = '';
/**
* Main Plugin Instance
*
* Insures that only one instance of a plugin class exists in memory at any one
* time. Also prevents needing to define globals all over the place.
*
* @since 3.0
* @static
* @static var array $instance
* @return NF_PUM Highlander Instance
*/
public static function instance() {
if ( ! isset( self::$instance ) && ! ( self::$instance instanceof NF_PUM ) ) {
spl_autoload_register( [ __CLASS__, 'autoloader' ] );
self::$instance = new NF_PUM();
self::$dir = plugin_dir_path( __FILE__ );
self::$url = plugin_dir_url( __FILE__ );
}
return self::$instance;
}
public function __construct() {
$this->register_actions();
add_filter( 'pum_registered_cookies', [ $this, 'register_cookies' ] );
}
/**
* Register Actions
*
* Register custom form actions to integrate with popups.
*/
public function register_actions() {
Ninja_Forms()->actions['closepopup'] = new NF_PUM_Actions_ClosePopup();
Ninja_Forms()->actions['openpopup'] = new NF_PUM_Actions_OpenPopup();
}
/**
* Optional. If your extension creates a new field interaction or display template...
*/
public function register_cookies( $cookies ) {
$cookies['ninja_form_success'] = [
'labels' => [
'name' => __( 'Ninja Form Success (deprecated. Use Form Submission instead.)', 'popup-maker' ),
],
'fields' => pum_get_cookie_fields(),
];
return $cookies;
}
/**
* Optional methods for convenience.
*/
public static function autoloader( $class_name ) {
if ( class_exists( $class_name ) ) {
return;
}
if ( false === strpos( $class_name, self::PREFIX ) ) {
return;
}
$class_name = str_replace( self::PREFIX, '', $class_name );
$classes_dir = realpath( plugin_dir_path( __FILE__ ) ) . DIRECTORY_SEPARATOR . 'ninja-forms' . DIRECTORY_SEPARATOR;
$class_file = str_replace( '_', DIRECTORY_SEPARATOR, $class_name ) . '.php';
if ( file_exists( $classes_dir . $class_file ) ) {
require_once $classes_dir . $class_file;
}
}
/**
* Template
*
* @param string $file_name
* @param array $data
*/
public static function template( $file_name = '', array $data = [] ) {
if ( ! $file_name ) {
return;
}
// Ignore because this is specfic for template files.
// phpcs:ignore WordPress.PHP.DontExtract.extract_extract
extract( $data );
include self::$dir . 'includes/Templates/' . $file_name;
}
/**
* Config
*
* @param $file_name
*
* @return mixed
*/
public static function config( $file_name ) {
return include self::$dir . 'includes/Config/' . $file_name . '.php';
}
}
/**
* The main function responsible for returning The Highlander Plugin
* Instance to functions everywhere.
*
* Use this function like you would a global variable, except without needing
* to declare the global.
*
* @since 3.0
* @return {class} Highlander Instance
*/
function NF_PUM() { // phpcs:ignore WordPress.NamingConventions.ValidFunctionName.FunctionNameInvalid
return NF_PUM::instance();
}
/**
*
*/
function pum_nf_should_init() {
if ( ! class_exists( 'Ninja_Forms' ) ) {
return;
}
if ( version_compare( get_option( 'ninja_forms_version', '0.0.0' ), '3.0', '<' ) || get_option( 'ninja_forms_load_deprecated', false ) ) {
return;
}
NF_PUM();
}
add_action( 'init', 'pum_nf_should_init', 0 );
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists