Changeset 3241205
- Timestamp:
- 02/16/2025 06:53:26 AM (3 weeks ago)
- Location:
- hide-admin-bar-based-on-user-roles
- Files:
-
- 24 added
- 34 deleted
- 12 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
hide-admin-bar-based-on-user-roles/tags/5.0.0/README.txt
r3214206 r3241205 8 8 Tested up to: 6.7 9 9 Requires PHP: 5.6 10 Stable tag: 4.1.010 Stable tag: 5.0.0 11 11 License: GPLv2 or later 12 12 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 70 70 == Changelog == 71 71 72 = 5.0.0 - 16-02-2025 = 73 * Admin ui updated. 74 * Compatibility tested & Tested with the latest WordPress version. 75 72 76 = 4.1.0 - 28-12-2024 = 73 77 Compatibility tested & Tested with the latest WordPress version. -
hide-admin-bar-based-on-user-roles/tags/5.0.0/admin/class-hide-admin-bar-based-on-user-roles-admin.php
r3085812 r3241205 76 76 77 77 if ( isset( $_GET['page'] ) && $_GET['page'] == 'hide-admin-bar-settings' ) { 78 wp_enqueue_style( "hab_materials_icons", plugin_dir_url( __FILE__ ) . 'css/materialdesignicons.min.css', array(), $this->version, 'all' ); 79 wp_enqueue_style( "hab_icheck", plugin_dir_url( __FILE__ ) . 'css/all.css', array(), $this->version, 'all' ); 80 wp_enqueue_style( "hab_tags_input", plugin_dir_url( __FILE__ ) . 'css/jquery.tagsinput.min.css', array(), $this->version, 'all' ); 81 wp_enqueue_style( "hab_style", plugin_dir_url( __FILE__ ) . 'css/style.css', array(), $this->version, 'all' ); 82 wp_enqueue_style( "hab_style_1", plugin_dir_url( __FILE__ ) . 'css/style_1.css', array(), $this->version, 'all' ); 83 84 wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/hide-admin-bar-based-on-user-roles-admin.css', array(), $this->version, 'all' ); 78 79 wp_enqueue_style( 'select2-css', plugin_dir_url( __FILE__ ) . 'css/select2.min.css', array(), $this->version, 'all' ); 80 81 wp_enqueue_style( 'ultimakit_bootstrap_main', plugin_dir_url( __FILE__ ) . 'css/bootstrap.min.css', array(), $this->version, 'all' ); 82 wp_enqueue_style( 'ultimakit_bootstrap_rtl', plugin_dir_url( __FILE__ ) . 'css/bootstrap.rtl.min.css', array(), $this->version, 'all' ); 83 // Enqueue toastr CSS. 84 wp_enqueue_style( 'toastr-css', plugin_dir_url( __FILE__ ) . 'css/toastr.min.css', array(), $this->version, 'all' ); 85 86 wp_enqueue_style('dashicons'); 87 88 wp_enqueue_style( 'tagsinput-css', plugin_dir_url( __FILE__ ) . 'css/jquery.tagsinput.min.css', array(), $this->version, 'all' ); 89 wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/main.css', array(), $this->version, 'all' ); 90 wp_enqueue_style( $this->plugin_name.'-admin', plugin_dir_url( __FILE__ ) . 'css/hide-admin-bar-based-on-user-roles-admin.css', array(), $this->version, 'all' ); 91 85 92 } 86 93 … … 107 114 if ( isset( $_GET['page'] ) && $_GET['page'] == 'hide-admin-bar-settings' ) { 108 115 109 wp_enqueue_script( "hab_base_js", plugin_dir_url( __FILE__ ) . 'js/vendor.bundle.base.js', array( 'jquery' ), $this->version, false ); 110 111 wp_enqueue_script( "hab_icheck_min", plugin_dir_url( __FILE__ ) . 'js/icheck.min.js', array( 'jquery' ), $this->version, false ); 112 113 wp_enqueue_script( "hab_tags_input", plugin_dir_url( __FILE__ ) . 'js/jquery.tagsinput.min.js', array( 'jquery' ), $this->version, false ); 114 115 wp_enqueue_script( "hab_icheck", plugin_dir_url( __FILE__ ) . 'js/iCheck.js', array( 'jquery' ), $this->version, false ); 116 wp_enqueue_script( 'jquery' ); 117 wp_enqueue_script( 'ultimakit_bootstrap_bundle', plugin_dir_url( __FILE__ ) . 'js/bootstrap.bundle.min.js', array( 'jquery' ), $this->version, false ); 118 // Enqueue toastr.js. 119 wp_enqueue_script( 'toastr-js', plugin_dir_url( __FILE__ ) . 'js/toastr.min.js', array( 'jquery' ), $this->version, true ); 120 121 wp_enqueue_script( 'tagsinput-js', plugin_dir_url( __FILE__ ) . 'js/jquery.tagsinput.min.js', array( 'jquery' ), $this->version, false ); 122 123 wp_enqueue_script( 124 'silent-installer', 125 plugin_dir_url(__FILE__) . 'js/silent-installer.js', 126 array('jquery'), 127 '1.0', 128 true 129 ); 130 131 wp_localize_script('silent-installer', 'silent_installer_vars', array( 132 'ajaxurl' => admin_url('admin-ajax.php'), 133 'nonce' => wp_create_nonce('silent_installer'), 134 'installing_text' => __('Installing...', 'ultimakit'), 135 'activated_text' => __('Installed & Activated!', 'ultimakit'), 136 'error_text' => __('Installation Failed', 'ultimakit'), 137 'already_installed' => __('Already Installed & Active', 'ultimakit'), 138 'checking_status' => __('Checking plugin status...', 'ultimakit'), 139 'downloading' => __('Downloading plugin...', 'ultimakit'), 140 'installing' => __('Installing plugin...', 'ultimakit'), 141 'activating' => __('Activating plugin...', 'ultimakit') 142 )); 116 143 117 144 wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/hide-admin-bar-based-on-user-roles-admin.js', array( 'jquery' ), $this->version, false ); 118 119 145 $args = array( 120 146 'url' => admin_url( 'admin-ajax.php' ), … … 122 148 ); 123 149 wp_localize_script( $this->plugin_name, 'ajaxVar', $args ); 150 151 124 152 } 125 153 … … 147 175 echo '<script>window.location.reload();</script>'; 148 176 } 149 150 177 ?> 151 <div class="main-panel"> 152 <div class="container-wrapper"> 153 <div class="col-12 grid-margin"> 154 <div class="card"> 155 <div class="card-body"> 156 <h3><?php echo __( 'Hide Admin Bar Based on User Roles', 'hide-admin-bar-based-on-user-roles' ); ?></h3> 157 <br/> 158 <form class="form-sample"> 159 <div class="row"> 160 <div class="col-md-12"> 161 <div class="form-group row"> 162 <label class="col-sm-6 col-form-label"><?php echo __( 'Hide Admin Bar for All Users', 'hide-admin-bar-based-on-user-roles' ); ?></label> 163 <div class="col-sm-6"> 164 <?php 165 $disableForAll = ( isset( $settings["hab_disableforall"] ) ) ? $settings["hab_disableforall"] : ""; 166 $checked = ( $disableForAll == 'yes' ) ? "checked" : ""; 167 echo '<div class="icheck-square"> 168 <input tabindex="5" ' . $checked . ' type="checkbox" id="hide_for_all"> 169 </div>'; 170 ?> 171 172 </div> 173 </div> 174 </div> 175 </div> 176 <?php if ( $disableForAll == "no" || empty( $disableForAll ) ) { ?> 177 <div class="row"> 178 <div class="col-md-12"> 179 <div class="form-group row"> 180 <label class="col-sm-6 col-form-label"><?php echo __( 'Hide Admin Bar for All Guests Users', 'hide-admin-bar-based-on-user-roles' ); ?></label> 181 <div class="col-sm-6"> 178 <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: #6610F2;"> 179 <div class="container-fluid p-2"> 180 <a class="navbar-brand" href="#"> 181 <img src="<?php echo esc_url( plugin_dir_url( __FILE__ ).'images/hide-admin-bar-logo.svg' ); ?>" class="d-inline-block align-top" alt="ultimakit-for-wp-logo" width="225px"> 182 <div class="wpuk-version-info"><?php echo esc_html_e( 'Current version:', 'ultimakit-for-wp' ); ?>5.0.0</div> 183 </a> 184 185 <div class="navbar-nav ml-auto"> 186 <a class="nav-item nav-link" target="_blank" href="https://wordpress.org/support/plugin/hide-admin-bar-based-on-user-roles/reviews/#new-post" style="color: #ffffff; margin-right: 20px"><?php echo esc_html_e( 'Leave Feedback', 'ultimakit-for-wp' ); ?></a> 187 </div> 188 </div> 189 </nav> 190 191 <div class="wrap"> 192 <div class="container-fluid module-container"> 193 <div class="row"> 194 <?php 195 $menu_active_class = ''; 196 $menu_active_class = 'active show'; 197 ?> 198 <!-- Nav tabs --> 199 <ul class="nav nav-tabs" id="wpukTabs" role="tablist"> 200 <li class="nav-item" role="presentation"> 201 <a class="nav-link <?php echo $menu_active_class; ?>" id="hab-modules-tab" data-bs-toggle="tab" href="#hab-modules" role="tab" aria-controls="hab-modules" aria-selected="true"><?php echo esc_html_e( 'Settings', 'ultimakit-for-wp' ); ?></a> 202 </li> 203 204 <li class="nav-item" role="presentation"> 205 <a class="nav-link" id="tools-tab" data-bs-toggle="tab" style="font-weight: 600; text-decoration: underline;" href="#tools" role="tab" aria-controls="tools" aria-selected="true"><?php echo esc_html_e( 'Powerful WordPress Tools', 'hide-admin-bar-based-on-user-roles' ); ?></a> 206 </li> 207 208 <li class="nav-item" role="presentation"> 209 <a class="nav-link" href="https://wordpress.org/support/plugin/hide-admin-bar-based-on-user-roles/" target="_blank"><?php echo esc_html_e( 'Help', 'ultimakit-for-wp' ); ?></a> 210 </li> 211 </ul> 212 <!-- Tab panes --> 213 <div class="tab-content" id="wpukTabsContent"> 214 <div class="tab-pane fade show <?php echo $menu_active_class; ?>" id="hab-modules" role="tabpanel" aria-labelledby="modules-tab"> 215 <div class="row"> 216 <form class="form-sample"> 217 <div class="row"> 218 <div class="col-md-12"> 219 <div class="form-group row"> 220 <label class="col-sm-6 col-form-label"><?php echo __( 'Hide Admin Bar for All Users', 'hide-admin-bar-based-on-user-roles' ); ?></label> 221 <div class="col-sm-6"> 182 222 <?php 183 $disableForAll Guests = ( isset( $settings["hab_disableforallGuests"] ) ) ? $settings["hab_disableforallGuests"] : "";184 $checked Guests = ( $disableForAllGuests== 'yes' ) ? "checked" : "";223 $disableForAll = ( isset( $settings["hab_disableforall"] ) ) ? $settings["hab_disableforall"] : ""; 224 $checked = ( $disableForAll == 'yes' ) ? "checked" : ""; 185 225 echo '<div class="icheck-square"> 186 <input tabindex="5" ' . $checkedGuests . ' type="checkbox" id="hide_for_all_guests">187 226 <input tabindex="5" ' . $checked . ' type="checkbox" id="hide_for_all"> 227 </div>'; 188 228 ?> 189 190 </div> 191 </div> 192 </div> 193 </div> 194 <div class="row"> 195 <div class="col-md-12"> 196 <div class="form-group row"> 197 <label class="col-sm-6 col-form-label"><?php echo __( 'User Roles', 'hide-admin-bar-based-on-user-roles' ); ?> 198 <br/><br/><?php echo __( 'Hide admin bar for selected user roles.', 'hide-admin-bar-based-on-user-roles' ); ?> 199 </label> 200 <div class="col-sm-6"> 201 <?php 202 global $wp_roles; 203 $exRoles = ( isset( $settings["hab_userRoles"] ) ) ? $settings["hab_userRoles"] : ""; 204 $checked = ''; 205 206 $roles = $wp_roles->get_names(); 207 if ( is_array( $roles ) ) { 208 foreach ( $roles as $key => $value ): 209 if ( is_array( $exRoles ) ) { 210 $checked = ( in_array( $key, $exRoles ) ) ? "checked" : ""; 211 } 212 213 echo '<div class="icheck-square"> 214 <input name="userRoles[]" ' . $checked . ' tabindex="5" type="checkbox" value="' . $key . '"> ' . $value . ' 215 </div>'; 216 endforeach; 217 } 218 ?> 219 220 </div> 221 </div> 222 </div> 223 </div> 224 <div class="row"> 225 <div class="col-md-12"> 226 <div class="form-group row"> 227 <label class="col-sm-6 col-form-label"><?php echo __( 'Capabilities Blacklist', 'hide-admin-bar-based-on-user-roles' ); 228 echo '<br />'; 229 echo __( 'Hide admin bar for selected user capabilities', 'hide-admin-bar-based-on-user-roles' ); ?></label> 230 <div class="col-sm-6"> 231 <?php 232 $caps = ( isset( $settings["hab_capabilities"] ) ) ? $settings["hab_capabilities"] : ""; 233 ?> 234 <div class="icheck-square"> 235 <textarea name="had_capabilities" 236 id="had_capabilities"><?php echo $caps; ?></textarea> 237 </div> 238 </div> 239 </div> 240 </div> 241 </div> 242 <?php } ?> 243 <div class="row"> 244 <div class="col-md-12"> 245 <button type="button" class="btn btn-primary btn-fw" 246 id="submit_roles"><?php echo __( "Save Changes", 'hide-admin-bar-based-on-user-roles' ); ?></button> 247 </div> 248 <div class="col-md-12"> 249 <br/> 250 <p><?php echo __( "You can reset plugin settings by visiting this url without login to admin panel. Keep it safe.", 'hide-admin-bar-based-on-user-roles' ); ?> 251 <br/><a href="<?php echo admin_url() . "options-general.php?page=hide-admin-bar-settings&reset_plugin=" . $hab_reset_key; ?>" 252 target="_blank"><?php echo admin_url() . "options-general.php?page=hide-admin-bar-settings&reset_plugin=" . $hab_reset_key; ?></a> 253 </p> 254 </div> 255 </div> 256 </form> 257 <script> 258 if (jQuery('#had_capabilities').length) { 259 jQuery('#had_capabilities').tagsInput({ 260 'width': '100%', 261 'height': '75%', 262 'interactive': true, 263 'defaultText': 'Add More', 264 'removeWithBackspace': true, 265 'minChars': 0, 266 'maxChars': 20, // if not provided there is no limit 267 'placeholderColor': '#666666' 268 }); 269 } 270 </script> 271 </div> 272 </div> 273 </div> 274 </div> 275 276 </div> 277 229 </div> 230 </div> 231 </div> 232 </div> 233 <?php if ( $disableForAll == "no" || empty( $disableForAll ) ) { ?> 234 <div class="row mt-3"> 235 <div class="col-md-12"> 236 <div class="form-group row"> 237 <label class="col-sm-6 col-form-label"><?php echo __( 'Hide Admin Bar for All Guests Users', 'hide-admin-bar-based-on-user-roles' ); ?></label> 238 <div class="col-sm-6"> 239 <?php 240 $disableForAllGuests = ( isset( $settings["hab_disableforallGuests"] ) ) ? $settings["hab_disableforallGuests"] : ""; 241 $checkedGuests = ( $disableForAllGuests == 'yes' ) ? "checked" : ""; 242 echo '<div class="icheck-square"> 243 <input tabindex="5" ' . $checkedGuests . ' type="checkbox" id="hide_for_all_guests"> 244 </div>'; 245 ?> 246 247 </div> 248 </div> 249 </div> 250 </div> 251 <div class="row mt-3"> 252 <div class="col-md-12"> 253 <div class="form-group row"> 254 <label class="col-sm-6 col-form-label"><?php echo __( 'User Roles', 'hide-admin-bar-based-on-user-roles' ); ?> 255 <br/><br/><?php echo __( 'Hide admin bar for selected user roles.', 'hide-admin-bar-based-on-user-roles' ); ?> 256 </label> 257 <div class="col-sm-6"> 258 <?php 259 global $wp_roles; 260 $exRoles = ( isset( $settings["hab_userRoles"] ) ) ? $settings["hab_userRoles"] : ""; 261 $checked = ''; 262 263 $roles = $wp_roles->get_names(); 264 if ( is_array( $roles ) ) { 265 foreach ( $roles as $key => $value ): 266 if ( is_array( $exRoles ) ) { 267 $checked = ( in_array( $key, $exRoles ) ) ? "checked" : ""; 268 } 269 270 echo '<div class="icheck-square"> 271 <input name="userRoles[]" ' . $checked . ' tabindex="5" type="checkbox" value="' . $key . '"> ' . $value . ' 272 </div>'; 273 endforeach; 274 } 275 ?> 276 277 </div> 278 </div> 279 </div> 280 </div> 281 <div class="row mt-3"> 282 <div class="col-md-12"> 283 <div class="form-group row"> 284 <label class="col-sm-6 col-form-label"><?php echo __( 'Capabilities Blacklist', 'hide-admin-bar-based-on-user-roles' ); 285 echo '<br />'; 286 echo __( 'Hide admin bar for selected user capabilities', 'hide-admin-bar-based-on-user-roles' ); ?></label> 287 <div class="col-sm-6"> 288 <?php 289 $caps = ( isset( $settings["hab_capabilities"] ) ) ? $settings["hab_capabilities"] : ""; 290 ?> 291 <div class="icheck-square"> 292 <textarea name="had_capabilities" 293 id="had_capabilities" rows="5" cols="50"><?php echo $caps; ?></textarea> 294 </div> 295 </div> 296 </div> 297 </div> 298 </div> 299 <?php } ?> 300 <div class="row mt-3"> 301 <div class="col-md-12"> 302 <button type="button" class="btn btn-primary btn-fw" 303 id="submit_roles"><?php echo __( "Save Changes", 'hide-admin-bar-based-on-user-roles' ); ?></button> 304 </div> 305 <div class="col-md-12"> 306 <br/> 307 <p><?php echo __( "You can reset plugin settings by visiting this url without login to admin panel. Keep it safe.", 'hide-admin-bar-based-on-user-roles' ); ?> 308 <br/><a href="<?php echo admin_url() . "options-general.php?page=hide-admin-bar-settings&reset_plugin=" . $hab_reset_key; ?>" 309 target="_blank"><?php echo admin_url() . "options-general.php?page=hide-admin-bar-settings&reset_plugin=" . $hab_reset_key; ?></a> 310 </p> 311 </div> 312 </div> 313 </form> 314 <script> 315 if (jQuery('#had_capabilities').length) { 316 jQuery('#had_capabilities').tagsInput({ 317 'width': '100%', 318 'height': '75%', 319 'interactive': true, 320 'defaultText': 'Add More', 321 'removeWithBackspace': true, 322 'minChars': 0, 323 'maxChars': 20, // if not provided there is no limit 324 'placeholderColor': '#666666' 325 }); 326 } 327 </script> 328 </div> 329 </div> <!-- WordPress Tab End ---> 330 331 <div class="tab-pane fade" id="tools" role="tabpanel" aria-labelledby="tools-tab"> 332 <div class="row"> 333 <div class="ultimakit-promo w-100 my-4"> 334 <div class="card border-0 w-100"> 335 <div class="card-body p-4"> 336 <div class="row g-4 w-100 mx-0"> 337 <div class="col-lg-8"> 338 <div class="feature-content"> 339 <span class="badge bg-primary-subtle text-primary mb-2">170+ Powerful Modules</span> 340 <h3 class="text-primary mb-3">UltimaKit For WP – All-in-One WordPress Toolkit for SEO, Customization, and Performance</h3> 341 <div class="features-list mb-4"> 342 <p class="text-secondary mb-3"> 343 Simplify your WordPress management with UltimaKit – the all-in-one toolkit that replaces 25+ plugins. Popular modules include: 344 </p> 345 <div class="module-highlights"> 346 <span class="module-tag">GDPR Compliance</span> 347 <span class="module-tag">Hide Admin Bar</span> 348 <span class="module-tag">Custom Post Types</span> 349 <span class="module-tag">SEO Tools</span> 350 <span class="module-tag">Post & Page Order</span> 351 <span class="module-tag">Admin Activity Logger</span> 352 <span class="module-tag">Gravity Forms: Address Autocomplete</span> 353 <span class="module-tag">Gravity Forms: AI Analysis</span> 354 <span class="module-tag">Gravity Forms: Form Analytics(Most advanced analytics)</span> 355 <span class="module-tag">WooCommerce Modules</span> 356 </div> 357 </div> 358 <button href="#" data-plugin-slug="ultimakit-for-wp" class="install-plugin btn btn-primary btn-lg"> 359 Install UltimaKit Now 360 </button> 361 362 <div class="loader-wrapper"> 363 <div class="loader-bar"></div> 364 </div> 365 366 <div class="progress-steps"> 367 <div class="step" data-step="check"> 368 <i class="dashicons dashicons-search"></i> 369 Checking plugin status... 370 </div> 371 <div class="step" data-step="download"> 372 <i class="dashicons dashicons-download"></i> 373 Downloading plugin... 374 </div> 375 <div class="step" data-step="install"> 376 <i class="dashicons dashicons-admin-plugins"></i> 377 Installing plugin... 378 </div> 379 <div class="step" data-step="activate"> 380 <i class="dashicons dashicons-yes"></i> 381 Activating plugin... 382 </div> 383 </div> 384 385 <a href="https://wpultimakit.com" target="_blank" class="btn btn-primary btn-lg"> 386 Learn More About UltimaKit 387 </a> 388 </div> 389 </div> 390 <div class="col-lg-4"> 391 <div class="stats-container"> 392 <div class="stat-item"> 393 <span class="stat-number">25+</span> 394 <span class="stat-label">Plugins Replaced</span> 395 </div> 396 <div class="stat-item"> 397 <span class="stat-number">170+</span> 398 <span class="stat-label">Powerful Modules</span> 399 </div> 400 <div class="stat-item"> 401 <span class="stat-number">20+</span> 402 <span class="stat-label">WooCommerce Modules</span> 403 </div> 404 <div class="stat-item"> 405 <span class="stat-number">15+</span> 406 <span class="stat-label">Gravity Forms Modules</span> 407 </div> 408 </div> 409 </div> 410 </div> 411 </div> 412 </div> 413 </div> 414 415 <div class="ultimakit-promo w-100 my-4"> 416 <div class="card border-0 w-100"> 417 <div class="card-body p-4"> 418 <div class="row g-4 w-100 mx-0"> 419 <div class="col-lg-8"> 420 <div class="feature-content"> 421 <span class="badge bg-primary-subtle text-primary mb-2">Smart Note-Taking for WordPress</span> 422 <h3 class="text-primary mb-3">Smart Note-Taking for WordPress</h3> 423 <div class="features-list mb-4"> 424 <p class="text-secondary mb-3"> 425 Enhance your WordPress experience with intelligent note-taking directly in your dashboard. Perfect for content creators, developers, and site managers! 426 </p> 427 <div class="module-highlights"> 428 <span class="module-tag">Quick Notes Dashboard</span> 429 <span class="module-tag">Rich Text Editor</span> 430 <span class="module-tag">Task Management</span> 431 <span class="module-tag">Post Draft Notes</span> 432 <span class="module-tag">Team Collaboration</span> 433 <span class="module-tag">Custom Categories</span> 434 <span class="module-tag">Markdown Support</span> 435 <span class="module-tag">File Attachments</span> 436 </div> 437 </div> 438 <button href="#" data-plugin-slug="noteflow" class="install-plugin btn btn-primary btn-lg"> 439 Install Noteflow Now 440 </button> 441 442 <div class="loader-wrapper"> 443 <div class="loader-bar"></div> 444 </div> 445 446 <div class="progress-steps"> 447 <div class="step" data-step="check"> 448 <i class="dashicons dashicons-search"></i> 449 Checking plugin status... 450 </div> 451 <div class="step" data-step="download"> 452 <i class="dashicons dashicons-download"></i> 453 Downloading plugin... 454 </div> 455 <div class="step" data-step="install"> 456 <i class="dashicons dashicons-admin-plugins"></i> 457 Installing plugin... 458 </div> 459 <div class="step" data-step="activate"> 460 <i class="dashicons dashicons-yes"></i> 461 Activating plugin... 462 </div> 463 </div> 464 465 <a href="https://wordpress.org/plugins/noteflow/" target="_blank" class="btn btn-primary btn-lg"> 466 Learn More About Noteflow 467 </a> 468 </div> 469 </div> 470 <div class="col-lg-4"> 471 <div class="stats-container"> 472 <div class="stat-item"> 473 <span class="stat-number">100%</span> 474 <span class="stat-label">Free Forever</span> 475 </div> 476 <div class="stat-item"> 477 <span class="stat-number">5★</span> 478 <span class="stat-label">User Rating</span> 479 </div> 480 <div class="stat-item"> 481 <span class="stat-number">1-Click</span> 482 <span class="stat-label">Quick Notes</span> 483 </div> 484 </div> 485 </div> 486 </div> 487 </div> 488 </div> 489 </div> 490 491 </div> 492 </div> <!-- WordPress Tab End ---> 493 494 </div> 495 <!-- Duplicate the above block for each module you have --> 496 </div> 497 </div> 498 </div> 278 499 279 500 <?php … … 313 534 } 314 535 536 public function enqueue_silent_installer() { 537 538 } 539 540 public function check_plugin_status() { 541 // Check nonce 542 if (!check_ajax_referer('silent_installer', 'nonce', false)) { 543 wp_send_json_error(array('message' => 'Invalid security token.')); 544 } 545 546 // Check user capabilities 547 if (!current_user_can('install_plugins')) { 548 wp_send_json_error(array('message' => 'You do not have permission to install plugins.')); 549 } 550 551 $plugin_slug = sanitize_text_field($_POST['plugin_slug']); 552 553 if (empty($plugin_slug)) { 554 wp_send_json_error(array('message' => 'Plugin slug is required.')); 555 } 556 557 require_once ABSPATH . 'wp-admin/includes/plugin.php'; 558 559 $all_plugins = get_plugins(); 560 $plugin_base_file = false; 561 562 foreach ($all_plugins as $file => $plugin) { 563 if (strpos($file, $plugin_slug . '/') === 0) { 564 $plugin_base_file = $file; 565 break; 566 } 567 } 568 569 wp_send_json_success(array( 570 'installed' => !empty($plugin_base_file), 571 'active' => !empty($plugin_base_file) && is_plugin_active($plugin_base_file) 572 )); 573 } 574 575 public function handle_silent_install_plugin() { 576 // Check nonce 577 if (!check_ajax_referer('silent_installer', 'nonce', false)) { 578 wp_send_json_error(array('message' => 'Invalid security token.')); 579 } 580 581 // Check user capabilities 582 if (!current_user_can('install_plugins')) { 583 wp_send_json_error(array('message' => 'You do not have permission to install plugins.')); 584 } 585 586 $plugin_slug = sanitize_text_field($_POST['plugin_slug']); 587 588 if (empty($plugin_slug)) { 589 wp_send_json_error(array('message' => 'Plugin slug is required.')); 590 } 591 592 // Include required files 593 require_once ABSPATH . 'wp-admin/includes/plugin.php'; 594 require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; 595 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; 596 require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php'; 597 598 // Check if plugin is already installed 599 $installed_plugins = get_plugins(); 600 $plugin_base_file = false; 601 602 foreach ($installed_plugins as $file => $plugin) { 603 if (strpos($file, $plugin_slug . '/') === 0) { 604 $plugin_base_file = $file; 605 break; 606 } 607 } 608 609 // If plugin is not installed, install it 610 if (!$plugin_base_file) { 611 try { 612 // Get plugin info 613 $api = plugins_api('plugin_information', array( 614 'slug' => $plugin_slug, 615 'fields' => array( 616 'short_description' => false, 617 'sections' => false, 618 'requires' => false, 619 'rating' => false, 620 'ratings' => false, 621 'downloaded' => false, 622 'last_updated' => false, 623 'added' => false, 624 'tags' => false, 625 'compatibility' => false, 626 'homepage' => false, 627 'donate_link' => false, 628 ), 629 )); 630 631 if (is_wp_error($api)) { 632 wp_send_json_error(array('message' => $api->get_error_message())); 633 } 634 635 $upgrader = new Plugin_Upgrader(new WP_Ajax_Upgrader_Skin()); 636 $install_result = $upgrader->install($api->download_link); 637 638 if (is_wp_error($install_result)) { 639 wp_send_json_error(array('message' => $install_result->get_error_message())); 640 } 641 642 $plugin_base_file = $upgrader->plugin_info(); 643 644 } catch (Exception $e) { 645 wp_send_json_error(array('message' => $e->getMessage())); 646 } 647 } 648 649 // Activate the plugin 650 if ($plugin_base_file) { 651 try { 652 $activation_result = activate_plugin($plugin_base_file); 653 654 if (is_wp_error($activation_result)) { 655 wp_send_json_error(array('message' => $activation_result->get_error_message())); 656 } 657 658 wp_send_json_success(array( 659 'message' => 'Plugin installed and activated successfully', 660 'plugin_file' => $plugin_base_file 661 )); 662 663 } catch (Exception $e) { 664 wp_send_json_error(array('message' => $e->getMessage())); 665 } 666 } else { 667 wp_send_json_error(array('message' => 'Plugin installation failed.')); 668 } 669 } 315 670 } -
hide-admin-bar-based-on-user-roles/tags/5.0.0/admin/css/hide-admin-bar-based-on-user-roles-admin.css
r2172542 r3241205 1 /** 2 * All of the CSS for your admin-specific functionality should be 3 * included in this file. 4 */ 5 6 /* .rolesList input[type="checkbox"] { margin: 0px 10px 0px 10px; } 7 .advertisement{ 8 9 }*/ 10 .card { max-width: 100% !important; } 11 .main-panel{ width: calc(100% - 150px); } 12 .card .card-header.header-sm { padding: 6px 5px; height: 60px; } 13 #wpfooter{ display: none; } 1 .doc-badge a,.explore-btn,.help-section a,.learn-more-link{text-decoration:none}.badge-primary,.bg-primary,.btn-primary{background-color:#6610f2!important;border-color:#6610f2!important}.badge-secondary,.bg-secondary,.btn-secondary{background-color:silver!important;border-color:silver!important}.badge-warning,.bg-warning,.btn-warning{background-color:gold!important;border-color:gold!important}.navbar{font-family:Arial,sans-serif}.nav-item.nav-link:hover{color:gold!important}.nav-item.nav-link:last-child{padding:5px 15px;border:2px solid gold;border-radius:20px}.nav-item.nav-link:last-child:hover{background-color:gold;color:#6610f2!important}.nav-item.nav-link.get-pro{padding:5px 15px;border:2px solid gold;border-radius:20px;background-color:gold;color:#3498db}.nav-item.nav-link.get-pro:hover{background-color:#3498db;color:gold!important}.module-container{box-shadow:0 4px 8px rgba(0,0,0,.1);padding:20px;margin:20px 0;border-radius:15px;background-color:#fff}.module-container .filters .filter_container{display:flex;align-items:center;margin-bottom:25px}.module-container .filters .filter_container h4{margin-right:20px;color:#3498db;font-size:22px}.module-container .filters .filter_container input,.module-container .filters .filter_container select{border:2px solid #3498db;border-radius:10px;padding-top:5px;padding-bottom:5px}.module-box{background-color:#fff;border:2px solid silver;border-radius:15px;margin:10px;position:relative;height:200px;box-sizing:border-box}.module-box:hover{border:2px solid #3498db;box-shadow:0 4px 8px rgba(102,16,242,.3),0 6px 20px rgba(102,16,242,.25)}.module-title{position:absolute;top:10px;left:10px;color:#3498db;font-size:1.1rem;max-width:195px}.learn-more-link,.module-description{position:absolute;left:10px;font-size:.9em}.module-description{top:40px;color:#666;max-width:90%;margin-top:15px}.module-switch{position:absolute;top:10px;right:-30px}.learn-more-link{bottom:10px;color:#3498db;border:2px solid #3498db;padding:5px 10px;border-radius:8px;background-color:#fff;transition:background-color .3s,color .3s;cursor:pointer}.doc-badge,.free-badge,.pro-badge{border-radius:8px;position:absolute;bottom:10px}.learn-more-link:hover{background-color:#3498db;color:#fff}.pro-badge{background:linear-gradient(45deg,#6610f2,gold);text-shadow:1px 1px 1px rgba(0,0,0,.2)}.form-check-input:checked+.form-check-label::before,.free-badge,.pro-badge{background-color:#3498db}.free-badge,.pro-badge{right:10px;color:#fff;padding:2px 8px;font-size:.8em}.doc-badge{right:140px;color:#3498db;padding:1px 5px;font-size:.9em;cursor:pointer}.doc-badge a{color:#3498db}.form-check-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.form-check-label{position:relative;padding-left:45px;cursor:pointer;font-weight:600;text-indent:-9999px;overflow:hidden;white-space:nowrap}.form-check-label::after,.form-check-label::before{content:"";position:absolute;top:50%;transform:translateY(-50%)}.form-check-label::before{left:0;width:30px;height:16px;background-color:#ddd;border-radius:8px;transition:background-color .3s}.form-check-label::after{left:2px;width:12px;height:12px;background-color:#fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:left .3s}.form-check-input:checked+.form-check-label::after{left:16px}.nav-tabs{border-bottom:2px solid silver;margin-bottom:15px}.nav-tabs .nav-item{margin-bottom:-2px}.nav-tabs .nav-link{border-radius:8px 8px 0 0;border:2px solid transparent;color:#3498db;padding:10px 15px;transition:.3s;box-shadow:none}.nav-tabs .nav-link:hover{background-color:#f2f2f2;border-color:silver;box-shadow:none}.nav-tabs .nav-link.active{background-color:#fff;color:#3498db;border-color:silver silver #fff}.tab-content{border:2px solid silver;border-top:none;border-radius:0 0 8px 8px;padding:20px;margin-top:-17px}.plugin-badge{position:absolute;bottom:10px;right:60px;color:#fff;background-color:#007bff;padding:2px 8px;border-radius:8px;font-size:.8em;z-index:10}.help-container,.plugin-item{background-color:#f7f8fc;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,.05)}.plugin-badge.woocommerce{background-color:#96588a}.module-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.filter-controls{display:flex;gap:10px}.module-filters .form-control,.module-filters .form-select{width:auto}.search-control{width:20%}.search-control input{width:100%!important}.help-container{padding:20px 30px}.help-section{margin-bottom:40px}.faqs .faq-item{margin-bottom:20px;border-left:4px solid #3498db;padding-left:15px}.faqs h3{color:#3498db;font-size:1.2em;margin-bottom:10px}.help-section h2{border-bottom:2px solid #e0e2e6;padding-bottom:10px;margin-bottom:20px;font-size:1.4em}.help-section a{color:#007bff;transition:color .3s}.help-section a:hover{color:#0056b3}.plugins-container{display:flex;flex-wrap:wrap;gap:20px}.plugin-item{flex:1;max-width:calc(33.33% - 20px);padding:20px;text-align:center}.module-tag,.stat-item{box-shadow:0 2px 4px rgba(0,0,0,.1)}.plugin-image{max-width:100%;height:auto;margin-bottom:15px}.ultimakit-promo,.ultimakit-promo .card{width:100%!important;max-width:100%!important}.plugin-item h3{font-size:1.2em;color:#3498db;margin-bottom:10px}.explore-btn{background-color:#007bff;color:#fff;border-radius:8px;padding:10px 20px;transition:background-color .3s}.explore-btn:hover{background-color:#0056b3}.ultimakit-promo .card{background:linear-gradient(135deg,#fdfbfb,#ebedee);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:.3s}.module-tag,.ultimakit-promo .badge{border-radius:20px;font-size:.875rem;font-weight:600}.ultimakit-promo .badge{padding:.5em 1em}.ultimakit-promo h3{font-size:2rem;font-weight:700;color:#dc3545}.module-highlights{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.module-tag{padding:.5rem 1rem}.stats-container{display:flex;flex-direction:column;gap:1rem;height:100%;justify-content:center}.stat-item{padding:1.5rem;border-radius:10px;text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:800;line-height:1}.stat-label{display:block;font-size:1rem;font-weight:500;margin-top:.5rem}.btn-danger{padding:.75rem 1.5rem;font-weight:600;border-radius:6px;background:#dc3545;border:none;transition:.3s}.btn-danger:hover{background:#c82333;transform:translateY(-1px)}.feature-content .btn-lg{border-radius:25px!important}.install-plugin{padding:10px 20px;background:#6610f2;color:#fff;border:none;border-radius:4px;cursor:pointer;position:relative;transition:.3s;min-width:150px}.install-plugin:disabled{background:#72aee6;cursor:not-allowed}.loader-wrapper{display:none;position:relative;width:100%;height:4px;background:#e2e4e7;margin-top:10px;border-radius:2px;overflow:hidden}.loader-bar{position:absolute;width:0%;height:100%;background:#6610f2;transition:width .3s;border-radius:2px}.progress-steps{display:none;margin-top:15px;font-size:13px;color:#50575e}.step{margin:5px 0;opacity:.7}.step.active{opacity:1;color:#6610f2;font-weight:500}.step i{margin-right:5px}.success-icon{display:none;color:#00a32a;margin-left:8px}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fade-in{animation:.3s ease-in fadeIn}@media (max-width:991px){.stats-container{flex-direction:row;margin-top:1rem}.stat-item{flex:1}.feature-content{text-align:center}.module-highlights{justify-content:center}}@media (max-width:576px){.stats-container{flex-direction:column}.module-tag{width:100%;text-align:center}} -
hide-admin-bar-based-on-user-roles/tags/5.0.0/admin/js/hide-admin-bar-based-on-user-roles-admin.js
r3085812 r3241205 38 38 }); 39 39 40 }) 40 }); 41 42 43 44 45 41 46 }(jQuery); -
hide-admin-bar-based-on-user-roles/tags/5.0.0/hide-admin-bar-based-on-user-roles.php
r3214206 r3241205 13 13 * Plugin URI: https://wordpress.org/plugins/hide-admin-bar-based-on-user-roles/ 14 14 * Description: This plugin is very useful to hide admin bar based on selected user roles and user capabilities. 15 * Version: 4.1.015 * Version: 5.0.0 16 16 * Author: Ankit Panchal 17 17 * Author URI: https://wpankit.com/ … … 47 47 * Rename this for your plugin and update it as you release new versions. 48 48 */ 49 define( 'HIDE_ADMIN_BAR_BASED_ON_USER_ROLES', ' 4.1.0' );49 define( 'HIDE_ADMIN_BAR_BASED_ON_USER_ROLES', '5.0.0' ); 50 50 51 51 /** … … 93 93 hab_run_hide_admin_bar_based_on_user_roles(); 94 94 95 96 // Function to display the dismissible advertisement bar97 function display_custom_advertisement_habou() {98 // Check if the user has dismissed the ad already99 if (get_user_meta(get_current_user_id(), 'dismiss_custom_ad_habou', true)) {100 return; // Don't show the ad if it has been dismissed101 }102 if( isset($_GET['page']) && 'hide-admin-bar-settings' === $_GET['page'] ){103 echo '<div class="notice notice-info is-dismissible" id="custom-advertisement-bar-dbefm">';104 echo '<p><strong>Replace 25+ Plugins with Just One!</strong> Try UltimaKit for WP – the all-in-one WordPress toolkit for performance, security, and customization. <a href="https://wpultimakit.com/features/" target="_blank">Learn more</a> <strong></strong></p>';105 echo '</div>';106 }107 }108 add_action('admin_notices', 'display_custom_advertisement_habou');109 110 95 // Function to store the dismissed state using AJAX 111 96 function custom_advertisement_dismiss_habou() { -
hide-admin-bar-based-on-user-roles/tags/5.0.0/includes/class-hide-admin-bar-based-on-user-roles.php
r3085812 r3241205 160 160 $this->loader->add_action( 'wp_ajax_save_user_roles', $plugin_admin, 'save_user_roles' ); 161 161 $this->loader->add_action( 'upgrader_process_complete', $plugin_admin, 'upgrader_process_complete' ); 162 163 164 162 $this->loader->add_action( 'wp_ajax_check_plugin_status', $plugin_admin, 'check_plugin_status' ); 163 $this->loader->add_action( 'wp_ajax_silent_install_plugin', $plugin_admin, 'handle_silent_install_plugin' ); 164 165 165 166 166 } -
hide-admin-bar-based-on-user-roles/trunk/README.txt
r3214206 r3241205 8 8 Tested up to: 6.7 9 9 Requires PHP: 5.6 10 Stable tag: 4.1.010 Stable tag: 5.0.0 11 11 License: GPLv2 or later 12 12 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 70 70 == Changelog == 71 71 72 = 5.0.0 - 16-02-2025 = 73 * Admin ui updated. 74 * Compatibility tested & Tested with the latest WordPress version. 75 72 76 = 4.1.0 - 28-12-2024 = 73 77 Compatibility tested & Tested with the latest WordPress version. -
hide-admin-bar-based-on-user-roles/trunk/admin/class-hide-admin-bar-based-on-user-roles-admin.php
r3085812 r3241205 76 76 77 77 if ( isset( $_GET['page'] ) && $_GET['page'] == 'hide-admin-bar-settings' ) { 78 wp_enqueue_style( "hab_materials_icons", plugin_dir_url( __FILE__ ) . 'css/materialdesignicons.min.css', array(), $this->version, 'all' ); 79 wp_enqueue_style( "hab_icheck", plugin_dir_url( __FILE__ ) . 'css/all.css', array(), $this->version, 'all' ); 80 wp_enqueue_style( "hab_tags_input", plugin_dir_url( __FILE__ ) . 'css/jquery.tagsinput.min.css', array(), $this->version, 'all' ); 81 wp_enqueue_style( "hab_style", plugin_dir_url( __FILE__ ) . 'css/style.css', array(), $this->version, 'all' ); 82 wp_enqueue_style( "hab_style_1", plugin_dir_url( __FILE__ ) . 'css/style_1.css', array(), $this->version, 'all' ); 83 84 wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/hide-admin-bar-based-on-user-roles-admin.css', array(), $this->version, 'all' ); 78 79 wp_enqueue_style( 'select2-css', plugin_dir_url( __FILE__ ) . 'css/select2.min.css', array(), $this->version, 'all' ); 80 81 wp_enqueue_style( 'ultimakit_bootstrap_main', plugin_dir_url( __FILE__ ) . 'css/bootstrap.min.css', array(), $this->version, 'all' ); 82 wp_enqueue_style( 'ultimakit_bootstrap_rtl', plugin_dir_url( __FILE__ ) . 'css/bootstrap.rtl.min.css', array(), $this->version, 'all' ); 83 // Enqueue toastr CSS. 84 wp_enqueue_style( 'toastr-css', plugin_dir_url( __FILE__ ) . 'css/toastr.min.css', array(), $this->version, 'all' ); 85 86 wp_enqueue_style('dashicons'); 87 88 wp_enqueue_style( 'tagsinput-css', plugin_dir_url( __FILE__ ) . 'css/jquery.tagsinput.min.css', array(), $this->version, 'all' ); 89 wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/main.css', array(), $this->version, 'all' ); 90 wp_enqueue_style( $this->plugin_name.'-admin', plugin_dir_url( __FILE__ ) . 'css/hide-admin-bar-based-on-user-roles-admin.css', array(), $this->version, 'all' ); 91 85 92 } 86 93 … … 107 114 if ( isset( $_GET['page'] ) && $_GET['page'] == 'hide-admin-bar-settings' ) { 108 115 109 wp_enqueue_script( "hab_base_js", plugin_dir_url( __FILE__ ) . 'js/vendor.bundle.base.js', array( 'jquery' ), $this->version, false ); 110 111 wp_enqueue_script( "hab_icheck_min", plugin_dir_url( __FILE__ ) . 'js/icheck.min.js', array( 'jquery' ), $this->version, false ); 112 113 wp_enqueue_script( "hab_tags_input", plugin_dir_url( __FILE__ ) . 'js/jquery.tagsinput.min.js', array( 'jquery' ), $this->version, false ); 114 115 wp_enqueue_script( "hab_icheck", plugin_dir_url( __FILE__ ) . 'js/iCheck.js', array( 'jquery' ), $this->version, false ); 116 wp_enqueue_script( 'jquery' ); 117 wp_enqueue_script( 'ultimakit_bootstrap_bundle', plugin_dir_url( __FILE__ ) . 'js/bootstrap.bundle.min.js', array( 'jquery' ), $this->version, false ); 118 // Enqueue toastr.js. 119 wp_enqueue_script( 'toastr-js', plugin_dir_url( __FILE__ ) . 'js/toastr.min.js', array( 'jquery' ), $this->version, true ); 120 121 wp_enqueue_script( 'tagsinput-js', plugin_dir_url( __FILE__ ) . 'js/jquery.tagsinput.min.js', array( 'jquery' ), $this->version, false ); 122 123 wp_enqueue_script( 124 'silent-installer', 125 plugin_dir_url(__FILE__) . 'js/silent-installer.js', 126 array('jquery'), 127 '1.0', 128 true 129 ); 130 131 wp_localize_script('silent-installer', 'silent_installer_vars', array( 132 'ajaxurl' => admin_url('admin-ajax.php'), 133 'nonce' => wp_create_nonce('silent_installer'), 134 'installing_text' => __('Installing...', 'ultimakit'), 135 'activated_text' => __('Installed & Activated!', 'ultimakit'), 136 'error_text' => __('Installation Failed', 'ultimakit'), 137 'already_installed' => __('Already Installed & Active', 'ultimakit'), 138 'checking_status' => __('Checking plugin status...', 'ultimakit'), 139 'downloading' => __('Downloading plugin...', 'ultimakit'), 140 'installing' => __('Installing plugin...', 'ultimakit'), 141 'activating' => __('Activating plugin...', 'ultimakit') 142 )); 116 143 117 144 wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/hide-admin-bar-based-on-user-roles-admin.js', array( 'jquery' ), $this->version, false ); 118 119 145 $args = array( 120 146 'url' => admin_url( 'admin-ajax.php' ), … … 122 148 ); 123 149 wp_localize_script( $this->plugin_name, 'ajaxVar', $args ); 150 151 124 152 } 125 153 … … 147 175 echo '<script>window.location.reload();</script>'; 148 176 } 149 150 177 ?> 151 <div class="main-panel"> 152 <div class="container-wrapper"> 153 <div class="col-12 grid-margin"> 154 <div class="card"> 155 <div class="card-body"> 156 <h3><?php echo __( 'Hide Admin Bar Based on User Roles', 'hide-admin-bar-based-on-user-roles' ); ?></h3> 157 <br/> 158 <form class="form-sample"> 159 <div class="row"> 160 <div class="col-md-12"> 161 <div class="form-group row"> 162 <label class="col-sm-6 col-form-label"><?php echo __( 'Hide Admin Bar for All Users', 'hide-admin-bar-based-on-user-roles' ); ?></label> 163 <div class="col-sm-6"> 164 <?php 165 $disableForAll = ( isset( $settings["hab_disableforall"] ) ) ? $settings["hab_disableforall"] : ""; 166 $checked = ( $disableForAll == 'yes' ) ? "checked" : ""; 167 echo '<div class="icheck-square"> 168 <input tabindex="5" ' . $checked . ' type="checkbox" id="hide_for_all"> 169 </div>'; 170 ?> 171 172 </div> 173 </div> 174 </div> 175 </div> 176 <?php if ( $disableForAll == "no" || empty( $disableForAll ) ) { ?> 177 <div class="row"> 178 <div class="col-md-12"> 179 <div class="form-group row"> 180 <label class="col-sm-6 col-form-label"><?php echo __( 'Hide Admin Bar for All Guests Users', 'hide-admin-bar-based-on-user-roles' ); ?></label> 181 <div class="col-sm-6"> 178 <nav class="navbar navbar-expand-lg navbar-dark" style="background-color: #6610F2;"> 179 <div class="container-fluid p-2"> 180 <a class="navbar-brand" href="#"> 181 <img src="<?php echo esc_url( plugin_dir_url( __FILE__ ).'images/hide-admin-bar-logo.svg' ); ?>" class="d-inline-block align-top" alt="ultimakit-for-wp-logo" width="225px"> 182 <div class="wpuk-version-info"><?php echo esc_html_e( 'Current version:', 'ultimakit-for-wp' ); ?>5.0.0</div> 183 </a> 184 185 <div class="navbar-nav ml-auto"> 186 <a class="nav-item nav-link" target="_blank" href="https://wordpress.org/support/plugin/hide-admin-bar-based-on-user-roles/reviews/#new-post" style="color: #ffffff; margin-right: 20px"><?php echo esc_html_e( 'Leave Feedback', 'ultimakit-for-wp' ); ?></a> 187 </div> 188 </div> 189 </nav> 190 191 <div class="wrap"> 192 <div class="container-fluid module-container"> 193 <div class="row"> 194 <?php 195 $menu_active_class = ''; 196 $menu_active_class = 'active show'; 197 ?> 198 <!-- Nav tabs --> 199 <ul class="nav nav-tabs" id="wpukTabs" role="tablist"> 200 <li class="nav-item" role="presentation"> 201 <a class="nav-link <?php echo $menu_active_class; ?>" id="hab-modules-tab" data-bs-toggle="tab" href="#hab-modules" role="tab" aria-controls="hab-modules" aria-selected="true"><?php echo esc_html_e( 'Settings', 'ultimakit-for-wp' ); ?></a> 202 </li> 203 204 <li class="nav-item" role="presentation"> 205 <a class="nav-link" id="tools-tab" data-bs-toggle="tab" style="font-weight: 600; text-decoration: underline;" href="#tools" role="tab" aria-controls="tools" aria-selected="true"><?php echo esc_html_e( 'Powerful WordPress Tools', 'hide-admin-bar-based-on-user-roles' ); ?></a> 206 </li> 207 208 <li class="nav-item" role="presentation"> 209 <a class="nav-link" href="https://wordpress.org/support/plugin/hide-admin-bar-based-on-user-roles/" target="_blank"><?php echo esc_html_e( 'Help', 'ultimakit-for-wp' ); ?></a> 210 </li> 211 </ul> 212 <!-- Tab panes --> 213 <div class="tab-content" id="wpukTabsContent"> 214 <div class="tab-pane fade show <?php echo $menu_active_class; ?>" id="hab-modules" role="tabpanel" aria-labelledby="modules-tab"> 215 <div class="row"> 216 <form class="form-sample"> 217 <div class="row"> 218 <div class="col-md-12"> 219 <div class="form-group row"> 220 <label class="col-sm-6 col-form-label"><?php echo __( 'Hide Admin Bar for All Users', 'hide-admin-bar-based-on-user-roles' ); ?></label> 221 <div class="col-sm-6"> 182 222 <?php 183 $disableForAll Guests = ( isset( $settings["hab_disableforallGuests"] ) ) ? $settings["hab_disableforallGuests"] : "";184 $checked Guests = ( $disableForAllGuests== 'yes' ) ? "checked" : "";223 $disableForAll = ( isset( $settings["hab_disableforall"] ) ) ? $settings["hab_disableforall"] : ""; 224 $checked = ( $disableForAll == 'yes' ) ? "checked" : ""; 185 225 echo '<div class="icheck-square"> 186 <input tabindex="5" ' . $checkedGuests . ' type="checkbox" id="hide_for_all_guests">187 226 <input tabindex="5" ' . $checked . ' type="checkbox" id="hide_for_all"> 227 </div>'; 188 228 ?> 189 190 </div> 191 </div> 192 </div> 193 </div> 194 <div class="row"> 195 <div class="col-md-12"> 196 <div class="form-group row"> 197 <label class="col-sm-6 col-form-label"><?php echo __( 'User Roles', 'hide-admin-bar-based-on-user-roles' ); ?> 198 <br/><br/><?php echo __( 'Hide admin bar for selected user roles.', 'hide-admin-bar-based-on-user-roles' ); ?> 199 </label> 200 <div class="col-sm-6"> 201 <?php 202 global $wp_roles; 203 $exRoles = ( isset( $settings["hab_userRoles"] ) ) ? $settings["hab_userRoles"] : ""; 204 $checked = ''; 205 206 $roles = $wp_roles->get_names(); 207 if ( is_array( $roles ) ) { 208 foreach ( $roles as $key => $value ): 209 if ( is_array( $exRoles ) ) { 210 $checked = ( in_array( $key, $exRoles ) ) ? "checked" : ""; 211 } 212 213 echo '<div class="icheck-square"> 214 <input name="userRoles[]" ' . $checked . ' tabindex="5" type="checkbox" value="' . $key . '"> ' . $value . ' 215 </div>'; 216 endforeach; 217 } 218 ?> 219 220 </div> 221 </div> 222 </div> 223 </div> 224 <div class="row"> 225 <div class="col-md-12"> 226 <div class="form-group row"> 227 <label class="col-sm-6 col-form-label"><?php echo __( 'Capabilities Blacklist', 'hide-admin-bar-based-on-user-roles' ); 228 echo '<br />'; 229 echo __( 'Hide admin bar for selected user capabilities', 'hide-admin-bar-based-on-user-roles' ); ?></label> 230 <div class="col-sm-6"> 231 <?php 232 $caps = ( isset( $settings["hab_capabilities"] ) ) ? $settings["hab_capabilities"] : ""; 233 ?> 234 <div class="icheck-square"> 235 <textarea name="had_capabilities" 236 id="had_capabilities"><?php echo $caps; ?></textarea> 237 </div> 238 </div> 239 </div> 240 </div> 241 </div> 242 <?php } ?> 243 <div class="row"> 244 <div class="col-md-12"> 245 <button type="button" class="btn btn-primary btn-fw" 246 id="submit_roles"><?php echo __( "Save Changes", 'hide-admin-bar-based-on-user-roles' ); ?></button> 247 </div> 248 <div class="col-md-12"> 249 <br/> 250 <p><?php echo __( "You can reset plugin settings by visiting this url without login to admin panel. Keep it safe.", 'hide-admin-bar-based-on-user-roles' ); ?> 251 <br/><a href="<?php echo admin_url() . "options-general.php?page=hide-admin-bar-settings&reset_plugin=" . $hab_reset_key; ?>" 252 target="_blank"><?php echo admin_url() . "options-general.php?page=hide-admin-bar-settings&reset_plugin=" . $hab_reset_key; ?></a> 253 </p> 254 </div> 255 </div> 256 </form> 257 <script> 258 if (jQuery('#had_capabilities').length) { 259 jQuery('#had_capabilities').tagsInput({ 260 'width': '100%', 261 'height': '75%', 262 'interactive': true, 263 'defaultText': 'Add More', 264 'removeWithBackspace': true, 265 'minChars': 0, 266 'maxChars': 20, // if not provided there is no limit 267 'placeholderColor': '#666666' 268 }); 269 } 270 </script> 271 </div> 272 </div> 273 </div> 274 </div> 275 276 </div> 277 229 </div> 230 </div> 231 </div> 232 </div> 233 <?php if ( $disableForAll == "no" || empty( $disableForAll ) ) { ?> 234 <div class="row mt-3"> 235 <div class="col-md-12"> 236 <div class="form-group row"> 237 <label class="col-sm-6 col-form-label"><?php echo __( 'Hide Admin Bar for All Guests Users', 'hide-admin-bar-based-on-user-roles' ); ?></label> 238 <div class="col-sm-6"> 239 <?php 240 $disableForAllGuests = ( isset( $settings["hab_disableforallGuests"] ) ) ? $settings["hab_disableforallGuests"] : ""; 241 $checkedGuests = ( $disableForAllGuests == 'yes' ) ? "checked" : ""; 242 echo '<div class="icheck-square"> 243 <input tabindex="5" ' . $checkedGuests . ' type="checkbox" id="hide_for_all_guests"> 244 </div>'; 245 ?> 246 247 </div> 248 </div> 249 </div> 250 </div> 251 <div class="row mt-3"> 252 <div class="col-md-12"> 253 <div class="form-group row"> 254 <label class="col-sm-6 col-form-label"><?php echo __( 'User Roles', 'hide-admin-bar-based-on-user-roles' ); ?> 255 <br/><br/><?php echo __( 'Hide admin bar for selected user roles.', 'hide-admin-bar-based-on-user-roles' ); ?> 256 </label> 257 <div class="col-sm-6"> 258 <?php 259 global $wp_roles; 260 $exRoles = ( isset( $settings["hab_userRoles"] ) ) ? $settings["hab_userRoles"] : ""; 261 $checked = ''; 262 263 $roles = $wp_roles->get_names(); 264 if ( is_array( $roles ) ) { 265 foreach ( $roles as $key => $value ): 266 if ( is_array( $exRoles ) ) { 267 $checked = ( in_array( $key, $exRoles ) ) ? "checked" : ""; 268 } 269 270 echo '<div class="icheck-square"> 271 <input name="userRoles[]" ' . $checked . ' tabindex="5" type="checkbox" value="' . $key . '"> ' . $value . ' 272 </div>'; 273 endforeach; 274 } 275 ?> 276 277 </div> 278 </div> 279 </div> 280 </div> 281 <div class="row mt-3"> 282 <div class="col-md-12"> 283 <div class="form-group row"> 284 <label class="col-sm-6 col-form-label"><?php echo __( 'Capabilities Blacklist', 'hide-admin-bar-based-on-user-roles' ); 285 echo '<br />'; 286 echo __( 'Hide admin bar for selected user capabilities', 'hide-admin-bar-based-on-user-roles' ); ?></label> 287 <div class="col-sm-6"> 288 <?php 289 $caps = ( isset( $settings["hab_capabilities"] ) ) ? $settings["hab_capabilities"] : ""; 290 ?> 291 <div class="icheck-square"> 292 <textarea name="had_capabilities" 293 id="had_capabilities" rows="5" cols="50"><?php echo $caps; ?></textarea> 294 </div> 295 </div> 296 </div> 297 </div> 298 </div> 299 <?php } ?> 300 <div class="row mt-3"> 301 <div class="col-md-12"> 302 <button type="button" class="btn btn-primary btn-fw" 303 id="submit_roles"><?php echo __( "Save Changes", 'hide-admin-bar-based-on-user-roles' ); ?></button> 304 </div> 305 <div class="col-md-12"> 306 <br/> 307 <p><?php echo __( "You can reset plugin settings by visiting this url without login to admin panel. Keep it safe.", 'hide-admin-bar-based-on-user-roles' ); ?> 308 <br/><a href="<?php echo admin_url() . "options-general.php?page=hide-admin-bar-settings&reset_plugin=" . $hab_reset_key; ?>" 309 target="_blank"><?php echo admin_url() . "options-general.php?page=hide-admin-bar-settings&reset_plugin=" . $hab_reset_key; ?></a> 310 </p> 311 </div> 312 </div> 313 </form> 314 <script> 315 if (jQuery('#had_capabilities').length) { 316 jQuery('#had_capabilities').tagsInput({ 317 'width': '100%', 318 'height': '75%', 319 'interactive': true, 320 'defaultText': 'Add More', 321 'removeWithBackspace': true, 322 'minChars': 0, 323 'maxChars': 20, // if not provided there is no limit 324 'placeholderColor': '#666666' 325 }); 326 } 327 </script> 328 </div> 329 </div> <!-- WordPress Tab End ---> 330 331 <div class="tab-pane fade" id="tools" role="tabpanel" aria-labelledby="tools-tab"> 332 <div class="row"> 333 <div class="ultimakit-promo w-100 my-4"> 334 <div class="card border-0 w-100"> 335 <div class="card-body p-4"> 336 <div class="row g-4 w-100 mx-0"> 337 <div class="col-lg-8"> 338 <div class="feature-content"> 339 <span class="badge bg-primary-subtle text-primary mb-2">170+ Powerful Modules</span> 340 <h3 class="text-primary mb-3">UltimaKit For WP – All-in-One WordPress Toolkit for SEO, Customization, and Performance</h3> 341 <div class="features-list mb-4"> 342 <p class="text-secondary mb-3"> 343 Simplify your WordPress management with UltimaKit – the all-in-one toolkit that replaces 25+ plugins. Popular modules include: 344 </p> 345 <div class="module-highlights"> 346 <span class="module-tag">GDPR Compliance</span> 347 <span class="module-tag">Hide Admin Bar</span> 348 <span class="module-tag">Custom Post Types</span> 349 <span class="module-tag">SEO Tools</span> 350 <span class="module-tag">Post & Page Order</span> 351 <span class="module-tag">Admin Activity Logger</span> 352 <span class="module-tag">Gravity Forms: Address Autocomplete</span> 353 <span class="module-tag">Gravity Forms: AI Analysis</span> 354 <span class="module-tag">Gravity Forms: Form Analytics(Most advanced analytics)</span> 355 <span class="module-tag">WooCommerce Modules</span> 356 </div> 357 </div> 358 <button href="#" data-plugin-slug="ultimakit-for-wp" class="install-plugin btn btn-primary btn-lg"> 359 Install UltimaKit Now 360 </button> 361 362 <div class="loader-wrapper"> 363 <div class="loader-bar"></div> 364 </div> 365 366 <div class="progress-steps"> 367 <div class="step" data-step="check"> 368 <i class="dashicons dashicons-search"></i> 369 Checking plugin status... 370 </div> 371 <div class="step" data-step="download"> 372 <i class="dashicons dashicons-download"></i> 373 Downloading plugin... 374 </div> 375 <div class="step" data-step="install"> 376 <i class="dashicons dashicons-admin-plugins"></i> 377 Installing plugin... 378 </div> 379 <div class="step" data-step="activate"> 380 <i class="dashicons dashicons-yes"></i> 381 Activating plugin... 382 </div> 383 </div> 384 385 <a href="https://wpultimakit.com" target="_blank" class="btn btn-primary btn-lg"> 386 Learn More About UltimaKit 387 </a> 388 </div> 389 </div> 390 <div class="col-lg-4"> 391 <div class="stats-container"> 392 <div class="stat-item"> 393 <span class="stat-number">25+</span> 394 <span class="stat-label">Plugins Replaced</span> 395 </div> 396 <div class="stat-item"> 397 <span class="stat-number">170+</span> 398 <span class="stat-label">Powerful Modules</span> 399 </div> 400 <div class="stat-item"> 401 <span class="stat-number">20+</span> 402 <span class="stat-label">WooCommerce Modules</span> 403 </div> 404 <div class="stat-item"> 405 <span class="stat-number">15+</span> 406 <span class="stat-label">Gravity Forms Modules</span> 407 </div> 408 </div> 409 </div> 410 </div> 411 </div> 412 </div> 413 </div> 414 415 <div class="ultimakit-promo w-100 my-4"> 416 <div class="card border-0 w-100"> 417 <div class="card-body p-4"> 418 <div class="row g-4 w-100 mx-0"> 419 <div class="col-lg-8"> 420 <div class="feature-content"> 421 <span class="badge bg-primary-subtle text-primary mb-2">Smart Note-Taking for WordPress</span> 422 <h3 class="text-primary mb-3">Smart Note-Taking for WordPress</h3> 423 <div class="features-list mb-4"> 424 <p class="text-secondary mb-3"> 425 Enhance your WordPress experience with intelligent note-taking directly in your dashboard. Perfect for content creators, developers, and site managers! 426 </p> 427 <div class="module-highlights"> 428 <span class="module-tag">Quick Notes Dashboard</span> 429 <span class="module-tag">Rich Text Editor</span> 430 <span class="module-tag">Task Management</span> 431 <span class="module-tag">Post Draft Notes</span> 432 <span class="module-tag">Team Collaboration</span> 433 <span class="module-tag">Custom Categories</span> 434 <span class="module-tag">Markdown Support</span> 435 <span class="module-tag">File Attachments</span> 436 </div> 437 </div> 438 <button href="#" data-plugin-slug="noteflow" class="install-plugin btn btn-primary btn-lg"> 439 Install Noteflow Now 440 </button> 441 442 <div class="loader-wrapper"> 443 <div class="loader-bar"></div> 444 </div> 445 446 <div class="progress-steps"> 447 <div class="step" data-step="check"> 448 <i class="dashicons dashicons-search"></i> 449 Checking plugin status... 450 </div> 451 <div class="step" data-step="download"> 452 <i class="dashicons dashicons-download"></i> 453 Downloading plugin... 454 </div> 455 <div class="step" data-step="install"> 456 <i class="dashicons dashicons-admin-plugins"></i> 457 Installing plugin... 458 </div> 459 <div class="step" data-step="activate"> 460 <i class="dashicons dashicons-yes"></i> 461 Activating plugin... 462 </div> 463 </div> 464 465 <a href="https://wordpress.org/plugins/noteflow/" target="_blank" class="btn btn-primary btn-lg"> 466 Learn More About Noteflow 467 </a> 468 </div> 469 </div> 470 <div class="col-lg-4"> 471 <div class="stats-container"> 472 <div class="stat-item"> 473 <span class="stat-number">100%</span> 474 <span class="stat-label">Free Forever</span> 475 </div> 476 <div class="stat-item"> 477 <span class="stat-number">5★</span> 478 <span class="stat-label">User Rating</span> 479 </div> 480 <div class="stat-item"> 481 <span class="stat-number">1-Click</span> 482 <span class="stat-label">Quick Notes</span> 483 </div> 484 </div> 485 </div> 486 </div> 487 </div> 488 </div> 489 </div> 490 491 </div> 492 </div> <!-- WordPress Tab End ---> 493 494 </div> 495 <!-- Duplicate the above block for each module you have --> 496 </div> 497 </div> 498 </div> 278 499 279 500 <?php … … 313 534 } 314 535 536 public function enqueue_silent_installer() { 537 538 } 539 540 public function check_plugin_status() { 541 // Check nonce 542 if (!check_ajax_referer('silent_installer', 'nonce', false)) { 543 wp_send_json_error(array('message' => 'Invalid security token.')); 544 } 545 546 // Check user capabilities 547 if (!current_user_can('install_plugins')) { 548 wp_send_json_error(array('message' => 'You do not have permission to install plugins.')); 549 } 550 551 $plugin_slug = sanitize_text_field($_POST['plugin_slug']); 552 553 if (empty($plugin_slug)) { 554 wp_send_json_error(array('message' => 'Plugin slug is required.')); 555 } 556 557 require_once ABSPATH . 'wp-admin/includes/plugin.php'; 558 559 $all_plugins = get_plugins(); 560 $plugin_base_file = false; 561 562 foreach ($all_plugins as $file => $plugin) { 563 if (strpos($file, $plugin_slug . '/') === 0) { 564 $plugin_base_file = $file; 565 break; 566 } 567 } 568 569 wp_send_json_success(array( 570 'installed' => !empty($plugin_base_file), 571 'active' => !empty($plugin_base_file) && is_plugin_active($plugin_base_file) 572 )); 573 } 574 575 public function handle_silent_install_plugin() { 576 // Check nonce 577 if (!check_ajax_referer('silent_installer', 'nonce', false)) { 578 wp_send_json_error(array('message' => 'Invalid security token.')); 579 } 580 581 // Check user capabilities 582 if (!current_user_can('install_plugins')) { 583 wp_send_json_error(array('message' => 'You do not have permission to install plugins.')); 584 } 585 586 $plugin_slug = sanitize_text_field($_POST['plugin_slug']); 587 588 if (empty($plugin_slug)) { 589 wp_send_json_error(array('message' => 'Plugin slug is required.')); 590 } 591 592 // Include required files 593 require_once ABSPATH . 'wp-admin/includes/plugin.php'; 594 require_once ABSPATH . 'wp-admin/includes/plugin-install.php'; 595 require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php'; 596 require_once ABSPATH . 'wp-admin/includes/class-plugin-upgrader.php'; 597 598 // Check if plugin is already installed 599 $installed_plugins = get_plugins(); 600 $plugin_base_file = false; 601 602 foreach ($installed_plugins as $file => $plugin) { 603 if (strpos($file, $plugin_slug . '/') === 0) { 604 $plugin_base_file = $file; 605 break; 606 } 607 } 608 609 // If plugin is not installed, install it 610 if (!$plugin_base_file) { 611 try { 612 // Get plugin info 613 $api = plugins_api('plugin_information', array( 614 'slug' => $plugin_slug, 615 'fields' => array( 616 'short_description' => false, 617 'sections' => false, 618 'requires' => false, 619 'rating' => false, 620 'ratings' => false, 621 'downloaded' => false, 622 'last_updated' => false, 623 'added' => false, 624 'tags' => false, 625 'compatibility' => false, 626 'homepage' => false, 627 'donate_link' => false, 628 ), 629 )); 630 631 if (is_wp_error($api)) { 632 wp_send_json_error(array('message' => $api->get_error_message())); 633 } 634 635 $upgrader = new Plugin_Upgrader(new WP_Ajax_Upgrader_Skin()); 636 $install_result = $upgrader->install($api->download_link); 637 638 if (is_wp_error($install_result)) { 639 wp_send_json_error(array('message' => $install_result->get_error_message())); 640 } 641 642 $plugin_base_file = $upgrader->plugin_info(); 643 644 } catch (Exception $e) { 645 wp_send_json_error(array('message' => $e->getMessage())); 646 } 647 } 648 649 // Activate the plugin 650 if ($plugin_base_file) { 651 try { 652 $activation_result = activate_plugin($plugin_base_file); 653 654 if (is_wp_error($activation_result)) { 655 wp_send_json_error(array('message' => $activation_result->get_error_message())); 656 } 657 658 wp_send_json_success(array( 659 'message' => 'Plugin installed and activated successfully', 660 'plugin_file' => $plugin_base_file 661 )); 662 663 } catch (Exception $e) { 664 wp_send_json_error(array('message' => $e->getMessage())); 665 } 666 } else { 667 wp_send_json_error(array('message' => 'Plugin installation failed.')); 668 } 669 } 315 670 } -
hide-admin-bar-based-on-user-roles/trunk/admin/css/hide-admin-bar-based-on-user-roles-admin.css
r2172542 r3241205 1 /** 2 * All of the CSS for your admin-specific functionality should be 3 * included in this file. 4 */ 5 6 /* .rolesList input[type="checkbox"] { margin: 0px 10px 0px 10px; } 7 .advertisement{ 8 9 }*/ 10 .card { max-width: 100% !important; } 11 .main-panel{ width: calc(100% - 150px); } 12 .card .card-header.header-sm { padding: 6px 5px; height: 60px; } 13 #wpfooter{ display: none; } 1 .doc-badge a,.explore-btn,.help-section a,.learn-more-link{text-decoration:none}.badge-primary,.bg-primary,.btn-primary{background-color:#6610f2!important;border-color:#6610f2!important}.badge-secondary,.bg-secondary,.btn-secondary{background-color:silver!important;border-color:silver!important}.badge-warning,.bg-warning,.btn-warning{background-color:gold!important;border-color:gold!important}.navbar{font-family:Arial,sans-serif}.nav-item.nav-link:hover{color:gold!important}.nav-item.nav-link:last-child{padding:5px 15px;border:2px solid gold;border-radius:20px}.nav-item.nav-link:last-child:hover{background-color:gold;color:#6610f2!important}.nav-item.nav-link.get-pro{padding:5px 15px;border:2px solid gold;border-radius:20px;background-color:gold;color:#3498db}.nav-item.nav-link.get-pro:hover{background-color:#3498db;color:gold!important}.module-container{box-shadow:0 4px 8px rgba(0,0,0,.1);padding:20px;margin:20px 0;border-radius:15px;background-color:#fff}.module-container .filters .filter_container{display:flex;align-items:center;margin-bottom:25px}.module-container .filters .filter_container h4{margin-right:20px;color:#3498db;font-size:22px}.module-container .filters .filter_container input,.module-container .filters .filter_container select{border:2px solid #3498db;border-radius:10px;padding-top:5px;padding-bottom:5px}.module-box{background-color:#fff;border:2px solid silver;border-radius:15px;margin:10px;position:relative;height:200px;box-sizing:border-box}.module-box:hover{border:2px solid #3498db;box-shadow:0 4px 8px rgba(102,16,242,.3),0 6px 20px rgba(102,16,242,.25)}.module-title{position:absolute;top:10px;left:10px;color:#3498db;font-size:1.1rem;max-width:195px}.learn-more-link,.module-description{position:absolute;left:10px;font-size:.9em}.module-description{top:40px;color:#666;max-width:90%;margin-top:15px}.module-switch{position:absolute;top:10px;right:-30px}.learn-more-link{bottom:10px;color:#3498db;border:2px solid #3498db;padding:5px 10px;border-radius:8px;background-color:#fff;transition:background-color .3s,color .3s;cursor:pointer}.doc-badge,.free-badge,.pro-badge{border-radius:8px;position:absolute;bottom:10px}.learn-more-link:hover{background-color:#3498db;color:#fff}.pro-badge{background:linear-gradient(45deg,#6610f2,gold);text-shadow:1px 1px 1px rgba(0,0,0,.2)}.form-check-input:checked+.form-check-label::before,.free-badge,.pro-badge{background-color:#3498db}.free-badge,.pro-badge{right:10px;color:#fff;padding:2px 8px;font-size:.8em}.doc-badge{right:140px;color:#3498db;padding:1px 5px;font-size:.9em;cursor:pointer}.doc-badge a{color:#3498db}.form-check-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.form-check-label{position:relative;padding-left:45px;cursor:pointer;font-weight:600;text-indent:-9999px;overflow:hidden;white-space:nowrap}.form-check-label::after,.form-check-label::before{content:"";position:absolute;top:50%;transform:translateY(-50%)}.form-check-label::before{left:0;width:30px;height:16px;background-color:#ddd;border-radius:8px;transition:background-color .3s}.form-check-label::after{left:2px;width:12px;height:12px;background-color:#fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:left .3s}.form-check-input:checked+.form-check-label::after{left:16px}.nav-tabs{border-bottom:2px solid silver;margin-bottom:15px}.nav-tabs .nav-item{margin-bottom:-2px}.nav-tabs .nav-link{border-radius:8px 8px 0 0;border:2px solid transparent;color:#3498db;padding:10px 15px;transition:.3s;box-shadow:none}.nav-tabs .nav-link:hover{background-color:#f2f2f2;border-color:silver;box-shadow:none}.nav-tabs .nav-link.active{background-color:#fff;color:#3498db;border-color:silver silver #fff}.tab-content{border:2px solid silver;border-top:none;border-radius:0 0 8px 8px;padding:20px;margin-top:-17px}.plugin-badge{position:absolute;bottom:10px;right:60px;color:#fff;background-color:#007bff;padding:2px 8px;border-radius:8px;font-size:.8em;z-index:10}.help-container,.plugin-item{background-color:#f7f8fc;border-radius:10px;box-shadow:0 4px 10px rgba(0,0,0,.05)}.plugin-badge.woocommerce{background-color:#96588a}.module-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.filter-controls{display:flex;gap:10px}.module-filters .form-control,.module-filters .form-select{width:auto}.search-control{width:20%}.search-control input{width:100%!important}.help-container{padding:20px 30px}.help-section{margin-bottom:40px}.faqs .faq-item{margin-bottom:20px;border-left:4px solid #3498db;padding-left:15px}.faqs h3{color:#3498db;font-size:1.2em;margin-bottom:10px}.help-section h2{border-bottom:2px solid #e0e2e6;padding-bottom:10px;margin-bottom:20px;font-size:1.4em}.help-section a{color:#007bff;transition:color .3s}.help-section a:hover{color:#0056b3}.plugins-container{display:flex;flex-wrap:wrap;gap:20px}.plugin-item{flex:1;max-width:calc(33.33% - 20px);padding:20px;text-align:center}.module-tag,.stat-item{box-shadow:0 2px 4px rgba(0,0,0,.1)}.plugin-image{max-width:100%;height:auto;margin-bottom:15px}.ultimakit-promo,.ultimakit-promo .card{width:100%!important;max-width:100%!important}.plugin-item h3{font-size:1.2em;color:#3498db;margin-bottom:10px}.explore-btn{background-color:#007bff;color:#fff;border-radius:8px;padding:10px 20px;transition:background-color .3s}.explore-btn:hover{background-color:#0056b3}.ultimakit-promo .card{background:linear-gradient(135deg,#fdfbfb,#ebedee);border-radius:12px;box-shadow:0 4px 6px rgba(0,0,0,.1);transition:.3s}.module-tag,.ultimakit-promo .badge{border-radius:20px;font-size:.875rem;font-weight:600}.ultimakit-promo .badge{padding:.5em 1em}.ultimakit-promo h3{font-size:2rem;font-weight:700;color:#dc3545}.module-highlights{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.module-tag{padding:.5rem 1rem}.stats-container{display:flex;flex-direction:column;gap:1rem;height:100%;justify-content:center}.stat-item{padding:1.5rem;border-radius:10px;text-align:center}.stat-number{display:block;font-size:2.5rem;font-weight:800;line-height:1}.stat-label{display:block;font-size:1rem;font-weight:500;margin-top:.5rem}.btn-danger{padding:.75rem 1.5rem;font-weight:600;border-radius:6px;background:#dc3545;border:none;transition:.3s}.btn-danger:hover{background:#c82333;transform:translateY(-1px)}.feature-content .btn-lg{border-radius:25px!important}.install-plugin{padding:10px 20px;background:#6610f2;color:#fff;border:none;border-radius:4px;cursor:pointer;position:relative;transition:.3s;min-width:150px}.install-plugin:disabled{background:#72aee6;cursor:not-allowed}.loader-wrapper{display:none;position:relative;width:100%;height:4px;background:#e2e4e7;margin-top:10px;border-radius:2px;overflow:hidden}.loader-bar{position:absolute;width:0%;height:100%;background:#6610f2;transition:width .3s;border-radius:2px}.progress-steps{display:none;margin-top:15px;font-size:13px;color:#50575e}.step{margin:5px 0;opacity:.7}.step.active{opacity:1;color:#6610f2;font-weight:500}.step i{margin-right:5px}.success-icon{display:none;color:#00a32a;margin-left:8px}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.fade-in{animation:.3s ease-in fadeIn}@media (max-width:991px){.stats-container{flex-direction:row;margin-top:1rem}.stat-item{flex:1}.feature-content{text-align:center}.module-highlights{justify-content:center}}@media (max-width:576px){.stats-container{flex-direction:column}.module-tag{width:100%;text-align:center}} -
hide-admin-bar-based-on-user-roles/trunk/admin/js/hide-admin-bar-based-on-user-roles-admin.js
r3085812 r3241205 38 38 }); 39 39 40 }) 40 }); 41 42 43 44 45 41 46 }(jQuery); -
hide-admin-bar-based-on-user-roles/trunk/hide-admin-bar-based-on-user-roles.php
r3214206 r3241205 13 13 * Plugin URI: https://wordpress.org/plugins/hide-admin-bar-based-on-user-roles/ 14 14 * Description: This plugin is very useful to hide admin bar based on selected user roles and user capabilities. 15 * Version: 4.1.015 * Version: 5.0.0 16 16 * Author: Ankit Panchal 17 17 * Author URI: https://wpankit.com/ … … 47 47 * Rename this for your plugin and update it as you release new versions. 48 48 */ 49 define( 'HIDE_ADMIN_BAR_BASED_ON_USER_ROLES', ' 4.1.0' );49 define( 'HIDE_ADMIN_BAR_BASED_ON_USER_ROLES', '5.0.0' ); 50 50 51 51 /** … … 93 93 hab_run_hide_admin_bar_based_on_user_roles(); 94 94 95 96 // Function to display the dismissible advertisement bar97 function display_custom_advertisement_habou() {98 // Check if the user has dismissed the ad already99 if (get_user_meta(get_current_user_id(), 'dismiss_custom_ad_habou', true)) {100 return; // Don't show the ad if it has been dismissed101 }102 if( isset($_GET['page']) && 'hide-admin-bar-settings' === $_GET['page'] ){103 echo '<div class="notice notice-info is-dismissible" id="custom-advertisement-bar-dbefm">';104 echo '<p><strong>Replace 25+ Plugins with Just One!</strong> Try UltimaKit for WP – the all-in-one WordPress toolkit for performance, security, and customization. <a href="https://wpultimakit.com/features/" target="_blank">Learn more</a> <strong></strong></p>';105 echo '</div>';106 }107 }108 add_action('admin_notices', 'display_custom_advertisement_habou');109 110 95 // Function to store the dismissed state using AJAX 111 96 function custom_advertisement_dismiss_habou() { -
hide-admin-bar-based-on-user-roles/trunk/includes/class-hide-admin-bar-based-on-user-roles.php
r3085812 r3241205 160 160 $this->loader->add_action( 'wp_ajax_save_user_roles', $plugin_admin, 'save_user_roles' ); 161 161 $this->loader->add_action( 'upgrader_process_complete', $plugin_admin, 'upgrader_process_complete' ); 162 163 164 162 $this->loader->add_action( 'wp_ajax_check_plugin_status', $plugin_admin, 'check_plugin_status' ); 163 $this->loader->add_action( 'wp_ajax_silent_install_plugin', $plugin_admin, 'handle_silent_install_plugin' ); 164 165 165 166 166 }
Note: See TracChangeset
for help on using the changeset viewer.