Changeset 3484383
- Timestamp:
- 03/17/2026 03:30:36 AM (2 weeks ago)
- Location:
- kitstarter
- Files:
-
- 12 edited
- 1 copied
-
tags/2.1.2 (copied) (copied from kitstarter/trunk)
-
tags/2.1.2/app/class-kitstarter.php (modified) (5 diffs)
-
tags/2.1.2/build/builder.asset.php (modified) (1 diff)
-
tags/2.1.2/functions.php (modified) (2 diffs)
-
tags/2.1.2/kitstarter.php (modified) (2 diffs)
-
tags/2.1.2/public/css/admin.css (modified) (2 diffs)
-
tags/2.1.2/readme.txt (modified) (1 diff)
-
trunk/app/class-kitstarter.php (modified) (5 diffs)
-
trunk/build/builder.asset.php (modified) (1 diff)
-
trunk/functions.php (modified) (2 diffs)
-
trunk/kitstarter.php (modified) (2 diffs)
-
trunk/public/css/admin.css (modified) (2 diffs)
-
trunk/readme.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kitstarter/tags/2.1.2/app/class-kitstarter.php
r3470538 r3484383 27 27 */ 28 28 public function is_v4_compatible() { 29 if ( ! class_exists( '\Elementor\Plugin' ) ) { 30 return false; 31 } 32 33 $experiments = \Elementor\Plugin::$instance->experiments; 34 35 return $experiments->is_feature_active( 'e_variables' ) && $experiments->is_feature_active( 'e_classes' ); 29 return kitstarter_is_v4_compatible(); 36 30 } 37 31 … … 42 36 */ 43 37 public function admin_menu() { 44 // Register settings page without adding to menu (null parent). 45 // The menu link is added via $submenu array in admin_menu_addition(). 46 if ( $this->is_v4_compatible() ) { 47 add_menu_page( 48 __( 'Kitstarter', 'kitstarter' ), 49 'Kitstarter', 50 'manage_options', 51 'kitstarter', 52 function () {}, 53 KITSTARTER_URL . 'public/images/kitstarter-logo.svg', 54 51 55 ); 56 add_submenu_page( 57 null, // Hidden from menu. 58 __( 'Settings', 'kitstarter' ), 59 __( 'Settings', 'kitstarter' ), 60 'manage_options', 61 'kitstarter-settings', 62 array( $this, 'render_settings_page' ) 63 ); 38 if ( ! $this->is_v4_compatible() ) { 39 return; 64 40 } 41 42 // Create settings menu page. 43 // If pro plugin is active, it will restructure this at a later priority. 44 add_menu_page( 45 __( 'Kitstarter Settings', 'kitstarter' ), 46 'Kitstarter', 47 'manage_options', 48 'kitstarter-settings', 49 'kitstarter_render_settings_page', 50 KITSTARTER_URL . 'public/images/kitstarter-logo.svg', 51 51 52 ); 65 53 } 66 54 … … 71 59 */ 72 60 public function render_settings_page() { 73 $editor_version = get_option( 'kitstarter_editor_version', 'v3' ); 74 ?> 75 <div class="wrap"> 76 <h1><?php esc_html_e( 'Kitstarter Settings', 'kitstarter' ); ?></h1> 77 <form id="kitstarter-settings-form" method="post"> 78 <?php wp_nonce_field( 'kitstarter_settings', 'kitstarter_settings_nonce' ); ?> 79 <table class="form-table" role="presentation"> 80 <tbody> 81 <tr> 82 <th scope="row"> 83 <label for="kitstarter_editor_version"><?php esc_html_e( 'Editor Version', 'kitstarter' ); ?></label> 84 </th> 85 <td> 86 <select name="kitstarter_editor_version" id="kitstarter_editor_version"> 87 <option value="v3" <?php selected( $editor_version, 'v3' ); ?>><?php esc_html_e( 'Standard (Elementor 3.x)', 'kitstarter' ); ?></option> 88 <option value="v4" <?php selected( $editor_version, 'v4' ); ?>><?php esc_html_e( 'V4 (Elementor 4.x)', 'kitstarter' ); ?></option> 89 </select> 90 <p class="description"><?php esc_html_e( 'Select which component library version to use. V4 includes support for global variables and classes.', 'kitstarter' ); ?></p> 91 </td> 92 </tr> 93 </tbody> 94 </table> 95 <?php submit_button( __( 'Save Settings', 'kitstarter' ) ); ?> 96 </form> 97 <div id="kitstarter-settings-message" style="display: none;"></div> 98 </div> 99 <?php 61 kitstarter_render_settings_page(); 100 62 } 101 63 … … 130 92 131 93 /** 132 * Add menu to wp admin94 * Additional admin menu setup 133 95 * 134 96 * @return void 135 97 */ 136 98 public function admin_menu_addition() { 137 global $submenu; 138 139 // Remove the auto-generated first submenu item (duplicate of parent). 140 // Only remove if slug is 'kitstarter' AND title is 'Kitstarter' (the auto-generated one). 141 // This preserves other submenus like 'License' that may use the same slug. 142 if ( isset( $submenu['kitstarter'] ) ) { 143 foreach ( $submenu['kitstarter'] as $key => $item ) { 144 if ( isset( $item[2] ) && 'kitstarter' === $item[2] && isset( $item[0] ) && 'Kitstarter' === $item[0] ) { 145 // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Removing auto-generated duplicate submenu. 146 unset( $submenu['kitstarter'][ $key ] ); 147 break; 148 } 149 } 150 } 151 152 // Add Settings submenu only if V4 features are active. 153 if ( $this->is_v4_compatible() ) { 154 // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Adding custom submenu item. 155 $submenu['kitstarter'][] = [ 156 __( 'Settings', 'kitstarter' ), 157 'manage_options', 158 'admin.php?page=kitstarter-settings', 159 __( 'Settings', 'kitstarter' ), 160 ]; 161 } 99 // Add script to make external links open in new tab. 162 100 } 163 101 … … 172 110 173 111 // Enqueue settings page script. 174 if ( 'admin_page_kitstarter-settings' === $hook ) { 112 // Handle both standalone (toplevel_page_kitstarter-settings) and hidden (admin_page_kitstarter-settings) hooks. 113 if ( 'toplevel_page_kitstarter-settings' === $hook || 'admin_page_kitstarter-settings' === $hook ) { 175 114 wp_enqueue_script( 'kitstarter-settings', KITSTARTER_URL . 'public/js/settings.js', array( 'jquery' ), KITSTARTER_VERSION, true ); 176 115 wp_localize_script( -
kitstarter/tags/2.1.2/build/builder.asset.php
r3470561 r3484383 1 1 <?php return array( 2 2 'dependencies' => array('react', 'react-dom', 'underscore', 'lodash'), 3 'version' => '2.1. 1',3 'version' => '2.1.2', 4 4 ); -
kitstarter/tags/2.1.2/functions.php
r3470538 r3484383 1 1 <?php 2 2 /** 3 * He kper Functions3 * Helper Functions 4 4 * 5 5 * @package Kitstarter … … 17 17 } 18 18 } 19 20 if ( ! function_exists( 'kitstarter_is_v4_compatible' ) ) { 21 /** 22 * Check if Elementor V4 features (variables + classes) are active. 23 * 24 * @since 2.2.0 25 * @return bool 26 */ 27 function kitstarter_is_v4_compatible() { 28 if ( ! class_exists( '\Elementor\Plugin' ) ) { 29 return false; 30 } 31 32 $experiments = \Elementor\Plugin::$instance->experiments; 33 34 return $experiments->is_feature_active( 'e_variables' ) && $experiments->is_feature_active( 'e_classes' ); 35 } 36 } 37 38 if ( ! function_exists( 'kitstarter_render_settings_page' ) ) { 39 /** 40 * Render the Kitstarter settings page. 41 * 42 * @since 2.2.0 43 * @return void 44 */ 45 function kitstarter_render_settings_page() { 46 $editor_version = get_option( 'kitstarter_editor_version', 'v3' ); 47 ?> 48 <div class="wrap"> 49 <h1><?php esc_html_e( 'Kitstarter Settings', 'kitstarter' ); ?></h1> 50 <form id="kitstarter-settings-form" method="post"> 51 <?php wp_nonce_field( 'kitstarter_settings', 'kitstarter_settings_nonce' ); ?> 52 <table class="form-table" role="presentation"> 53 <tbody> 54 <tr> 55 <th scope="row"> 56 <label for="kitstarter_editor_version"><?php esc_html_e( 'Editor Version', 'kitstarter' ); ?></label> 57 </th> 58 <td> 59 <select name="kitstarter_editor_version" id="kitstarter_editor_version"> 60 <option value="v3" <?php selected( $editor_version, 'v3' ); ?>><?php esc_html_e( 'Standard (Elementor 3.x)', 'kitstarter' ); ?></option> 61 <option value="v4" <?php selected( $editor_version, 'v4' ); ?>><?php esc_html_e( 'V4 (Elementor 4.x)', 'kitstarter' ); ?></option> 62 </select> 63 <p class="description"><?php esc_html_e( 'Select which component library version to use. V4 includes support for global variables and classes.', 'kitstarter' ); ?></p> 64 </td> 65 </tr> 66 </tbody> 67 </table> 68 <?php submit_button( __( 'Save Settings', 'kitstarter' ) ); ?> 69 </form> 70 <div id="kitstarter-settings-message" style="display: none;"></div> 71 </div> 72 <?php 73 } 74 } -
kitstarter/tags/2.1.2/kitstarter.php
r3470561 r3484383 16 16 * Plugin URI: https://kitstarter.io/kitstarter 17 17 * Description: With access to over 800 components you can build beautiful websites and save thousands of hours using the world's largest Elementor component library. 18 * Version: 2.1. 118 * Version: 2.1.2 19 19 * Requires at least: 5.2 20 20 * Requires PHP: 7.4 … … 42 42 * Rename this for your plugin and update it as you release new versions. 43 43 */ 44 define( 'KITSTARTER_VERSION', '2.1. 1' );44 define( 'KITSTARTER_VERSION', '2.1.2' ); 45 45 46 46 /** -
kitstarter/tags/2.1.2/public/css/admin.css
r3470538 r3484383 1 #adminmenu a.menu-top.toplevel_page_kitstarter { 1 #adminmenu a.menu-top.toplevel_page_kitstarter, 2 #adminmenu a.menu-top.toplevel_page_kitstarter-settings { 2 3 display: inline-block; 3 4 width: 100%; 4 5 } 5 6 6 #adminmenu a.menu-top.toplevel_page_kitstarter img { 7 #adminmenu a.menu-top.toplevel_page_kitstarter img, 8 #adminmenu a.menu-top.toplevel_page_kitstarter-settings img { 7 9 opacity: .6; 8 10 padding-top: 10px; … … 10 12 } 11 13 12 body.toplevel_page_kitstarter { 14 body.toplevel_page_kitstarter, 15 body.toplevel_page_kitstarter-settings { 13 16 overflow-y: hidden; 14 17 } -
kitstarter/tags/2.1.2/readme.txt
r3470561 r3484383 6 6 Tested up to: 6.9 7 7 Requires PHP: 7.4 8 Stable tag: 2.1. 18 Stable tag: 2.1.2 9 9 License: GPLv3 10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.html -
kitstarter/trunk/app/class-kitstarter.php
r3470538 r3484383 27 27 */ 28 28 public function is_v4_compatible() { 29 if ( ! class_exists( '\Elementor\Plugin' ) ) { 30 return false; 31 } 32 33 $experiments = \Elementor\Plugin::$instance->experiments; 34 35 return $experiments->is_feature_active( 'e_variables' ) && $experiments->is_feature_active( 'e_classes' ); 29 return kitstarter_is_v4_compatible(); 36 30 } 37 31 … … 42 36 */ 43 37 public function admin_menu() { 44 // Register settings page without adding to menu (null parent). 45 // The menu link is added via $submenu array in admin_menu_addition(). 46 if ( $this->is_v4_compatible() ) { 47 add_menu_page( 48 __( 'Kitstarter', 'kitstarter' ), 49 'Kitstarter', 50 'manage_options', 51 'kitstarter', 52 function () {}, 53 KITSTARTER_URL . 'public/images/kitstarter-logo.svg', 54 51 55 ); 56 add_submenu_page( 57 null, // Hidden from menu. 58 __( 'Settings', 'kitstarter' ), 59 __( 'Settings', 'kitstarter' ), 60 'manage_options', 61 'kitstarter-settings', 62 array( $this, 'render_settings_page' ) 63 ); 38 if ( ! $this->is_v4_compatible() ) { 39 return; 64 40 } 41 42 // Create settings menu page. 43 // If pro plugin is active, it will restructure this at a later priority. 44 add_menu_page( 45 __( 'Kitstarter Settings', 'kitstarter' ), 46 'Kitstarter', 47 'manage_options', 48 'kitstarter-settings', 49 'kitstarter_render_settings_page', 50 KITSTARTER_URL . 'public/images/kitstarter-logo.svg', 51 51 52 ); 65 53 } 66 54 … … 71 59 */ 72 60 public function render_settings_page() { 73 $editor_version = get_option( 'kitstarter_editor_version', 'v3' ); 74 ?> 75 <div class="wrap"> 76 <h1><?php esc_html_e( 'Kitstarter Settings', 'kitstarter' ); ?></h1> 77 <form id="kitstarter-settings-form" method="post"> 78 <?php wp_nonce_field( 'kitstarter_settings', 'kitstarter_settings_nonce' ); ?> 79 <table class="form-table" role="presentation"> 80 <tbody> 81 <tr> 82 <th scope="row"> 83 <label for="kitstarter_editor_version"><?php esc_html_e( 'Editor Version', 'kitstarter' ); ?></label> 84 </th> 85 <td> 86 <select name="kitstarter_editor_version" id="kitstarter_editor_version"> 87 <option value="v3" <?php selected( $editor_version, 'v3' ); ?>><?php esc_html_e( 'Standard (Elementor 3.x)', 'kitstarter' ); ?></option> 88 <option value="v4" <?php selected( $editor_version, 'v4' ); ?>><?php esc_html_e( 'V4 (Elementor 4.x)', 'kitstarter' ); ?></option> 89 </select> 90 <p class="description"><?php esc_html_e( 'Select which component library version to use. V4 includes support for global variables and classes.', 'kitstarter' ); ?></p> 91 </td> 92 </tr> 93 </tbody> 94 </table> 95 <?php submit_button( __( 'Save Settings', 'kitstarter' ) ); ?> 96 </form> 97 <div id="kitstarter-settings-message" style="display: none;"></div> 98 </div> 99 <?php 61 kitstarter_render_settings_page(); 100 62 } 101 63 … … 130 92 131 93 /** 132 * Add menu to wp admin94 * Additional admin menu setup 133 95 * 134 96 * @return void 135 97 */ 136 98 public function admin_menu_addition() { 137 global $submenu; 138 139 // Remove the auto-generated first submenu item (duplicate of parent). 140 // Only remove if slug is 'kitstarter' AND title is 'Kitstarter' (the auto-generated one). 141 // This preserves other submenus like 'License' that may use the same slug. 142 if ( isset( $submenu['kitstarter'] ) ) { 143 foreach ( $submenu['kitstarter'] as $key => $item ) { 144 if ( isset( $item[2] ) && 'kitstarter' === $item[2] && isset( $item[0] ) && 'Kitstarter' === $item[0] ) { 145 // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Removing auto-generated duplicate submenu. 146 unset( $submenu['kitstarter'][ $key ] ); 147 break; 148 } 149 } 150 } 151 152 // Add Settings submenu only if V4 features are active. 153 if ( $this->is_v4_compatible() ) { 154 // phpcs:ignore WordPress.WP.GlobalVariablesOverride.Prohibited -- Adding custom submenu item. 155 $submenu['kitstarter'][] = [ 156 __( 'Settings', 'kitstarter' ), 157 'manage_options', 158 'admin.php?page=kitstarter-settings', 159 __( 'Settings', 'kitstarter' ), 160 ]; 161 } 99 // Add script to make external links open in new tab. 162 100 } 163 101 … … 172 110 173 111 // Enqueue settings page script. 174 if ( 'admin_page_kitstarter-settings' === $hook ) { 112 // Handle both standalone (toplevel_page_kitstarter-settings) and hidden (admin_page_kitstarter-settings) hooks. 113 if ( 'toplevel_page_kitstarter-settings' === $hook || 'admin_page_kitstarter-settings' === $hook ) { 175 114 wp_enqueue_script( 'kitstarter-settings', KITSTARTER_URL . 'public/js/settings.js', array( 'jquery' ), KITSTARTER_VERSION, true ); 176 115 wp_localize_script( -
kitstarter/trunk/build/builder.asset.php
r3470561 r3484383 1 1 <?php return array( 2 2 'dependencies' => array('react', 'react-dom', 'underscore', 'lodash'), 3 'version' => '2.1. 1',3 'version' => '2.1.2', 4 4 ); -
kitstarter/trunk/functions.php
r3470538 r3484383 1 1 <?php 2 2 /** 3 * He kper Functions3 * Helper Functions 4 4 * 5 5 * @package Kitstarter … … 17 17 } 18 18 } 19 20 if ( ! function_exists( 'kitstarter_is_v4_compatible' ) ) { 21 /** 22 * Check if Elementor V4 features (variables + classes) are active. 23 * 24 * @since 2.2.0 25 * @return bool 26 */ 27 function kitstarter_is_v4_compatible() { 28 if ( ! class_exists( '\Elementor\Plugin' ) ) { 29 return false; 30 } 31 32 $experiments = \Elementor\Plugin::$instance->experiments; 33 34 return $experiments->is_feature_active( 'e_variables' ) && $experiments->is_feature_active( 'e_classes' ); 35 } 36 } 37 38 if ( ! function_exists( 'kitstarter_render_settings_page' ) ) { 39 /** 40 * Render the Kitstarter settings page. 41 * 42 * @since 2.2.0 43 * @return void 44 */ 45 function kitstarter_render_settings_page() { 46 $editor_version = get_option( 'kitstarter_editor_version', 'v3' ); 47 ?> 48 <div class="wrap"> 49 <h1><?php esc_html_e( 'Kitstarter Settings', 'kitstarter' ); ?></h1> 50 <form id="kitstarter-settings-form" method="post"> 51 <?php wp_nonce_field( 'kitstarter_settings', 'kitstarter_settings_nonce' ); ?> 52 <table class="form-table" role="presentation"> 53 <tbody> 54 <tr> 55 <th scope="row"> 56 <label for="kitstarter_editor_version"><?php esc_html_e( 'Editor Version', 'kitstarter' ); ?></label> 57 </th> 58 <td> 59 <select name="kitstarter_editor_version" id="kitstarter_editor_version"> 60 <option value="v3" <?php selected( $editor_version, 'v3' ); ?>><?php esc_html_e( 'Standard (Elementor 3.x)', 'kitstarter' ); ?></option> 61 <option value="v4" <?php selected( $editor_version, 'v4' ); ?>><?php esc_html_e( 'V4 (Elementor 4.x)', 'kitstarter' ); ?></option> 62 </select> 63 <p class="description"><?php esc_html_e( 'Select which component library version to use. V4 includes support for global variables and classes.', 'kitstarter' ); ?></p> 64 </td> 65 </tr> 66 </tbody> 67 </table> 68 <?php submit_button( __( 'Save Settings', 'kitstarter' ) ); ?> 69 </form> 70 <div id="kitstarter-settings-message" style="display: none;"></div> 71 </div> 72 <?php 73 } 74 } -
kitstarter/trunk/kitstarter.php
r3470561 r3484383 16 16 * Plugin URI: https://kitstarter.io/kitstarter 17 17 * Description: With access to over 800 components you can build beautiful websites and save thousands of hours using the world's largest Elementor component library. 18 * Version: 2.1. 118 * Version: 2.1.2 19 19 * Requires at least: 5.2 20 20 * Requires PHP: 7.4 … … 42 42 * Rename this for your plugin and update it as you release new versions. 43 43 */ 44 define( 'KITSTARTER_VERSION', '2.1. 1' );44 define( 'KITSTARTER_VERSION', '2.1.2' ); 45 45 46 46 /** -
kitstarter/trunk/public/css/admin.css
r3470538 r3484383 1 #adminmenu a.menu-top.toplevel_page_kitstarter { 1 #adminmenu a.menu-top.toplevel_page_kitstarter, 2 #adminmenu a.menu-top.toplevel_page_kitstarter-settings { 2 3 display: inline-block; 3 4 width: 100%; 4 5 } 5 6 6 #adminmenu a.menu-top.toplevel_page_kitstarter img { 7 #adminmenu a.menu-top.toplevel_page_kitstarter img, 8 #adminmenu a.menu-top.toplevel_page_kitstarter-settings img { 7 9 opacity: .6; 8 10 padding-top: 10px; … … 10 12 } 11 13 12 body.toplevel_page_kitstarter { 14 body.toplevel_page_kitstarter, 15 body.toplevel_page_kitstarter-settings { 13 16 overflow-y: hidden; 14 17 } -
kitstarter/trunk/readme.txt
r3470561 r3484383 6 6 Tested up to: 6.9 7 7 Requires PHP: 7.4 8 Stable tag: 2.1. 18 Stable tag: 2.1.2 9 9 License: GPLv3 10 10 License URI: https://www.gnu.org/licenses/gpl-3.0.html
Note: See TracChangeset
for help on using the changeset viewer.