| @@ -71,24 +71,45 @@ | ||
| 71 | 71 | * @static |
| 72 | 72 | * @access private |
| 73 | 73 | * @return array The associated array of chart types with localized names. |
| 74 | 74 | */ |
| 75 | - public static function _getChartTypesLocalized() { | |
| 75 | + public static function _getChartTypesLocalized( $enabledOnly = false, $get2Darray = false ) { | |
| 76 | 76 | $types = array( |
| 77 | - 'all' => esc_html__( 'All', 'visualizer' ), | |
| 78 | - 'pie' => esc_html__( 'Pie', 'visualizer' ), | |
| 79 | - 'line' => esc_html__( 'Line', 'visualizer' ), | |
| 80 | - 'area' => esc_html__( 'Area', 'visualizer' ), | |
| 81 | - 'geo' => esc_html__( 'Geo', 'visualizer' ), | |
| 82 | - 'bar' => esc_html__( 'Bar', 'visualizer' ), | |
| 83 | - 'column' => esc_html__( 'Column', 'visualizer' ), | |
| 84 | - 'gauge' => esc_html__( 'Gauge', 'visualizer' ), | |
| 85 | - 'scatter' => esc_html__( 'Scatter', 'visualizer' ), | |
| 86 | - 'candlestick' => esc_html__( 'Candlestick', 'visualizer' ), | |
| 77 | + 'pie' => array( 'name' => esc_html__( 'Pie', 'visualizer' ), 'enabled' => true ), | |
| 78 | + 'line' => array( 'name' => esc_html__( 'Line', 'visualizer' ), 'enabled' => true ), | |
| 79 | + 'area' => array( 'name' => esc_html__( 'Area', 'visualizer' ), 'enabled' => true ), | |
| 80 | + 'geo' => array( 'name' => esc_html__( 'Geo', 'visualizer' ), 'enabled' => true ), | |
| 81 | + 'bar' => array( 'name' => esc_html__( 'Bar', 'visualizer' ), 'enabled' => true ), | |
| 82 | + 'column' => array( 'name' => esc_html__( 'Column', 'visualizer' ), 'enabled' => true ), | |
| 83 | + 'gauge' => array( 'name' => esc_html__( 'Gauge', 'visualizer' ), 'enabled' => true ), | |
| 84 | + 'scatter' => array( 'name' => esc_html__( 'Scatter', 'visualizer' ), 'enabled' => true ), | |
| 85 | + 'candlestick' => array( 'name' => esc_html__( 'Candlestick', 'visualizer' ), 'enabled' => true ), | |
| 86 | + // pro types | |
| 87 | + 'table' => array( 'name' => esc_html__( 'Table', 'visualizer' ), 'enabled' => false ), | |
| 88 | + 'timeline' => array( 'name' => esc_html__( 'Timeline', 'visualizer' ), 'enabled' => false ), | |
| 89 | + 'combo' => array( 'name' => esc_html__( 'Combo', 'visualizer' ), 'enabled' => false ), | |
| 87 | 90 | ); |
| 88 | 91 | |
| 89 | 92 | $types = apply_filters( 'visualizer_pro_chart_types', $types ); |
| 90 | 93 | |
| 94 | + if ( $enabledOnly ) { | |
| 95 | + $filtered = array(); | |
| 96 | + foreach ( $types as $type => $array ) { | |
| 97 | + if ( ! $array['enabled'] ) { continue; | |
| 98 | + } | |
| 99 | + $filtered[ $type ] = $array; | |
| 100 | + } | |
| 101 | + $types = $filtered; | |
| 102 | + } | |
| 103 | + | |
| 104 | + if ( $get2Darray ) { | |
| 105 | + $doubleD = array(); | |
| 106 | + foreach ( $types as $type => $array ) { | |
| 107 | + $doubleD[ $type ] = $array['name']; | |
| 108 | + } | |
| 109 | + $types = $doubleD; | |
| 110 | + } | |
| 111 | + | |
| 91 | 112 | return $types; |
| 92 | 113 | } |
| 93 | 114 | |
| 94 | 115 | /** |
| @@ -139,9 +160,10 @@ | ||
| 139 | 160 | 'library' => esc_html__( 'From Library', 'visualizer' ), |
| 140 | 161 | 'create' => esc_html__( 'Create New', 'visualizer' ), |
| 141 | 162 | ), |
| 142 | 163 | 'library' => array( |
| 143 | - 'filters' => self::_getChartTypesLocalized(), | |
| 164 | + 'filters' => self::_getChartTypesLocalized( true, true ), | |
| 165 | + 'types' => array_keys( self::_getChartTypesLocalized( true, true ) ), | |
| 144 | 166 | ), |
| 145 | 167 | 'nonce' => wp_create_nonce(), |
| 146 | 168 | 'buildurl' => add_query_arg( 'action', Visualizer_Plugin::ACTION_CREATE_CHART, admin_url( 'admin-ajax.php' ) ), |
| 147 | 169 | ); |