SHELL BYPASS 403 |
Modern UI.
Responsive.
Powerful.
<?php
class VP_Util_Reflection
{
public static function is_multiselectable($object)
{
if(is_object($object))
{
if($object instanceof VP_MultiSelectable)
return true;
}
elseif(is_string($object))
{
$class = self::field_class_from_type($object);
if(function_exists('class_implements'))
{
if(class_exists($class))
{
$interfaces = class_implements($class);
if(isset($interfaces['VP_MultiSelectable']))
return true;
}
else
{
return false;
}
}
else
{
$dummy = new $class;
if($dummy instanceof VP_MultiSelectable)
return true;
unset($dummy);
}
}
return false;
}
public static function field_type_from_class($class)
{
$prefix = apply_filters('vp_field_type_from_class_prefix', array('VP_Control_Field_', 'VP_Option_Control_Field_'));
return strtolower(str_replace($prefix, '', $class));
}
public static function field_class_from_type($type)
{
// default prefix
$prefix = 'VP_Control_Field_';
// special case
if($type === 'impexp')
$prefix = 'VP_Option_Control_Field_';
$prefix = apply_filters( 'vp_field_class_from_type_prefix', $prefix, $type );
$class = $prefix . $type;
return $class;
}
}