Plugin Directory

Changeset 1741737

Timestamp:
10/05/2017 04:26:14 PM (8 years ago)
Author:
dineshc
Message:

Shortcodes support for PHP versin older then 5.6

Location:
bkc-wp-shortcodes/trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • bkc-wp-shortcodes/trunk/bkc-wp-shortcodes.php

    r1738911 r1741737  
    33 * Plugin Name: Shortcodes
    44 * Description: This Plugin provides multiple wordpress core shortcodes.
    5  * Version: 1.0.2
     5 * Version: 1.0.3
    66 * Author: Dinesh Chouhan
    77 * Author URI: http://dineshchouhan.com
  • bkc-wp-shortcodes/trunk/classes/class-bkc-wp-shortcodes-loader.php

    r1738911 r1741737  
    5555        public function __construct() {
    5656
    57             define( 'BKC_WP_SHORTCODES_VER', '1.0.2' );
     57            define( 'BKC_WP_SHORTCODES_VER', '1.0.3' );
    5858            define( 'BKC_WP_SHORTCODES_FILE', trailingslashit( dirname( dirname( __FILE__ ) ) ) . 'bkc-wp-shortcodes.php' );
    5959            define( 'BKC_WP_SHORTCODES_BASE', plugin_basename( BKC_WP_SHORTCODES_FILE ) );
  • bkc-wp-shortcodes/trunk/classes/class-bkc-wp-shortcodes.php

    r1738911 r1741737  
    781781                        $function = preg_replace( '/wp_/', '', $shortcode, 1 );
    782782                        $args = shortcode_atts( $attributes, $atts );
    783 
    784                         if ( version_compare( PHP_VERSION, '5.6', '>=' ) ) {
    785                             $func_args = [];
    786                             foreach ( $args as $key => $value ) {
    787                                 if ( 0 === strpos( $value, '{{' ) ) {
    788                                     $value = get_shortcode_from_attr( $value );
     783   
     784                        if ( function_exists( $function ) ) {
     785                            if ( version_compare( PHP_VERSION, '5.6', '>=' ) ) {
     786                                $func_args = [];
     787                                foreach ( $args as $key => $value ) {
     788                                    if ( 0 === strpos( $value, '{{' ) ) {
     789                                        $value = get_shortcode_from_attr( $value );
     790                                    }
     791                                    array_push( $func_args , $value );
    789792                                }
    790                                 array_push( $func_args , $value );
    791                             }
    792 
    793                             // ... operator introduced in PHP 5.6.
    794                             if ( function_exists( $function ) ) {
     793
     794                                // ... operator introduced in PHP 5.6.
    795795                                return $function( ...$func_args );
    796796                            } else {
    797                                 return '';
     797                                $count = count( $args );
     798                                if ( $count > 0 ) {
     799                                    $args_keys = array_keys( $args );
     800                                }
     801                                switch ( $count ) {
     802                                    case 0:
     803                                        return $function();
     804                                        break;
     805
     806                                    case 1:
     807                                        return $function( $args[ $args_keys[0] ] );
     808                                        break;
     809
     810                                    case 2:
     811                                        return $function( $args[ $args_keys[0] ], $args[ $args_keys[1] ] );
     812                                        break;
     813
     814                                    case 3:
     815                                        return $function( $args[ $args_keys[0] ], $args[ $args_keys[1] ], $args[ $args_keys[2] ] );
     816                                        break;
     817
     818                                    case 4:
     819                                        return $function( $args[ $args_keys[0] ], $args[ $args_keys[1] ], $args[ $args_keys[2] ], $args[ $args_keys[3] ] );
     820                                        break;
     821
     822                                    case 5:
     823                                        return $function( $args[ $args_keys[0] ], $args[ $args_keys[1] ], $args[ $args_keys[2] ], $args[ $args_keys[3] ], $args[ $args_keys[4] ] );
     824                                        break;
     825
     826                                    case 6:
     827                                        return $function( $args[ $args_keys[0] ], $args[ $args_keys[1] ], $args[ $args_keys[2] ], $args[ $args_keys[3] ], $args[ $args_keys[4] ], $args[ $args_keys[5] ] );
     828                                        break;
     829
     830                                    case 7:
     831                                        return $function( $args[ $args_keys[0] ], $args[ $args_keys[1] ], $args[ $args_keys[2] ], $args[ $args_keys[3] ], $args[ $args_keys[4] ], $args[ $args_keys[5] ], $args[ $args_keys[6] ] );
     832                                        break;
     833
     834                                    case 8:
     835                                        return $function( $args[ $args_keys[0] ], $args[ $args_keys[1] ], $args[ $args_keys[2] ], $args[ $args_keys[3] ], $args[ $args_keys[4] ], $args[ $args_keys[5] ], $args[ $args_keys[6] ], $args[ $args_keys[7] ] );
     836                                        break;
     837
     838                                    case 9:
     839                                        return $function( $args[ $args_keys[0] ], $args[ $args_keys[1] ], $args[ $args_keys[2] ], $args[ $args_keys[3] ], $args[ $args_keys[4] ], $args[ $args_keys[5] ], $args[ $args_keys[6] ], $args[ $args_keys[7] ], $args[ $args_keys[8] ] );
     840                                        break;
     841
     842                                    case 10:
     843                                        return $function( $args[ $args_keys[0] ], $args[ $args_keys[1] ], $args[ $args_keys[2] ], $args[ $args_keys[3] ], $args[ $args_keys[4] ], $args[ $args_keys[5] ], $args[ $args_keys[6] ], $args[ $args_keys[7] ], $args[ $args_keys[8] ], $args[ $args_keys[9] ] );
     844                                        break;
     845
     846                                    default:
     847                                        return '';
     848                                        break;
     849                                }
    798850                            }
     851                        } else {
     852                            return '';
    799853                        }
    800854                    });
  • bkc-wp-shortcodes/trunk/readme.txt

    r1738911 r1741737  
    4545= 1.0.2 =
    4646* Added support for shortcode as parameter of another shortcode.
     47
     48= 1.0.3 =
     49* Added support for PHP version older then 5.6.
Note: See TracChangeset for help on using the changeset viewer.