'Button', 'description'=>'Button description', 'icon_class'=>"fa fa-caret-square-o-right", 'container'=>false, 'has_content'=>false, 'defaults'=>array('value'=>'Click here'), ); parent::__construct($id_base,$name,$options); } function init(){ $this->support('CssEditor'); $this->post_manager=$this->getVeManager()->getPostManager(); $this->popup_manager=$this->getVeManager()->getPopupManager(); $this->getVeManager()->getResourceManager()->addCss('el-button',dirname(__FILE__).'/../../view/css/elements/buttons.css'); $this->enqueue_js('el-button',dirname(__FILE__).'/../../view/js/elements/ve-button.js'); $this->ready('if (typeof ve_front !== "undefined"){ve_front.button.start();}'); } function element($instance,$content=''){ $instance=shortcode_atts(array( 'icon'=>'', 'icon_right'=>'', 'class'=>'', 'value'=>'', 'style'=>'', 'size'=>'', 'bg_color'=>'#FF6D6B', 'txt_color'=>'#ffffff', 'shape'=>'', 'link'=>'', 'link_post'=>'', 'link_popup'=>'', 'link_url'=>'', 'link_target'=>'', 'align' => '' ),$instance); $this->addClass($instance['class']); $btnClass=array('ve-button'); $style=$instance['style']; $size=$instance['size']; $bgColor=$instance['bg_color']; $txtColor=$instance['txt_color']; $shape=$instance['shape']; if($style){ $btnClass[]='ve-button-'.$style; } if($shape){ $btnClass[]='ve-button-'.$shape; } if($size){ $btnClass[]='ve-button-'.$size; } // if($color){ // $btnClass[]='ve-button-'.$color; // } $btnClass[]=$instance['class']; $btnClass=join(' ',$btnClass); $link=$instance['link']; $href=$popup=$target=''; if($link=='post'&&$instance['link_post']){ $href=get_permalink($instance['link_post']); }elseif($link=='custom'){ $href=$instance['link_url']; }elseif($link=='popup'){ $popup=$instance['link_popup']; } $target=$instance['link_target']; $dataAttr=array(); //Move padding inside $paddingNames = array('padding-top','padding-bottom','padding-left','padding-right'); $paddingAttrs = array(); foreach($paddingNames as $patt){ if($padding=$this->css($patt)){ $paddingAttrs[]=sprintf('%s:%s;',$patt,$padding); $this->css($patt,''); } } $paddingAttrs = esc_attr(join(' ',$paddingAttrs)); $dataAttr=join(' ',$dataAttr); $icon=''; $value_with_icon=$instance['value']; if($instance['icon']){ $icon_class='ve-button-icon fa fa-'.$instance['icon']; $icon=sprintf('',$icon_class); if($instance['icon_right']){ $value_with_icon=$value_with_icon.$icon; }else{ $value_with_icon=$icon.$value_with_icon; } } printf('',$btnClass,$instance['value'],$dataAttr,$instance['align'], $paddingAttrs . ' background-color: '.$bgColor.'; color: '.$txtColor.';', $value_with_icon); if($popup&&$link=='popup'&&!ve_is_iframe()&&!ve_is_editor()) { //echo $this->popup_manager->getPopup($popup,array('open'=>'')); //$this->popup_manager->popupScript(); } } function form($instance,$content=''){ $instance=shortcode_atts(array( 'class'=>'', 'value'=>'', 'style'=>'', 'color'=>'', 'shape'=>'', 'size'=>'', 'bg_color'=>'#FF6D6B', 'txt_color'=>'#ffffff', 'icon'=>'', 'icon_right'=>'', 'link'=>'', 'link_post'=>'', 'link_popup'=>'', 'link_url'=>'', 'link_target'=>'', 'align' => '' ),$instance); $button_styles=array( ''=>'Default', '3d'=>'3d', 'raised'=>'raised', 'glow'=>'glow', 'wrap'=>'wrap', ); $button_shapes=array( ''=>'Default', 'rounded'=>'rounded', 'square'=>'square', 'box'=>'box', 'circle'=>'circle', ); $button_sizes=array( ''=>'Default', 'tiny'=>'tiny', 'small'=>'small', 'large'=>'Large', 'jumbo'=>'Large', 'giant'=>'giant', 'block'=>'Full', ); $button_links=array( ''=>'None', 'post'=>'Link to a post', 'popup'=>'Open popup', 'custom'=>'Custom Link', ); $link_targets=array( ''=>'_self', '_blank'=>'_blank', '_parent'=>'_parent', '_top'=>'_top', ); $align=array( 'left'=>'left', 'right'=>'right', 'center'=>'center' ); $style=$instance['style']; $size=$instance['size']; $bgColor=$instance['bg_color']; $txtColor=$instance['txt_color']; $shape=$instance['shape']; $link=$instance['link']; $balign=$instance['align']; $link_post=$instance['link_post']; $link_popup=$instance['link_popup']; $link_custom=esc_attr($instance['link_url']); $link_target=$instance['link_target']; ?>
field_id('style');?> field_id('style');?>field_name('style');?> $o_title){ // $o_title=ucfirst($o_title); // printf('',$o_value,selected($o_value,$style,false),$o_title); // }?> field_id('shape');?> field_id('shape');?>field_name('shape');?> $o_title){ // $o_title=ucfirst($o_title); // printf('',$o_value,selected($o_value,$shape,false),$o_title); // }?>