| Server IP : 172.67.134.116 / Your IP : 216.73.216.227 Web Server : Apache System : Linux server.rehabsharif.com 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64 User : nobi37te ( 1003) PHP Version : 8.2.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/nobi37te/public_html/wp-content/plugins/robin-image-optimizer/libs/factory/forms/ |
Upload File : |
<?php
/**
* Factory Forms
*
* @since 1.0.1
* @package factory-forms
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// checks if the module is already loaded in order to
// prevent loading the same version of the module twice.
if ( defined( 'FACTORY_FORMS_600_LOADED' ) ) {
return;
}
define( 'FACTORY_FORMS_600_LOADED', true );
define( 'FACTORY_FORMS_600_VERSION', '6.0.0' );
// absolute path and URL to the files and resources of the module.
define( 'FACTORY_FORMS_600_DIR', __DIR__ );
define( 'FACTORY_FORMS_600_URL', plugins_url( '', __FILE__ ) );
// comp merge
require_once FACTORY_FORMS_600_DIR . '/includes/providers/value-provider.interface.php';
require_once FACTORY_FORMS_600_DIR . '/includes/providers/meta-value-provider.class.php';
require_once FACTORY_FORMS_600_DIR . '/includes/providers/options-value-provider.class.php';
require_once FACTORY_FORMS_600_DIR . '/includes/form.class.php';
// endcomp
add_action(
'init',
function () {
load_plugin_textdomain( 'robin-image-optimizer', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
}
);
/**
* We add this code into the hook because all these controls quite heavy. So in order to get better perfomance,
* we load the form controls only on pages where the forms are created.
*
* @since 3.0.7
* @see the 'wbcr_factory_forms_600_register_controls' hook
*/
if ( ! function_exists( 'wbcr_factory_forms_600_register_default_controls' ) ) {
/**
* @param Wbcr_Factory600_Plugin $plugin
*
* @throws Exception
*/
function wbcr_factory_forms_600_register_default_controls( Wbcr_Factory600_Plugin $plugin ) {
if ( $plugin && ! isset( $plugin->forms ) ) {
throw new Exception( "The module Factory Forms is not loaded for the plugin '{$plugin->getPluginName()}'." );
}
require_once FACTORY_FORMS_600_DIR . '/includes/html-builder.class.php';
require_once FACTORY_FORMS_600_DIR . '/includes/form-element.class.php';
require_once FACTORY_FORMS_600_DIR . '/includes/control.class.php';
require_once FACTORY_FORMS_600_DIR . '/includes/complex-control.class.php';
require_once FACTORY_FORMS_600_DIR . '/includes/holder.class.php';
require_once FACTORY_FORMS_600_DIR . '/includes/control-holder.class.php';
require_once FACTORY_FORMS_600_DIR . '/includes/custom-element.class.php';
require_once FACTORY_FORMS_600_DIR . '/includes/form-layout.class.php';
// registration of controls
$plugin->forms->registerControls(
[
[
'type' => 'checkbox',
'class' => 'Wbcr_FactoryForms600_CheckboxControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/checkbox.php',
],
[
'type' => 'list',
'class' => 'Wbcr_FactoryForms600_ListControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/list.php',
],
[
'type' => 'dropdown',
'class' => 'Wbcr_FactoryForms600_DropdownControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/dropdown.php',
],
[
'type' => 'dropdown-and-colors',
'class' => 'Wbcr_FactoryForms600_DropdownAndColorsControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/dropdown-and-colors.php',
],
[
'type' => 'hidden',
'class' => 'Wbcr_FactoryForms600_HiddenControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/hidden.php',
],
[
'type' => 'hidden',
'class' => 'Wbcr_FactoryForms600_HiddenControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/hidden.php',
],
[
'type' => 'radio',
'class' => 'Wbcr_FactoryForms600_RadioControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/radio.php',
],
[
'type' => 'radio-colors',
'class' => 'Wbcr_FactoryForms600_RadioColorsControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/radio-colors.php',
],
[
'type' => 'textarea',
'class' => 'Wbcr_FactoryForms600_TextareaControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/textarea.php',
],
[
'type' => 'textbox',
'class' => 'Wbcr_FactoryForms600_TextboxControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/textbox.php',
],
[
'type' => 'multiple-textbox',
'class' => 'Wbcr_FactoryForms600_MultipleTextboxControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/multiple-textbox.php',
],
[
'type' => 'datetimepicker-range',
'class' => 'Wbcr_FactoryForms600_DatepickerRangeControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/datepicker-range.php',
],
[
'type' => 'url',
'class' => 'Wbcr_FactoryForms600_UrlControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/url.php',
],
[
'type' => 'wp-editor',
'class' => 'Wbcr_FactoryForms600_WpEditorControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/wp-editor.php',
],
[
'type' => 'color',
'class' => 'Wbcr_FactoryForms600_ColorControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/color.php',
],
[
'type' => 'color-and-opacity',
'class' => 'Wbcr_FactoryForms600_ColorAndOpacityControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/color-and-opacity.php',
],
[
'type' => 'gradient',
'class' => 'Wbcr_FactoryForms600_GradientControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/gradient.php',
],
[
'type' => 'font',
'class' => 'Wbcr_FactoryForms600_FontControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/font.php',
],
[
'type' => 'google-font',
'class' => 'Wbcr_FactoryForms600_GoogleFontControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/google-font.php',
],
[
'type' => 'pattern',
'class' => 'Wbcr_FactoryForms600_PatternControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/pattern.php',
],
[
'type' => 'integer',
'class' => 'Wbcr_FactoryForms600_IntegerControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/integer.php',
],
[
'type' => 'control-group',
'class' => 'Wbcr_FactoryForms600_ControlGroupHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/control-group.php',
],
[
'type' => 'paddings-editor',
'class' => 'Wbcr_FactoryForms600_PaddingsEditorControl',
'include' => FACTORY_FORMS_600_DIR . '/controls/paddings-editor.php',
],
]
);
// registration of control holders
$plugin->forms->registerHolders(
[
[
'type' => 'tab',
'class' => 'Wbcr_FactoryForms600_TabHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/tab.php',
],
[
'type' => 'tab-item',
'class' => 'Wbcr_FactoryForms600_TabItemHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/tab-item.php',
],
[
'type' => 'accordion',
'class' => 'Wbcr_FactoryForms600_AccordionHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/accordion.php',
],
[
'type' => 'accordion-item',
'class' => 'Wbcr_FactoryForms600_AccordionItemHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/accordion-item.php',
],
[
'type' => 'control-group',
'class' => 'Wbcr_FactoryForms600_ControlGroupHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/control-group.php',
],
[
'type' => 'control-group-item',
'class' => 'Wbcr_FactoryForms600_ControlGroupItem',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/control-group-item.php',
],
[
'type' => 'form-group',
'class' => 'Wbcr_FactoryForms600_FormGroupHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/form-group.php',
],
[
'type' => 'more-link',
'class' => 'Wbcr_FactoryForms600_MoreLinkHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/more-link.php',
],
[
'type' => 'div',
'class' => 'Wbcr_FactoryForms600_DivHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/div.php',
],
[
'type' => 'columns',
'class' => 'Wbcr_FactoryForms600_ColumnsHolder',
'include' => FACTORY_FORMS_600_DIR . '/controls/holders/columns.php',
],
]
);
// registration custom form elements
$plugin->forms->registerCustomElements(
[
[
'type' => 'html',
'class' => 'Wbcr_FactoryForms600_Html',
'include' => FACTORY_FORMS_600_DIR . '/controls/customs/html.php',
],
[
'type' => 'separator',
'class' => 'Wbcr_FactoryForms600_Separator',
'include' => FACTORY_FORMS_600_DIR . '/controls/customs/separator.php',
],
]
);
// registration of form layouts
$plugin->forms->registerFormLayout(
[
'name' => 'bootstrap-3',
'class' => 'Wbcr_FactoryForms600_Bootstrap3FormLayout',
'include' => FACTORY_FORMS_600_DIR . '/layouts/bootstrap-3/bootstrap-3.php',
]
);
}
add_action( 'wbcr_factory_forms_600_register_controls', 'wbcr_factory_forms_600_register_default_controls' );
}