| Server IP : 195.130.67.5 / Your IP : 216.73.217.154 Web Server : Microsoft-IIS/10.0 System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586 User : IUSR ( 0) PHP Version : 7.4.19 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Old Sites/robotics/wp-content/plugins/types/library/toolset/types/embedded/classes/ |
Upload File : |
<?php
/**
* Fields class.
*
*
*/
require_once WPCF_EMBEDDED_INC_ABSPATH . '/fields.php';
/**
* Fields class.
*
* @since Types 1.2
* @package Types
* @subpackage Classes
* @version 0.1
* @category core
* @author srdjan <srdjan@icanlocalize.com>
*/
class WPCF_Fields
{
/**
* Holds all available field types and their config data.
*
* @var type
*/
static $fieldTypesData = null;
/**
* Returns array of available (registered) field types
* and paths to config files.
*
* @return array
*/
public static function getFieldsTypes() {
$fields = array(
'audio' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/audio.php',
'checkboxes' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/checkboxes.php',
'checkbox' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/checkbox.php',
'colorpicker' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/colorpicker.php',
'date' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/date.php',
'email' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/email.php',
'embed' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/embed.php',
//'entry' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/entry.php',
'file' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/file.php',
'image' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/image.php',
'map' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/map.php',
'numeric' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/numeric.php',
'phone' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/phone.php',
'radio' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/radio.php',
'select' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/select.php',
'skype' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/skype.php',
'textarea' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/textarea.php',
'textfield' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/textfield.php',
'twitter' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/twitter.php',
'url' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/url.php',
'video' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/video.php',
'wysiwyg' => WPCF_EMBEDDED_INC_ABSPATH . '/fields/wysiwyg.php',
);
return apply_filters( 'types_register_fields', $fields );
}
/**
* Returns array of available (registered) field types
* and their config data.
*
* @return type
*/
public static function getFieldsTypesData() {
if ( !is_null( self::$fieldTypesData ) ) {
return self::$fieldTypesData;
}
self::$fieldTypesData = self::getFieldsTypes();
foreach ( self::$fieldTypesData as $type => $path ) {
$data = self::getFieldTypeConfig( $path );
if ( !empty( $data ) ) {
self::$fieldTypesData[$type] = $data;
} else {
unset( self::$fieldTypesData[$type] );
}
if ( isset($data['wp_version'])
&& wpcf_compare_wp_version( $data['wp_version'], '<' ) ) {
unset( self::$fieldTypesData[$type] );
}
}
return self::$fieldTypesData;
}
/**
* Get field type data.
*
* @param type $type
* @return type
*/
public static function getFieldTypeData( $type ) {
$fields = self::getFieldsTypes();
return isset( $fields[$type] ) ? self::getFieldTypeConfig( $fields[$type] ) : array();
}
/**
* Returns data for certain field type.
*
* @param string $path
* @return array
*/
public static function getFieldTypeConfig( $path ) {
if ( !is_string( $path ) ) {
return array();
}
if ( file_exists( $path ) ) {
require_once $path;
if ( function_exists( 'wpcf_fields_' . basename( $path, '.php' ) ) ) {
return call_user_func( 'wpcf_fields_' . basename( $path, '.php' ) );
}
}
return array();
}
/**
* Get fields.
*
* Parameters for
* wpcf_admin_fields_get_fields()
*
* $only_active = false
* $disabled_by_type = false
* $strictly_active = false
*
* @return \stdClass
*/
public static function getFields( $args = array(), $toolset = 'types' ) {
$active = isset( $args['active'] ) ? (bool) $args['active'] : true;
return wpcf_admin_fields_get_fields( $active );
}
/**
* Checks if field is under control.
*
* @param type $field_key
* @return type
*/
public static function isUnderControl( $field_key ) {
$fields = self::getFields();
return !empty( $fields[$field_key] );
}
/**
* Enqueue all files from config
*/
public static function enqueueScript( $field ) {
$config = (object) self::getFieldTypeData( $field );
if ( !empty( $config->meta_box_js ) ) {
foreach ( $config->meta_box_js as $handle => $data_script ) {
if ( isset( $data_script['inline'] ) ) {
add_action( 'admin_footer', $data_script['inline'] );
continue;
}
if ( !isset( $data_script['src'] ) ) {
continue;
}
$deps = isset($data_script['deps']) && !empty( $data_script['deps'] ) ? $data_script['deps'] : array();
$ver = !empty( $data_script['ver'] ) ? $data_script['ver'] : WPCF_VERSION;
wp_enqueue_script( $handle, $data_script['src'], $deps, $ver);
}
}
}
/**
* Enqueue all files from config
*/
public static function enqueueStyle( $field ) {
$config = (object) self::getFieldTypeData( $field );
if ( !empty( $config->meta_box_css ) ) {
foreach ( $config->meta_box_css as $handle => $data_script ) {
$deps = !empty( $data_script['deps'] ) ? $data_script['deps'] : array();
if ( isset( $data_script['inline'] ) ) {
add_action( 'admin_head', $data_script['inline'] );
continue;
}
if ( !isset( $data_script['src'] ) ) {
continue;
}
wp_enqueue_style( $handle, $data_script['src'], $deps,
WPCF_VERSION );
}
}
}
}