Plugin Directory

Changeset 1035086


Ignore:
Timestamp:
11/29/2014 03:34:42 PM (11 years ago)
Author:
FoolsRun
Message:

Deploy version 3.3

Location:
bootstrap-3-shortcodes/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • bootstrap-3-shortcodes/trunk/README.md

    r991902 r1035086  
    217217
    218218### Responsive Utilities
    219     [responsive visible_block="lg md" hidden="sn xs"] ... [/responsive]
     219    [responsive block="lg md" hidden="sn xs"] ... [/responsive]
    220220
    221221#### [reponsive] parameters
     
    230230data | Data attribute and value pairs separated by a comma. Pairs separated by pipe (see example at [Button Dropdowns](#button-dropdowns)). | optional | any text | none
    231231
    232 [Bootstrap emphasis classes documentation](http://getbootstrap.com/css/#type-emphasis)
     232[Bootstrap responsive utilities documentation](http://getbootstrap.com/css/#responsive-utilities)
    233233
    234234* * *
     
    237237
    238238### Icons
    239     [icon type="arrow"]
     239    [icon type="arrow-right"]
    240240
    241241#### [icon] parameters
     
    818818
    819819### Modal
    820     [modal text="This is my modal" title="Modal Title Goes Here" xclass="btn btn-primary btn-large"]
     820    [modal text="This is my modal" title="Modal Title Goes Here" xclass="btn btn-primary btn-lg"]
    821821        ...
    822822        [modal-footer]
  • bootstrap-3-shortcodes/trunk/bootstrap-shortcodes.php

    r991902 r1035086  
    44Plugin URI: http://wp-snippets.com/freebies/bootstrap-shortcodes or https://github.com/filipstefansson/bootstrap-shortcodes
    55Description: The plugin adds a shortcodes for all Bootstrap elements.
    6 Version: 3.2.4
     6Version: 3.3
    77Author: Filip Stefansson, Simon Yeldon, and Michael W. Delaney
    88Author URI:
     
    135135  function bs_button( $atts, $content = null ) {
    136136
    137     extract( shortcode_atts( array(
     137    $atts = shortcode_atts( array(
    138138      "type"     => false,
    139139      "size"     => false,
     
    147147      "title"    => false,
    148148      "data"     => false
    149     ), $atts ) );
     149    ), $atts );
    150150
    151151    $class  = 'btn';
    152     $class .= ( $type )     ? ' btn-' . $type : ' btn-default';
    153     $class .= ( $size )     ? ' btn-' . $size : '';
    154     $class .= ( $block      == 'true' )    ? ' btn-block' : '';
    155     $class .= ( $dropdown   == 'true' ) ? ' dropdown-toggle' : '';
    156     $class .= ( $disabled   == 'true' ) ? ' disabled' : '';
    157     $class .= ( $active     == 'true' )   ? ' active' : '';
    158     $class .= ( $xclass )   ? ' ' . $xclass : '';
    159    
    160     $data_props = $this->parse_data_attributes( $data );
     152    $class .= ( $atts['type'] )     ? ' btn-' . $atts['type'] : ' btn-default';
     153    $class .= ( $atts['size'] )     ? ' btn-' . $atts['size'] : '';
     154    $class .= ( $atts['block'] == 'true' )    ? ' btn-block' : '';
     155    $class .= ( $atts['dropdown']   == 'true' ) ? ' dropdown-toggle' : '';
     156    $class .= ( $atts['disabled']   == 'true' ) ? ' disabled' : '';
     157    $class .= ( $atts['active']     == 'true' )   ? ' active' : '';
     158    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     159   
     160    $data_props = $this->parse_data_attributes( $atts['data'] );
    161161
    162162    return sprintf(
    163163      '<a href="%s" class="%s"%s%s%s>%s</a>',
    164       esc_url( $link ),
    165       esc_attr( $class ),
    166       ( $target )     ? sprintf( ' target="%s"', esc_attr( $target ) ) : '',
    167       ( $title )      ? sprintf( ' title="%s"',  esc_attr( $title ) )  : '',
     164      esc_url( $atts['link'] ),
     165      esc_attr( $class ),
     166      ( $atts['target'] )     ? sprintf( ' target="%s"', esc_attr( $atts['target'] ) ) : '',
     167      ( $atts['title'] )      ? sprintf( ' title="%s"',  esc_attr( $atts['title'] ) )  : '',
    168168      ( $data_props ) ? ' ' . $data_props : '',
    169169      do_shortcode( $content )
     
    181181  function bs_button_group( $atts, $content = null ) {
    182182     
    183      extract( shortcode_atts( array(
     183    $atts = shortcode_atts( array(
    184184        "size"      => false,
    185185        "vertical"  => false,
     
    188188        "xclass"    => false,
    189189        "data"      => false
    190      ), $atts ) );
     190    ), $atts );
    191191     
    192192    $class  = 'btn-group';
    193     $class .= ( $size )         ? ' btn-group-' . $size : '';
    194     $class .= ( $vertical   == 'true' )     ? ' btn-group-vertical' : '';
    195     $class .= ( $justified  == 'true' )    ? ' btn-group-justified' : '';
    196     $class .= ( $dropup     == 'true' )       ? ' dropup' : '';
    197     $class .= ( $xclass )       ? ' ' . $xclass : '';
    198    
    199     $data_props = $this->parse_data_attributes( $data );
     193    $class .= ( $atts['size'] )         ? ' btn-group-' . $atts['size'] : '';
     194    $class .= ( $atts['vertical']   == 'true' )     ? ' btn-group-vertical' : '';
     195    $class .= ( $atts['justified']  == 'true' )    ? ' btn-group-justified' : '';
     196    $class .= ( $atts['dropup']     == 'true' )       ? ' dropup' : '';
     197    $class .= ( $atts['xclass'] )       ? ' ' . $atts['xclass'] : '';
     198   
     199    $data_props = $this->parse_data_attributes( $atts['data'] );
    200200     
    201201    return sprintf(
     
    214214    *-------------------------------------------------------------------------------------*/
    215215  function bs_button_toolbar( $atts, $content = null ) {
    216        
    217     extract( shortcode_atts( array(
     216   
     217    $atts = shortcode_atts( array(
    218218      "xclass" => false,
    219219      "data"   => false
    220     ), $atts ) );
     220    ), $atts );
    221221
    222222    $class  = 'btn-toolbar';     
    223     $class .= ( $xclass )   ? ' ' . $xclass : '';
    224      
    225     $data_props = $this->parse_data_attributes( $data );
     223    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     224     
     225    $data_props = $this->parse_data_attributes( $atts['data'] );
    226226     
    227227    return sprintf(
     
    242242    *-------------------------------------------------------------------------------------*/
    243243  function bs_caret( $atts, $content = null ) {
    244      
    245     extract( shortcode_atts( array(
     244
     245    $atts = shortcode_atts( array(
    246246      "xclass" => false,
    247247      "data"   => false
    248     ), $atts ) );
     248    ), $atts );
    249249
    250250    $class  = 'caret';     
    251     $class .= ( $xclass )   ? ' ' . $xclass : '';
    252      
    253     $data_props = $this->parse_data_attributes( $data );
     251    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     252     
     253    $data_props = $this->parse_data_attributes( $atts['data'] );
    254254     
    255255    return sprintf(
     
    270270    *-------------------------------------------------------------------------------------*/
    271271  function bs_container( $atts, $content = null ) {
    272      
    273     extract( shortcode_atts( array(
     272
     273    $atts = shortcode_atts( array(
    274274      "fluid"  => false,
    275275      "xclass" => false,
    276276      "data"   => false
    277     ), $atts ) );
    278 
    279     $class  = ( $fluid   == 'true' )  ? 'container-fluid' : 'container';     
    280     $class .= ( $xclass ) ? ' ' . $xclass : '';
    281 
    282     $data_props = $this->parse_data_attributes( $data );
     277    ), $atts );
     278
     279    $class  = ( $atts['fluid']   == 'true' )  ? 'container-fluid' : 'container';     
     280    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     281
     282    $data_props = $this->parse_data_attributes( $atts['data'] );
    283283     
    284284    return sprintf(
     
    298298    *-------------------------------------------------------------------------------------*/
    299299  function bs_dropdown( $atts, $content = null ) {
    300      
    301      extract( shortcode_atts( array(
     300
     301    $atts = shortcode_atts( array(
    302302      "xclass" => false,
    303303      "data"   => false
    304      ), $atts ) );
     304    ), $atts );
    305305
    306306    $class  = 'dropdown-menu';     
    307     $class .= ( $xclass ) ? ' ' . $xclass : '';
    308      
    309     $data_props = $this->parse_data_attributes( $data );
     307    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     308     
     309    $data_props = $this->parse_data_attributes( $atts['data'] );
    310310     
    311311    return sprintf(
     
    325325    *-------------------------------------------------------------------------------------*/
    326326  function bs_dropdown_item( $atts, $content = null ) {
    327      
    328     extract( shortcode_atts( array(
     327
     328    $atts = shortcode_atts( array(
    329329      "link"        => false,
    330330      "disabled"    => false,
    331331      "xclass"      => false,
    332332      "data"        => false
    333     ), $atts ) );
     333    ), $atts );
    334334
    335335    $li_class  = ''; 
    336     $li_class .= ( $disabled   == 'true' ) ? ' disabled' : '';
     336    $li_class .= ( $atts['disabled']  == 'true' ) ? ' disabled' : '';
    337337
    338338    $a_class  = ''; 
    339     $a_class .= ( $xclass ) ? ' ' . $xclass : '';
    340 
    341     $data_props = $this->parse_data_attributes( $data );
     339    $a_class .= ( $atts['xclass'] ) ? ' ' . $atts['xclass'] : '';
     340
     341    $data_props = $this->parse_data_attributes( $atts['data'] );
    342342
    343343    return sprintf(
    344344      '<li role="presentation" class="%s"><a role="menuitem" href="%s" class="%s"%s>%s</a></li>',
    345345      esc_attr( $li_class ),
    346       esc_url( $link ),
     346      esc_url( $atts['link'] ),
    347347      esc_attr( $a_class ),
    348348      ( $data_props ) ? ' ' . $data_props : '',
     
    360360  function bs_divider( $atts, $content = null ) {
    361361     
    362     extract( shortcode_atts( array(
     362    $atts = shortcode_atts( array(
    363363        "xclass" => false,
    364364        "data" => false
    365      ), $atts ) );
     365    ), $atts );
    366366
    367367    $class  = 'divider';     
    368     $class .= ( $xclass )   ? ' ' . $xclass : '';
    369 
    370     $data_props = $this->parse_data_attributes( $data );
     368    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     369
     370    $data_props = $this->parse_data_attributes( $atts['data'] );
    371371     
    372372    return sprintf(
     
    387387  function bs_dropdown_header( $atts, $content = null ) {
    388388     
    389     extract( shortcode_atts( array(
     389    $atts = shortcode_atts( array(
    390390        "xclass" => false,
    391391        "data"   => false
    392      ), $atts ) );
     392    ), $atts );
    393393
    394394    $class  = 'dropdown-header';     
    395     $class .= ( $xclass ) ? ' ' . $xclass : '';
    396 
    397     $data_props = $this->parse_data_attributes( $data );
     395    $class .= ( $atts['xclass'] ) ? ' ' . $atts['xclass'] : '';
     396
     397    $data_props = $this->parse_data_attributes( $atts['data'] );
    398398     
    399399    return sprintf(
     
    412412    *-------------------------------------------------------------------------------------*/
    413413  function bs_nav( $atts, $content = null ) {
    414      
    415      extract( shortcode_atts( array(
     414
     415    $atts = shortcode_atts( array(
    416416        "type"      => false,
    417417        "stacked"   => false,
     
    419419        "xclass"    => false,
    420420        "data"      => false
    421      ), $atts ) );
     421    ), $atts );
    422422     
    423423    $class  = 'nav';
    424     $class .= ( $type )         ? ' nav-' . $type : ' nav-tabs';
    425     $class .= ( $stacked   == 'true' )      ? ' nav-stacked' : '';
    426     $class .= ( $justified == 'true' )    ? ' nav-justified' : '';
    427     $class .= ( $xclass )       ? ' ' . $xclass : '';
    428    
    429     $data_props = $this->parse_data_attributes( $data );
     424    $class .= ( $atts['type'] )         ? ' nav-' . $atts['type'] : ' nav-tabs';
     425    $class .= ( $atts['stacked']   == 'true' )      ? ' nav-stacked' : '';
     426    $class .= ( $atts['justified'] == 'true' )    ? ' nav-justified' : '';
     427    $class .= ( $atts['xclass'] )       ? ' ' . $atts['xclass'] : '';
     428   
     429    $data_props = $this->parse_data_attributes( $atts['data'] );
    430430     
    431431    return sprintf(
     
    445445  function bs_nav_item( $atts, $content = null ) {
    446446
    447     extract( shortcode_atts( array(
     447    $atts = shortcode_atts( array(
    448448      "link"     => false,
    449449      "active"   => false,
     
    452452      "xclass"   => false,
    453453      "data"     => false,
    454     ), $atts ) );
     454    ), $atts );
    455455
    456456    $li_classes  = '';
    457     $li_classes .= ( $dropdown ) ? 'dropdown' : '';
    458     $li_classes .= ( $active   == 'true' )   ? ' active' : '';
    459     $li_classes .= ( $disabled == 'true' ) ? ' disabled' : '';
     457    $li_classes .= ( $atts['dropdown'] ) ? 'dropdown' : '';
     458    $li_classes .= ( $atts['active']   == 'true' )   ? ' active' : '';
     459    $li_classes .= ( $atts['disabled'] == 'true' ) ? ' disabled' : '';
    460460
    461461    $a_classes  = '';
    462     $a_classes .= ( $dropdown   == 'true' ) ? ' dropdown-toggle' : '';
    463     $a_classes .= ( $xclass )   ? ' ' . $xclass : '';
    464 
    465     $data_props = $this->parse_data_attributes( $data );
     462    $a_classes .= ( $atts['dropdown']   == 'true' ) ? ' dropdown-toggle' : '';
     463    $a_classes .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     464
     465    $data_props = $this->parse_data_attributes( $atts['data'] );
    466466
    467467    # Wrong idea I guess ....
     
    474474      '<li%1$s><a href="%2$s"%3$s%4$s%5$s>%6$s</li>',
    475475      ( ! empty( $li_classes ) ) ? sprintf( ' class="%s"', esc_attr( $li_classes ) ) : '',
    476       esc_url( $link ),
     476      esc_url( $atts['link'] ),
    477477      ( ! empty( $a_classes ) )  ? sprintf( ' class="%s"', esc_attr( $a_classes ) )  : '',
    478       ( $dropdown )   ? ' data-toggle="dropdown"' : '',
     478      ( $atts['dropdown'] )   ? ' data-toggle="dropdown"' : '',
    479479      ( $data_props ) ? ' ' . $data_props : '',
    480480      do_shortcode( $content )
     
    493493  function bs_alert( $atts, $content = null ) {
    494494
    495     extract( shortcode_atts( array(
     495    $atts = shortcode_atts( array(
    496496      "type"          => false,
    497497      "dismissable"   => false,
    498498      "xclass"        => false,
    499499      "data"          => false
    500     ), $atts ) );
     500    ), $atts );
    501501     
    502502    $class  = 'alert';
    503     $class .= ( $type )         ? ' alert-' . $type : ' alert-success';
    504     $class .= ( $dismissable   == 'true' )  ? ' alert-dismissable' : '';
    505     $class .= ( $xclass )       ? ' ' . $xclass : '';
    506      
    507     $dismissable = ( $dismissable ) ? '<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' : '';
    508    
    509     $data_props = $this->parse_data_attributes( $data );
     503    $class .= ( $atts['type'] )         ? ' alert-' . $atts['type'] : ' alert-success';
     504    $class .= ( $atts['dismissable']   == 'true' )  ? ' alert-dismissable' : '';
     505    $class .= ( $atts['xclass'] )       ? ' ' . $atts['xclass'] : '';
     506     
     507    $dismissable = ( $atts['dismissable'] ) ? '<button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>' : '';
     508   
     509    $data_props = $this->parse_data_attributes( $atts['data'] );
    510510     
    511511    return sprintf(
     
    526526  function bs_progress( $atts, $content = null ) {
    527527
    528     extract( shortcode_atts( array(
     528    $atts = shortcode_atts( array(
    529529      "striped"   => false,
    530530      "animated"  => false,
    531531      "xclass"    => false,
    532532      "data"      => false
    533     ), $atts ) );
     533    ), $atts );
    534534     
    535535    $class  = 'progress';
    536     $class .= ( $striped   == 'true' )  ? ' progress-striped' : '';
    537     $class .= ( $animated  == 'true' ) ? ' active' : '';
    538     $class .= ( $xclass )   ? ' ' . $xclass : '';
    539    
    540     $data_props = $this->parse_data_attributes( $data );
     536    $class .= ( $atts['striped']  == 'true' )  ? ' progress-striped' : '';
     537    $class .= ( $atts['animated']  == 'true' ) ? ' active' : '';
     538    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     539   
     540    $data_props = $this->parse_data_attributes( $atts['data'] );
    541541     
    542542    return sprintf(
     
    556556  function bs_progress_bar( $atts, $content = null ) {
    557557
    558      extract( shortcode_atts( array(
     558    $atts = shortcode_atts( array(
    559559        "type"      => false,
    560560        "percent"   => false,
     
    562562        "xclass"    => false,
    563563        "data"      => false
    564      ), $atts ) );
     564    ), $atts );
    565565     
    566566    $class  = 'progress-bar';
    567     $class .= ( $type )   ? ' progress-bar-' . $type : '';
    568     $class .= ( $xclass ) ? ' ' . $xclass : '';
    569    
    570     $data_props = $this->parse_data_attributes( $data );
     567    $class .= ( $atts['type'] )   ? ' progress-bar-' . $atts['type'] : '';
     568    $class .= ( $atts['xclass'] ) ? ' ' . $atts['xclass'] : '';
     569   
     570    $data_props = $this->parse_data_attributes( $atts['data'] );
    571571     
    572572    return sprintf(
    573573      '<div class="%s" role="progressbar" %s%s>%s</div>',
    574574      esc_attr( $class ),
    575       ( $percent )      ? ' aria-value="' . (int) $percent . '" aria-valuemin="0" aria-valuemax="100" style="width: ' . (int) $percent . '%;"' : '',
     575      ( $atts['percent'] )      ? ' aria-value="' . (int) $atts['percent'] . '" aria-valuemin="0" aria-valuemax="100" style="width: ' . (int) $atts['percent'] . '%;"' : '',
    576576      ( $data_props )   ? ' ' . $data_props : '',
    577       ( $percent )      ? sprintf('<span%s>%s</span>', ( !$label ) ? ' class="sr-only"' : '', (int) $percent . '% Complete') : ''
     577      ( $atts['percent'] )      ? sprintf('<span%s>%s</span>', ( !$atts['label'] ) ? ' class="sr-only"' : '', (int) $atts['percent'] . '% Complete') : ''
    578578    );
    579579  }
     
    588588    *-------------------------------------------------------------------------------------*/
    589589  function bs_code( $atts, $content = null ) {
    590      
    591      extract( shortcode_atts( array(
     590
     591    $atts = shortcode_atts( array(
    592592        "inline"      => false,
    593593        "scrollable"  => false,
    594594        "xclass"      => false,
    595595        "data"        => false
    596      ), $atts ) );
     596    ), $atts );
    597597
    598598    $class  = '';
    599     $class .= ( $scrollable   == 'true' )  ? ' pre-scrollable' : '';
    600     $class .= ( $xclass )   ? ' ' . $xclass : '';
    601 
    602     $data_props = $this->parse_data_attributes( $data );
     599    $class .= ( $atts['scrollable']   == 'true' )  ? ' pre-scrollable' : '';
     600    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     601
     602    $data_props = $this->parse_data_attributes( $atts['data'] );
    603603
    604604    return sprintf(
    605605      '<%1$s class="%2$s"%3$s>%4$s</%1$s>',
    606       ( $inline ) ? 'code' : 'pre',
     606      ( $atts['inline'] ) ? 'code' : 'pre',
    607607      esc_attr( $class ),
    608608      ( $data_props ) ? ' ' . $data_props : '',
     
    620620    *-------------------------------------------------------------------------------------*/
    621621  function bs_row( $atts, $content = null ) {
    622      
    623     extract( shortcode_atts( array(
     622
     623    $atts = shortcode_atts( array(
    624624      "xclass" => false,
    625625      "data"   => false
    626     ), $atts ) );
     626    ), $atts );
    627627
    628628    $class  = 'row';     
    629     $class .= ( $xclass )   ? ' ' . $xclass : '';
    630      
    631     $data_props = $this->parse_data_attributes( $data );
     629    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     630     
     631    $data_props = $this->parse_data_attributes( $atts['data'] );
    632632     
    633633    return sprintf(
     
    649649  function bs_column( $atts, $content = null ) {
    650650
    651     extract( shortcode_atts( array(
     651    $atts = shortcode_atts( array(
    652652      "lg"          => false,
    653653      "md"          => false,
     
    668668      "xclass"      => false,
    669669      "data"        => false
    670     ), $atts ) );
     670    ), $atts );
    671671
    672672    $class  = '';
    673     $class .= ( $lg )             ? ' col-lg-' . $lg : '';
    674     $class .= ( $md )             ? ' col-md-' . $md : '';
    675     $class .= ( $sm )             ? ' col-sm-' . $sm : '';
    676     $class .= ( $xs )             ? ' col-xs-' . $xs : '';
    677     $class .= ( $offset_lg )      ? ' col-lg-offset-' . $offset_lg : '';
    678     $class .= ( $offset_md )      ? ' col-md-offset-' . $offset_md : '';
    679     $class .= ( $offset_sm )      ? ' col-sm-offset-' . $offset_sm : '';
    680     $class .= ( $offset_xs )      ? ' col-xs-offset-' . $offset_xs : '';
    681     $class .= ( $pull_lg )        ? ' col-lg-pull-' . $pull_lg : '';
    682     $class .= ( $pull_md )        ? ' col-md-pull-' . $pull_md : '';
    683     $class .= ( $pull_sm )        ? ' col-sm-pull-' . $pull_sm : '';
    684     $class .= ( $pull_xs )        ? ' col-xs-pull-' . $pull_xs : '';
    685     $class .= ( $push_lg )        ? ' col-lg-push-' . $push_lg : '';
    686     $class .= ( $push_md )        ? ' col-md-push-' . $push_md : '';
    687     $class .= ( $push_sm )        ? ' col-sm-push-' . $push_sm : '';
    688     $class .= ( $push_xs )        ? ' col-xs-push-' . $push_xs : '';
    689     $class .= ( $xclass )   ? ' ' . $xclass : '';
    690      
    691     $data_props = $this->parse_data_attributes( $data );
     673    $class .= ( $atts['lg'] )                                           ? ' col-lg-' . $atts['lg'] : '';
     674    $class .= ( $atts['md'] )                                           ? ' col-md-' . $atts['md'] : '';
     675    $class .= ( $atts['sm'] )                                           ? ' col-sm-' . $atts['sm'] : '';
     676    $class .= ( $atts['xs'] )                                           ? ' col-xs-' . $atts['xs'] : '';
     677    $class .= ( $atts['offset_lg'] || $atts['offset_lg'] === "0" )      ? ' col-lg-offset-' . $atts['offset_lg'] : '';
     678    $class .= ( $atts['offset_md'] || $atts['offset_md'] === "0" )      ? ' col-md-offset-' . $atts['offset_md'] : '';
     679    $class .= ( $atts['offset_sm'] || $atts['offset_sm'] === "0" )      ? ' col-sm-offset-' . $atts['offset_sm'] : '';
     680    $class .= ( $atts['offset_xs'] || $atts['offset_xs'] === "0" )      ? ' col-xs-offset-' . $atts['offset_xs'] : '';
     681    $class .= ( $atts['pull_lg']   || $atts['pull_lg'] === "0" )        ? ' col-lg-pull-' . $atts['pull_lg'] : '';
     682    $class .= ( $atts['pull_md']   || $atts['pull_md'] === "0" )        ? ' col-md-pull-' . $atts['pull_md'] : '';
     683    $class .= ( $atts['pull_sm']   || $atts['pull_sm'] === "0" )        ? ' col-sm-pull-' . $atts['pull_sm'] : '';
     684    $class .= ( $atts['pull_xs']   || $atts['pull_xs'] === "0" )        ? ' col-xs-pull-' . $atts['pull_xs'] : '';
     685    $class .= ( $atts['push_lg']   || $atts['push_lg'] === "0" )        ? ' col-lg-push-' . $atts['push_lg'] : '';
     686    $class .= ( $atts['push_md']   || $atts['push_md'] === "0" )        ? ' col-md-push-' . $atts['push_md'] : '';
     687    $class .= ( $atts['push_sm']   || $atts['push_sm'] === "0" )        ? ' col-sm-push-' . $atts['push_sm'] : '';
     688    $class .= ( $atts['push_xs']   || $atts['push_xs'] === "0" )        ? ' col-xs-push-' . $atts['push_xs'] : '';
     689    $class .= ( $atts['xclass'] )                                       ? ' ' . $atts['xclass'] : '';
     690     
     691    $data_props = $this->parse_data_attributes( $atts['data'] );
    692692     
    693693    return sprintf(
     
    708708  function bs_list_group( $atts, $content = null ) {
    709709
    710     extract( shortcode_atts( array(
     710    $atts = shortcode_atts( array(
    711711      "linked" => false,
    712712      "xclass" => false,
    713713      "data"   => false
    714     ), $atts ) );
     714    ), $atts );
    715715
    716716    $class  = 'list-group';     
    717     $class .= ( $xclass )   ? ' ' . $xclass : '';
    718      
    719     $data_props = $this->parse_data_attributes( $data );
     717    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     718     
     719    $data_props = $this->parse_data_attributes( $atts['data'] );
    720720     
    721721    return sprintf(
    722722      '<%1$s class="%2$s"%3$s>%4$s</%1$s>',
    723       ( $linked == 'true' ) ? 'div' : 'ul',
     723      ( $atts['linked'] == 'true' ) ? 'div' : 'ul',
    724724      esc_attr( $class ),
    725725      ( $data_props ) ? ' ' . $data_props : '',
     
    737737  function bs_list_group_item( $atts, $content = null ) {
    738738
    739     extract( shortcode_atts( array(
     739    $atts = shortcode_atts( array(
    740740      "link"    => false,
    741741      "type"    => false,
     
    744744      "xclass"  => false,
    745745      "data"    => false
    746     ), $atts ) );
     746    ), $atts );
    747747
    748748    $class  = 'list-group-item';
    749     $class .= ( $type )     ? ' list-group-item-' . $type : '';
    750     $class .= ( $active   == 'true' )   ? ' active' : '';
    751     $class .= ( $xclass )   ? ' ' . $xclass : '';
    752      
    753     $data_props = $this->parse_data_attributes( $data );
     749    $class .= ( $atts['type'] )     ? ' list-group-item-' . $atts['type'] : '';
     750    $class .= ( $atts['active']   == 'true' )   ? ' active' : '';
     751    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     752     
     753    $data_props = $this->parse_data_attributes( $atts['data'] );
    754754     
    755755    return sprintf(
    756756      '<%1$s %2$s %3$s class="%4$s"%5$s>%6$s</%1$s>',
    757       ( $link )     ? 'a' : 'li',
    758       ( $link )     ? 'href="' . esc_url( $link ) . '"' : '',
    759       ( $target )   ? sprintf( ' target="%s"', esc_attr( $target ) ) : '',
     757      ( $atts['link'] )     ? 'a' : 'li',
     758      ( $atts['link'] )     ? 'href="' . esc_url( $atts['link'] ) . '"' : '',
     759      ( $atts['target'] )   ? sprintf( ' target="%s"', esc_attr( $atts['target'] ) ) : '',
    760760      esc_attr( $class ),
    761761      ( $data_props ) ? ' ' . $data_props : '',
     
    772772  function bs_list_group_item_heading( $atts, $content = null ) {
    773773
    774     extract( shortcode_atts( array(
     774    $atts = shortcode_atts( array(
    775775      "xclass" => false,
    776776      "data"   => false
    777     ), $atts ) );
     777    ), $atts );
    778778
    779779    $class  = 'list-group-item-heading';     
    780     $class .= ( $xclass )   ? ' ' . $xclass : '';
    781      
    782     $data_props = $this->parse_data_attributes( $data );
     780    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     781     
     782    $data_props = $this->parse_data_attributes( $atts['data'] );
    783783     
    784784    return sprintf(
     
    797797    *-------------------------------------------------------------------------------------*/
    798798  function bs_list_group_item_text( $atts, $content = null ) {
    799      
    800      extract( shortcode_atts( array(
    801         "xclass" => false,
    802         "data"   => false
    803      ), $atts ) );
    804 
    805     $class  = 'list-group-item-text';     
    806     $class .= ( $xclass )   ? ' ' . $xclass : '';
    807      
    808     $data_props = $this->parse_data_attributes( $data );
    809      
    810     return sprintf(
    811       '<p class="%s"%s>%s</p>',
    812       esc_attr( $class ),
    813       ( $data_props ) ? ' ' . $data_props : '',
    814       do_shortcode( $content )
    815     );
    816   }
    817 
    818   /*--------------------------------------------------------------------------------------
    819     *
    820     * bs_breadcrumb
    821     *
    822     *
    823     *-------------------------------------------------------------------------------------*/
    824   function bs_breadcrumb( $atts, $content = null ) {
    825 
    826     extract( shortcode_atts( array(
     799
     800    $atts = shortcode_atts( array(
    827801      "xclass" => false,
    828802      "data"   => false
    829     ), $atts ) );
     803    ), $atts );
     804
     805    $class  = 'list-group-item-text';     
     806    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     807     
     808    $data_props = $this->parse_data_attributes( $atts['data'] );
     809     
     810    return sprintf(
     811      '<p class="%s"%s>%s</p>',
     812      esc_attr( $class ),
     813      ( $data_props ) ? ' ' . $data_props : '',
     814      do_shortcode( $content )
     815    );
     816  }
     817
     818  /*--------------------------------------------------------------------------------------
     819    *
     820    * bs_breadcrumb
     821    *
     822    *
     823    *-------------------------------------------------------------------------------------*/
     824  function bs_breadcrumb( $atts, $content = null ) {
     825
     826    $atts = shortcode_atts( array(
     827      "xclass" => false,
     828      "data"   => false
     829    ), $atts );
    830830
    831831    $class  = 'breadcrumb';     
    832     $class .= ( $xclass )   ? ' ' . $xclass : '';
    833      
    834     $data_props = $this->parse_data_attributes( $data );
     832    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     833     
     834    $data_props = $this->parse_data_attributes( $atts['data'] );
    835835     
    836836    return sprintf(
     
    851851  function bs_breadcrumb_item( $atts, $content = null ) {
    852852
    853     extract( shortcode_atts( array(
     853    $atts = shortcode_atts( array(
    854854      "link" => false,
    855855      "xclass" => false,
    856856      "data" => false
    857     ), $atts ) );
     857    ), $atts );
    858858
    859859    $class  = '';     
    860     $class .= ( $xclass )   ? ' ' . $xclass : '';
    861 
    862     $data_props = $this->parse_data_attributes( $data );
     860    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     861
     862    $data_props = $this->parse_data_attributes( $atts['data'] );
    863863
    864864    return sprintf(
    865865      '<li><a href="%s" class="%s"%s>%s</a></li>',
    866       esc_url( $link ),
     866      esc_url( $atts['link'] ),
    867867      esc_attr( $class ),
    868868      ( $data_props ) ? ' ' . $data_props : '',
     
    881881  function bs_label( $atts, $content = null ) {
    882882
    883     extract( shortcode_atts( array(
     883    $atts = shortcode_atts( array(
    884884      "type"      => false,
    885885      "xclass"    => false,
    886886      "data"      => false
    887     ), $atts ) );
     887    ), $atts );
    888888     
    889889    $class  = 'label';
    890     $class .= ( $type )     ? ' label-' . $type : ' label-default';
    891     $class .= ( $xclass )   ? ' ' . $xclass : '';
    892    
    893     $data_props = $this->parse_data_attributes( $data );
     890    $class .= ( $atts['type'] )     ? ' label-' . $atts['type'] : ' label-default';
     891    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     892   
     893    $data_props = $this->parse_data_attributes( $atts['data'] );
    894894
    895895    return sprintf(
     
    911911  function bs_badge( $atts, $content = null ) {
    912912
    913     extract( shortcode_atts( array(
     913    $atts = shortcode_atts( array(
    914914      "right"   => false,
    915915      "xclass"  => false,
    916916      "data"    => false
    917     ), $atts ) );
     917    ), $atts );
    918918     
    919919    $class  = 'badge';
    920     $class .= ( $right   == 'true' )    ? ' pull-right' : '';
    921     $class .= ( $xclass )   ? ' ' . $xclass : '';
    922    
    923     $data_props = $this->parse_data_attributes( $data );
     920    $class .= ( $atts['right']   == 'true' )    ? ' pull-right' : '';
     921    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     922   
     923    $data_props = $this->parse_data_attributes( $atts['data'] );
    924924     
    925925    return sprintf(
     
    941941  function bs_icon( $atts, $content = null ) {
    942942
    943     extract( shortcode_atts( array(
     943    $atts = shortcode_atts( array(
    944944      "type"   => false,
    945945      "xclass" => false,
    946946      "data"   => false
    947     ), $atts ) );
     947    ), $atts );
    948948     
    949949    $class  = 'glyphicon';
    950     $class .= ( $type )     ? ' glyphicon-' . $type : '';
    951     $class .= ( $xclass )   ? ' ' . $xclass : '';
    952    
    953     $data_props = $this->parse_data_attributes( $data );
     950    $class .= ( $atts['type'] )     ? ' glyphicon-' . $atts['type'] : '';
     951    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     952   
     953    $data_props = $this->parse_data_attributes( $atts['data'] );
    954954     
    955955    return sprintf(
     
    10131013    *-------------------------------------------------------------------------------------*/
    10141014  function bs_table_wrap( $atts, $content = null ) {
    1015     extract( shortcode_atts( array(
    1016       'bordered'  => false,
    1017       'striped'   => false,
    1018       'hover'     => false,
    1019       'condensed' => false,
    1020       'xclass'    => false,
    1021       'data'      => false
    1022     ), $atts ) );
     1015
     1016    $atts = shortcode_atts( array(
     1017      'bordered'   => false,
     1018      'striped'    => false,
     1019      'hover'      => false,
     1020      'condensed'  => false,
     1021      'responsive' => false,
     1022      'xclass'     => false,
     1023      'data'       => false
     1024    ), $atts );
    10231025
    10241026    $class  = 'table';
    1025     $class .= ( $bordered  == 'true' )     ? ' table-bordered' : '';
    1026     $class .= ( $striped   == 'true' )      ? ' table-striped' : '';
    1027     $class .= ( $hover     == 'true' )      ? ' table-hover' : '';
    1028     $class .= ( $condensed == 'true' )    ? ' table-condensed' : '';
    1029     $class .= ($xclass)       ? ' ' . $xclass : '';
     1027    $class .= ( $atts['bordered']  == 'true' )    ? ' table-bordered' : '';
     1028    $class .= ( $atts['striped']   == 'true' )    ? ' table-striped' : '';
     1029    $class .= ( $atts['hover']     == 'true' )    ? ' table-hover' : '';
     1030    $class .= ( $atts['condensed'] == 'true' )    ? ' table-condensed' : '';
     1031    $class .= ( $atts['xclass'] )                 ? ' ' . $atts['xclass'] : '';
    10301032     
    10311033    $return = '';
    10321034     
    10331035    $tag = array('table');
    1034     $title = '';
    10351036    $content = do_shortcode($content);
    10361037
    1037     $return .= $this->scrape_dom_element($tag, $content, $class, $title, $data);
     1038    $return .= $this->scrape_dom_element($tag, $content, $class, '', $atts['data']);
     1039    $return = ( $atts['responsive'] ) ? '<div class="table-responsive">' . $return . '</div>' : $return;
    10381040    return $return;
    10391041  }
     
    10531055  function bs_well( $atts, $content = null ) {
    10541056
    1055     extract( shortcode_atts( array(
     1057    $atts = shortcode_atts( array(
    10561058      "size"   => false,
    10571059      "xclass" => false,
    10581060      "data"   => false
    1059     ), $atts ) );
     1061    ), $atts );
    10601062     
    10611063    $class  = 'well';
    1062     $class .= ( $size )     ? ' well-' . $size : '';
    1063     $class .= ( $xclass )   ? ' ' . $xclass : '';
    1064    
    1065     $data_props = $this->parse_data_attributes( $data );
     1064    $class .= ( $atts['size'] )     ? ' well-' . $atts['size'] : '';
     1065    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     1066   
     1067    $data_props = $this->parse_data_attributes( $atts['data'] );
    10661068     
    10671069    return sprintf(
     
    10831085  function bs_panel( $atts, $content = null ) {
    10841086
    1085     extract( shortcode_atts( array(
     1087    $atts = shortcode_atts( array(
    10861088      "title"   => false,
    10871089      "heading" => false,
     
    10901092      "xclass"  => false,
    10911093      "data"    => false
    1092     ), $atts ) );
     1094    ), $atts );
    10931095     
    10941096    $class  = 'panel';
    1095     $class .= ( $type )     ? ' panel-' . $type : ' panel-default';
    1096     $class .= ( $xclass )   ? ' ' . $xclass : '';
    1097 
    1098     if( ! $heading && $title ) {
    1099       $heading = $title;
    1100       $title = true;
     1097    $class .= ( $atts['type'] )     ? ' panel-' . $atts['type'] : ' panel-default';
     1098    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     1099
     1100    if( ! $atts['heading'] && $atts['title'] ) {
     1101      $atts['heading'] = $atts['title'];
     1102      $atts['title'] = true;
    11011103    }
    11021104     
    1103     $data_props = $this->parse_data_attributes( $data );
    1104 
    1105     $footer = ( $footer ) ? '<div class="panel-footer">' . $footer . '</div>' : '';
    1106 
    1107     if ( $heading ) {
     1105    $data_props = $this->parse_data_attributes( $atts['data'] );
     1106
     1107    $footer = ( $atts['footer'] ) ? '<div class="panel-footer">' . $atts['footer'] . '</div>' : '';
     1108
     1109    if ( $atts['heading'] ) {
    11081110      $heading = sprintf(
    11091111        '<div class="panel-heading">%s%s%s</div>',
    1110         ( $title ) ? '<h3 class="panel-title">' : '',
    1111         esc_html( $heading ),
    1112         ( $title ) ? '</h3>' : ''
     1112        ( $atts['title'] ) ? '<h3 class="panel-title">' : '',
     1113        esc_html( $atts['heading'] ),
     1114        ( $atts['title'] ) ? '</h3>' : ''
    11131115      );
    11141116    }
     
    11441146
    11451147    $GLOBALS['tabs_default_count'] = 0;
    1146      
    1147     extract( shortcode_atts( array(
     1148
     1149    $atts = shortcode_atts( array(
    11481150      "type"   => false,
    11491151      "xclass" => false,
    11501152      "data"   => false
    1151     ), $atts ) );
     1153    ), $atts );
    11521154 
    11531155    $ul_class  = 'nav';
    1154     $ul_class .= ( $type )     ? ' nav-' . $type : ' nav-tabs';
    1155     $ul_class .= ( $xclass )   ? ' ' . $xclass : '';
     1156    $ul_class .= ( $atts['type'] )     ? ' nav-' . $atts['type'] : ' nav-tabs';
     1157    $ul_class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
    11561158     
    11571159    $div_class = 'tab-content';
     
    11591161    $id = 'custom-tabs-'. $GLOBALS['tabs_count'];
    11601162 
    1161     $data_props = $this->parse_data_attributes( $data );
     1163    $data_props = $this->parse_data_attributes( $atts['data'] );
    11621164   
    11631165    $atts_map = bs_attribute_map( $content );
     
    12041206  function bs_tab( $atts, $content = null ) {
    12051207
    1206     extract( shortcode_atts( array(
     1208    $atts = shortcode_atts( array(
    12071209      'title'   => false,
    12081210      'active'  => false,
     
    12101212      'xclass'  => false,
    12111213      'data'    => false
    1212     ), $atts ) );
     1214    ), $atts );
    12131215   
    12141216    if( $GLOBALS['tabs_default_active'] && $GLOBALS['tabs_default_count'] == 0 ) {
     
    12181220
    12191221    $class  = 'tab-pane';
    1220     $class .= ( $fade   == 'true' )            ? ' fade' : '';
    1221     $class .= ( $active == 'true' )          ? ' active' : '';
    1222     $class .= ( $active == 'true' && $fade == 'true' ) ? ' in' : '';
    1223 
    1224     $id = 'custom-tab-'. $GLOBALS['tabs_count'] . '-'. sanitize_title( $title );
     1222    $class .= ( $atts['fade']   == 'true' )            ? ' fade' : '';
     1223    $class .= ( $atts['active'] == 'true' )          ? ' active' : '';
     1224    $class .= ( $atts['active'] == 'true' && $atts['fade'] == 'true' ) ? ' in' : '';
     1225
     1226    $id = 'custom-tab-'. $GLOBALS['tabs_count'] . '-'. sanitize_title( $atts['title'] );
    12251227 
    1226     $data_props = $this->parse_data_attributes( $data );
     1228    $data_props = $this->parse_data_attributes( $atts['data'] );
    12271229
    12281230    return sprintf(
     
    12541256      $GLOBALS['collapsibles_count'] = 0;
    12551257
    1256     extract( shortcode_atts( array(
     1258    $atts = shortcode_atts( array(
    12571259      "xclass" => false,
    12581260      "data"   => false
    1259     ), $atts ) );
     1261    ), $atts );
    12601262     
    12611263    $class = 'panel-group';
    1262     $class .= ( $xclass )   ? ' ' . $xclass : '';
     1264    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
    12631265     
    12641266    $id = 'custom-collapse-'. $GLOBALS['collapsibles_count'];
    12651267 
    1266     $data_props = $this->parse_data_attributes( $data );
     1268    $data_props = $this->parse_data_attributes( $atts['data'] );
    12671269
    12681270    return sprintf(
     
    12871289  function bs_collapse( $atts, $content = null ) {
    12881290
    1289     extract( shortcode_atts( array(
     1291    $atts = shortcode_atts( array(
    12901292      "title"   => false,
    12911293      "type"    => false,
     
    12931295      "xclass"  => false,
    12941296      "data"    => false
    1295     ), $atts ) );
     1297    ), $atts );
    12961298
    12971299    $panel_class = 'panel';
    1298     $panel_class .= ( $type )     ? ' panel-' . $type : ' panel-default';
    1299     $panel_class .= ( $xclass )   ? ' ' . $xclass : '';
     1300    $panel_class .= ( $atts['type'] )     ? ' panel-' . $atts['type'] : ' panel-default';
     1301    $panel_class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
    13001302     
    13011303    $collapse_class = 'panel-collapse';
    1302     $collapse_class .= ( $active == 'true' )  ? ' in' : ' collapse';
     1304    $collapse_class .= ( $atts['active'] == 'true' )  ? ' in' : ' collapse';
    13031305
    13041306    $parent = 'custom-collapse-'. $GLOBALS['collapsibles_count'];
    1305     $current_collapse = $parent . '-'. sanitize_title( $title );
    1306 
    1307     $data_props = $this->parse_data_attributes( $data );
     1307    $current_collapse = $parent . '-'. sanitize_title( $atts['title'] );
     1308
     1309    $data_props = $this->parse_data_attributes( $atts['data'] );
    13081310     
    13091311    return sprintf(
     
    13221324      $parent,
    13231325      $current_collapse,
    1324       $title,
     1326      $atts['title'],
    13251327      esc_attr( $collapse_class ),
    13261328      do_shortcode( $content )
     
    13451347    $GLOBALS['carousel_default_count'] = 0;
    13461348
    1347     extract( shortcode_atts( array(
     1349    $atts = shortcode_atts( array(
    13481350      "interval" => false,
    13491351      "pause"    => false,
     
    13511353      "xclass"   => false,
    13521354      "data"     => false,
    1353     ), $atts ) );
     1355    ), $atts );
    13541356
    13551357    $div_class  = 'carousel slide';
    1356     $div_class .= ( $xclass ) ? ' ' . $xclass : '';
     1358    $div_class .= ( $atts['xclass'] ) ? ' ' . $atts['xclass'] : '';
    13571359   
    13581360    $inner_class = 'carousel-inner';
     
    13601362    $id = 'custom-carousel-'. $GLOBALS['carousel_count'];
    13611363         
    1362     $data_props = $this->parse_data_attributes( $data );
     1364    $data_props = $this->parse_data_attributes( $atts['data'] );
    13631365
    13641366    $atts_map = bs_attribute_map( $content );
     
    13881390      esc_attr( $div_class ),
    13891391      esc_attr( $id ),
    1390       ( $interval )   ? sprintf( ' data-interval="%d"', $interval ) : '',
    1391       ( $pause )      ? sprintf( ' data-pause="%s"', esc_attr( $pause ) ) : '',
    1392       ( $wrap == 'true' )       ? sprintf( ' data-wrap="%s"', esc_attr( $wrap ) ) : '',
     1392      ( $atts['interval'] )   ? sprintf( ' data-interval="%d"', $atts['interval'] ) : '',
     1393      ( $atts['pause'] )      ? sprintf( ' data-pause="%s"', esc_attr( $atts['pause'] ) ) : '',
     1394      ( $atts['wrap'] == 'true' )       ? sprintf( ' data-wrap="%s"', esc_attr( $atts['wrap'] ) ) : '',
    13931395      ( $data_props ) ? ' ' . $data_props : '',
    13941396      ( $indicators ) ? '<ol class="carousel-indicators">' . implode( $indicators ) . '</ol>' : '',
     
    14101412    *-------------------------------------------------------------------------------------*/
    14111413  function bs_carousel_item( $atts, $content = null ) {
    1412      
    1413     extract( shortcode_atts( array(
     1414
     1415    $atts = shortcode_atts( array(
    14141416      "active"  => false,
    14151417      "caption" => false,
    14161418      "xclass"  => false,
    14171419      "data"    => false
    1418      ), $atts ) );
     1420    ), $atts );
    14191421     
    14201422    if( $GLOBALS['carousel_default_active'] && $GLOBALS['carousel_default_count'] == 0 ) {
     
    14241426     
    14251427    $class  = 'item';
    1426     $class .= ( $active   == 'true' ) ? ' active' : '';
    1427     $class .= ( $xclass ) ? ' ' . $xclass : '';
    1428    
    1429     $data_props = $this->parse_data_attributes( $data );
     1428    $class .= ( $atts['active']   == 'true' ) ? ' active' : '';
     1429    $class .= ( $atts['xclass'] ) ? ' ' . $atts['xclass'] : '';
     1430   
     1431    $data_props = $this->parse_data_attributes( $atts['data'] );
    14301432
    14311433    $content = preg_replace('/class=".*?"/', '', $content);
     
    14361438      ( $data_props ) ? ' ' . $data_props : '',
    14371439      do_shortcode( $content ),
    1438       ( $caption ) ? '<div class="carousel-caption">' . esc_html( $caption ) . '</div>' : ''
     1440      ( $atts['caption'] ) ? '<div class="carousel-caption">' . esc_html( $atts['caption'] ) . '</div>' : ''
    14391441    );
    14401442  }
     
    14521454function bs_tooltip( $atts, $content = null ) {
    14531455
    1454     $defaults = array(
     1456    $atts = shortcode_atts( array(
    14551457     'title'     => '',
    14561458     'placement' => 'top',
     
    14581460     'html'      => 'false',
    14591461     'data'      => ''
    1460     );
    1461     extract( shortcode_atts( $defaults, $atts ) );
     1462    ), $atts );
    14621463   
    14631464    $class  = 'bs-tooltip';
    14641465   
    1465     $data   .= ( $animation ) ? $this->check_for_data($data) . 'animation,' . $animation : '';
    1466     $data   .= ( $placement ) ? $this->check_for_data($data) . 'placement,' . $placement : '';
    1467     $data   .= ( $html )      ? $this->check_for_data($data) . 'html,'      . $html      : '';
     1466    $atts['data']   .= ( $atts['animation'] ) ? $this->check_for_data($atts['data']) . 'animation,' . $atts['animation'] : '';
     1467    $atts['data']   .= ( $atts['placement'] ) ? $this->check_for_data($atts['data']) . 'placement,' . $atts['placement'] : '';
     1468    $atts['data']   .= ( $atts['html'] )      ? $this->check_for_data($atts['data']) . 'html,'      .$atts['html']      : '';
    14681469
    14691470    $return = '';
    14701471    $tag = 'span';
    14711472    $content = do_shortcode($content);
    1472     $return .= $this->get_dom_element($tag, $content, $class, $title, $data);
     1473    $return .= $this->get_dom_element($tag, $content, $class, $atts['title'], $atts['data']);
    14731474    return $return;
    14741475   
     
    14841485function bs_popover( $atts, $content = null ) {
    14851486
    1486     $defaults = array(
     1487    $atts = shortcode_atts( array(
    14871488      'title'     => false,
    14881489      'text'      => '',
     
    14911492      'html'      => 'false',
    14921493      'data'      => ''
    1493     );
    1494     extract( shortcode_atts( $defaults, $atts ) );
     1494    ), $atts );
    14951495   
    14961496    $class = 'bs-popover';
    14971497       
    1498     $data   .= $this->check_for_data($data) . 'toggle,popover';
    1499     $data   .= $this->check_for_data($data) . 'content,' . $text;
    1500     $data   .= ( $animation ) ? $this->check_for_data($data) . 'animation,' . $animation : '';
    1501     $data   .= ( $placement ) ? $this->check_for_data($data) . 'placement,' . $placement : '';
    1502     $data   .= ( $html )      ? $this->check_for_data($data) . 'html,'      . $html      : '';
     1498    $atts['data']   .= $this->check_for_data($atts['data']) . 'toggle,popover';
     1499    $atts['data']   .= $this->check_for_data($atts['data']) . 'content,' . $atts['text'];
     1500    $atts['data']   .= ( $atts['animation'] ) ? $this->check_for_data($atts['data']) . 'animation,' . $atts['animation'] : '';
     1501    $atts['data']   .= ( $atts['placement'] ) ? $this->check_for_data($atts['data']) . 'placement,' . $atts['placement'] : '';
     1502    $atts['data']   .= ( $atts['html'] )      ? $this->check_for_data($atts['data']) . 'html,'      . $atts['html']      : '';
    15031503
    15041504    $return = '';
    15051505    $tag = 'span';
    15061506    $content = do_shortcode($content);
    1507     $return .= $this->get_dom_element($tag, $content, $class, $title, $data);
     1507    $return .= $this->get_dom_element($tag, $content, $class, $atts['title'], $atts['data']);
    15081508    return $return;
    15091509   
     
    15221522  function bs_media( $atts, $content = null ) {
    15231523
    1524     extract( shortcode_atts( array(
     1524    $atts = shortcode_atts( array(
    15251525      "xclass" => false,
    15261526      "data"   => false
    1527     ), $atts ) );
     1527    ), $atts );
    15281528
    15291529    $class  = 'media';     
    1530     $class .= ( $xclass )   ? ' ' . $xclass : '';
    1531 
    1532     $data_props = $this->parse_data_attributes( $data );
     1530    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass']: '';
     1531
     1532    $data_props = $this->parse_data_attributes( $atts['data'] );
    15331533
    15341534    return sprintf(
     
    15421542  function bs_media_object( $atts, $content = null ) {
    15431543
    1544     extract( shortcode_atts( array(
     1544    $atts = shortcode_atts( array(
    15451545      "pull"   => "left",
    15461546      "xclass" => false,
    15471547      "data"   => false
    1548     ), $atts ) );
     1548    ), $atts );
    15491549   
    15501550    $class = "media-object img-responsive";
    1551     $class .= ($xclass) ? ' ' . $xclass : '';
     1551    $class .= ($atts['xclass']) ? ' ' . $atts['xclass'] : '';
    15521552     
    15531553    $return = '';
    15541554     
    15551555    $tag = array('figure', 'div', 'img', 'i', 'span');
    1556     $title = '';
    15571556    $content = do_shortcode(preg_replace('/(<br>)+$/', '', $content));
    1558     $return .= $this->scrape_dom_element($tag, $content, $class, $title, $data);
    1559     $return = '<span class="pull-' . esc_attr($pull) . '">' . $return . '</span>';
     1557    $return .= $this->scrape_dom_element($tag, $content, $class, '', $atts['data']);
     1558    $return = '<span class="media-' . esc_attr($atts['pull']) . '">' . $return . '</span>';
    15601559    return $return;
    15611560  }
     
    15631562  function bs_media_body( $atts, $content = null ) {
    15641563
    1565     extract( shortcode_atts( array(
     1564    $atts = shortcode_atts( array(
    15661565      "title"  => false,
    15671566      "xclass" => false,
    15681567      "data"   => false
    1569     ), $atts ) );
     1568    ), $atts );
    15701569
    15711570    $div_class  = 'media-body';     
    1572     $div_class .= ( $xclass )   ? ' ' . $xclass : '';
     1571    $div_class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
    15731572
    15741573    $h4_class  = 'media-heading';     
    1575     $h4_class .= ( $xclass )   ? ' ' . $xclass : '';
     1574    $h4_class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
    15761575
    15771576    $data_props = $this->parse_data_attributes( $data );
     
    15821581      ( $data_props ) ? ' ' . $data_props : '',
    15831582      esc_attr( $h4_class ),
    1584       esc_html( $title),
     1583      esc_html(  $atts['title']),
    15851584      do_shortcode( $content )
    15861585    );
     
    15941593    *-------------------------------------------------------------------------------------*/
    15951594  function bs_jumbotron( $atts, $content = null ) {
    1596      
    1597     extract( shortcode_atts( array(
     1595
     1596    $atts = shortcode_atts( array(
    15981597        "title"  => false,
    15991598        "xclass" => false,
    16001599        "data"   => false
    1601      ), $atts ) );
     1600    ), $atts );
    16021601     
    16031602    $class  = 'jumbotron';
    1604     $class .= ( $xclass )   ? ' ' . $xclass : '';
    1605    
    1606     $data_props = $this->parse_data_attributes( $data );
     1603    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     1604   
     1605    $data_props = $this->parse_data_attributes( $atts['data'] );
    16071606     
    16081607    return sprintf(
     
    16101609      esc_attr( $class ),
    16111610      ( $data_props ) ? ' ' . $data_props : '',
    1612       ( $title ) ? '<h1>' . esc_html( $title ) . '</h1>' : '',
     1611      ( $atts['title'] ) ? '<h1>' . esc_html( $atts['title'] ) . '</h1>' : '',
    16131612      do_shortcode( $content )
    16141613    );
     
    16221621    *-------------------------------------------------------------------------------------*/
    16231622  function bs_page_header( $atts, $content = null ) {
    1624     extract( shortcode_atts( array(
     1623 
     1624    $atts = shortcode_atts( array(
    16251625      "xclass" => false,
    16261626      "data"   => false
    1627     ), $atts ) );
    1628     $data_props = $this->parse_data_attributes( $data );
     1627    ), $atts );
     1628
     1629    $data_props = $this->parse_data_attributes( $atts['data'] );
    16291630   
    16301631    $class = "page-header";
    1631     $class .= ($xclass) ? ' ' . $xclass : '';
     1632    $class .= ($atts['xclass']) ? ' ' . $atts['xclass'] : '';
    16321633 
    16331634    $return = '';
     
    16361637    $content = $this->strip_paragraph($content);
    16371638    $content = $this->nest_dom_element('h1', 'div', $content);
    1638     $return .= $this->get_dom_element($tag, $content, $class, $title, $data);   
     1639    $return .= $this->get_dom_element($tag, $content, $class, '', $atts['data']);   
    16391640    return $return;
    16401641
     
    16481649    *-------------------------------------------------------------------------------------*/
    16491650  function bs_lead( $atts, $content = null ) {
    1650     extract( shortcode_atts( array(
     1651 
     1652    $atts = shortcode_atts( array(
    16511653      "xclass" => false,
    16521654      "data"   => false
    1653     ), $atts ) );
     1655    ), $atts );
    16541656
    16551657    $class  = 'lead';     
    1656     $class .= ( $xclass )   ? ' ' . $xclass : '';
    1657      
    1658     $data_props = $this->parse_data_attributes( $data );
     1658    $class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
     1659     
     1660    $data_props = $this->parse_data_attributes( $atts['data'] );
    16591661     
    16601662    return sprintf(
     
    16731675    *-------------------------------------------------------------------------------------*/
    16741676  function bs_emphasis( $atts, $content = null ) {
    1675      
    1676     extract( shortcode_atts( array(
     1677
     1678    $atts = shortcode_atts( array(
    16771679      "type"   => false,
    16781680      "xclass" => false,
    16791681      "data"   => false
    1680     ), $atts ) );
     1682    ), $atts );
    16811683
    16821684    $class  = '';
    1683     $class .= ( $type )   ? 'text-' . $type : 'text-muted';
    1684     $class .= ( $xclass ) ? ' ' . $xclass : '';
    1685      
    1686     $data_props = $this->parse_data_attributes( $data );
     1685    $class .= ( $atts['type'] )   ? 'text-' . $atts['type'] : 'text-muted';
     1686    $class .= ( $atts['xclass'] ) ? ' ' . $atts['xclass'] : '';
     1687     
     1688    $data_props = $this->parse_data_attributes( $atts['data'] );
    16871689     
    16881690    return sprintf(
     
    17011703    *-------------------------------------------------------------------------------------*/
    17021704  function bs_img( $atts, $content = null ) {
    1703     extract( shortcode_atts( array(
     1705 
     1706    $atts = shortcode_atts( array(
    17041707      "type"       => false,
    17051708      "responsive" => false,
    17061709      "xclass"     => false,
    17071710      "data"       => false
    1708     ), $atts ) );
    1709 
    1710     $class .= ( $type )       ? 'img-' . $type . ' ' : '';
    1711     $class .= ( $responsive   == 'true' ) ? ' img-responsive' : '';
    1712     $class .= ( $xclass )     ? ' ' . $xclass : '';
     1711    ), $atts );
     1712
     1713    $class .= ( $atts['type'] )       ? 'img-' . $atts['type'] . ' ' : '';
     1714    $class .= ( $atts['responsive']   == 'true' ) ? ' img-responsive' : '';
     1715    $class .= ( $atts['xclass'] )     ? ' ' . $atts['xclass'] : '';
    17131716
    17141717    $return = '';
    17151718    $tag = array('img');
    17161719    $content = do_shortcode($content);
    1717     $return .= $this->scrape_dom_element($tag, $content, $class, $title, $data);
     1720    $return .= $this->scrape_dom_element($tag, $content, $class, '', $atts['data']);
    17181721    return $return;
    17191722   
     
    17271730    *-------------------------------------------------------------------------------------*/
    17281731  function bs_thumbnail( $atts, $content = null ) {
    1729     extract( shortcode_atts( array(
     1732 
     1733    $atts = shortcode_atts( array(
    17301734      "xclass"  => false,
    17311735      "has_content" => false,
    17321736      "data"    => false
    1733     ), $atts ) );
     1737    ), $atts );
    17341738     
    17351739    $class  = "thumbnail";
    1736     $class .= ($xclass) ? ' ' . $xclass : '';
     1740    $class .= ($atts['xclass']) ? ' ' . $atts['xclass'] : '';
    17371741
    17381742    $return = '';
    1739     if($has_content) {
     1743    if($atts['has_content']) {
    17401744      $content = '<div>' . $content . '</div>';
    17411745      $tag = array('div');
     
    17441748    }
    17451749    $content = do_shortcode($content);
    1746     $return .= $this->scrape_dom_element($tag, $content, $class, $title, $data);
     1750    $return .= $this->scrape_dom_element($tag, $content, $class, '', $atts['data']);
    17471751    return $return;
    17481752   
     
    17571761  function bs_responsive( $atts, $content = null ) {
    17581762     
    1759     extract( shortcode_atts( array(
     1763    $atts = shortcode_atts( array(
    17601764      "visible" => false,
    17611765      "hidden"  => false,
     
    17651769      "xclass"  => false,
    17661770      "data"    => false
    1767     ), $atts ) );
     1771    ), $atts );
    17681772     
    17691773    $class = '';
    1770     if( $visible ) {
    1771       $visible = explode( ' ', $visible );
     1774    if( $atts['visible'] ) {
     1775      $visible = explode( ' ', $atts['visible'] );
    17721776      foreach($visible as $v):
    17731777        $class .= "visible-$v ";
    17741778      endforeach;
    17751779    }
    1776     if( $hidden ) {
    1777       $hidden = explode( ' ', $hidden );
     1780    if( $atts['hidden'] ) {
     1781      $hidden = explode( ' ', $atts['hidden'] );
    17781782      foreach( $hidden as $h ):
    17791783        $class .= "hidden-$h ";
    17801784      endforeach;
    17811785    }
    1782     if( $block ) {
    1783       $block = explode( ' ', $block );
     1786    if( $atts['block'] ) {
     1787      $block = explode( ' ', $atts['block'] );
    17841788      foreach( $block as $b ):
    17851789        $class .= "visible-$b-block ";
    17861790      endforeach;
    17871791    }
    1788     if( $inline ) {
    1789       $inline = explode( ' ', $inline );
     1792    if( $atts['inline'] ) {
     1793      $inline = explode( ' ', $atts['inline'] );
    17901794      foreach( $inline as $i ):
    17911795        $class .= "visible-$i-inline ";
    17921796      endforeach;
    17931797    }
    1794     if( $inline_block ) {
    1795       $inline_block = explode( ' ', $inline_block );
     1798    if( $atts['inline_block'] ) {
     1799      $inline_block = explode( ' ', $atts['inline_block'] );
    17961800      foreach( $inline_block as $ib ):
    17971801        $class .= "visible-$ib-inline ";
    17981802      endforeach;
    17991803    }
    1800     $class .= ( $xclass ) ? ' ' . $xclass : '';
    1801      
    1802     $data_props = $this->parse_data_attributes( $data );
     1804    $class .= ( $atts['xclass'] ) ? ' ' . $atts['xclass'] : '';
     1805     
     1806    $data_props = $this->parse_data_attributes( $atts['data'] );
    18031807
    18041808    return sprintf(
     
    18201824  function bs_modal( $atts, $content = null ) {
    18211825
    1822     extract( shortcode_atts( array(
     1826    $atts = shortcode_atts( array(
    18231827      "text"    => false,
    18241828      "title"   => false,
     
    18261830      "xclass"  => false,
    18271831      "data"    => false
    1828     ), $atts ) );
     1832    ), $atts );
    18291833
    18301834    $a_class  = '';     
    1831     $a_class .= ( $xclass )   ? ' ' . $xclass : '';
     1835    $a_class .= ( $atts['xclass'] )   ? ' ' . $atts['xclass'] : '';
    18321836     
    18331837    $div_class  = 'modal fade';
    1834     $div_class .= ( $size ) ? ' bs-modal-' . $size : '';
    1835      
    1836     $id = 'custom-modal-' . sanitize_title( $title );
    1837      
    1838     $data_props = $this->parse_data_attributes( $data );
     1838    $div_class .= ( $atts['size'] ) ? ' bs-modal-' . $atts['size'] : '';
     1839     
     1840    $id = 'custom-modal-' . sanitize_title( $atts['title'] );
     1841     
     1842    $data_props = $this->parse_data_attributes( $atts['data'] );
    18391843     
    18401844    return sprintf(
     
    18571861      esc_attr( $a_class ),
    18581862      ( $data_props ) ? ' ' . $data_props : '',
    1859       esc_html( $text ),
     1863      esc_html( $atts['text'] ),
    18601864      esc_attr( $div_class ),
    1861       ( $title ) ? '<h4 class="modal-title">' . $title . '</h4>' : '',
     1865      ( $atts['title'] ) ? '<h4 class="modal-title">' . $atts['title'] . '</h4>' : '',
    18621866      do_shortcode( $content )
    18631867    );
     
    18741878  function bs_modal_footer( $atts, $content = null ) {
    18751879
    1876     extract( shortcode_atts( array(
     1880    $atts = shortcode_atts( array(
    18771881      "xclass" => false,
    18781882      "data"   => false,
    1879     ), $atts ) );
     1883    ), $atts );
    18801884
    18811885    $class  = 'modal-footer';
    1882     $class .= ( $xclass ) ? ' ' . $xclass : '';   
    1883 
    1884     $data_props = $this->parse_data_attributes( $data );
     1886    $class .= ( $atts['xclass'] ) ? ' ' . $atts['xclass'] : '';   
     1887
     1888    $data_props = $this->parse_data_attributes( $atts['data'] );
    18851889
    18861890    return sprintf(
     
    19201924    *
    19211925    *-------------------------------------------------------------------------------------*/
    1922     function get_dom_element( $tag, $content, $class, $title, $data = null ) {
     1926    function get_dom_element( $tag, $content, $class, $title = '', $data = null ) {
    19231927     
    19241928      //clean up content
     
    19561960    *
    19571961    *-------------------------------------------------------------------------------------*/
    1958   function scrape_dom_element( $tag, $content, $class, $title, $data = null ) {
     1962  function scrape_dom_element( $tag, $content, $class, $title = '', $data = null ) {
    19591963
    19601964      $previous_value = libxml_use_internal_errors(TRUE);
     
    20542058
    20552059new BoostrapShortcodes();
     2060
  • bootstrap-3-shortcodes/trunk/includes/actions-filters.php

    r991902 r1035086  
    1313
    1414function bootstrap_shortcodes_help_styles() {
    15   wp_register_style( 'bs-font', plugins_url( 'bootstrap-3-shortcodes/includes/help/bs-font.css' ) );
    16   wp_register_style( 'bootstrap-shortcodes-help', plugins_url( 'bootstrap-3-shortcodes/includes/help/css/bootstrap-shortcodes-help.css' ) );
    17   wp_register_style( 'bootstrap-modal', plugins_url( 'bootstrap-3-shortcodes/includes/help/css/bootstrap-modal.css' ) );
    18   wp_register_script( 'bootstrap', plugins_url( 'bootstrap-3-shortcodes/includes/help/js/bootstrap.min.js' ) );
    19   wp_enqueue_style( 'bootstrap-shortcodes-help' );
    20   wp_enqueue_style( 'bootstrap-modal' );
    21   wp_enqueue_style( 'bs-font' );
    22   wp_enqueue_script( 'bootstrap' );
     15    $screen = get_current_screen();
     16    if($screen->parent_base != "gf_edit_forms") {
     17        wp_register_style( 'bs-font', plugins_url( 'bootstrap-3-shortcodes/includes/help/bs-font.css' ) );
     18        wp_register_style( 'bootstrap-shortcodes-help', plugins_url( 'bootstrap-3-shortcodes/includes/help/css/bootstrap-shortcodes-help.css' ) );
     19        wp_register_style( 'bootstrap-modal', plugins_url( 'bootstrap-3-shortcodes/includes/help/css/bootstrap-modal.css' ) );
     20        wp_register_script( 'bootstrap', plugins_url( 'bootstrap-3-shortcodes/includes/help/js/bootstrap.min.js' ) );
     21        wp_enqueue_style( 'bootstrap-shortcodes-help' );
     22        wp_enqueue_style( 'bootstrap-modal' );
     23        wp_enqueue_style( 'bs-font' );
     24        wp_enqueue_script( 'bootstrap' );
     25    }
    2326
    2427}
     
    2932//action to add a custom button to the content editor
    3033function add_bootstrap_button() {
    31  
    32   //the id of the container I want to show in the popup
    33   $popup_id = 'bootstrap-shortcodes-help';
    34  
    35   //our popup's title
    36   $title = 'Bootstrap Shortcodes Help';
     34    $screen = get_current_screen();
     35    if($screen->parent_base != "gf_edit_forms") {
     36        //the id of the container I want to show in the popup
     37        $popup_id = 'bootstrap-shortcodes-help';
    3738
    38   //append the icon
    39  printf(
    40     '<a data-toggle="modal" data-target="#bootstrap-shortcodes-help" title="%2$s" href="%3$s" class="%4$s"><span class="bs_bootstrap-logo wp-media-buttons-icon"></span></a>',
    41     esc_attr( $popup_id ),
    42     esc_attr( $title ),
    43     esc_url( '#' ),
    44     esc_attr( 'button add_media bootstrap-shortcodes-button')
    45     //sprintf( '<img src="%s" style="height: 20px; position: relative; top: -2px;">', esc_url( $img ) )
    46   );
     39        //our popup's title
     40        $title = 'Bootstrap Shortcodes Help';
     41
     42        //append the icon
     43        printf(
     44        '<a data-toggle="modal" data-target="#bootstrap-shortcodes-help" title="%2$s" href="%3$s" class="%4$s"><span class="bs_bootstrap-logo wp-media-buttons-icon"></span></a>',
     45        esc_attr( $popup_id ),
     46        esc_attr( $title ),
     47        esc_url( '#' ),
     48        esc_attr( 'button add_media bootstrap-shortcodes-button')
     49        //sprintf( '<img src="%s" style="height: 20px; position: relative; top: -2px;">', esc_url( $img ) )
     50        );
     51    }
    4752}
    4853
  • bootstrap-3-shortcodes/trunk/includes/help/README.html

    r991902 r1035086  
    33<h2 id="requirements">Requirements</h2>
    44<p>This plugin won&#39;t do anything if you don&#39;t have WordPress theme built with the <a href="http://getbootstrap.com/">Bootstrap</a> framework. <strong>This plugin does not include the Bootstrap framework</strong>.</p>
    5 <p>The plugin is tested to work with <code>Bootstrap 3.2</code> and <code>WordPress 3.9</code>.</p>
     5<p>The plugin is tested to work with <code>Bootstrap 3.2</code> and <code>WordPress 4.0</code>.</p>
    66<p>This plugin contains a <code>composer.json</code> file for those of you who manage your PHP dependencies with <a href="https://getcomposer.org">Composer</a>.</p>
    77<h2 id="shortcode-reference">Shortcode Reference</h2>
     
    589589<hr>
    590590<h3 id="responsive-utilities">Responsive Utilities</h3>
    591 <pre><code>[responsive visible_block=&quot;lg md&quot; hidden=&quot;sn xs&quot;] ... [/responsive]</code></pre>
     591<pre><code>[responsive block=&quot;lg md&quot; hidden=&quot;sn xs&quot;] ... [/responsive]</code></pre>
    592592<h4 id="-reponsive-parameters">[reponsive] parameters</h4>
    593593<table>
     
    653653</tbody>
    654654</table>
    655 <p><a href="http://getbootstrap.com/css/#type-emphasis">Bootstrap emphasis classes documentation</a></p>
     655<p><a href="http://getbootstrap.com/css/#responsive-utilities">Bootstrap responsive utilities documentation</a></p>
    656656<hr>
    657657<h3 id="components">Components</h3>
    658658<h3 id="icons">Icons</h3>
    659 <pre><code>[icon type=&quot;arrow&quot;]</code></pre>
     659<pre><code>[icon type=&quot;arrow-right&quot;]</code></pre>
    660660<h4 id="-icon-parameters">[icon] parameters</h4>
    661661<table>
     
    22972297<hr>
    22982298<h3 id="modal">Modal</h3>
    2299 <pre><code>[modal text=&quot;This is my modal&quot; title=&quot;Modal Title Goes Here&quot; xclass=&quot;btn btn-primary btn-large&quot;]
     2299<pre><code>[modal text=&quot;This is my modal&quot; title=&quot;Modal Title Goes Here&quot; xclass=&quot;btn btn-primary btn-lg&quot;]
    23002300    ...
    23012301    [modal-footer]
  • bootstrap-3-shortcodes/trunk/readme.txt

    r991902 r1035086  
    44Requires at least: 3.8
    55Tested up to: 4.0
    6 Stable tag: 3.2.4
     6Stable tag: 3.3
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    1919For questions, support, or to contribute to this plugin, check out [our GitHub project](https://github.com/filipstefansson/bootstrap-3-shortcodes)
    2020
    21 ####Updated for Bootstrap 3.2
    22 Now supporting the changes to Responsive Utilities introduced in Bootstrap 3.2!
     21####Updated for Bootstrap 3.3.x
     22Tested and working in the latest version of Bootstrap!
    2323
    2424If you like this plugin, check out our companion plugin for Font Awesome, [Font Awesome Shortcodes](http://www.wordpress.org/plugins/font-awesome-shortcodes/)
     
    7171
    7272== Changelog ==
     73
     74= 3.3 =
     75* Tested to work with Bootstrap 3.3!
     76* Only enqueue tooltip and popover trigger javascript if those shortcodes are in use
     77* Added support for offsets, pulls, and pushes of "0" in [column]
     78* Added support for Bootstrap's responsive tables in [table-wrap]
     79* Better correct for conflicts with Gravity Forms --these two plugins should finally play well together
     80* Fix documentation for [modal] and [responsive]
     81* Removed use of extract() to better fit with WordPress's best practices.
    7382
    7483= 3.2.4 =
Note: See TracChangeset for help on using the changeset viewer.