HEX
Server: Apache
System: Linux belinyu.iixcp.rumahweb.net 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP Thu May 7 23:17:13 UTC 2026 x86_64
User: sduw1495 (3615)
PHP: 7.4.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: /home/sduw1495/public_html/wp-content/plugins/jetformbuilder/modules/bulk-options/module.php
<?php


namespace JFB_Modules\Bulk_Options;

use Jet_Form_Builder\Admin\Editor;
use Jet_Form_Builder\Exceptions\Repository_Exception;
use JFB_Components\Module\Base_Module_After_Install_It;
use JFB_Components\Module\Base_Module_Dir_It;
use JFB_Components\Module\Base_Module_Dir_Trait;
use JFB_Components\Module\Base_Module_Handle_It;
use JFB_Components\Module\Base_Module_Handle_Trait;
use JFB_Components\Module\Base_Module_It;
use JFB_Components\Module\Base_Module_Url_It;
use JFB_Components\Module\Base_Module_Url_Trait;
use JFB_Components\Repository\Interfaces\Repository_Pattern_Interface;
use JFB_Components\Repository\Repository_Pattern_Trait;
use JFB_Modules\Bulk_Options\Interfaces\Source_Resolve_Interface;

// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
	die;
}

final class Module implements
	Base_Module_It,
	Base_Module_Url_It,
	Base_Module_Handle_It,
	Base_Module_Dir_It,
	Repository_Pattern_Interface {

	use Base_Module_Dir_Trait;
	use Base_Module_Url_Trait;
	use Base_Module_Handle_Trait;
	use Repository_Pattern_Trait;

	public function rep_item_id() {
		return 'bulk-options';
	}

	public function condition(): bool {
		return true;
	}

	public function init_hooks() {
		add_action( 'jet-form-builder/editor-assets/before', array( $this, 'enqueue_admin_assets' ) );
	}

	public function remove_hooks() {
		remove_action( 'jet-form-builder/editor-assets/before', array( $this, 'enqueue_admin_assets' ) );
	}

	public function enqueue_admin_assets() {
		$this->rep_install();

		wp_localize_script(
			Editor::EDITOR_PACKAGE_HANDLE,
			'JetFBBulkOptions',
			array(
				'sources' => iterator_to_array( $this->resolve_all() ),
				'list'    => iterator_to_array( $this->resolve_list_sources() ),
			)
		);
	}

	public function rep_instances(): array {
		return array(
			new Base_Source_Resolver(),
			new Days_Source_Resolver(),
			new Months_Source_Resolver(),
			new Countries_Source_Resolver(),
		);
	}

	public function resolve_all(): \Generator {
		/** @var Source_Resolve_Interface $item */
		foreach ( $this->rep_generate_items() as $item ) {
			yield $item->rep_item_id() => $this->resolve_source( $item );
		}
	}

	public function resolve_list_sources(): \Generator {
		/** @var Source_Resolve_Interface $item */
		foreach ( $this->rep_generate_items() as $item ) {
			yield array(
				'label' => $item->get_label(),
				'value' => $item->rep_item_id(),
			);
		}
	}

	public function resolve_source( Source_Resolve_Interface $source ): array {
		return apply_filters(
			"jet-form-builder/bulk-options/{$source->rep_item_id()}",
			$source->resolve()
		);
	}

	public function install( Source_Resolve_Interface $source ): bool {
		return $this->rep_install_item_soft( $source );
	}

	/**
	 * @param string $id
	 *
	 * @return Source_Resolve_Interface
	 * @throws Repository_Exception
	 */
	public function get_source( string $id ): Source_Resolve_Interface {
		if ( ! $this->rep_isset_item( 'base' ) ) {
			$this->rep_install();
		}

		return $this->rep_get_item( $id );
	}
}