Changeset 3468483
- Timestamp:
- 02/24/2026 09:51:47 AM (5 weeks ago)
- Location:
- catch-sticky-menu
- Files:
-
- 54 added
- 13 edited
-
tags/1.8 (added)
-
tags/1.8/LICENSE.txt (added)
-
tags/1.8/README.txt (added)
-
tags/1.8/admin (added)
-
tags/1.8/admin/class-catch-sticky-menu-admin.php (added)
-
tags/1.8/admin/css (added)
-
tags/1.8/admin/css/catch-sticky-menu-admin.css (added)
-
tags/1.8/admin/images (added)
-
tags/1.8/admin/images/features-1.jpg (added)
-
tags/1.8/admin/images/features-2.jpg (added)
-
tags/1.8/admin/images/free-1.jpg (added)
-
tags/1.8/admin/images/free-2.jpg (added)
-
tags/1.8/admin/images/free-3.jpg (added)
-
tags/1.8/admin/images/free-plugin-246x116.png (added)
-
tags/1.8/admin/images/free-theme-246x175.jpg (added)
-
tags/1.8/admin/images/premium-plugin-246x116.png (added)
-
tags/1.8/admin/images/premium-theme-246x175.jpg (added)
-
tags/1.8/admin/images/pro-1.jpg (added)
-
tags/1.8/admin/images/pro-2.jpg (added)
-
tags/1.8/admin/images/pro-3.jpg (added)
-
tags/1.8/admin/index.php (added)
-
tags/1.8/admin/js (added)
-
tags/1.8/admin/js/catch-sticky-menu-admin.js (added)
-
tags/1.8/admin/js/jquery-matchHeight.min.js (added)
-
tags/1.8/admin/js/our-themes.js (added)
-
tags/1.8/admin/js/wp-color-picker.js (added)
-
tags/1.8/admin/partials (added)
-
tags/1.8/admin/partials/catch-sticky-menu-admin-display.php (added)
-
tags/1.8/admin/partials/dashboard-display.php (added)
-
tags/1.8/admin/partials/footer.php (added)
-
tags/1.8/admin/partials/sidebar.php (added)
-
tags/1.8/catch-sticky-menu.php (added)
-
tags/1.8/includes (added)
-
tags/1.8/includes/CatchThemesThemePlugin.php (added)
-
tags/1.8/includes/class-catch-sticky-menu-activator.php (added)
-
tags/1.8/includes/class-catch-sticky-menu-deactivator.php (added)
-
tags/1.8/includes/class-catch-sticky-menu-i18n.php (added)
-
tags/1.8/includes/class-catch-sticky-menu-loader.php (added)
-
tags/1.8/includes/class-catch-sticky-menu.php (added)
-
tags/1.8/includes/ctp-tabs-removal.php (added)
-
tags/1.8/includes/index.php (added)
-
tags/1.8/index.php (added)
-
tags/1.8/languages (added)
-
tags/1.8/languages/catch-sticky-menu.pot (added)
-
tags/1.8/public (added)
-
tags/1.8/public/class-catch-sticky-menu-public.php (added)
-
tags/1.8/public/css (added)
-
tags/1.8/public/css/catch-sticky-menu-public.css (added)
-
tags/1.8/public/index.php (added)
-
tags/1.8/public/js (added)
-
tags/1.8/public/js/catch-sticky-menu-public.js (added)
-
tags/1.8/public/partials (added)
-
tags/1.8/public/partials/catch-sticky-menu-public-display.php (added)
-
tags/1.8/uninstall.php (added)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/admin/class-catch-sticky-menu-admin.php (modified) (11 diffs)
-
trunk/admin/partials/catch-sticky-menu-admin-display.php (modified) (6 diffs)
-
trunk/admin/partials/dashboard-display.php (modified) (2 diffs)
-
trunk/admin/partials/footer.php (modified) (1 diff)
-
trunk/admin/partials/sidebar.php (modified) (2 diffs)
-
trunk/catch-sticky-menu.php (modified) (9 diffs)
-
trunk/includes/CatchThemesThemePlugin.php (modified) (18 diffs)
-
trunk/includes/class-catch-sticky-menu-loader.php (modified) (8 diffs)
-
trunk/includes/class-catch-sticky-menu.php (modified) (15 diffs)
-
trunk/includes/ctp-tabs-removal.php (modified) (7 diffs)
-
trunk/languages/catch-sticky-menu.pot (modified) (22 diffs)
-
trunk/public/partials/catch-sticky-menu-public-display.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
catch-sticky-menu/trunk/README.txt
r3292536 r3468483 4 4 Tags: sticky, sticky-menu, fixed, navigation 5 5 Requires at least: 5.9 6 Tested up to: 6. 87 Stable tag: trunk6 Tested up to: 6.9 7 Stable tag: 1.8 8 8 License: GPLv2 or later 9 9 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 41 41 42 42 == Changelog == 43 44 = 1.8 (Released: February 24, 2026) = 45 * Bug Fixed: Fixed JS enqueue path for adding catch themes tab item in Themes add theme section 46 * Bug Fixed: WordPress.Security.EscapeOutput.OutputNotEscaped 47 * Bug Fixed: missing_direct_file_access_protection 48 * Bug Fixed: WordPress.WP.I18n.TextDomainMismatch 49 * Bug Fixed: plugin_header_invalid_plugin_uri 50 * Compatibility check up to version 6.9 43 51 44 52 = 1.7.5 (Released: May 13, 2025) = -
catch-sticky-menu/trunk/admin/class-catch-sticky-menu-admin.php
r2489093 r3468483 1 1 <?php 2 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 5 2 6 3 7 /** … … 11 15 */ 12 16 13 /** 14 * The admin-specific functionality of the plugin. 15 * 16 * Defines the plugin name, version, and two examples hooks for how to 17 * enqueue the admin-specific stylesheet and JavaScript. 18 * 19 * @package Catch_Sticky_Menu 20 * @subpackage Catch_Sticky_Menu/admin 21 * @author Catch Plugins <www.catchplugins.com> 22 */ 23 class Catch_Sticky_Menu_Admin { 17 class Catch_Sticky_Menu_Admin 18 { 24 19 25 20 /** … … 48 43 * @param string $version The version of this plugin. 49 44 */ 50 public function __construct( $plugin_name, $version ) { 45 public function __construct($plugin_name, $version) 46 { 51 47 52 48 $this->plugin_name = $plugin_name; 53 49 $this->version = $version; 54 55 50 } 56 51 … … 60 55 * @since 1.0.0 61 56 */ 62 public function enqueue_styles() { 57 public function enqueue_styles() 58 { 63 59 64 60 /** … … 73 69 * class. 74 70 */ 75 76 if ( isset( $_GET['page'] ) && 'catch-sticky-menu' == $_GET['page']) {77 wp_enqueue_style( $this->plugin_name. '-display-dashboard', plugin_dir_url( __FILE__ ) . 'css/catch-sticky-menu-admin.css', array(), $this->version, 'all');78 } 79 }71 72 if (isset($_GET['page']) && 'catch-sticky-menu' == $_GET['page']) { 73 wp_enqueue_style($this->plugin_name . '-display-dashboard', plugin_dir_url(__FILE__) . 'css/catch-sticky-menu-admin.css', array(), $this->version, 'all'); 74 } 75 } 80 76 /** 81 77 * Register the JavaScript for the admin area. … … 83 79 * @since 1.0.0 84 80 */ 85 public function enqueue_scripts() { 81 public function enqueue_scripts() 82 { 86 83 87 84 /** … … 97 94 */ 98 95 99 if ( isset( $_GET['page'] ) && 'catch-sticky-menu' == $_GET['page'] ) { 100 wp_enqueue_script( 'matchHeight', plugin_dir_url( __FILE__ ) . 'js/jquery-matchHeight.min.js', array( 'jquery' ), $this->version, false ); 101 wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/catch-sticky-menu-admin.js', array( 'jquery', 'matchHeight', 'jquery-ui-tooltip' ), $this->version, false ); 102 wp_enqueue_script( 'catch-sticky-menu-color-picker', plugin_dir_url( __FILE__ ) . 'js/wp-color-picker.js', array( 'wp-color-picker', 'jquery' ), $this->version, false ); 103 } 104 96 if (isset($_GET['page']) && 'catch-sticky-menu' == $_GET['page']) { 97 wp_enqueue_script('matchHeight', plugin_dir_url(__FILE__) . 'js/jquery-matchHeight.min.js', array('jquery'), $this->version, false); 98 wp_enqueue_script($this->plugin_name, plugin_dir_url(__FILE__) . 'js/catch-sticky-menu-admin.js', array('jquery', 'matchHeight', 'jquery-ui-tooltip'), $this->version, false); 99 wp_enqueue_script('catch-sticky-menu-color-picker', plugin_dir_url(__FILE__) . 'js/wp-color-picker.js', array('wp-color-picker', 'jquery'), $this->version, false); 100 } 105 101 } 106 102 … … 113 109 * @param arrray $file File name. 114 110 */ 115 public function action_links( $links, $file ) { 116 if ( $file === $this->plugin_name . '/' . $this->plugin_name . '.php' ) { 117 $settings_link = '<a href="' . esc_url( admin_url( 'admin.php?page=catch-sticky-menu' ) ) . '">' . esc_html__( 'Settings', 'catch-sticky-menu' ) . '</a>'; 118 119 array_unshift( $links, $settings_link ); 111 public function action_links($links, $file) 112 { 113 if ($file === $this->plugin_name . '/' . $this->plugin_name . '.php') { 114 $settings_link = '<a href="' . esc_url(admin_url('admin.php?page=catch-sticky-menu')) . '">' . esc_html__('Settings', 'catch-sticky-menu') . '</a>'; 115 116 array_unshift($links, $settings_link); 120 117 } 121 118 return $links; 122 119 } 123 120 124 public function add_plugin_settings_menu() { 121 public function add_plugin_settings_menu() 122 { 125 123 add_menu_page( 126 esc_html__( 'Catch Sticky Menu', 'catch-sticky-menu'), // $page_title.127 esc_html__( 'Catch Sticky Menu', 'catch-sticky-menu'), // $menu_title.124 esc_html__('Catch Sticky Menu', 'catch-sticky-menu'), // $page_title. 125 esc_html__('Catch Sticky Menu', 'catch-sticky-menu'), // $menu_title. 128 126 'manage_options', // $capability. 129 127 'catch-sticky-menu', // $menu_slug. 130 array( $this, 'settings_page'), // $callback_function.128 array($this, 'settings_page'), // $callback_function. 131 129 'dashicons-pressthis', // $icon_url. 132 130 '99.01564' // $position. … … 134 132 add_submenu_page( 135 133 'catch-sticky-menu', // $parent_slug. 136 esc_html__( 'Catch Sticky Menu', 'catch-sticky-menu'), // $page_title.137 esc_html__( 'Settings', 'catch-sticky-menu'), // $menu_title.134 esc_html__('Catch Sticky Menu', 'catch-sticky-menu'), // $page_title. 135 esc_html__('Settings', 'catch-sticky-menu'), // $menu_title. 138 136 'manage_options', // $capability. 139 137 'catch-sticky-menu', // $menu_slug. 140 array( $this,'settings_page') // $callback_function.138 array($this, 'settings_page') // $callback_function. 141 139 ); 142 140 } 143 141 144 142 145 public function settings_page() { 146 if ( ! current_user_can( 'manage_options' ) ) { 147 wp_die( esc_html__( 'You do not have sufficient permissions to access this page.', 'catch-sticky-menu' ) ); 148 } 149 require plugin_dir_path( __FILE__ ) . 'partials/catch-sticky-menu-admin-display.php'; 150 } 151 152 public function register_settings() { 143 public function settings_page() 144 { 145 if (! current_user_can('manage_options')) { 146 wp_die(esc_html__('You do not have sufficient permissions to access this page.', 'catch-sticky-menu')); 147 } 148 require plugin_dir_path(__FILE__) . 'partials/catch-sticky-menu-admin-display.php'; 149 } 150 151 public function register_settings() 152 { 153 153 register_setting( 154 154 'catch-sticky-menu-group', 155 155 'catch_sticky_menu_options', 156 array( $this, 'sanitize_callback')156 array($this, 'sanitize_callback') 157 157 ); 158 158 } 159 159 160 public function sanitize_callback( $input ) { 161 if ( isset( $input['reset'] ) && $input['reset'] ) { 160 public function sanitize_callback($input) 161 { 162 if (isset($input['reset']) && $input['reset']) { 162 163 //If reset, restore defaults 163 164 return catch_sticky_menu_default_options(); … … 167 168 168 169 // Verify the nonce before proceeding. 169 if ( ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) 170 || ( ! isset( $_POST['catch_sticky_menu_nounce'] ) 171 || ! wp_verify_nonce( sanitize_text_field( wp_unslash( $_POST['catch_sticky_menu_nounce'] ) ), basename( __FILE__ ) ) ) 172 || ( ! check_admin_referer( basename( __FILE__ ), 'catch_sticky_menu_nounce' ) ) ) { 173 if ( null !== $input ) { 174 175 $input['status'] = ( isset( $input['status'] ) && '1' == $input['status'] ) ? '1' : '0'; 176 if ( isset( $input['sticky_desktop_menu_selector'] ) ) { 177 $input['sticky_desktop_menu_selector'] = sanitize_text_field( $input['sticky_desktop_menu_selector'] ); 178 } 179 if ( isset( $input['sticky_mobile_menu_selector'] ) ) { 180 $input['sticky_mobile_menu_selector'] = sanitize_text_field( $input['sticky_mobile_menu_selector'] ); 181 } 182 if ( isset( $input['sticky_background_color'] ) && $input['sticky_background_color'] ) { 183 $input['sticky_background_color'] = sanitize_hex_color( $input['sticky_background_color'] ); 184 } 185 if ( isset( $input['sticky_text_color'] ) && $input['sticky_text_color'] ) { 186 $input['sticky_text_color'] = sanitize_hex_color( $input['sticky_text_color'] ); 187 } 188 if ( isset( $input['sticky_z_index'] ) && $input['sticky_z_index'] ) { 189 $input['sticky_z_index'] = intval( $input['sticky_z_index'] ); 190 } 191 if ( isset( $input['sticky_opacity'] ) && $input['sticky_opacity'] ) { 192 $input['sticky_opacity'] = floatval( $input['sticky_opacity'] ); 193 } 194 if ( isset( $input['enable_only_on_home'] ) && $input['enable_only_on_home'] ) { 195 $input['enable_only_on_home'] = sanitize_key( $input['enable_only_on_home'] ); 196 } 197 198 return $input; 199 } 200 return 'Invalid Nonce'; 201 } 202 } 203 function add_plugin_meta_links( $meta_fields, $file ){ 204 if( CATCH_STICKY_MENU_BASENAME == $file ) { 170 if ((defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) 171 || (! isset($_POST['catch_sticky_menu_nounce']) 172 || ! wp_verify_nonce(sanitize_text_field(wp_unslash($_POST['catch_sticky_menu_nounce'])), basename(__FILE__))) 173 || (! check_admin_referer(basename(__FILE__), 'catch_sticky_menu_nounce')) 174 ) { 175 if (null !== $input) { 176 177 $input['status'] = (isset($input['status']) && '1' == $input['status']) ? '1' : '0'; 178 if (isset($input['sticky_desktop_menu_selector'])) { 179 $input['sticky_desktop_menu_selector'] = sanitize_text_field($input['sticky_desktop_menu_selector']); 180 } 181 if (isset($input['sticky_mobile_menu_selector'])) { 182 $input['sticky_mobile_menu_selector'] = sanitize_text_field($input['sticky_mobile_menu_selector']); 183 } 184 if (isset($input['sticky_background_color']) && $input['sticky_background_color']) { 185 $input['sticky_background_color'] = sanitize_hex_color($input['sticky_background_color']); 186 } 187 if (isset($input['sticky_text_color']) && $input['sticky_text_color']) { 188 $input['sticky_text_color'] = sanitize_hex_color($input['sticky_text_color']); 189 } 190 if (isset($input['sticky_z_index']) && $input['sticky_z_index']) { 191 $input['sticky_z_index'] = intval($input['sticky_z_index']); 192 } 193 if (isset($input['sticky_opacity']) && $input['sticky_opacity']) { 194 $input['sticky_opacity'] = floatval($input['sticky_opacity']); 195 } 196 if (isset($input['enable_only_on_home']) && $input['enable_only_on_home']) { 197 $input['enable_only_on_home'] = sanitize_key($input['enable_only_on_home']); 198 } 199 200 return $input; 201 } 202 return 'Invalid Nonce'; 203 } 204 } 205 function add_plugin_meta_links($meta_fields, $file) 206 { 207 if (CATCH_STICKY_MENU_BASENAME == $file) { 205 208 $meta_fields[] = "<a href='https://catchplugins.com/support-forum/forum/catch-sticky-menu/' target='_blank'>Support Forum</a>"; 206 209 $meta_fields[] = "<a href='https://wordpress.org/support/plugin/catch-sticky-menu/reviews/#new-post' target='_blank' title='Rate'> 207 210 <i class='ct-rate-stars'>" 208 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"209 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"210 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"211 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"212 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>"213 . "</i></a>";211 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>" 212 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>" 213 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>" 214 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>" 215 . "<svg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='feather feather-star'><polygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2'/></svg>" 216 . "</i></a>"; 214 217 215 218 $stars_color = "#ffb900"; 216 219 217 220 echo "<style>" 218 . ".ct-rate-stars{display:inline-block;color:" . $stars_color. ";position:relative;top:3px;}"219 . ".ct-rate-stars svg{fill:" . $stars_color. ";}"220 . ".ct-rate-stars svg:hover{fill:" . $stars_color. "}"221 . ".ct-rate-stars{display:inline-block;color:" . esc_html($stars_color) . ";position:relative;top:3px;}" 222 . ".ct-rate-stars svg{fill:" . esc_html($stars_color) . ";}" 223 . ".ct-rate-stars svg:hover{fill:" . esc_html($stars_color) . "}" 221 224 . ".ct-rate-stars svg:hover ~ svg{fill:none;}" 222 225 . "</style>"; … … 226 229 } 227 230 } 228 -
catch-sticky-menu/trunk/admin/partials/catch-sticky-menu-admin-display.php
r2600962 r3468483 1 1 <?php 2 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 2 5 3 6 /** … … 16 19 <!-- This file should primarily consist of HTML with a little bit of PHP. --> 17 20 <div class="wrap"> 18 <h1 class="wp-heading-inline"><?php esc_html_e( 'Catch Sticky Menu', 'catch-sticky-menu' );?></h1>21 <h1 class="wp-heading-inline"><?php esc_html_e('Catch Sticky Menu', 'catch-sticky-menu'); ?></h1> 19 22 <div id="plugin-description"> 20 <p><?php esc_html_e( 'Lets you display Sticky Menu anywhere on your website elegantly.', 'catch-sticky-menu'); ?></p>23 <p><?php esc_html_e('Lets you display Sticky Menu anywhere on your website elegantly.', 'catch-sticky-menu'); ?></p> 21 24 </div> 22 25 <div class="catchp-content-wrapper"> … … 24 27 <form id="sticky-main" method="post" action="options.php"> 25 28 <h2 class="nav-tab-wrapper"> 26 <a class="nav-tab nav-tab-active" id="dashboard-tab" href="#dashboard"><?php esc_html_e( 'Dashboard', 'catch-sticky-menu'); ?></a>27 <a class="nav-tab" id="features-tab" href="#features"><?php esc_html_e( 'Features', 'catch-sticky-menu'); ?></a>29 <a class="nav-tab nav-tab-active" id="dashboard-tab" href="#dashboard"><?php esc_html_e('Dashboard', 'catch-sticky-menu'); ?></a> 30 <a class="nav-tab" id="features-tab" href="#features"><?php esc_html_e('Features', 'catch-sticky-menu'); ?></a> 28 31 29 32 </h2> 30 33 <div id="dashboard" class="wpcatchtab nosave active"> 31 <?php require_once plugin_dir_path( dirname( __FILE__ ) ) . 'partials/dashboard-display.php';?>32 <div id="ctp-switch" class="content-wrapper col-3 catch-sticky-menu-main">34 <?php require_once plugin_dir_path(dirname(__FILE__)) . 'partials/dashboard-display.php'; ?> 35 <div id="ctp-switch" class="content-wrapper col-3 catch-sticky-menu-main"> 33 36 <div class="header"> 34 <h2><?php esc_html_e( 'Catch Themes & Catch Plugins Tabs', 'catch-sticky-menu'); ?></h2>37 <h2><?php esc_html_e('Catch Themes & Catch Plugins Tabs', 'catch-sticky-menu'); ?></h2> 35 38 </div> <!-- .Header --> 36 39 37 40 <div class="content"> 38 41 39 <p><?php echo esc_html__( 'If you want to turn off Catch Themes & Catch Plugins tabs option in Add Themes and Add Plugins page, please uncheck the following option.', 'catch-sticky-menu'); ?>42 <p><?php echo esc_html__('If you want to turn off Catch Themes & Catch Plugins tabs option in Add Themes and Add Plugins page, please uncheck the following option.', 'catch-sticky-menu'); ?> 40 43 </p> 41 44 <table> 42 45 <tr> 43 46 <td> 44 <?php echo esc_html__( 'Turn On Catch Themes & Catch Plugin tabs', 'catch-sticky-menu'); ?>47 <?php echo esc_html__('Turn On Catch Themes & Catch Plugin tabs', 'catch-sticky-menu'); ?> 45 48 </td> 46 49 <td> … … 48 51 <div class="module-header <?php echo $ctp_options['theme_plugin_tabs'] ? 'active' : 'inactive'; ?>"> 49 52 <div class="switch"> 50 <input type="hidden" name="ctp_tabs_nonce" id="ctp_tabs_nonce" value="<?php echo esc_attr( wp_create_nonce( 'ctp_tabs_nonce' )); ?>" />51 <input type="checkbox" id="ctp_options[theme_plugin_tabs]" class="ctp-switch" rel="theme_plugin_tabs" <?php checked( true, $ctp_options['theme_plugin_tabs'] ); ?>>53 <input type="hidden" name="ctp_tabs_nonce" id="ctp_tabs_nonce" value="<?php echo esc_attr(wp_create_nonce('ctp_tabs_nonce')); ?>" /> 54 <input type="checkbox" id="ctp_options[theme_plugin_tabs]" class="ctp-switch" rel="theme_plugin_tabs" <?php checked(true, $ctp_options['theme_plugin_tabs']); ?>> 52 55 <label for="ctp_options[theme_plugin_tabs]"></label> 53 56 </div> … … 65 68 <div class="content-wrapper col-3"> 66 69 <div class="header"> 67 <h3><?php esc_html_e( 'Features', 'catch-sticky-menu' );?></h3>70 <h3><?php esc_html_e('Features', 'catch-sticky-menu'); ?></h3> 68 71 </div><!-- .header --> 69 72 <div class="content"> 70 73 <ul class="catchp-lists"> 71 <li>72 <strong><?php esc_html_e( 'Menu Selector', 'catch-sticky-menu'); ?></strong>73 <p><?php esc_html_e( 'Catch Sticky Menu empowers you with Menu Selector (for desktop and mobile). A basic knowledge of HTMl/CSS is required as you need to pick the right selector for the element you want to make sticky. You can pick which element of your website to make sticky from the Inspect Element option. You can select the sticky element for desktop and mobile menu selector, separately.', 'catch-sticky-menu'); ?></p>74 <li> 75 <strong><?php esc_html_e('Menu Selector', 'catch-sticky-menu'); ?></strong> 76 <p><?php esc_html_e('Catch Sticky Menu empowers you with Menu Selector (for desktop and mobile). A basic knowledge of HTMl/CSS is required as you need to pick the right selector for the element you want to make sticky. You can pick which element of your website to make sticky from the Inspect Element option. You can select the sticky element for desktop and mobile menu selector, separately.', 'catch-sticky-menu'); ?></p> 74 77 </li> 75 78 76 79 <li> 77 <strong><?php esc_html_e( 'Sticky Background Color', 'catch-sticky-menu'); ?></strong>78 <p><?php esc_html_e( 'Background colors play an important role when you’re trying to highlight something. Likewise, we’ve added the option to select the background color for your sticky menu. Select the background color from the unlimited color palette that best suits your website and its design to make your sticky menu stand out!', 'catch-sticky-menu'); ?></p>80 <strong><?php esc_html_e('Sticky Background Color', 'catch-sticky-menu'); ?></strong> 81 <p><?php esc_html_e('Background colors play an important role when you’re trying to highlight something. Likewise, we’ve added the option to select the background color for your sticky menu. Select the background color from the unlimited color palette that best suits your website and its design to make your sticky menu stand out!', 'catch-sticky-menu'); ?></p> 79 82 </li> 80 83 <li> 81 <strong><?php esc_html_e( 'Sticky Z Index', 'catch-sticky-menu'); ?></strong>82 <p><?php esc_html_e( 'Catch Sticky Menu supports Z Index option. You can add a sticky Z index easily if there are other elements on the page that hide or peek through your sticky element.', 'catch-sticky-menu'); ?></p>84 <strong><?php esc_html_e('Sticky Z Index', 'catch-sticky-menu'); ?></strong> 85 <p><?php esc_html_e('Catch Sticky Menu supports Z Index option. You can add a sticky Z index easily if there are other elements on the page that hide or peek through your sticky element.', 'catch-sticky-menu'); ?></p> 83 86 </li> 84 87 <li> 85 <strong><?php esc_html_e( 'Sticky Opacity', 'catch-sticky-menu'); ?></strong>86 <p><?php esc_html_e( 'With the Sticky Opacity option available in Catch Sticky Menu, you can select the opacity level of your sticky menu. The more you decrease the opacity level, the more faded your sticky menu will look. You can select the opacity as per your preference.', 'catch-sticky-menu'); ?></p>88 <strong><?php esc_html_e('Sticky Opacity', 'catch-sticky-menu'); ?></strong> 89 <p><?php esc_html_e('With the Sticky Opacity option available in Catch Sticky Menu, you can select the opacity level of your sticky menu. The more you decrease the opacity level, the more faded your sticky menu will look. You can select the opacity as per your preference.', 'catch-sticky-menu'); ?></p> 87 90 </li> 88 91 <li> 89 <strong><?php esc_html_e( 'Enable on Homepage only', 'catch-sticky-menu'); ?></strong>90 <p><?php esc_html_e( 'You can stick the menu either on the Homepage of your website only or on the entire website. Your sticky menu is enabled on the entire website by default. And if you want the sticky menu to be displayed only on the Homepage, checkmark the tiny box right next to the option.', 'catch-sticky-menu'); ?></p>92 <strong><?php esc_html_e('Enable on Homepage only', 'catch-sticky-menu'); ?></strong> 93 <p><?php esc_html_e('You can stick the menu either on the Homepage of your website only or on the entire website. Your sticky menu is enabled on the entire website by default. And if you want the sticky menu to be displayed only on the Homepage, checkmark the tiny box right next to the option.', 'catch-sticky-menu'); ?></p> 91 94 </li> 92 95 <li> 93 <strong><?php esc_html_e( 'Lightweight', 'catch-sticky-menu'); ?></strong>94 <p><?php esc_html_e( 'Catch Sticky Menu, a simple sticky menu plugin for WordPress is extremely lightweight. It means you will not have to worry about your website getting slower because of the plugin.', 'catch-sticky-menu'); ?></p>96 <strong><?php esc_html_e('Lightweight', 'catch-sticky-menu'); ?></strong> 97 <p><?php esc_html_e('Catch Sticky Menu, a simple sticky menu plugin for WordPress is extremely lightweight. It means you will not have to worry about your website getting slower because of the plugin.', 'catch-sticky-menu'); ?></p> 95 98 </li> 96 99 <li> 97 <strong><?php esc_html_e( 'Responsive Design', 'catch-sticky-menu'); ?></strong>98 <p><?php esc_html_e( 'Catch Sticky Menu, our new WordPress plugin for sticky menu comes with a responsive design, which means the sticky menu trails will look elegant on all devices.', 'catch-sticky-menu'); ?></p>100 <strong><?php esc_html_e('Responsive Design', 'catch-sticky-menu'); ?></strong> 101 <p><?php esc_html_e('Catch Sticky Menu, our new WordPress plugin for sticky menu comes with a responsive design, which means the sticky menu trails will look elegant on all devices.', 'catch-sticky-menu'); ?></p> 99 102 </li> 100 103 <li> 101 <strong><?php esc_html_e( 'Compatible with all WordPress Themes', 'catch-sticky-menu'); ?></strong>102 <p><?php esc_html_e( 'Catch Sticky menu has been crafted in a way that supports all the themes on WordPress. The plugin functions smoothly on any WordPress theme.', 'catch-sticky-menu'); ?></p>104 <strong><?php esc_html_e('Compatible with all WordPress Themes', 'catch-sticky-menu'); ?></strong> 105 <p><?php esc_html_e('Catch Sticky menu has been crafted in a way that supports all the themes on WordPress. The plugin functions smoothly on any WordPress theme.', 'catch-sticky-menu'); ?></p> 103 106 </li> 104 107 <li> 105 <strong><?php esc_html_e( 'Incredible Support', 'catch-sticky-menu'); ?></strong>106 <p><?php esc_html_e( 'We have a great line of support team and support documentation. You do not need to worry about how to use the plugins we provide, just refer to our Tech Support Forum. Further, if you need to do advanced customization to your website, you can always hire our customizer!', 'catch-sticky-menu'); ?></p>108 <strong><?php esc_html_e('Incredible Support', 'catch-sticky-menu'); ?></strong> 109 <p><?php esc_html_e('We have a great line of support team and support documentation. You do not need to worry about how to use the plugins we provide, just refer to our Tech Support Forum. Further, if you need to do advanced customization to your website, you can always hire our customizer!', 'catch-sticky-menu'); ?></p> 107 110 </li> 108 111 </ul> … … 113 116 </form><!-- sticky-main --> 114 117 </div><!-- .catchp_widget_settings --> 115 <?php require_once plugin_dir_path(dirname(__FILE__) ) .'/partials/sidebar.php';?>118 <?php require_once plugin_dir_path(dirname(__FILE__)) . '/partials/sidebar.php'; ?> 116 119 </div><!---catch-content-wrapper----> 117 <?php require_once plugin_dir_path( dirname( __FILE__ )) . '/partials/footer.php'; ?>120 <?php require_once plugin_dir_path(dirname(__FILE__)) . '/partials/footer.php'; ?> 118 121 </div><!-- .wrap --> -
catch-sticky-menu/trunk/admin/partials/dashboard-display.php
r2142849 r3468483 1 1 <?php 2 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 2 5 3 6 /** … … 17 20 <div class="content-wrapper"> 18 21 <div class="header"> 19 <h2><?php esc_html_e( 'Settings', 'catch-sticky-menu'); ?></h2>22 <h2><?php esc_html_e('Settings', 'catch-sticky-menu'); ?></h2> 20 23 </div> <!-- .Header --> 21 24 <div class="content"> 22 <?php if ( isset($_GET['settings-updated'])) { ?>23 <div id="message" class="notice updated fade">24 <p><strong><?php esc_html_e( 'Plugin Options Saved.', 'catch-sticky-menu') ?></strong></p>25 </div>25 <?php if (isset($_GET['settings-updated'])) { ?> 26 <div id="message" class="notice updated fade"> 27 <p><strong><?php esc_html_e('Plugin Options Saved.', 'catch-sticky-menu') ?></strong></p> 28 </div> 26 29 <?php } ?> 27 30 <?php // Use nonce for verification. 28 wp_nonce_field( basename( __FILE__ ), 'catch_sticky_menu_nounce');31 wp_nonce_field(basename(__FILE__), 'catch_sticky_menu_nounce'); 29 32 ?> 30 33 <div id="sticky_main"> 31 34 <form method="post" action="options.php"> 32 <?php settings_fields( 'catch-sticky-menu-group'); ?>35 <?php settings_fields('catch-sticky-menu-group'); ?> 33 36 <?php 34 $defaults = catch_sticky_menu_default_options();37 $defaults = catch_sticky_menu_default_options(); 35 38 $settings = catch_sticky_menu_get_options(); 36 39 ?> 37 40 <div class="option-container"> 38 <table class="form-table" bgcolor="white">41 <table class="form-table" bgcolor="white"> 39 42 <tbody> 40 43 <tr> 41 44 <th> 42 <label><?php esc_html_e( ' Desktop Menu Selector', 'catch-sticky-menu'); ?></label>45 <label><?php esc_html_e(' Desktop Menu Selector', 'catch-sticky-menu'); ?></label> 43 46 </th> 44 47 <td> 45 <input type="text" name="catch_sticky_menu_options[sticky_desktop_menu_selector]" id="sticky-desktop-menu-selector" class="sticky-desktop-menu-selector" value="<?php echo esc_attr($settings['sticky_desktop_menu_selector']); ?>"/>46 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e( 'Sticky Menu will be displayed just before this selector.', 'catch-sticky-menu'); ?>"></span>48 <input type="text" name="catch_sticky_menu_options[sticky_desktop_menu_selector]" id="sticky-desktop-menu-selector" class="sticky-desktop-menu-selector" value="<?php echo esc_attr($settings['sticky_desktop_menu_selector']); ?>" /> 49 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e('Sticky Menu will be displayed just before this selector.', 'catch-sticky-menu'); ?>"></span> 47 50 </td> 48 51 </tr> 49 52 50 53 <tr> 51 54 <th> 52 <label><?php esc_html_e( ' Mobile Menu Selector', 'catch-sticky-menu'); ?></label>55 <label><?php esc_html_e(' Mobile Menu Selector', 'catch-sticky-menu'); ?></label> 53 56 </th> 54 57 <td> 55 <input type="text" name="catch_sticky_menu_options[sticky_mobile_menu_selector]" id="sticky-mobile-menu-selector" class="sticky-mobile-menu-selector" value="<?php echo esc_attr($settings['sticky_mobile_menu_selector']); ?>"/>56 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e( 'Sticky Menu will be displayed just before this selector (in mobile).', 'catch-sticky-menu'); ?>"></span>58 <input type="text" name="catch_sticky_menu_options[sticky_mobile_menu_selector]" id="sticky-mobile-menu-selector" class="sticky-mobile-menu-selector" value="<?php echo esc_attr($settings['sticky_mobile_menu_selector']); ?>" /> 59 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e('Sticky Menu will be displayed just before this selector (in mobile).', 'catch-sticky-menu'); ?>"></span> 57 60 </td> 58 61 </tr> 59 60 62 63 64 <th> 65 <label><?php esc_html_e('Sticky Background Color', 'catch-sticky-menu'); ?></label> 66 </th> 67 <td> 68 <input type="text" name="catch_sticky_menu_options[sticky_background_color]" id="sticky-background-color" class="color-picker" data-alpha="true" value="<?php echo esc_attr($settings['sticky_background_color']); ?>" /> 69 </td> 70 </tr> 71 </tr> 72 73 74 <th> 75 <label><?php esc_html_e('Sticky Menu Text Color', 'catch-sticky-menu'); ?></label> 76 </th> 77 <td> 78 <input type="text" name="catch_sticky_menu_options[sticky_text_color]" id="sticky-text-color" class="color-picker" data-alpha="true" value="<?php echo esc_attr($settings['sticky_text_color']); ?>" /> 79 </td> 80 </tr> 81 82 83 <tr> 61 84 <th> 62 <label><?php esc_html_e( 'Sticky Background Color', 'catch-sticky-menu'); ?></label>85 <label><?php esc_html_e('Sticky Z index', 'catch-sticky-menu'); ?></label> 63 86 </th> 64 87 <td> 65 <input type="text" name="catch_sticky_menu_options[sticky_background_color]" id="sticky-background-color" class="color-picker" data-alpha="true" value="<?php echo esc_attr( $settings['sticky_background_color'] ); ?>"/> 66 </td> 67 </tr> 68 </tr> 69 70 71 <th> 72 <label><?php esc_html_e( 'Sticky Menu Text Color', 'catch-sticky-menu' ); ?></label> 73 </th> 74 <td> 75 <input type="text" name="catch_sticky_menu_options[sticky_text_color]" id="sticky-text-color" class="color-picker" data-alpha="true" value="<?php echo esc_attr( $settings['sticky_text_color'] ); ?>"/> 76 </td> 77 </tr> 78 79 80 <tr> 81 <th> 82 <label><?php esc_html_e( 'Sticky Z index', 'catch-sticky-menu' ); ?></label> 83 </th> 84 <td> 85 <input type="number"min="-100" max="2147483647" step="1" name="catch_sticky_menu_options[sticky_z_index]" id="sticky-z-index" class="color-z-index" data-alpha="true" value="<?php echo esc_attr( $settings['sticky_z_index'] ); ?>"/><span class="dashicons dashicons-info tooltip" title="<?php esc_html_e( 'Sticky z-index helps to set the stack order of the element. An element with greater stack order is always in front.', 'catch-sticky-menu' ); ?>"></span> 86 </td> 87 </tr> 88 <tr> 89 <th> 90 <label><?php esc_html_e( 'Sticky Opacity', 'catch-sticky-menu' ); ?></label> 91 </th> 92 <td> 93 <input type="number" min="0" max="1" step="0.1" name="catch_sticky_menu_options[sticky_opacity]" id="sticky-opacity" class="color-opacity" data-alpha="true" value="<?php echo esc_attr( $settings['sticky_opacity'] ); ?>"/><span class="dashicons dashicons-info tooltip" title="<?php esc_html_e( 'Sticky Opacity helps to set the transparency-level, 1 is not transparent at all where as 0 is completely transparent.', 'catch-sticky-menu' ); ?>"></span> 94 </td> 95 </tr> 96 <tr> 97 <th> 98 <label><?php esc_html_e( 'Desktop Font Size', 'catch-sticky-menu' ); ?></label> 99 </th> 100 <td> 101 <input type="number" name="catch_sticky_menu_options[sticky_desktop_font_size]" id="sticky-text-font-size" placeholder="12px" class="sticky-desktop-font-size numbers-only" value="<?php echo esc_attr( $settings['sticky_desktop_font_size'] ); ?>"/> 102 <span class="add-on"><?php esc_html_e( 'px', 'catch-sticky-menu' ); ?></span> 103 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e( 'Sets your desired font size to desktop menu text. Default is set to null, and takes theme\'s font size.', 'catch-sticky-menu' ); ?>"></span> 88 <input type="number" min="-100" max="2147483647" step="1" name="catch_sticky_menu_options[sticky_z_index]" id="sticky-z-index" class="color-z-index" data-alpha="true" value="<?php echo esc_attr($settings['sticky_z_index']); ?>" /><span class="dashicons dashicons-info tooltip" title="<?php esc_html_e('Sticky z-index helps to set the stack order of the element. An element with greater stack order is always in front.', 'catch-sticky-menu'); ?>"></span> 104 89 </td> 105 90 </tr> 106 91 <tr> 107 92 <th> 108 <label><?php esc_html_e( 'Mobile Font Size', 'catch-sticky-menu'); ?></label>93 <label><?php esc_html_e('Sticky Opacity', 'catch-sticky-menu'); ?></label> 109 94 </th> 110 95 <td> 111 <input type="number" name="catch_sticky_menu_options[sticky_mobile_font_size]" id="sticky-mobile-font-size" placeholder="1em" step="0.1" class="sticky-mobile-font-size numbers-only" value="<?php echo esc_attr( $settings['sticky_mobile_font_size'] ); ?>"/> 112 <span class="add-on"><?php esc_html_e( 'em', 'catch-sticky-menu' ); ?></span> 113 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e( 'Sets your desired font size to mobile menu text. Default is set to null, and takes theme\'s font size.', 'catch-sticky-menu' ); ?>"></span> 96 <input type="number" min="0" max="1" step="0.1" name="catch_sticky_menu_options[sticky_opacity]" id="sticky-opacity" class="color-opacity" data-alpha="true" value="<?php echo esc_attr($settings['sticky_opacity']); ?>" /><span class="dashicons dashicons-info tooltip" title="<?php esc_html_e('Sticky Opacity helps to set the transparency-level, 1 is not transparent at all where as 0 is completely transparent.', 'catch-sticky-menu'); ?>"></span> 114 97 </td> 115 98 </tr> 116 <tr> 117 <th scope="row"><?php _e( 'Enable Only On Home Page', 'catch-sticky-menu' ); ?></th> 99 <tr> 100 <th> 101 <label><?php esc_html_e('Desktop Font Size', 'catch-sticky-menu'); ?></label> 102 </th> 118 103 <td> 119 <?php $text = ( ! empty ( $settings['enable_only_on_home'] ) && $settings['enable_only_on_home'] ) ? 'checked' : ''; 120 echo '<input type="checkbox" ' . $text . ' name="catch_sticky_menu_options[enable_only_on_home]" value="1"/>' . esc_html__( 'Check to enable', 'catch-sticky-menu' ); 121 ?> 122 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e( 'Checking this option will display sticky menu on homepage/frontpage.', 'catch-sticky-menu' ); ?>"></span> 104 <input type="number" name="catch_sticky_menu_options[sticky_desktop_font_size]" id="sticky-text-font-size" placeholder="12px" class="sticky-desktop-font-size numbers-only" value="<?php echo esc_attr($settings['sticky_desktop_font_size']); ?>" /> 105 <span class="add-on"><?php esc_html_e('px', 'catch-sticky-menu'); ?></span> 106 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e('Sets your desired font size to desktop menu text. Default is set to null, and takes theme\'s font size.', 'catch-sticky-menu'); ?>"></span> 123 107 </td> 124 108 </tr> 125 126 127 109 <tr> 128 <th scope="row"><?php esc_html_e( 'Reset Options', 'catch-sticky-menu' ); ?></th> 129 <td> 130 <?php 131 echo '<input name="catch_sticky_menu_options[reset]" id="catch_sticky_menu_options[reset]" type="checkbox" value="1" class="catch_sticky_menu_options[reset]" />' . esc_html__( 'Check to reset', 'catch-sticky-menu' ); 132 ?> 133 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e( 'Caution: Reset all settings to default.', 'catch-sticky-menu' ); ?>"></span> 134 </td> 135 </tr> 110 <th> 111 <label><?php esc_html_e('Mobile Font Size', 'catch-sticky-menu'); ?></label> 112 </th> 113 <td> 114 <input type="number" name="catch_sticky_menu_options[sticky_mobile_font_size]" id="sticky-mobile-font-size" placeholder="1em" step="0.1" class="sticky-mobile-font-size numbers-only" value="<?php echo esc_attr($settings['sticky_mobile_font_size']); ?>" /> 115 <span class="add-on"><?php esc_html_e('em', 'catch-sticky-menu'); ?></span> 116 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e('Sets your desired font size to mobile menu text. Default is set to null, and takes theme\'s font size.', 'catch-sticky-menu'); ?>"></span> 117 </td> 118 </tr> 119 <tr> 120 <th scope="row"><?php esc_html_e('Enable Only On Home Page', 'catch-sticky-menu'); ?></th> 121 <td> 122 <?php $text = (! empty($settings['enable_only_on_home']) && $settings['enable_only_on_home']) ? 'checked' : ''; 123 echo '<input type="checkbox" ' . esc_attr($text) . ' name="catch_sticky_menu_options[enable_only_on_home]" value="1"/>' . esc_html__('Check to enable', 'catch-sticky-menu'); 124 ?> 125 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e('Checking this option will display sticky menu on homepage/frontpage.', 'catch-sticky-menu'); ?>"></span> 126 </td> 127 </tr> 128 129 130 <tr> 131 <th scope="row"><?php esc_html_e('Reset Options', 'catch-sticky-menu'); ?></th> 132 <td> 133 <?php 134 echo '<input name="catch_sticky_menu_options[reset]" id="catch_sticky_menu_options[reset]" type="checkbox" value="1" class="catch_sticky_menu_options[reset]" />' . esc_html__('Check to reset', 'catch-sticky-menu'); 135 ?> 136 <span class="dashicons dashicons-info tooltip" title="<?php esc_html_e('Caution: Reset all settings to default.', 'catch-sticky-menu'); ?>"></span> 137 </td> 138 </tr> 136 139 </tbody> 137 140 </table> 138 <?php submit_button( esc_html__( 'Save Changes', 'catch-sticky-menu' )); ?>141 <?php submit_button(esc_html__('Save Changes', 'catch-sticky-menu')); ?> 139 142 </div><!-- .option-container --> 140 143 </form> -
catch-sticky-menu/trunk/admin/partials/footer.php
r1976181 r3468483 1 <?php 2 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 5 6 ?> 1 7 <!-- Footer --> 2 8 <div class="catchp-footer"> 3 9 <div class="catchp-footer-site-info"> 4 <a href="<?php echo esc_url( 'https://catchplugins.com/' ); ?>" target="_blank"><?php esc_html_e( 'Catch Plugins', 'catch-sticky-menu'); ?></a>10 <a href="<?php echo esc_url('https://catchplugins.com/'); ?>" target="_blank"><?php esc_html_e('Catch Plugins', 'catch-sticky-menu'); ?></a> 5 11 </div> 6 12 7 13 <div class="catchp-footer-menu"> 8 14 <ul> 9 <li><a href="<?php echo esc_url( 'https://catchthemes.com/themes/category/premium/' ); ?>" target="_blank"><?php esc_html_e( 'View Themes', 'catch-sticky-menu'); ?></a></li>10 <li><a href="<?php echo esc_url( 'https://catchplugins.com/plugins/' ); ?>" target="_blank"><?php esc_html_e( 'View Plugins', 'catch-sticky-menu'); ?></a></li>11 <li><a href="<?php echo esc_url( 'https://catchplugins.com/support/' ); ?>" target="_blank"><?php esc_html_e( 'Support', 'catch-sticky-menu'); ?></a></li>15 <li><a href="<?php echo esc_url('https://catchthemes.com/themes/category/premium/'); ?>" target="_blank"><?php esc_html_e('View Themes', 'catch-sticky-menu'); ?></a></li> 16 <li><a href="<?php echo esc_url('https://catchplugins.com/plugins/'); ?>" target="_blank"><?php esc_html_e('View Plugins', 'catch-sticky-menu'); ?></a></li> 17 <li><a href="<?php echo esc_url('https://catchplugins.com/support/'); ?>" target="_blank"><?php esc_html_e('Support', 'catch-sticky-menu'); ?></a></li> 12 18 </ul> 13 19 </div> -
catch-sticky-menu/trunk/admin/partials/sidebar.php
r1976181 r3468483 1 <?php 2 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 5 6 ?> 1 7 <div class="catchp-widget-sidebar" id="sidebar-container"> 2 8 <div id="sidebar"> 3 <div class="catch-sidebar-title highlighted"><?php esc_html_e( 'Recommendations', 'catch-sticky-menu'); ?></div>4 9 <div class="catch-sidebar-title highlighted"><?php esc_html_e('Recommendations', 'catch-sticky-menu'); ?></div> 10 5 11 <div class="catchp-sidebar-spot-wrapper"> 6 12 <div class="catchp-sidebar-spot"> 7 13 <div class="sidebar-spot-inner"> 8 <h3><?php esc_html_e( 'Premium Themes', 'catch-sticky-menu'); ?></h3>9 <p><?php esc_html_e( 'Check out our simple, clean and responsive Premium WordPress Themes that come with an array of crucial features with a superior functionality.', 'catch-sticky-menu' ); ?> <a target="_blank" href="https://catchthemes.com/themes/category/premium/"><?php esc_html_e( 'Check our premium themes.', 'catch-sticky-menu'); ?></a></p>10 <a class="catch-banner-link" target="_blank" href="https://catchthemes.com/themes/category/premium/"><img class="catch-banner-image" src="<?php echo esc_url( plugins_url( 'images/premium-theme-246x175.jpg', dirname(__FILE__) ) ); ?>" alt="catch" width="246" height="175"></a>14 <h3><?php esc_html_e('Premium Themes', 'catch-sticky-menu'); ?></h3> 15 <p><?php esc_html_e('Check out our simple, clean and responsive Premium WordPress Themes that come with an array of crucial features with a superior functionality.', 'catch-sticky-menu'); ?> <a target="_blank" href="https://catchthemes.com/themes/category/premium/"><?php esc_html_e('Check our premium themes.', 'catch-sticky-menu'); ?></a></p> 16 <a class="catch-banner-link" target="_blank" href="https://catchthemes.com/themes/category/premium/"><img class="catch-banner-image" src="<?php echo esc_url(plugins_url('images/premium-theme-246x175.jpg', dirname(__FILE__))); ?>" alt="catch" width="246" height="175"></a> 11 17 </div> 12 18 </div> 13 19 <div class="catchp-sidebar-spot"> 14 20 <div class="sidebar-spot-inner"> 15 <h3><?php esc_html_e( 'Free Themes', 'catch-sticky-menu'); ?></h3>16 <p><?php esc_html_e( 'Check out our collection of Free WordPress Themes that are clean, simple and feature-rich.', 'catch-sticky-menu' ); ?> <a target="_blank" href="https://catchthemes.com/themes/category/free/"><?php esc_html_e( 'Check our free themes.', 'catch-sticky-menu'); ?></a></p>17 <a class="catch-banner-link" target="_blank" href="https://catchthemes.com/themes/category/free/"><img class="catch-banner-image" src="<?php echo esc_url( plugins_url( 'images/free-theme-246x175.jpg', dirname(__FILE__) ) ); ?>" alt="catch" width="246" height="175"></a>21 <h3><?php esc_html_e('Free Themes', 'catch-sticky-menu'); ?></h3> 22 <p><?php esc_html_e('Check out our collection of Free WordPress Themes that are clean, simple and feature-rich.', 'catch-sticky-menu'); ?> <a target="_blank" href="https://catchthemes.com/themes/category/free/"><?php esc_html_e('Check our free themes.', 'catch-sticky-menu'); ?></a></p> 23 <a class="catch-banner-link" target="_blank" href="https://catchthemes.com/themes/category/free/"><img class="catch-banner-image" src="<?php echo esc_url(plugins_url('images/free-theme-246x175.jpg', dirname(__FILE__))); ?>" alt="catch" width="246" height="175"></a> 18 24 </div> 19 25 </div> 20 26 <div class="catchp-sidebar-spot"> 21 27 <div class="sidebar-spot-inner"> 22 <h3><?php esc_html_e( 'Premium Plugins', 'catch-sticky-menu'); ?></h3>23 <p><?php esc_html_e( 'Check out our secured Premium WordPress Plugins to enhance and add extra functionalities to your website. An exceptional way to get the most out of WordPress!', 'catch-sticky-menu' ); ?> <a target="_blank" href="https://catchplugins.com/plugins/tag/pro/"><?php esc_html_e( 'Check our premium plugins.', 'catch-sticky-menu'); ?></a></p>28 <h3><?php esc_html_e('Premium Plugins', 'catch-sticky-menu'); ?></h3> 29 <p><?php esc_html_e('Check out our secured Premium WordPress Plugins to enhance and add extra functionalities to your website. An exceptional way to get the most out of WordPress!', 'catch-sticky-menu'); ?> <a target="_blank" href="https://catchplugins.com/plugins/tag/pro/"><?php esc_html_e('Check our premium plugins.', 'catch-sticky-menu'); ?></a></p> 24 30 <a class="catch-banner-link" target="_blank" href="https://catchplugins.com/plugins/tag/pro/"> 25 <img class="catch-banner-image" src="<?php echo esc_url( plugins_url( 'images/premium-plugin-246x116.png', dirname(__FILE__) ) ); ?>" alt="catch" width="246" height="116"></a>31 <img class="catch-banner-image" src="<?php echo esc_url(plugins_url('images/premium-plugin-246x116.png', dirname(__FILE__))); ?>" alt="catch" width="246" height="116"></a> 26 32 </div> 27 33 </div> … … 29 35 <div class="catchp-sidebar-spot"> 30 36 <div class="sidebar-spot-inner"> 31 <h3><?php esc_html_e( 'Free Plugins', 'catch-sticky-menu' ); ?></h3> 32 <p><?php esc_html_e( 'Check out our Free WordPress Plugins and get the taste of our service without affecting your wallet.', 'catch-sticky-menu' ); ?> 33 <a target="_blank" href="https://catchplugins.com/plugins/tag/free/"><?php esc_html_e( 'check our free plugins.', 'catch-sticky-menu' ); ?></a></p> 37 <h3><?php esc_html_e('Free Plugins', 'catch-sticky-menu'); ?></h3> 38 <p><?php esc_html_e('Check out our Free WordPress Plugins and get the taste of our service without affecting your wallet.', 'catch-sticky-menu'); ?> 39 <a target="_blank" href="https://catchplugins.com/plugins/tag/free/"><?php esc_html_e('check our free plugins.', 'catch-sticky-menu'); ?></a> 40 </p> 34 41 <a class="catch-banner-link" target="_blank" href="https://catchplugins.com/plugins/tag/free/"> 35 <img class="catch-banner-image" src="<?php echo esc_url( plugins_url( 'images/free-plugin-246x116.png', dirname(__FILE__) ) ); ?>" alt="catch" width="246" height="116"></a>42 <img class="catch-banner-image" src="<?php echo esc_url(plugins_url('images/free-plugin-246x116.png', dirname(__FILE__))); ?>" alt="catch" width="246" height="116"></a> 36 43 </div> 37 44 </div> -
catch-sticky-menu/trunk/catch-sticky-menu.php
r3292536 r3468483 15 15 * @wordpress-plugin 16 16 * Plugin Name: Catch Sticky Menu 17 * Plugin URI: catchplugins.com/plugins/catch-sticky-menu17 * Plugin URI: https://catchplugins.com/plugins/catch-sticky-menu 18 18 * Description: Catch Sticky Menu is a lightweight, simple yet feature-rich free WordPress plugin for sticky menu that allows you to lock the menu (or any other element) on your website. Prevent your menu from disappearing when users scroll down the page! 19 * Version: 1. 7.519 * Version: 1.8 20 20 * Author: Catch Plugins 21 * Author URI: catchplugins.com21 * Author URI: https://catchplugins.com 22 22 * License: GPL-2.0+ 23 23 * License URI: http://www.gnu.org/licenses/gpl-2.0.txt … … 27 27 28 28 // If this file is called directly, abort. 29 if ( ! defined( 'WPINC' )) {29 if (! defined('WPINC')) { 30 30 die; 31 31 } … … 36 36 * Rename this for your plugin and update it as you release new versions. 37 37 */ 38 define( 'CATCH_STICKY_MENU_VERSION', '1.7.5' ); 38 if ( ! defined( 'CATCH_STICKY_MENU_VERSION' ) ) { 39 define( 'CATCH_STICKY_MENU_VERSION', '1.8' ); 40 } 39 41 40 42 /** … … 43 45 */ 44 46 // The URL of the directory that contains the plugin 45 if ( ! defined( 'CATCH_STICKY_MENU_URL' )) {46 define( 'CATCH_STICKY_MENU_URL', plugin_dir_url( __FILE__ ));47 if (! defined('CATCH_STICKY_MENU_URL')) { 48 define('CATCH_STICKY_MENU_URL', plugin_dir_url(__FILE__)); 47 49 } 48 50 49 51 50 52 // The absolute path of the directory that contains the file 51 if ( ! defined( 'CATCH_STICKY_MENU_PATH' )) {52 define( 'CATCH_STICKY_MENU_PATH', plugin_dir_path( __FILE__ ));53 if (! defined('CATCH_STICKY_MENU_PATH')) { 54 define('CATCH_STICKY_MENU_PATH', plugin_dir_path(__FILE__)); 53 55 } 54 56 55 57 56 58 // Gets the path to a plugin file or directory, relative to the plugins directory, without the leading and trailing slashes. 57 if ( ! defined( 'CATCH_STICKY_MENU_BASENAME' )) {58 define( 'CATCH_STICKY_MENU_BASENAME', plugin_basename( __FILE__ ));59 if (! defined('CATCH_STICKY_MENU_BASENAME')) { 60 define('CATCH_STICKY_MENU_BASENAME', plugin_basename(__FILE__)); 59 61 } 60 62 61 function activate_catch_sticky_menu() { 62 require_once plugin_dir_path( __FILE__ ) . 'includes/class-catch-sticky-menu-activator.php'; 63 function activate_catch_sticky_menu() 64 { 65 require_once plugin_dir_path(__FILE__) . 'includes/class-catch-sticky-menu-activator.php'; 63 66 Catch_Sticky_Menu_Activator::activate(); 64 67 } … … 68 71 * This action is documented in includes/class-catch-sticky-menu-deactivator.php 69 72 */ 70 function deactivate_catch_sticky_menu() { 71 require_once plugin_dir_path( __FILE__ ) . 'includes/class-catch-sticky-menu-deactivator.php'; 73 function deactivate_catch_sticky_menu() 74 { 75 require_once plugin_dir_path(__FILE__) . 'includes/class-catch-sticky-menu-deactivator.php'; 72 76 Catch_Sticky_Menu_Deactivator::deactivate(); 73 77 } 74 78 75 register_activation_hook( __FILE__, 'activate_catch_sticky_menu');76 register_deactivation_hook( __FILE__, 'deactivate_catch_sticky_menu');79 register_activation_hook(__FILE__, 'activate_catch_sticky_menu'); 80 register_deactivation_hook(__FILE__, 'deactivate_catch_sticky_menu'); 77 81 78 82 /** … … 80 84 * admin-specific hooks, and public-facing site hooks. 81 85 */ 82 require plugin_dir_path( __FILE__) . 'includes/class-catch-sticky-menu.php';86 require plugin_dir_path(__FILE__) . 'includes/class-catch-sticky-menu.php'; 83 87 84 88 /** … … 91 95 * @since 1.0.0 92 96 */ 93 function sticky_menu_sanitize_checkbox( $checked ) { 97 function sticky_menu_sanitize_checkbox($checked) 98 { 94 99 // Boolean check. 95 return ( ( isset( $checked ) && true == $checked ) ? true : false);100 return ((isset($checked) && true == $checked) ? true : false); 96 101 } 97 102 98 if ( ! function_exists( 'catch_sticky_menu_get_options' ) ) : 99 function catch_sticky_menu_get_options() { 103 if (! function_exists('catch_sticky_menu_get_options')) : 104 function catch_sticky_menu_get_options() 105 { 100 106 $defaults = catch_sticky_menu_default_options(); 101 $options = get_option( 'catch_sticky_menu_options', $defaults);102 return wp_parse_args( $options, $defaults);107 $options = get_option('catch_sticky_menu_options', $defaults); 108 return wp_parse_args($options, $defaults); 103 109 } 104 110 endif; 105 111 106 112 107 if ( ! function_exists( 'catch_sticky_menu_default_options' )) :113 if (! function_exists('catch_sticky_menu_default_options')) : 108 114 /** 109 115 * Return array of default options … … 112 118 * @return array default options. 113 119 */ 114 function catch_sticky_menu_default_options( $option = null ) { 120 function catch_sticky_menu_default_options($option = null) 121 { 115 122 $default_options = array( 116 123 'sticky_desktop_menu_selector' => '#primary-menu', … … 125 132 ); 126 133 127 if ( current_theme_supports( 'catch-sticky-menu' )) {128 $catch_sticky_menu_support = get_theme_support( 'catch-sticky-menu');134 if (current_theme_supports('catch-sticky-menu')) { 135 $catch_sticky_menu_support = get_theme_support('catch-sticky-menu'); 129 136 130 $default_options['sticky_desktop_menu_selector'] = isset( $catch_sticky_menu_support[0]['sticky_desktop_menu_selector'] ) ? $catch_sticky_menu_support[0]['sticky_desktop_menu_selector'] : ''; 131 $default_options['sticky_mobile_menu_selector'] = isset( $catch_sticky_menu_support[0]['sticky_mobile_menu_selector'] ) ? $catch_sticky_menu_support[0]['sticky_mobile_menu_selector'] : ''; 132 $default_options['sticky_background_color'] = isset( $catch_sticky_menu_support[0]['sticky_background_color'] ) ? $catch_sticky_menu_support[0]['sticky_background_color'] : ''; 133 $default_options['sticky_text_color'] = isset( $catch_sticky_menu_support[0]['sticky_text_color'] ) ? $catch_sticky_menu_support[0]['sticky_text_color'] : ''; 134 137 $default_options['sticky_desktop_menu_selector'] = isset($catch_sticky_menu_support[0]['sticky_desktop_menu_selector']) ? $catch_sticky_menu_support[0]['sticky_desktop_menu_selector'] : ''; 138 $default_options['sticky_mobile_menu_selector'] = isset($catch_sticky_menu_support[0]['sticky_mobile_menu_selector']) ? $catch_sticky_menu_support[0]['sticky_mobile_menu_selector'] : ''; 139 $default_options['sticky_background_color'] = isset($catch_sticky_menu_support[0]['sticky_background_color']) ? $catch_sticky_menu_support[0]['sticky_background_color'] : ''; 140 $default_options['sticky_text_color'] = isset($catch_sticky_menu_support[0]['sticky_text_color']) ? $catch_sticky_menu_support[0]['sticky_text_color'] : ''; 135 141 } 136 142 137 if ( null == $option) {138 return apply_filters( 'catch_sticky_menu_options', $default_options);143 if (null == $option) { 144 return apply_filters('catch_sticky_menu_options', $default_options); 139 145 } else { 140 return $default_options[ $option];146 return $default_options[$option]; 141 147 } 142 148 } 143 149 endif; // sticky_menu_default_options 144 150 145 function run_catch_sticky_menu() { 151 function run_catch_sticky_menu() 152 { 146 153 147 154 $plugin = new Catch_Sticky_Menu(); 148 155 $plugin->run(); 149 150 156 } 151 157 run_catch_sticky_menu(); 152 158 /* CTP tabs removal options */ 153 require plugin_dir_path( __FILE__) . '/includes/ctp-tabs-removal.php';159 require plugin_dir_path(__FILE__) . '/includes/ctp-tabs-removal.php'; 154 160 155 $ctp_options = ctp_get_options();156 if ( 1 == $ctp_options['theme_plugin_tabs']) {161 $ctp_options = ctp_get_options(); 162 if (1 == $ctp_options['theme_plugin_tabs']) { 157 163 /* Adds Catch Themes tab in Add theme page and Themes by Catch Themes in Customizer's change theme option. */ 158 if ( ! class_exists( 'CatchThemesThemePlugin' ) && ! function_exists( 'add_our_plugins_tab' )) {159 require plugin_dir_path( __FILE__) . '/includes/CatchThemesThemePlugin.php';164 if (! class_exists('CatchThemesThemePlugin') && ! function_exists('add_our_plugins_tab')) { 165 require plugin_dir_path(__FILE__) . '/includes/CatchThemesThemePlugin.php'; 160 166 } 161 167 } -
catch-sticky-menu/trunk/includes/CatchThemesThemePlugin.php
r2489093 r3468483 1 1 <?php 2 2 3 class CatchThemesThemePlugin { 4 public function __construct() { 5 remove_action( 'wp_ajax_query-themes', array( $this, 'wp_ajax_query_themes' ), 1 ); 6 add_action( 'wp_ajax_query-themes', array( $this, 'wp_ajax_custom_query_themes' ), 1 ); 7 8 add_action( 'admin_enqueue_scripts', array( $this, 'our_themes_script' ) ); 9 10 if ( ! is_multisite() ) { 11 add_action( 'customize_register', array( $this, 'customize_register' ) ); 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 5 6 class CatchThemesThemePlugin 7 { 8 public function __construct() 9 { 10 remove_action('wp_ajax_query-themes', array($this, 'wp_ajax_query_themes'), 1); 11 add_action('wp_ajax_query-themes', array($this, 'wp_ajax_custom_query_themes'), 1); 12 13 add_action('admin_enqueue_scripts', array($this, 'our_themes_script')); 14 15 if (! is_multisite()) { 16 add_action('customize_register', array($this, 'customize_register')); 12 17 } 13 18 14 19 global $wp_customize; 15 remove_action( 'wp_ajax_customize_load_themes', array( $wp_customize, 'handle_load_themes_request' ));16 add_action( 'wp_ajax_customize_load_themes', array( $this, 'handle_load_themes_request' ));17 18 add_filter( 'install_plugins_tabs', array( $this, 'add_our_plugins_tab' ), 1);19 add_filter( 'install_plugins_table_api_args_catchplugins', array( $this, 'catchplugins' ), 1);20 add_action( 'install_plugins_catchplugins', array( $this, 'plugins_table' ));20 remove_action('wp_ajax_customize_load_themes', array($wp_customize, 'handle_load_themes_request')); 21 add_action('wp_ajax_customize_load_themes', array($this, 'handle_load_themes_request')); 22 23 add_filter('install_plugins_tabs', array($this, 'add_our_plugins_tab'), 1); 24 add_filter('install_plugins_table_api_args_catchplugins', array($this, 'catchplugins'), 1); 25 add_action('install_plugins_catchplugins', array($this, 'plugins_table')); 21 26 } 22 27 … … 30 35 * @global array $theme_field_defaults 31 36 */ 32 public function wp_ajax_custom_query_themes() { 37 public function wp_ajax_custom_query_themes() 38 { 33 39 global $themes_allowedtags, $theme_field_defaults; 34 40 35 if ( ! current_user_can( 'install_themes' )) {41 if (! current_user_can('install_themes')) { 36 42 wp_send_json_error(); 37 43 } 38 44 39 45 $args = wp_parse_args( 40 wp_unslash( $_REQUEST['request']),46 wp_unslash($_REQUEST['request']), 41 47 array( 42 48 'per_page' => 20, … … 50 56 ); 51 57 52 if ( isset( $args['browse'] ) && 'catchthemes' === $args['browse'] && ! isset( $args['user'] )) {58 if (isset($args['browse']) && 'catchthemes' === $args['browse'] && ! isset($args['user'])) { 53 59 $args['author'] = 'catchthemes'; 54 unset( $args['browse']);55 } 56 57 if ( isset( $args['browse'] ) && 'favorites' === $args['browse'] && ! isset( $args['user'] )) {58 $user = get_user_option( 'wporg_favorites');59 if ( $user) {60 unset($args['browse']); 61 } 62 63 if (isset($args['browse']) && 'favorites' === $args['browse'] && ! isset($args['user'])) { 64 $user = get_user_option('wporg_favorites'); 65 if ($user) { 60 66 $args['user'] = $user; 61 67 } 62 68 } 63 69 64 $old_filter = isset( $args['browse']) ? $args['browse'] : 'search';70 $old_filter = isset($args['browse']) ? $args['browse'] : 'search'; 65 71 66 72 /** This filter is documented in wp-admin/includes/class-wp-theme-install-list-table.php */ 67 $args = apply_filters( 'install_themes_table_api_args_' . $old_filter, $args);68 69 $api = themes_api( 'query_themes', $args);70 71 if ( is_wp_error( $api )) {73 $args = apply_filters('install_themes_table_api_args_' . $old_filter, $args); 74 75 $api = themes_api('query_themes', $args); 76 77 if (is_wp_error($api)) { 72 78 wp_send_json_error(); 73 79 } 74 80 75 $update_php = network_admin_url( 'update.php?action=install-theme');76 foreach ( $api->themes as &$theme) {81 $update_php = network_admin_url('update.php?action=install-theme'); 82 foreach ($api->themes as &$theme) { 77 83 $theme->install_url = add_query_arg( 78 84 array( 79 85 'theme' => $theme->slug, 80 '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug),86 '_wpnonce' => wp_create_nonce('install-theme_' . $theme->slug), 81 87 ), 82 88 $update_php 83 89 ); 84 90 85 if ( current_user_can( 'switch_themes' )) {86 if ( is_multisite()) {91 if (current_user_can('switch_themes')) { 92 if (is_multisite()) { 87 93 $theme->activate_url = add_query_arg( 88 94 array( 89 95 'action' => 'enable', 90 '_wpnonce' => wp_create_nonce( 'enable-theme_' . $theme->slug),96 '_wpnonce' => wp_create_nonce('enable-theme_' . $theme->slug), 91 97 'theme' => $theme->slug, 92 98 ), 93 network_admin_url( 'themes.php')99 network_admin_url('themes.php') 94 100 ); 95 101 } else { … … 97 103 array( 98 104 'action' => 'activate', 99 '_wpnonce' => wp_create_nonce( 'switch-theme_' . $theme->slug),105 '_wpnonce' => wp_create_nonce('switch-theme_' . $theme->slug), 100 106 'stylesheet' => $theme->slug, 101 107 ), 102 admin_url( 'themes.php')108 admin_url('themes.php') 103 109 ); 104 110 } 105 111 } 106 112 107 if ( ! is_multisite() && current_user_can( 'edit_theme_options' ) && current_user_can( 'customize' )) {113 if (! is_multisite() && current_user_can('edit_theme_options') && current_user_can('customize')) { 108 114 $theme->customize_url = add_query_arg( 109 115 array( 110 'return' => urlencode( network_admin_url( 'theme-install.php', 'relative' )),116 'return' => urlencode(network_admin_url('theme-install.php', 'relative')), 111 117 ), 112 wp_customize_url( $theme->slug)118 wp_customize_url($theme->slug) 113 119 ); 114 120 } 115 121 116 $theme->name = wp_kses( $theme->name, $themes_allowedtags);117 $theme->author = wp_kses( $theme->author['display_name'], $themes_allowedtags);118 $theme->version = wp_kses( $theme->version, $themes_allowedtags);119 $theme->description = wp_kses( $theme->description, $themes_allowedtags);122 $theme->name = wp_kses($theme->name, $themes_allowedtags); 123 $theme->author = wp_kses($theme->author['display_name'], $themes_allowedtags); 124 $theme->version = wp_kses($theme->version, $themes_allowedtags); 125 $theme->description = wp_kses($theme->description, $themes_allowedtags); 120 126 121 127 $theme->stars = wp_star_rating( … … 128 134 ); 129 135 130 $theme->num_ratings = number_format_i18n( $theme->num_ratings);131 $theme->preview_url = set_url_scheme( $theme->preview_url);132 $theme->compatible_wp = is_wp_version_compatible( $theme->requires);133 $theme->compatible_php = is_php_version_compatible( $theme->requires_php);134 135 } 136 137 wp_send_json_success( $api );138 } 139 140 public function our_themes_script( $hook_suffix ){141 142 if ( 'theme-install.php' === $hook_suffix) {143 wp_enqueue_script( 'our-themes-script', plugin_dir_url( __FILE__ ) . '../js/our-themes.js', array( 'jquery' ), '2018-05-16');136 $theme->num_ratings = number_format_i18n($theme->num_ratings); 137 $theme->preview_url = set_url_scheme($theme->preview_url); 138 $theme->compatible_wp = is_wp_version_compatible($theme->requires); 139 $theme->compatible_php = is_php_version_compatible($theme->requires_php); 140 } 141 142 wp_send_json_success($api); 143 } 144 145 public function our_themes_script($hook_suffix) 146 { 147 148 if ('theme-install.php' === $hook_suffix) { 149 wp_enqueue_script('our-themes-script', plugin_dir_url(__FILE__) . '../admin/js/our-themes.js', array('jquery'), '2018-05-16'); 144 150 } 145 151 } 146 152 147 153 /* Add Catch Themes Section in Theme in Customizer */ 148 public function customize_register( $wp_customize ) { 154 public function customize_register($wp_customize) 155 { 149 156 $wp_customize->add_section( 150 157 new WP_Customize_Themes_Section( … … 152 159 'catchthemes', 153 160 array( 154 'title' => __( 'Themes by CatchThemes', 'catch-themes-demo-import'),161 'title' => __('Themes by CatchThemes', 'catch-sticky-menu'), 155 162 'action' => 'catchthemes', 156 163 'capability' => 'install_themes', … … 170 177 * @since 4.9.0 171 178 */ 172 public function handle_load_themes_request() { 173 check_ajax_referer( 'switch_themes', 'nonce' ); 174 if ( ! current_user_can( 'switch_themes' ) ) { 175 wp_die( -1 ); 176 } 177 178 if ( empty( $_POST['theme_action'] ) ) { 179 wp_send_json_error( 'missing_theme_action' ); 180 } 181 $theme_action = sanitize_key( $_POST['theme_action'] ); 179 public function handle_load_themes_request() 180 { 181 check_ajax_referer('switch_themes', 'nonce'); 182 if (! current_user_can('switch_themes')) { 183 wp_die(-1); 184 } 185 186 if (empty($_POST['theme_action'])) { 187 wp_send_json_error('missing_theme_action'); 188 } 189 $theme_action = sanitize_key($_POST['theme_action']); 182 190 $themes = array(); 183 191 $args = array(); 184 192 185 193 // Define query filters based on user input. 186 if ( ! array_key_exists( 'search', $_POST )) {194 if (! array_key_exists('search', $_POST)) { 187 195 $args['search'] = ''; 188 196 } else { 189 $args['search'] = sanitize_text_field( wp_unslash( $_POST['search'] ));190 } 191 192 if ( ! array_key_exists( 'tags', $_POST )) {197 $args['search'] = sanitize_text_field(wp_unslash($_POST['search'])); 198 } 199 200 if (! array_key_exists('tags', $_POST)) { 193 201 $args['tag'] = ''; 194 202 } else { 195 $args['tag'] = array_map( 'sanitize_text_field', wp_unslash( (array) $_POST['tags'] ));196 } 197 198 if ( ! array_key_exists( 'page', $_POST )) {203 $args['tag'] = array_map('sanitize_text_field', wp_unslash((array) $_POST['tags'])); 204 } 205 206 if (! array_key_exists('page', $_POST)) { 199 207 $args['page'] = 1; 200 208 } else { 201 $args['page'] = absint( $_POST['page']);209 $args['page'] = absint($_POST['page']); 202 210 } 203 211 204 212 require_once ABSPATH . 'wp-admin/includes/theme.php'; 205 213 206 if ( 'installed' === $theme_action) {214 if ('installed' === $theme_action) { 207 215 208 216 // Load all installed themes from wp_prepare_themes_for_js(). 209 $themes = array( 'themes' => wp_prepare_themes_for_js());210 foreach ( $themes['themes'] as &$theme) {217 $themes = array('themes' => wp_prepare_themes_for_js()); 218 foreach ($themes['themes'] as &$theme) { 211 219 $theme['type'] = 'installed'; 212 $theme['active'] = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme['id']);213 } 214 } elseif ( 'catchthemes' === $theme_action) {220 $theme['active'] = (isset($_POST['customized_theme']) && $_POST['customized_theme'] === $theme['id']); 221 } 222 } elseif ('catchthemes' === $theme_action) { 215 223 216 224 // Load WordPress.org themes from the .org API and normalize data to match installed theme objects. 217 if ( ! current_user_can( 'install_themes' )) {218 wp_die( -1);225 if (! current_user_can('install_themes')) { 226 wp_die(-1); 219 227 } 220 228 … … 227 235 ); 228 236 229 $args = array_merge( $wporg_args, $args);230 231 if ( '' === $args['search'] && '' === $args['tag']) {237 $args = array_merge($wporg_args, $args); 238 239 if ('' === $args['search'] && '' === $args['tag']) { 232 240 $args['browse'] = 'new'; // Sort by latest themes by default. 233 241 } … … 236 244 237 245 // Load themes from the .org API. 238 $themes = themes_api( 'query_themes', $args);239 if ( is_wp_error( $themes )) {246 $themes = themes_api('query_themes', $args); 247 if (is_wp_error($themes)) { 240 248 wp_send_json_error(); 241 249 } … … 243 251 // This list matches the allowed tags in wp-admin/includes/theme-install.php. 244 252 $themes_allowedtags = array_fill_keys( 245 array( 'a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img'),253 array('a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img'), 246 254 array() 247 255 ); 248 $themes_allowedtags['a'] = array_fill_keys( array( 'href', 'title', 'target' ), true);256 $themes_allowedtags['a'] = array_fill_keys(array('href', 'title', 'target'), true); 249 257 $themes_allowedtags['acronym']['title'] = true; 250 258 $themes_allowedtags['abbr']['title'] = true; 251 $themes_allowedtags['img'] = array_fill_keys( array( 'src', 'class', 'alt' ), true);259 $themes_allowedtags['img'] = array_fill_keys(array('src', 'class', 'alt'), true); 252 260 253 261 // Prepare a list of installed themes to check against before the loop. 254 262 $installed_themes = array(); 255 263 $wp_themes = wp_get_themes(); 256 foreach ( $wp_themes as $theme) {264 foreach ($wp_themes as $theme) { 257 265 $installed_themes[] = $theme->get_stylesheet(); 258 266 } 259 $update_php = network_admin_url( 'update.php?action=install-theme');267 $update_php = network_admin_url('update.php?action=install-theme'); 260 268 261 269 // Set up properties for themes available on WordPress.org. 262 foreach ( $themes->themes as &$theme) {270 foreach ($themes->themes as &$theme) { 263 271 $theme->install_url = add_query_arg( 264 272 array( 265 273 'theme' => $theme->slug, 266 '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug),274 '_wpnonce' => wp_create_nonce('install-theme_' . $theme->slug), 267 275 ), 268 276 $update_php 269 277 ); 270 278 271 $theme->name = wp_kses( $theme->name, $themes_allowedtags);272 $theme->version = wp_kses( $theme->version, $themes_allowedtags);273 $theme->description = wp_kses( $theme->description, $themes_allowedtags);279 $theme->name = wp_kses($theme->name, $themes_allowedtags); 280 $theme->version = wp_kses($theme->version, $themes_allowedtags); 281 $theme->description = wp_kses($theme->description, $themes_allowedtags); 274 282 $theme->stars = wp_star_rating( 275 283 array( … … 280 288 ) 281 289 ); 282 $theme->num_ratings = number_format_i18n( $theme->num_ratings);283 $theme->preview_url = set_url_scheme( $theme->preview_url);290 $theme->num_ratings = number_format_i18n($theme->num_ratings); 291 $theme->preview_url = set_url_scheme($theme->preview_url); 284 292 285 293 // Handle themes that are already installed as installed themes. 286 if ( in_array( $theme->slug, $installed_themes, true )) {294 if (in_array($theme->slug, $installed_themes, true)) { 287 295 $theme->type = 'installed'; 288 296 } else { … … 291 299 292 300 // Set active based on customized theme. 293 $theme->active = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme->slug);301 $theme->active = (isset($_POST['customized_theme']) && $_POST['customized_theme'] === $theme->slug); 294 302 295 303 // Map available theme properties to installed theme properties. 296 304 $theme->id = $theme->slug; 297 $theme->screenshot = array( $theme->screenshot_url);298 $theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags);299 $theme->compatibleWP = is_wp_version_compatible( $theme->requires); // phpcs:ignore WordPress.NamingConventions.ValidVariableName300 $theme->compatiblePHP = is_php_version_compatible( $theme->requires_php); // phpcs:ignore WordPress.NamingConventions.ValidVariableName301 302 if ( isset( $theme->parent )) {305 $theme->screenshot = array($theme->screenshot_url); 306 $theme->authorAndUri = wp_kses($theme->author['display_name'], $themes_allowedtags); 307 $theme->compatibleWP = is_wp_version_compatible($theme->requires); // phpcs:ignore WordPress.NamingConventions.ValidVariableName 308 $theme->compatiblePHP = is_php_version_compatible($theme->requires_php); // phpcs:ignore WordPress.NamingConventions.ValidVariableName 309 310 if (isset($theme->parent)) { 303 311 $theme->parent = $theme->parent['slug']; 304 312 } else { 305 313 $theme->parent = false; 306 314 } 307 unset( $theme->slug);308 unset( $theme->screenshot_url);309 unset( $theme->author);315 unset($theme->slug); 316 unset($theme->screenshot_url); 317 unset($theme->author); 310 318 } // End foreach(). 311 } elseif ( 'wporg' === $theme_action) {319 } elseif ('wporg' === $theme_action) { 312 320 313 321 // Load WordPress.org themes from the .org API and normalize data to match installed theme objects. 314 if ( ! current_user_can( 'install_themes' )) {315 wp_die( -1);322 if (! current_user_can('install_themes')) { 323 wp_die(-1); 316 324 } 317 325 … … 324 332 ); 325 333 326 $args = array_merge( $wporg_args, $args);327 328 if ( '' === $args['search'] && '' === $args['tag']) {334 $args = array_merge($wporg_args, $args); 335 336 if ('' === $args['search'] && '' === $args['tag']) { 329 337 $args['browse'] = 'new'; // Sort by latest themes by default. 330 338 } 331 339 332 340 // Load themes from the .org API. 333 $themes = themes_api( 'query_themes', $args);334 if ( is_wp_error( $themes )) {341 $themes = themes_api('query_themes', $args); 342 if (is_wp_error($themes)) { 335 343 wp_send_json_error(); 336 344 } … … 338 346 // This list matches the allowed tags in wp-admin/includes/theme-install.php. 339 347 $themes_allowedtags = array_fill_keys( 340 array( 'a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img'),348 array('a', 'abbr', 'acronym', 'code', 'pre', 'em', 'strong', 'div', 'p', 'ul', 'ol', 'li', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'img'), 341 349 array() 342 350 ); 343 $themes_allowedtags['a'] = array_fill_keys( array( 'href', 'title', 'target' ), true);351 $themes_allowedtags['a'] = array_fill_keys(array('href', 'title', 'target'), true); 344 352 $themes_allowedtags['acronym']['title'] = true; 345 353 $themes_allowedtags['abbr']['title'] = true; 346 $themes_allowedtags['img'] = array_fill_keys( array( 'src', 'class', 'alt' ), true);354 $themes_allowedtags['img'] = array_fill_keys(array('src', 'class', 'alt'), true); 347 355 348 356 // Prepare a list of installed themes to check against before the loop. 349 357 $installed_themes = array(); 350 358 $wp_themes = wp_get_themes(); 351 foreach ( $wp_themes as $theme) {359 foreach ($wp_themes as $theme) { 352 360 $installed_themes[] = $theme->get_stylesheet(); 353 361 } 354 $update_php = network_admin_url( 'update.php?action=install-theme');362 $update_php = network_admin_url('update.php?action=install-theme'); 355 363 356 364 // Set up properties for themes available on WordPress.org. 357 foreach ( $themes->themes as &$theme) {365 foreach ($themes->themes as &$theme) { 358 366 $theme->install_url = add_query_arg( 359 367 array( 360 368 'theme' => $theme->slug, 361 '_wpnonce' => wp_create_nonce( 'install-theme_' . $theme->slug),369 '_wpnonce' => wp_create_nonce('install-theme_' . $theme->slug), 362 370 ), 363 371 $update_php 364 372 ); 365 373 366 $theme->name = wp_kses( $theme->name, $themes_allowedtags);367 $theme->version = wp_kses( $theme->version, $themes_allowedtags);368 $theme->description = wp_kses( $theme->description, $themes_allowedtags);374 $theme->name = wp_kses($theme->name, $themes_allowedtags); 375 $theme->version = wp_kses($theme->version, $themes_allowedtags); 376 $theme->description = wp_kses($theme->description, $themes_allowedtags); 369 377 $theme->stars = wp_star_rating( 370 378 array( … … 375 383 ) 376 384 ); 377 $theme->num_ratings = number_format_i18n( $theme->num_ratings);378 $theme->preview_url = set_url_scheme( $theme->preview_url);385 $theme->num_ratings = number_format_i18n($theme->num_ratings); 386 $theme->preview_url = set_url_scheme($theme->preview_url); 379 387 380 388 // Handle themes that are already installed as installed themes. 381 if ( in_array( $theme->slug, $installed_themes, true )) {389 if (in_array($theme->slug, $installed_themes, true)) { 382 390 $theme->type = 'installed'; 383 391 } else { … … 386 394 387 395 // Set active based on customized theme. 388 $theme->active = ( isset( $_POST['customized_theme'] ) && $_POST['customized_theme'] === $theme->slug);396 $theme->active = (isset($_POST['customized_theme']) && $_POST['customized_theme'] === $theme->slug); 389 397 390 398 // Map available theme properties to installed theme properties. 391 399 $theme->id = $theme->slug; 392 $theme->screenshot = array( $theme->screenshot_url);393 $theme->authorAndUri = wp_kses( $theme->author['display_name'], $themes_allowedtags);394 $theme->compatibleWP = is_wp_version_compatible( $theme->requires); // phpcs:ignore WordPress.NamingConventions.ValidVariableName395 $theme->compatiblePHP = is_php_version_compatible( $theme->requires_php); // phpcs:ignore WordPress.NamingConventions.ValidVariableName396 397 if ( isset( $theme->parent )) {400 $theme->screenshot = array($theme->screenshot_url); 401 $theme->authorAndUri = wp_kses($theme->author['display_name'], $themes_allowedtags); 402 $theme->compatibleWP = is_wp_version_compatible($theme->requires); // phpcs:ignore WordPress.NamingConventions.ValidVariableName 403 $theme->compatiblePHP = is_php_version_compatible($theme->requires_php); // phpcs:ignore WordPress.NamingConventions.ValidVariableName 404 405 if (isset($theme->parent)) { 398 406 $theme->parent = $theme->parent['slug']; 399 407 } else { 400 408 $theme->parent = false; 401 409 } 402 unset( $theme->slug);403 unset( $theme->screenshot_url);404 unset( $theme->author);410 unset($theme->slug); 411 unset($theme->screenshot_url); 412 unset($theme->author); 405 413 } // End foreach(). 406 414 } // End if(). … … 423 431 * @param WP_Customize_Manager $manager Instance of Customize manager. 424 432 */ 425 $themes = apply_filters( 'customize_load_themes', $themes, $args, $wp_customize);426 427 wp_send_json_success( $themes);433 $themes = apply_filters('customize_load_themes', $themes, $args, $wp_customize); 434 435 wp_send_json_success($themes); 428 436 } 429 437 430 438 /* Plugins */ 431 439 /* Adds Catch Plugins tab in Add Plugin page to show all plugins by Catch Plugins in wordpress.org */ 432 public function add_our_plugins_tab( $tabs ) { 440 public function add_our_plugins_tab($tabs) 441 { 433 442 // Add our filter here 434 $tabs['catchplugins'] = _x( 'Catch Plugins', 'Plugin Installer');443 $tabs['catchplugins'] = _x('Catch Plugins', 'Plugin Installer', 'catch-sticky-menu'); 435 444 436 445 return $tabs; 437 446 } 438 447 439 public function catchplugins() { 448 public function catchplugins() 449 { 440 450 /* From CORE Start */ 441 451 global $paged, $tab; 442 wp_reset_vars( array( 'tab' ));452 wp_reset_vars(array('tab')); 443 453 444 454 $defined_class = new WP_Plugin_Install_List_Table(); … … 468 478 } 469 479 470 public function plugins_table() { 480 public function plugins_table() 481 { 471 482 global $wp_list_table; 472 483 printf( 473 '<p class="catch-plugins-list">' . __( 'You can use any of our free plugins or premium plugins from <a href="%s" target="_blank">Catch Plugins</a>' ) . '.</p>', 474 'https://catchplugins.com/' 484 '<p class="catch-plugins-list">%s</p>', 485 sprintf( 486 // Translators: %s is the URL to the Catch Plugins website. 487 wp_kses_post(__('You can use any of our free plugins or premium plugins from <a href="%s" target="_blank">Catch Plugins</a>.', 'catch-sticky-menu')), 488 esc_url('https://catchplugins.com/') 489 ) 475 490 ); 476 ?>491 ?> 477 492 <form id="plugin-filter" method="post"> 478 493 <?php $wp_list_table->display(); ?> 479 494 </form> 480 <?php495 <?php 481 496 } 482 497 } -
catch-sticky-menu/trunk/includes/class-catch-sticky-menu-loader.php
r1976181 r3468483 1 1 <?php 2 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 2 5 3 6 /** … … 11 14 */ 12 15 13 /** 14 * Register all actions and filters for the plugin. 15 * 16 * Maintain a list of all hooks that are registered throughout 17 * the plugin, and register them with the WordPress API. Call the 18 * run function to execute the list of actions and filters. 19 * 20 * @package Catch_Sticky_Menu 21 * @subpackage Catch_Sticky_Menu/includes 22 * @author Catch Plugins <www.catchplugins.com> 23 */ 24 class Catch_Sticky_Menu_Loader { 16 17 class Catch_Sticky_Menu_Loader 18 { 25 19 26 20 /** … … 47 41 * @since 1.0.0 48 42 */ 49 public function __construct() { 43 public function __construct() 44 { 50 45 51 46 $this->actions = array(); 52 47 $this->filters = array(); 53 54 48 } 55 49 … … 64 58 * @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1. 65 59 */ 66 public function add_action( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) { 67 $this->actions = $this->add( $this->actions, $hook, $component, $callback, $priority, $accepted_args ); 60 public function add_action($hook, $component, $callback, $priority = 10, $accepted_args = 1) 61 { 62 $this->actions = $this->add($this->actions, $hook, $component, $callback, $priority, $accepted_args); 68 63 } 69 64 … … 78 73 * @param int $accepted_args Optional. The number of arguments that should be passed to the $callback. Default is 1 79 74 */ 80 public function add_filter( $hook, $component, $callback, $priority = 10, $accepted_args = 1 ) { 81 $this->filters = $this->add( $this->filters, $hook, $component, $callback, $priority, $accepted_args ); 75 public function add_filter($hook, $component, $callback, $priority = 10, $accepted_args = 1) 76 { 77 $this->filters = $this->add($this->filters, $hook, $component, $callback, $priority, $accepted_args); 82 78 } 83 79 … … 96 92 * @return array The collection of actions and filters registered with WordPress. 97 93 */ 98 private function add( $hooks, $hook, $component, $callback, $priority, $accepted_args ) { 94 private function add($hooks, $hook, $component, $callback, $priority, $accepted_args) 95 { 99 96 100 97 $hooks[] = array( … … 107 104 108 105 return $hooks; 109 110 106 } 111 107 … … 115 111 * @since 1.0.0 116 112 */ 117 public function run() { 113 public function run() 114 { 118 115 119 foreach ( $this->filters as $hook) {120 add_filter( $hook['hook'], array( $hook['component'], $hook['callback'] ), $hook['priority'], $hook['accepted_args']);116 foreach ($this->filters as $hook) { 117 add_filter($hook['hook'], array($hook['component'], $hook['callback']), $hook['priority'], $hook['accepted_args']); 121 118 } 122 119 123 foreach ( $this->actions as $hook) {124 add_action( $hook['hook'], array( $hook['component'], $hook['callback'] ), $hook['priority'], $hook['accepted_args']);120 foreach ($this->actions as $hook) { 121 add_action($hook['hook'], array($hook['component'], $hook['callback']), $hook['priority'], $hook['accepted_args']); 125 122 } 126 127 123 } 128 129 124 } -
catch-sticky-menu/trunk/includes/class-catch-sticky-menu.php
r2142849 r3468483 1 1 <?php 2 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 2 5 3 6 /** … … 14 17 */ 15 18 16 /** 17 * The core plugin class. 18 * 19 * This is used to define internationalization, admin-specific hooks, and 20 * public-facing site hooks. 21 * 22 * Also maintains the unique identifier of this plugin as well as the current 23 * version of the plugin. 24 * 25 * @since 1.0.0 26 * @package Catch_Sticky_Menu 27 * @subpackage Catch_Sticky_Menu/includes 28 * @author Catch Plugins <www.catchplugins.com> 29 */ 30 class Catch_Sticky_Menu { 19 20 class Catch_Sticky_Menu 21 { 31 22 32 23 /** … … 67 58 * @since 1.0.0 68 59 */ 69 public function __construct() { 70 if ( defined( 'CATCH_STICKY_MENU_VERSION' ) ) { 60 public function __construct() 61 { 62 if (defined('CATCH_STICKY_MENU_VERSION')) { 71 63 $this->version = CATCH_STICKY_MENU_VERSION; 72 64 } else { … … 79 71 $this->define_admin_hooks(); 80 72 $this->define_public_hooks(); 81 82 73 } 83 74 … … 98 89 * @access private 99 90 */ 100 private function load_dependencies() { 91 private function load_dependencies() 92 { 101 93 102 94 /** … … 104 96 * core plugin. 105 97 */ 106 require_once plugin_dir_path( dirname( __FILE__ )) . 'includes/class-catch-sticky-menu-loader.php';98 require_once plugin_dir_path(dirname(__FILE__)) . 'includes/class-catch-sticky-menu-loader.php'; 107 99 108 100 /** … … 110 102 * of the plugin. 111 103 */ 112 require_once plugin_dir_path( dirname( __FILE__ )) . 'includes/class-catch-sticky-menu-i18n.php';104 require_once plugin_dir_path(dirname(__FILE__)) . 'includes/class-catch-sticky-menu-i18n.php'; 113 105 114 106 /** 115 107 * The class responsible for defining all actions that occur in the admin area. 116 108 */ 117 require_once plugin_dir_path( dirname( __FILE__ )) . 'admin/class-catch-sticky-menu-admin.php';109 require_once plugin_dir_path(dirname(__FILE__)) . 'admin/class-catch-sticky-menu-admin.php'; 118 110 119 111 /** … … 121 113 * side of the site. 122 114 */ 123 require_once plugin_dir_path( dirname( __FILE__ )) . 'public/class-catch-sticky-menu-public.php';115 require_once plugin_dir_path(dirname(__FILE__)) . 'public/class-catch-sticky-menu-public.php'; 124 116 125 117 $this->loader = new Catch_Sticky_Menu_Loader(); 126 127 118 } 128 119 … … 136 127 * @access private 137 128 */ 138 private function set_locale() { 129 private function set_locale() 130 { 139 131 140 132 $plugin_i18n = new Catch_Sticky_Menu_i18n(); 141 133 142 $this->loader->add_action( 'plugins_loaded', $plugin_i18n, 'load_plugin_textdomain' ); 143 134 $this->loader->add_action('plugins_loaded', $plugin_i18n, 'load_plugin_textdomain'); 144 135 } 145 136 … … 151 142 * @access private 152 143 */ 153 private function define_admin_hooks() {154 155 $plugin_admin = new Catch_Sticky_Menu_Admin( $this->get_plugin_name(), $this->get_version() ); 156 157 $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_styles' ); 158 $this->loader->add_action( 'admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts');159 $this->loader->add_action( 'admin_menu', $plugin_admin, 'add_plugin_settings_menu');160 $this->loader->add_action( 'admin_init', $plugin_admin, 'register_settings');161 $this->loader->add_ filter( 'plugin_action_links', $plugin_admin, 'action_links', 10, 2);162 $this->loader->add_filter( 'plugin_row_meta', $plugin_admin, 'add_plugin_meta_links', 10, 2);163 144 private function define_admin_hooks() 145 { 146 147 $plugin_admin = new Catch_Sticky_Menu_Admin($this->get_plugin_name(), $this->get_version()); 148 149 $this->loader->add_action('admin_enqueue_scripts', $plugin_admin, 'enqueue_styles'); 150 $this->loader->add_action('admin_enqueue_scripts', $plugin_admin, 'enqueue_scripts'); 151 $this->loader->add_action('admin_menu', $plugin_admin, 'add_plugin_settings_menu'); 152 $this->loader->add_action('admin_init', $plugin_admin, 'register_settings'); 153 $this->loader->add_filter('plugin_action_links', $plugin_admin, 'action_links', 10, 2); 154 $this->loader->add_filter('plugin_row_meta', $plugin_admin, 'add_plugin_meta_links', 10, 2); 164 155 } 165 156 … … 171 162 * @access private 172 163 */ 173 private function define_public_hooks() { 174 175 $plugin_public = new Catch_Sticky_Menu_Public( $this->get_plugin_name(), $this->get_version() ); 176 177 $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_styles' ); 178 $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_scripts' ); 179 $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'catch_stickymenu' ); 180 $this->loader->add_action( 'wp_localize_script', $plugin_public,'sticky_object' ); 181 } 182 183 164 private function define_public_hooks() 165 { 166 167 $plugin_public = new Catch_Sticky_Menu_Public($this->get_plugin_name(), $this->get_version()); 168 169 $this->loader->add_action('wp_enqueue_scripts', $plugin_public, 'enqueue_styles'); 170 $this->loader->add_action('wp_enqueue_scripts', $plugin_public, 'enqueue_scripts'); 171 $this->loader->add_action('wp_enqueue_scripts', $plugin_public, 'catch_stickymenu'); 172 $this->loader->add_action('wp_localize_script', $plugin_public, 'sticky_object'); 173 } 174 175 184 176 185 177 /** … … 188 180 * @since 1.0.0 189 181 */ 190 public function run() { 182 public function run() 183 { 191 184 $this->loader->run(); 192 185 } … … 199 192 * @return string The name of the plugin. 200 193 */ 201 public function get_plugin_name() { 194 public function get_plugin_name() 195 { 202 196 return $this->plugin_name; 203 197 } … … 209 203 * @return Catch_Sticky_Menu_Loader Orchestrates the hooks of the plugin. 210 204 */ 211 public function get_loader() { 205 public function get_loader() 206 { 212 207 return $this->loader; 213 208 } … … 219 214 * @return string The version number of the plugin. 220 215 */ 221 public function get_version() { 216 public function get_version() 217 { 222 218 return $this->version; 223 219 } 224 225 220 } -
catch-sticky-menu/trunk/includes/ctp-tabs-removal.php
r2600962 r3468483 1 1 <?php 2 /** 3 * ctp_register_settings 4 * Header Enhacement Pro Register Settings 5 */ 6 if ( ! function_exists( 'ctp_register_settings' ) ) { 7 function ctp_register_settings() { 2 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 5 6 if (! function_exists('ctp_register_settings')) { 7 function ctp_register_settings() 8 { 8 9 // register_setting( $option_group, $option_name, $sanitize_callback ) 9 10 register_setting( … … 14 15 } 15 16 } 16 add_action( 'admin_init', 'ctp_register_settings');17 add_action('admin_init', 'ctp_register_settings'); 17 18 18 if ( ! function_exists( 'ctp_get_options' )) {19 if (! function_exists('ctp_get_options')) { 19 20 /** 20 21 * Returns the options array for ctp_get options … … 22 23 * @since 1.9 23 24 */ 24 function ctp_get_options() { 25 function ctp_get_options() 26 { 25 27 $defaults = ctp_default_options(); 26 $options = get_option( 'ctp_options', $defaults);28 $options = get_option('ctp_options', $defaults); 27 29 28 return wp_parse_args( $options, $defaults);30 return wp_parse_args($options, $defaults); 29 31 } 30 32 } 31 33 32 if ( ! function_exists( 'ctp_default_options' )) {34 if (! function_exists('ctp_default_options')) { 33 35 /** 34 36 * Return array of default options … … 37 39 * @return string 1 or 2. 38 40 */ 39 function ctp_default_options( $option = null ) { 41 function ctp_default_options($option = null) 42 { 40 43 $default_options['theme_plugin_tabs'] = 1; 41 if ( null == $option) {42 return apply_filters( 'ctp_options', $default_options);44 if (null == $option) { 45 return apply_filters('ctp_options', $default_options); 43 46 } else { 44 return $default_options[ $option];47 return $default_options[$option]; 45 48 } 46 49 } 47 50 } 48 51 49 if ( ! function_exists( 'ctp_switch' )) {52 if (! function_exists('ctp_switch')) { 50 53 /** 51 54 * Return $string … … 54 57 * @return $string 1 or 2. 55 58 */ 56 function ctp_switch() { 59 function ctp_switch() 60 { 57 61 // Check nonce before doing and changes. 58 if ( ! check_ajax_referer( 'ctp_tabs_nonce', 'security', false )) {59 wp_die( esc_html__( 'Invalid Nonce', 'catch-sticky-menu' ));62 if (! check_ajax_referer('ctp_tabs_nonce', 'security', false)) { 63 wp_die(esc_html__('Invalid Nonce', 'catch-sticky-menu')); 60 64 } else { 61 if ( ! current_user_can( 'manage_options' )) {62 wp_die( esc_html__( 'Permission denied!', 'catch-sticky-menu' ));65 if (! current_user_can('manage_options')) { 66 wp_die(esc_html__('Permission denied!', 'catch-sticky-menu')); 63 67 } 64 $value = ( 'true' == $_POST['value']) ? 1 : 0;68 $value = ('true' == $_POST['value']) ? 1 : 0; 65 69 66 70 $option_name = $_POST['option_name']; … … 68 72 $option_value = ctp_get_options(); 69 73 70 $option_value[ $option_name] = $value;74 $option_value[$option_name] = $value; 71 75 72 if ( update_option( 'ctp_options', $option_value )) {73 echo $value;76 if (update_option('ctp_options', $option_value)) { 77 echo esc_html((string) $value); 74 78 } else { 75 esc_html_e( 'Connection Error. Please try again.', 'catch-sticky-menu');79 esc_html_e('Connection Error. Please try again.', 'catch-sticky-menu'); 76 80 } 77 81 } … … 79 83 } 80 84 } 81 add_action( 'wp_ajax_ctp_switch', 'ctp_switch');85 add_action('wp_ajax_ctp_switch', 'ctp_switch'); -
catch-sticky-menu/trunk/languages/catch-sticky-menu.pot
r3292536 r3468483 1 # Copyright (C) 2018-202 2Catch Plugins1 # Copyright (C) 2018-2026 Catch Plugins 2 2 # This file is distributed under the GNU General Public License v2 or later. 3 3 #, fuzzy … … 6 6 "Project-Id-Version: Catch Sticky Menu\n" 7 7 "Report-Msgid-Bugs-To: https://wordpress.org/tags/_s\n" 8 "POT-Creation-Date: 202 5-05-13 17:50+0545\n"8 "POT-Creation-Date: 2026-02-24 15:32+0545\n" 9 9 "PO-Revision-Date: 2016-12-12 09:23-0500\n" 10 10 "Last-Translator: Sakin Shrestha <[email protected]>\n" … … 15 15 "Content-Transfer-Encoding: 8bit\n" 16 16 "Plural-Forms: nplurals=2; plural=n != 1;\n" 17 "X-Generator: Poedit 3. 6\n"17 "X-Generator: Poedit 3.8\n" 18 18 "X-Poedit-KeywordsList: " 19 19 "__;_e;_n:1,2;_x:1,2c;esc_attr_e;esc_attr__;_nx;_x;esc_html_e;esc_html__;_ex:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_n_noop:1,2;__ngettext_noop:1,2;_c,_nc:4c,1,2\n" … … 22 22 "X-Poedit-SearchPath-0: ..\n" 23 23 24 #: ../admin/class-catch-sticky-menu-admin.php:11 725 #: ../admin/class-catch-sticky-menu-admin.php:13 726 #: ../admin/partials/dashboard-display.php: 1924 #: ../admin/class-catch-sticky-menu-admin.php:114 25 #: ../admin/class-catch-sticky-menu-admin.php:135 26 #: ../admin/partials/dashboard-display.php:22 27 27 msgid "Settings" 28 28 msgstr "" 29 29 30 #: ../admin/class-catch-sticky-menu-admin.php:12 631 #: ../admin/class-catch-sticky-menu-admin.php:12 732 #: ../admin/class-catch-sticky-menu-admin.php:13 633 #: ../admin/partials/catch-sticky-menu-admin-display.php: 1830 #: ../admin/class-catch-sticky-menu-admin.php:124 31 #: ../admin/class-catch-sticky-menu-admin.php:125 32 #: ../admin/class-catch-sticky-menu-admin.php:134 33 #: ../admin/partials/catch-sticky-menu-admin-display.php:21 34 34 msgid "Catch Sticky Menu" 35 35 msgstr "" 36 36 37 #: ../admin/class-catch-sticky-menu-admin.php:14 737 #: ../admin/class-catch-sticky-menu-admin.php:146 38 38 msgid "You do not have sufficient permissions to access this page." 39 39 msgstr "" 40 40 41 #: ../admin/partials/catch-sticky-menu-admin-display.php:2 041 #: ../admin/partials/catch-sticky-menu-admin-display.php:23 42 42 msgid "Lets you display Sticky Menu anywhere on your website elegantly." 43 43 msgstr "" 44 44 45 #: ../admin/partials/catch-sticky-menu-admin-display.php:2 645 #: ../admin/partials/catch-sticky-menu-admin-display.php:29 46 46 msgid "Dashboard" 47 47 msgstr "" 48 48 49 #: ../admin/partials/catch-sticky-menu-admin-display.php: 2750 #: ../admin/partials/catch-sticky-menu-admin-display.php: 6749 #: ../admin/partials/catch-sticky-menu-admin-display.php:30 50 #: ../admin/partials/catch-sticky-menu-admin-display.php:70 51 51 msgid "Features" 52 52 msgstr "" 53 53 54 #: ../admin/partials/catch-sticky-menu-admin-display.php:3 454 #: ../admin/partials/catch-sticky-menu-admin-display.php:37 55 55 msgid "Catch Themes & Catch Plugins Tabs" 56 56 msgstr "" 57 57 58 #: ../admin/partials/catch-sticky-menu-admin-display.php: 3958 #: ../admin/partials/catch-sticky-menu-admin-display.php:42 59 59 msgid "" 60 60 "If you want to turn off Catch Themes & Catch Plugins tabs option in Add " … … 62 62 msgstr "" 63 63 64 #: ../admin/partials/catch-sticky-menu-admin-display.php:4 464 #: ../admin/partials/catch-sticky-menu-admin-display.php:47 65 65 msgid "Turn On Catch Themes & Catch Plugin tabs" 66 66 msgstr "" 67 67 68 #: ../admin/partials/catch-sticky-menu-admin-display.php:7 268 #: ../admin/partials/catch-sticky-menu-admin-display.php:75 69 69 msgid "Menu Selector" 70 70 msgstr "" 71 71 72 #: ../admin/partials/catch-sticky-menu-admin-display.php:7 372 #: ../admin/partials/catch-sticky-menu-admin-display.php:76 73 73 msgid "" 74 74 "Catch Sticky Menu empowers you with Menu Selector (for desktop and mobile). " … … 79 79 msgstr "" 80 80 81 #: ../admin/partials/catch-sticky-menu-admin-display.php: 7782 #: ../admin/partials/dashboard-display.php:6 281 #: ../admin/partials/catch-sticky-menu-admin-display.php:80 82 #: ../admin/partials/dashboard-display.php:65 83 83 msgid "Sticky Background Color" 84 84 msgstr "" 85 85 86 #: ../admin/partials/catch-sticky-menu-admin-display.php: 7886 #: ../admin/partials/catch-sticky-menu-admin-display.php:81 87 87 msgid "" 88 88 "Background colors play an important role when you’re trying to highlight " … … 93 93 msgstr "" 94 94 95 #: ../admin/partials/catch-sticky-menu-admin-display.php:8 195 #: ../admin/partials/catch-sticky-menu-admin-display.php:84 96 96 msgid "Sticky Z Index" 97 97 msgstr "" 98 98 99 #: ../admin/partials/catch-sticky-menu-admin-display.php:8 299 #: ../admin/partials/catch-sticky-menu-admin-display.php:85 100 100 msgid "" 101 101 "Catch Sticky Menu supports Z Index option. You can add a sticky Z index " … … 104 104 msgstr "" 105 105 106 #: ../admin/partials/catch-sticky-menu-admin-display.php:8 5107 #: ../admin/partials/dashboard-display.php:9 0106 #: ../admin/partials/catch-sticky-menu-admin-display.php:88 107 #: ../admin/partials/dashboard-display.php:93 108 108 msgid "Sticky Opacity" 109 109 msgstr "" 110 110 111 #: ../admin/partials/catch-sticky-menu-admin-display.php:8 6111 #: ../admin/partials/catch-sticky-menu-admin-display.php:89 112 112 msgid "" 113 113 "With the Sticky Opacity option available in Catch Sticky Menu, you can " … … 117 117 msgstr "" 118 118 119 #: ../admin/partials/catch-sticky-menu-admin-display.php: 89119 #: ../admin/partials/catch-sticky-menu-admin-display.php:92 120 120 msgid "Enable on Homepage only" 121 121 msgstr "" 122 122 123 #: ../admin/partials/catch-sticky-menu-admin-display.php:9 0123 #: ../admin/partials/catch-sticky-menu-admin-display.php:93 124 124 msgid "" 125 125 "You can stick the menu either on the Homepage of your website only or on the " … … 129 129 msgstr "" 130 130 131 #: ../admin/partials/catch-sticky-menu-admin-display.php:9 3131 #: ../admin/partials/catch-sticky-menu-admin-display.php:96 132 132 msgid "Lightweight" 133 133 msgstr "" 134 134 135 #: ../admin/partials/catch-sticky-menu-admin-display.php:9 4135 #: ../admin/partials/catch-sticky-menu-admin-display.php:97 136 136 msgid "" 137 137 "Catch Sticky Menu, a simple sticky menu plugin for WordPress is extremely " … … 140 140 msgstr "" 141 141 142 #: ../admin/partials/catch-sticky-menu-admin-display.php: 97142 #: ../admin/partials/catch-sticky-menu-admin-display.php:100 143 143 msgid "Responsive Design" 144 144 msgstr "" 145 145 146 #: ../admin/partials/catch-sticky-menu-admin-display.php: 98146 #: ../admin/partials/catch-sticky-menu-admin-display.php:101 147 147 msgid "" 148 148 "Catch Sticky Menu, our new WordPress plugin for sticky menu comes with a " … … 151 151 msgstr "" 152 152 153 #: ../admin/partials/catch-sticky-menu-admin-display.php:10 1153 #: ../admin/partials/catch-sticky-menu-admin-display.php:104 154 154 msgid "Compatible with all WordPress Themes" 155 155 msgstr "" 156 156 157 #: ../admin/partials/catch-sticky-menu-admin-display.php:10 2157 #: ../admin/partials/catch-sticky-menu-admin-display.php:105 158 158 msgid "" 159 159 "Catch Sticky menu has been crafted in a way that supports all the themes on " … … 161 161 msgstr "" 162 162 163 #: ../admin/partials/catch-sticky-menu-admin-display.php:10 5163 #: ../admin/partials/catch-sticky-menu-admin-display.php:108 164 164 msgid "Incredible Support" 165 165 msgstr "" 166 166 167 #: ../admin/partials/catch-sticky-menu-admin-display.php:10 6167 #: ../admin/partials/catch-sticky-menu-admin-display.php:109 168 168 msgid "" 169 169 "We have a great line of support team and support documentation. You do not " … … 173 173 msgstr "" 174 174 175 #: ../admin/partials/dashboard-display.php:2 4175 #: ../admin/partials/dashboard-display.php:27 176 176 msgid "Plugin Options Saved." 177 177 msgstr "" 178 178 179 #: ../admin/partials/dashboard-display.php:4 2179 #: ../admin/partials/dashboard-display.php:45 180 180 msgid " Desktop Menu Selector" 181 181 msgstr "" 182 182 183 #: ../admin/partials/dashboard-display.php:4 6183 #: ../admin/partials/dashboard-display.php:49 184 184 msgid "Sticky Menu will be displayed just before this selector." 185 185 msgstr "" 186 186 187 #: ../admin/partials/dashboard-display.php:5 2187 #: ../admin/partials/dashboard-display.php:55 188 188 msgid " Mobile Menu Selector" 189 189 msgstr "" 190 190 191 #: ../admin/partials/dashboard-display.php:5 6191 #: ../admin/partials/dashboard-display.php:59 192 192 msgid "Sticky Menu will be displayed just before this selector (in mobile)." 193 193 msgstr "" 194 194 195 #: ../admin/partials/dashboard-display.php:7 2195 #: ../admin/partials/dashboard-display.php:75 196 196 msgid "Sticky Menu Text Color" 197 197 msgstr "" 198 198 199 #: ../admin/partials/dashboard-display.php:8 2199 #: ../admin/partials/dashboard-display.php:85 200 200 msgid "Sticky Z index" 201 201 msgstr "" 202 202 203 #: ../admin/partials/dashboard-display.php:8 5203 #: ../admin/partials/dashboard-display.php:88 204 204 msgid "" 205 205 "Sticky z-index helps to set the stack order of the element. An element with " … … 207 207 msgstr "" 208 208 209 #: ../admin/partials/dashboard-display.php:9 3209 #: ../admin/partials/dashboard-display.php:96 210 210 msgid "" 211 211 "Sticky Opacity helps to set the transparency-level, 1 is not transparent at " … … 213 213 msgstr "" 214 214 215 #: ../admin/partials/dashboard-display.php: 98215 #: ../admin/partials/dashboard-display.php:101 216 216 msgid "Desktop Font Size" 217 217 msgstr "" 218 218 219 #: ../admin/partials/dashboard-display.php:10 2219 #: ../admin/partials/dashboard-display.php:105 220 220 msgid "px" 221 221 msgstr "" 222 222 223 #: ../admin/partials/dashboard-display.php:10 3223 #: ../admin/partials/dashboard-display.php:106 224 224 msgid "" 225 225 "Sets your desired font size to desktop menu text. Default is set to null, " … … 227 227 msgstr "" 228 228 229 #: ../admin/partials/dashboard-display.php:1 08229 #: ../admin/partials/dashboard-display.php:111 230 230 msgid "Mobile Font Size" 231 231 msgstr "" 232 232 233 #: ../admin/partials/dashboard-display.php:11 2233 #: ../admin/partials/dashboard-display.php:115 234 234 msgid "em" 235 235 msgstr "" 236 236 237 #: ../admin/partials/dashboard-display.php:11 3237 #: ../admin/partials/dashboard-display.php:116 238 238 msgid "" 239 239 "Sets your desired font size to mobile menu text. Default is set to null, and " … … 241 241 msgstr "" 242 242 243 #: ../admin/partials/dashboard-display.php:1 17243 #: ../admin/partials/dashboard-display.php:120 244 244 msgid "Enable Only On Home Page" 245 245 msgstr "" 246 246 247 #: ../admin/partials/dashboard-display.php:12 0247 #: ../admin/partials/dashboard-display.php:123 248 248 msgid "Check to enable" 249 249 msgstr "" 250 250 251 #: ../admin/partials/dashboard-display.php:12 2251 #: ../admin/partials/dashboard-display.php:125 252 252 msgid "Checking this option will display sticky menu on homepage/frontpage." 253 253 msgstr "" 254 254 255 #: ../admin/partials/dashboard-display.php:1 28255 #: ../admin/partials/dashboard-display.php:131 256 256 msgid "Reset Options" 257 257 msgstr "" 258 258 259 #: ../admin/partials/dashboard-display.php:13 1259 #: ../admin/partials/dashboard-display.php:134 260 260 msgid "Check to reset" 261 261 msgstr "" 262 262 263 #: ../admin/partials/dashboard-display.php:13 3263 #: ../admin/partials/dashboard-display.php:136 264 264 msgid "Caution: Reset all settings to default." 265 265 msgstr "" 266 266 267 #: ../admin/partials/dashboard-display.php:1 38267 #: ../admin/partials/dashboard-display.php:141 268 268 msgid "Save Changes" 269 269 msgstr "" 270 270 271 #: ../admin/partials/footer.php: 4271 #: ../admin/partials/footer.php:10 272 272 msgid "Catch Plugins" 273 273 msgstr "" 274 274 275 #: ../admin/partials/footer.php: 9275 #: ../admin/partials/footer.php:15 276 276 msgid "View Themes" 277 277 msgstr "" 278 278 279 #: ../admin/partials/footer.php:1 0279 #: ../admin/partials/footer.php:16 280 280 msgid "View Plugins" 281 281 msgstr "" 282 282 283 #: ../admin/partials/footer.php:1 1283 #: ../admin/partials/footer.php:17 284 284 msgid "Support" 285 285 msgstr "" 286 286 287 #: ../admin/partials/sidebar.php: 3287 #: ../admin/partials/sidebar.php:9 288 288 msgid "Recommendations" 289 289 msgstr "" 290 290 291 #: ../admin/partials/sidebar.php: 8291 #: ../admin/partials/sidebar.php:14 292 292 msgid "Premium Themes" 293 293 msgstr "" 294 294 295 #: ../admin/partials/sidebar.php: 9295 #: ../admin/partials/sidebar.php:15 296 296 msgid "" 297 297 "Check out our simple, clean and responsive Premium WordPress Themes that " … … 299 299 msgstr "" 300 300 301 #: ../admin/partials/sidebar.php: 9301 #: ../admin/partials/sidebar.php:15 302 302 msgid "Check our premium themes." 303 303 msgstr "" 304 304 305 #: ../admin/partials/sidebar.php: 15305 #: ../admin/partials/sidebar.php:21 306 306 msgid "Free Themes" 307 307 msgstr "" 308 308 309 #: ../admin/partials/sidebar.php: 16309 #: ../admin/partials/sidebar.php:22 310 310 msgid "" 311 311 "Check out our collection of Free WordPress Themes that are clean, simple and " … … 313 313 msgstr "" 314 314 315 #: ../admin/partials/sidebar.php: 16315 #: ../admin/partials/sidebar.php:22 316 316 msgid "Check our free themes." 317 317 msgstr "" 318 318 319 #: ../admin/partials/sidebar.php:2 2319 #: ../admin/partials/sidebar.php:28 320 320 msgid "Premium Plugins" 321 321 msgstr "" 322 322 323 #: ../admin/partials/sidebar.php:2 3323 #: ../admin/partials/sidebar.php:29 324 324 msgid "" 325 325 "Check out our secured Premium WordPress Plugins to enhance and add extra " … … 328 328 msgstr "" 329 329 330 #: ../admin/partials/sidebar.php:2 3330 #: ../admin/partials/sidebar.php:29 331 331 msgid "Check our premium plugins." 332 332 msgstr "" 333 333 334 #: ../admin/partials/sidebar.php:3 1334 #: ../admin/partials/sidebar.php:37 335 335 msgid "Free Plugins" 336 336 msgstr "" 337 337 338 #: ../admin/partials/sidebar.php:3 2338 #: ../admin/partials/sidebar.php:38 339 339 msgid "" 340 340 "Check out our Free WordPress Plugins and get the taste of our service " … … 342 342 msgstr "" 343 343 344 #: ../admin/partials/sidebar.php:3 3344 #: ../admin/partials/sidebar.php:39 345 345 msgid "check our free plugins." 346 346 msgstr "" 347 347 348 #: ../includes/CatchThemesThemePlugin.php:1 54348 #: ../includes/CatchThemesThemePlugin.php:161 349 349 msgid "Themes by CatchThemes" 350 350 msgstr "" 351 351 352 #: ../includes/CatchThemesThemePlugin.php:4 34352 #: ../includes/CatchThemesThemePlugin.php:443 353 353 msgctxt "Plugin Installer" 354 354 msgid "Catch Plugins" 355 355 msgstr "" 356 356 357 #: ../includes/CatchThemesThemePlugin.php:4 73357 #: ../includes/CatchThemesThemePlugin.php:487 358 358 #, php-format 359 359 msgid "" 360 360 "You can use any of our free plugins or premium plugins from <a href=\"%s\" " 361 "target=\"_blank\">Catch Plugins</a> "362 msgstr "" 363 364 #: ../includes/ctp-tabs-removal.php: 59361 "target=\"_blank\">Catch Plugins</a>." 362 msgstr "" 363 364 #: ../includes/ctp-tabs-removal.php:63 365 365 msgid "Invalid Nonce" 366 366 msgstr "" 367 367 368 #: ../includes/ctp-tabs-removal.php:6 2368 #: ../includes/ctp-tabs-removal.php:66 369 369 msgid "Permission denied!" 370 370 msgstr "" 371 371 372 #: ../includes/ctp-tabs-removal.php:7 5372 #: ../includes/ctp-tabs-removal.php:79 373 373 msgid "Connection Error. Please try again." 374 374 msgstr "" -
catch-sticky-menu/trunk/public/partials/catch-sticky-menu-public-display.php
r1976181 r3468483 1 1 <?php 2 3 // Exit if accessed directly 4 if (! defined('ABSPATH')) exit; 2 5 3 6 /**
Note: See TracChangeset
for help on using the changeset viewer.