77 lines
2.9 KiB
PHP
77 lines
2.9 KiB
PHP
<?php
|
|
if(!class_exists('Ultimate_Animator_Param'))
|
|
{
|
|
class Ultimate_Animator_Param
|
|
{
|
|
function __construct()
|
|
{
|
|
if(defined('WPB_VC_VERSION') && version_compare(WPB_VC_VERSION, 4.8) >= 0) {
|
|
if(function_exists('vc_add_shortcode_param'))
|
|
{
|
|
vc_add_shortcode_param('animator' , array($this, 'animator_param'));
|
|
}
|
|
}
|
|
else {
|
|
if(function_exists('add_shortcode_param'))
|
|
{
|
|
add_shortcode_param('animator' , array($this, 'animator_param'));
|
|
}
|
|
}
|
|
}
|
|
|
|
function animator_param($settings, $value){
|
|
$param_name = isset($settings['param_name']) ? $settings['param_name'] : '';
|
|
$type = isset($settings['type']) ? $settings['type'] : '';
|
|
$class = isset($settings['class']) ? $settings['class'] : '';
|
|
$json = ultimate_get_animation_json();
|
|
$jsonIterator = json_decode($json,true);
|
|
|
|
$animators = '<select name="'. esc_attr( $param_name ).'" class="wpb_vc_param_value ' . esc_attr( $param_name ) . ' ' . esc_attr( $type ) . ' ' . esc_attr( $class ) . '">';
|
|
|
|
foreach ($jsonIterator as $key => $val) {
|
|
if(is_array($val)) {
|
|
$labels = str_replace('_',' ', $key);
|
|
$animators .= '<optgroup label="'.ucwords( esc_attr__($labels,'ultimate_vc') ).'">';
|
|
foreach($val as $label => $style){
|
|
$label = str_replace('_',' ', $label);
|
|
if($label == $value)
|
|
$animators .= '<option selected value="'. esc_attr( $label ).'">'. esc_html__( $label,'ultimate_vc' ) .'</option>';
|
|
else
|
|
$animators .= '<option value="'. esc_attr( $label ) .'">'. esc_html__($label,'ultimate_vc') .'</option>';
|
|
}
|
|
} else {
|
|
if($key == $value)
|
|
$animators .= "<option selected value=".esc_attr( $key ).">". esc_html__($key,'ultimate_vc') ."</option>";
|
|
else
|
|
$animators .= "<option value=".esc_attr( $key ).">". esc_html__($key,'ultimate_vc') ."</option>";
|
|
}
|
|
}
|
|
$animators .= '<select>';
|
|
|
|
$output = '';
|
|
$output .= '<div class="select_anim" style="width: 45%; float: left;">';
|
|
$output .= $animators;
|
|
$output .= '</div>';
|
|
$output .= '<div class="anim_prev" style=" padding: 8px; width: 45%; float: left; text-align: center; margin-left: 15px;"> <span id="animate-me" style="padding: 15px; background: #1C8FCF; color: #FFF;">Animation Preview</span></div>';
|
|
$output .= '<script type="text/javascript">
|
|
jQuery(document).ready(function(){
|
|
var animator = jQuery(".'. esc_attr( $param_name ).'");
|
|
var anim_target = jQuery("#animate-me");
|
|
animator.on("change",function(){
|
|
var anim = jQuery(this).val();
|
|
anim_target.removeClass().addClass(anim + " animated").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function(){jQuery(this).removeClass();
|
|
});
|
|
});
|
|
});
|
|
</script>';
|
|
return $output;
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
if(class_exists('Ultimate_Animator_Param'))
|
|
{
|
|
$Ultimate_Animator_Param = new Ultimate_Animator_Param();
|
|
}
|