first commit

This commit is contained in:
User A0264400
2026-04-01 23:20:16 +03:00
commit a766acdc90
23071 changed files with 4933189 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
<?php
/**
* Hides notifications
*
* Github: https://github.com/alexkovalevv
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
function wbcr_dan_ajax_hide_notices() {
check_ajax_referer( WDN_Plugin::app()->getPluginName() . '_ajax_hide_notices_nonce', 'security' );
if ( current_user_can( 'manage_options' ) || current_user_can( 'manage_network' ) ) {
$notice_id = WDN_Plugin::app()->request->post( 'notice_id', null, true );
$notice_html = WDN_Plugin::app()->request->post( 'notice_html', null );
$hide_target = WDN_Plugin::app()->request->post( 'target', 'user' );
//$notice_text = wp_kses( $notice_html, [] );
if ( empty( $notice_id ) ) {
wp_send_json_error( [ 'error_message' => __( 'Undefinded notice id.', 'disable-admin-notices' ) ] );
}
switch ( $hide_target ) {
case 'all':
$get_hidden_notices = WDN_Plugin::app()->getPopulateOption( 'hidden_notices', [] );
if ( ! is_array( $get_hidden_notices ) ) {
$get_hidden_notices = [];
}
$get_hidden_notices[ $notice_id ] = rtrim( trim( $notice_html ) );
WDN_Plugin::app()->updatePopulateOption('hidden_notices', $get_hidden_notices );
break;
case 'user':
default:
$current_user_id = get_current_user_id();
$get_hidden_notices = get_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), true );
if ( ! is_array( $get_hidden_notices ) ) {
$get_hidden_notices = [];
}
$get_hidden_notices[ $notice_id ] = rtrim( trim( $notice_html ) );
update_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), $get_hidden_notices );
break;
}
wp_send_json_success();
} else {
wp_send_json_error( [ 'error_message' => __( 'You don\'t have enough capability to edit this information.', 'disable-admin-notices' ) ] );
}
}
add_action( 'wp_ajax_wbcr-dan-hide-notices', 'wbcr_dan_ajax_hide_notices' );

View File

@@ -0,0 +1,49 @@
<?php
/**
* Restore notice
*
* Github: https://github.com/alexkovalevv
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
function wbcr_dan_ajax_restore_notice() {
check_ajax_referer( WDN_Plugin::app()->getPluginName() . '_ajax_restore_notice_nonce', 'security' );
if ( current_user_can( 'manage_options' ) || current_user_can( 'manage_network' ) ) {
$notice_id = WDN_Plugin::app()->request->post( 'notice_id', null, true );
if ( empty( $notice_id ) ) {
wp_send_json_error( [ 'error_message' => __( 'Undefinded notice id.', 'disable-admin-notices' ) ] );
}
//Users notices
$current_user_id = get_current_user_id();
$get_hidden_notices = get_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), true );
if ( ! empty( $get_hidden_notices ) && isset( $get_hidden_notices[ $notice_id ] ) ) {
unset( $get_hidden_notices[ $notice_id ] );
update_user_meta( $current_user_id, WDN_Plugin::app()->getOptionName( 'hidden_notices' ), $get_hidden_notices );
}
//All notices
$get_hidden_notices_all = WDN_Plugin::app()->getPopulateOption( 'hidden_notices', [] );
if ( ! empty( $get_hidden_notices_all ) && isset( $get_hidden_notices_all[ $notice_id ] ) ) {
unset( $get_hidden_notices_all[ $notice_id ] );
WDN_Plugin::app()->updatePopulateOption( 'hidden_notices', $get_hidden_notices_all );
}
wp_send_json_success();
} else {
wp_send_json_error( [ 'error_message' => __( 'You don\'t have enough capability to edit this information.', 'disable-admin-notices' ) ] );
}
}
add_action( 'wp_ajax_wbcr-dan-restore-notice', 'wbcr_dan_ajax_restore_notice' );

View File

@@ -0,0 +1,51 @@
.wbcr-dan-hide-notices {
position: initial;
padding: 5px 5px 0;
background: transparent;
}
.wbcr-dan-hide-notices > div {
margin: 0 !important;
}
.is-dismissible .wbcr-dan-hide-links {
margin-right: -25px;
}
.wbcr-dan-hide-links {
text-align: right;
padding: 0 5px 5px 0;
}
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link {
min-height: 20px;
line-height: 2;
padding: 0 5px 0 0;
font-size: 11px;
color: #ec3c47;
background: #fff;
margin: 0;
cursor: pointer;
border: 1px solid #ec3c47;
border-radius: 5px;
}
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover {
background: #ec3c47;
color: #fff;
}
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:hover:before {
background-image: url('../img/hide-icon-white.svg');
}
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:focus {
border: 2px solid #ec3c47;
outline: none;
}
.wbcr-dan-hide-links .wbcr-dan-hide-notice-link:before {
content: '';
display: inline-block;
width: 25px;
height: 18px;
background-color: transparent;
background-image: url('../img/hide-icon.svg');
background-repeat: no-repeat;
background-position: center center;
background-size: 25px;
vertical-align: middle;
}
/*# sourceMappingURL=general.css.map */

View File

@@ -0,0 +1,77 @@
/**
* Notification panel in admin bar
* @author Alex Kovalev <alex.kovalevv@gmail.com>
* @copyright Alex Kovalev 23.08.2017
*/
#wp-admin-bar-wbcr-han-notify-panel .wbcr-han-adminbar-counter {
background-color: #0073aa;
border-radius: 50%;
color: #fff;
font-weight: bold;
padding: 2px 6px;
font-size: 0.85em;
margin-left: 5px;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper {
max-height: 500px;
overflow-y: scroll;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu {
width: 400px;
padding: 0;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li {
border-left: 4px solid #26292b;
padding: 0;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-updated {
border-left-color: #7ad03a;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-update-nag {
border-left-color: #ffba00;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li.wpnc-error {
border-left-color: #dd3d36;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line {
text-align: right;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a {
color: #ffba00 !important;
text-decoration: none !important;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .wbcr-han-panel-restore-notify-line a:hover {
text-decoration: underline !important;
color: #ffc11a !important;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item {
height: 100% !important;
white-space: normal !important;
padding: 0.5em 1em;
border-bottom: 1px solid #4a4f55;
color: #949494;
line-height: 1.5 !important;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li .ab-item a {
display: inline;
padding: 0;
margin: 0;
text-decoration: underline;
line-height: 1.5 !important;
color: #949494;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu > li[id^=wp-admin-bar-wbcr-han-notify-panel-group] .ab-item {
height: 100%;
white-space: normal;
padding: 0.5em 1em;
border-bottom: 1px solid #fff;
color: #fff;
line-height: 2;
text-align: center;
font-weight: bold;
text-transform: uppercase;
}
#wp-admin-bar-wbcr-han-notify-panel .ab-sub-wrapper ul.ab-submenu li:nth-child(2n) {
background: #26292b;
}
/*# sourceMappingURL=notifications-panel.css.map */

View File

@@ -0,0 +1,9 @@
.wdan-plugin-header-logo {
background: transparent url('../img/hide-icon.svg') no-repeat left center !important;
background-size: 40px !important;
display: block;
float: left;
height: 30px;
width: 40px;
}
/*# sourceMappingURL=page.css.map */

View File

@@ -0,0 +1,220 @@
#WBCR .factory-checkbox.wdanpro-checkbox-premium-label:after,
#WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
display: inline-block;
position: relative;
content: 'PRO';
background: #ff5722;
border-radius: 4px;
color: #fff;
font-size: 10px;
line-height: 1;
font-style: normal;
padding: 4px 6px;
margin-left: 4px;
vertical-align: top;
top: -8px;
left: -10px;
right: auto;
z-index: 11;
cursor: pointer;
}
#WBCR .wdanpro-radio-premium-label .factory-compact_panel:after {
position: absolute;
top: -10px;
right: -10px;
left: auto;
}
#WBCR .factory-checkbox-disabled input,
#WBCR .factory-checkbox-disabled button,
#WBCR .wdanpro-radio-premium-label .factory-compact_panel {
pointer-events: none;
cursor: not-allowed;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
}
#WBCR .wrdan-premium-fake-content {
position: relative;
padding: 15px;
}
#WBCR .wdan-premium-info {
position: absolute;
top: 50px;
left: 50%;
margin-left: -250px;
max-width: 500px;
z-index: 999;
}
#WBCR .wdan-premium-info h3 {
font-size: 32px;
font-weight: 300;
color: inherit;
margin: 40px 0 10px;
line-height: 1.2;
}
#WBCR .wdan-premium-info p {
font-size: 16px;
font-weight: 400;
color: #a4afb7;
margin-bottom: 40px;
}
#WBCR .wdan-premium-layer {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
opacity: 0.9;
background: #fff;
}
#WBCR .wdan-button {
font-family: Roboto, Arial, Helvetica, Verdana, sans-serif;
font-weight: 500;
text-transform: uppercase;
outline: none;
border: none;
text-decoration: none;
-webkit-border-radius: 3px;
border-radius: 3px;
-webkit-transition-property: background, color, opacity, -webkit-box-shadow;
transition-property: background, color, opacity, -webkit-box-shadow;
-o-transition-property: background, color, box-shadow, opacity;
transition-property: background, color, box-shadow, opacity;
transition-property: background, color, box-shadow, opacity, -webkit-box-shadow;
-webkit-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
transition-duration: 0.3s;
}
#WBCR .wdan-button:hover {
border: none;
}
#WBCR .wdan-button:not([disabled]) {
cursor: pointer;
}
#WBCR .wdan-button:not(.wdan-button-state) .wdan-state-icon {
display: none;
}
#WBCR .wdan-button.wdan-button-success {
color: #fff;
}
#WBCR .wdan-button.wdan-button-success[disabled] {
background-color: #c2cbd2;
}
#WBCR .wdan-button.wdan-button-success:not([disabled]) {
background-color: #39b54a;
}
#WBCR .wdan-button.wdan-button-success:not([disabled]):hover {
opacity: 0.85;
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
}
#WBCR .wdan-button.wdan-button-success:not([disabled]):active {
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
}
#WBCR .wdan-button.wdan-button-warning {
background-color: #a4afb7;
color: #fff;
}
#WBCR .wdan-button.wdan-button-warning[disabled] {
background-color: #c2cbd2;
}
#WBCR .wdan-button.wdan-button-warning:not([disabled]):hover {
background-color: #b01b1b;
opacity: 0.85;
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
}
#WBCR .wdan-button.wdan-button-warning:not([disabled]):active {
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
}
#WBCR .wdan-button.wdan-button-danger {
background-color: #d72b3f;
color: #fff;
}
#WBCR .wdan-button.wdan-button-danger[disabled] {
background-color: #c2cbd2;
}
#WBCR .wdan-button.wdan-button-danger:not([disabled]):hover {
opacity: 0.85;
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
}
#WBCR .wdan-button.wdan-button-danger:not([disabled]):active {
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
}
#WBCR .wdan-button.wdan-edit-template {
display: inline-block;
margin-top: 15px;
color: #fff;
}
#WBCR .wdan-button.wdan-button-default {
background-color: #a4afb7;
color: #fff;
font-size: 11px;
padding: 7px 21px;
}
#WBCR .wdan-button.wdan-button-default:hover {
background-color: #6d7882;
-webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
box-shadow: 0 0 2px rgba(0, 0, 0, 0.12), 0 2px 2px rgba(0, 0, 0, 0.2);
}
#WBCR .wdan-button.wdan-button-default:active {
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.1);
}
#WBCR .wdan-button.wdan-button-default:visited {
color: #fff;
}
#WBCR .wdan-button.wdan-button-go-pro {
background-color: #ff5722;
}
#WBCR .wdan-button i {
margin-right: 10px;
}
.wdan-hidden-list {
padding: 0 15px;
}
.wdan-hidden-list-notice {
background: #fff;
border: 1px solid #ccd0d4;
border-left-width: 4px;
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);
padding: 1px 12px;
}
.wdan-hidden-list-notice div.wdan-notice-p {
margin: 0.5em 0;
padding: 2px;
}
.wdan-hidden-list-notice div.wdan-notice-p div {
width: 100%;
}
.wdan-hidden-list-table {
border: 0;
}
.wdan-hidden-list-table tr > td:first-child {
padding: 5px 0 5px;
}
.wdan-hidden-list-table tr > td:last-child {
padding: 0 10px 0;
text-align: center;
}
.wdan-hidden-list-table .wdan-notices-page-table-head td {
font-size: 16px;
text-transform: uppercase;
padding: 10px !important;
font-weight: bold;
}
.wdan-hidden-list-table .wdan-hidden-list-notice-action {
vertical-align: middle;
}
.wdan-hidden-list-table .wdan-page-restore-notice-link-loader {
background: url(../img/loader.gif);
background-size: contain;
background-repeat: no-repeat;
background-position: top;
}
/*# sourceMappingURL=settings.css.map */

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
fill="#ffffff" stroke="none">
<path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
-92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
-502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
-157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
-880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
-30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
-89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
-124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
-89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
<path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
-81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="300.000000pt" height="234.000000pt" viewBox="0 0 300.000000 234.000000"
preserveAspectRatio="xMidYMid meet">
<g transform="translate(0.000000,234.000000) scale(0.100000,-0.100000)"
fill="#ed3c48" stroke="none">
<path d="M629 2072 c-15 -13 -22 -30 -22 -51 0 -29 20 -53 177 -210 l176 -177
-92 -95 c-99 -101 -201 -236 -244 -324 l-26 -54 21 -44 c85 -174 274 -388 446
-502 159 -106 295 -149 475 -148 141 1 236 24 365 87 l90 45 186 -185 c158
-157 190 -184 215 -184 39 0 74 36 74 76 0 25 -114 142 -878 906 -789 790
-880 878 -908 878 -18 0 -42 -8 -55 -18z m544 -650 l98 -98 -23 -50 c-31 -68
-30 -170 1 -242 31 -68 113 -144 182 -167 64 -22 177 -16 232 11 l38 18 89
-89 c50 -49 90 -92 90 -96 0 -9 -105 -55 -175 -75 -82 -25 -258 -25 -339 0
-124 37 -255 116 -364 220 -87 81 -232 273 -232 306 0 43 260 360 296 360 5 0
53 -44 107 -98z m314 -314 c51 -51 93 -96 93 -99 0 -13 -53 -17 -89 -7 -44 12
-89 52 -107 95 -21 48 -18 103 5 103 3 0 47 -42 98 -92z"/>
<path d="M1410 1849 c-87 -15 -123 -52 -105 -109 13 -40 47 -53 111 -41 226
42 459 -41 660 -235 69 -67 171 -194 210 -260 l26 -45 -37 -57 c-21 -31 -56
-81 -78 -110 -47 -62 -53 -105 -18 -134 27 -21 70 -24 92 -5 55 44 199 267
199 307 0 14 -16 53 -36 85 -263 437 -650 665 -1024 604z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -0,0 +1,59 @@
/**
* Notification panel
* @author Webcraftic <wordpress.webraftic@gmail.com>
* @copyright (c) 10.09.2017, Webcraftic
* @version 1.0
*/
(function($) {
'use strict';
$(document).ready(function() {
$(document).on('click', '.wbcr-han-panel-restore-notify-link', function() {
var self = $(this),
noticeID = $(this).data('notice-id'),
nonce = $(this).data('nonce'),
counterEl = $('.wbcr-han-adminbar-counter');
if( !noticeID ) {
alert('Undefinded error. Please report the bug to our support forum.');
}
self.closest('li').hide();
$.ajax(ajaxurl, {
type: 'post',
dataType: 'json',
data: {
action: 'wbcr-dan-restore-notice',
security: nonce,
notice_id: noticeID
},
success: function(response) {
if( !response || !response.success ) {
if( response.data.error_message ) {
console.log(response.data.error_message);
self.closest('li').show();
} else {
console.log(response);
}
return;
}
counterEl.text(counterEl.text() - 1);
self.closest('li').remove();
},
error: function(xhr, ajaxOptions, thrownError) {
console.log(xhr.status);
console.log(xhr.responseText);
console.log(thrownError);
}
});
return false;
});
});
})(jQuery);

View File

@@ -0,0 +1,69 @@
/**
* General
* @author Webcraftic <wordpress.webraftic@gmail.com>
* @copyright (c) 2020, Webcraftic
* @version 1.0
*/
(function ($) {
function dan_pro_href(e) {
var pro_href = "https://clearfy.pro/disable-admin-notices/";
e.stopPropagation();
window.open(pro_href, '_blank');
}
$('.factory-checkbox.wdanpro-checkbox-premium-label').click(dan_pro_href);
$('.wdanpro-radio-premium-label .factory-compact_panel').click(dan_pro_href);
$(document).on('click', '.wdan-page-restore-notice-link', function () {
var self = $(this),
noticeID = $(this).data('notice-id'),
nonce = $(this).data('nonce'),
counterEl = $('.wbcr-han-adminbar-counter');
if (!noticeID) {
alert('Undefinded error. Please report the bug to our support forum.');
}
self.hide();
self.parent().find('.wdan-page-restore-notice-link-loader').show();
$.ajax(ajaxurl, {
type: 'post',
dataType: 'json',
data: {
action: 'wbcr-dan-restore-notice',
security: nonce,
notice_id: noticeID
},
success: function (response) {
if (!response || !response.success) {
if (response.data.error_message) {
console.log(response.data.error_message);
self.closest('li').show();
} else {
console.log(response);
}
return;
}
counterEl.text(counterEl.text() - 1);
self.closest('tr').hide();
self.closest('tr').remove();
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr.status);
console.log(xhr.responseText);
console.log(thrownError);
}
});
return false;
});
})(jQuery);

View File

@@ -0,0 +1,116 @@
<?php
/**
* Файл использует для реализации коротких сниппетов. Обычно сниппеты относятся к интеграции
* или каким мелким исправлениям и фиксам в интерфейсе этого плагина.
*
* Github: https://github.com/alexkovalevv
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! defined( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON' ) ) {
add_filter( 'plugin_row_meta', function ( $links, $file ) {
if ( $file == WDN_PLUGIN_BASE ) {
$url = 'https://clearfy.pro/disable-admin-notices/';
$url .= '?utm_source=wordpress.org&utm_campaign=' . WDN_Plugin::app()->getPluginName();
$links[] = '<a href="' . $url . '" style="color: #FF5722;font-weight: bold;" target="_blank">' . __( 'Get premium plugin', 'disable-admin-notices' ) . '</a>';
}
return $links;
}, 10, 2 );
/**
* Изменяем ссылку по умолчанию на собственную в виджете "Голосу за нас".
*
* Ссылка ведет на страницу рейтинга в репозитории Wordpress.org
* https://wordpress.org/support/plugin/disable-admin-notices/reviews/
*
* @param string $page_url
* @param string $plugin_name
*
* @return string
* @since 1.0
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
*/
add_filter( 'wbcr_factory_pages_480_imppage_rating_widget_url', function ( $page_url, $plugin_name ) {
if ( $plugin_name == WDN_Plugin::app()->getPluginName() ) {
return 'https://goo.gl/68ucHp';
}
return $page_url;
}, 10, 2 );
/**
* Удаляем лишние виджеты из правого сайдбара в интерфейсе плагина
*
* - Виджет с премиум рекламой
* - Виджет с рейтингом
* - Виджет с маркерами информации
*/
add_filter( 'wbcr/factory/pages/impressive/widgets', function ( $widgets, $position, $plugin ) {
if ( WDN_Plugin::app()->getPluginName() == $plugin->getPluginName() && 'right' == $position ) {
unset( $widgets['business_suggetion'] );
unset( $widgets['rating_widget'] );
unset( $widgets['info_widget'] );
}
return $widgets;
}, 20, 3 );
} else {
/**
* Регистрируем опции плагина в Clearfy, чтобы тот мог совершать манипуляции с опциями этого плагина.
* Обычно такие манипуляции относятся к быстрым настройкам, сбросу настроек.
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0
*/
add_filter( "wbcr_clearfy_group_options", function ( $options ) {
$options[] = [
'name' => 'hide_admin_notices',
'title' => __( 'Hide admin notices', 'disable-admin-notices' ),
'tags' => [],
'values' => [ 'hide_admin_notices' => 'only_selected' ]
];
$options[] = [
'name' => 'show_notices_in_adminbar',
'title' => __( 'Enable hidden notices in adminbar', 'disable-admin-notices' ),
'tags' => []
];
return $options;
} );
}
/**
* Print admin notice: "Would you like to send them for spam checking?"
*
* If user clicked button "Yes, do it", plugin will exec action,
* that put all unapproved comments to spam check queue.
*/
add_action( 'wbcr/factory/admin_notices', function ( $notices, $plugin_name ) {
if ( $plugin_name != WDN_Plugin::app()->getPluginName() || 'wbcr_clearfy' === $plugin_name ) {
return $notices;
}
$page_url = 'https://clearfy.pro/disable-admin-notices/';
$notice_text = sprintf( __( 'Thanks for using the Disable admin notices plugin! If you need support or all the features of the plugin, please buy the pro version <a class="button" href="%s">Get PRO</a>' ), $page_url );
$notices[] = [
'id' => 'wdan_get_premium',
'type' => 'success',
'dismissible' => true,
'dismiss_expires' => 0,
'text' => '<p><strong>Disable Admin Notices Individually:</strong><br>' . $notice_text . '</p>'
];
return $notices;
}, 10, 2 );

View File

@@ -0,0 +1,43 @@
<?php
/**
* Страница общих настроек для этого плагина.
*
* Может быть использована только, если этот плагин используется как отдельный плагин, а не как аддон
* дя плагина Clearfy. Если плагин загружен, как аддон для Clearfy, эта страница не будет подключена.
*
* Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
*
* Github: https://github.com/alexkovalevv
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class WDN_Page extends WBCR\Factory_Templates_134\Pages\PageBase {
/**
* Requests assets (js and css) for the page.
*
* @param Wbcr_Factory480_ScriptList $scripts
* @param Wbcr_Factory480_StyleList $styles
*
* @return void
* @see Wbcr_FactoryPages480_AdminPage
*
*/
public function assets( $scripts, $styles ) {
$this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/page.css' );
parent::assets( $scripts, $styles );
}
public function getPluginTitle() {
return "<span class='wdan-plugin-header-logo'>&nbsp;</span>" . __( 'Webcraftic Disable Admin Notices', 'disable-admin-notices' );
}
}

View File

@@ -0,0 +1,269 @@
<?php
/**
* Регистрируем поля Html формы в Clearfy на странице "Подолнительно". Если этот плагин загружен, как отдельный плагин
* то поля будет зарегистрированы для страницы общих настроек этого плагина.
*
* Github: https://github.com/alexkovalevv
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Регистрируем поля Html формы с настройками плагина.
*
* Эта функция используется для общей страницы настроек текущего плагина,
* а также для раширения настроек в плагине Clearfy.
*
* @return array Возвращает группу зарегистрируемых опций
* @since 1.0
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
*/
function wbcr_dan_get_plugin_options() {
$options = [];
$options[] = [
'type' => 'html',
'html' => '<div class="wbcr-factory-page-group-header">' . '<strong>' . __( 'Admin notifications, Update nags', 'disable-admin-notices' ) . '</strong>' . '<p>' . __( 'Do you know the situation, when some plugin offers you to update to premium, to collect technical data and shows many annoying notices? You are close these notices every now and again but they newly appears and interfere your work with WordPress. Even worse, some plugins authors delete “close” button from notices and they shows in your admin panel forever.', 'disable-admin-notices' ) . '</p>' . '</div>'
];
$hide_admin_notices_data = [
[
'not_hide',
__( "Don't hide", 'disable-admin-notices' ),
__( 'Do not hide notices and do not show “Hide notification forever” link for admin.', 'disable-admin-notices' )
],
[
'all',
__( 'All notices', 'disable-admin-notices' ),
__( 'Hide all notices globally.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/_Lv5i4P3Gqs' )
],
[
'only_selected',
__( 'Only selected', 'disable-admin-notices' ),
__( 'Hide selected notices only. You will see the link "Hide notification forever" in each notice. Push it and they will not bother you anymore.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/HazI81AsHuY' )
]
];
if ( ! wbcr_dan_is_active_clearfy_component() ) {
$hide_admin_notices_data[] = [
'compact_panel',
__( 'Compact panel', 'disable-admin-notices' ),
__( 'Collapse all notifications in one line (panel with notification counters), to see the notifications, you will need to click this panel.', 'disable-admin-notices' ) . sprintf( __( 'Watch the <a href="%s" target="_blank">video</a> to find out how it works .', 'disable-admin-notices' ), 'https://youtu.be/437u1Js2o2M' )
];
}
$options[] = [
'type' => 'dropdown',
'name' => 'hide_admin_notices',
'way' => 'buttons',
'title' => __( 'Hide admin notices', 'disable-admin-notices' ),
'data' => $hide_admin_notices_data,
'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'green' ],
'hint' => __( 'Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually. Some plugins shows notifications about premium version, data collecting or promote their services. Even if you push close button (that sometimes are impossible), notices are shows again in some time. This option allows you to control notices. Hide them all or each individually.', 'disable-admin-notices' ),
'default' => 'only_selected',
'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'wdanpro-radio-premium-label' ] : [],
'events' => [
'all' => [
'show' => '.factory-control-hide_admin_notices_user_roles',
'hide' => '.factory-control-reset_notices_button'
],
'only_selected' => [
'hide' => '.factory-control-hide_admin_notices_user_roles',
'show' => '.factory-control-reset_notices_button'
],
'not_hide' => [
'hide' => '.factory-control-hide_admin_notices_user_roles, .factory-control-reset_notices_button'
]
]
];
if ( ! wbcr_dan_is_active_clearfy_component() ) {
$options[] = [
'type' => 'checkbox',
'way' => 'buttons',
'name' => 'disable_updates_nags_for_plugins',
'title' => __( 'Disable plugins updates nags', 'disable-admin-notices' ),
'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
'hint' => __( 'Disable plugins updates nags', 'disable-admin-notices' ),
'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'factory-checkbox-disabled wdanpro-checkbox-premium-label' ] : [],
'default' => false
];
$options[] = [
'type' => 'checkbox',
'way' => 'buttons',
'name' => 'disable_updates_nags_for_core',
'title' => __( 'Disable core updates nags', 'disable-admin-notices' ),
'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'grey' ],
'hint' => __( 'Disable core updates nags', 'disable-admin-notices' ),
'cssClass' => ! ( WDN_Plugin::app()->premium->is_activate() && WDN_Plugin::app()->premium->is_install_package() ) ? [ 'factory-checkbox-disabled wdanpro-checkbox-premium-label' ] : [],
'default' => false
];
}
/*$options[] = array(
'type' => 'dropdown',
'name' => 'hide_admin_notices_for',
'way' => 'buttons',
'title' => __('Hide admin notices only for', 'disable-admin-notices'),
'data' => array(
array(
'user',
__('Current user', 'disable-admin-notices')
),
array(
'all_users',
__('All users', 'disable-admin-notices')
)
),
'layout' => array('hint-type' => 'icon', 'hint-icon-color' => 'green'),
'hint' => __('Choose who to hide notifications for?', 'disable-admin-notices'),
'default' => 'user',
'events' => array(
'all' => array(
'show' => '.factory-control-hide_admin_notices_user_roles',
'hide' => '.factory-control-reset_notices_button'
),
'only_selected' => array(
'hide' => '.factory-control-hide_admin_notices_user_roles',
'show' => '.factory-control-reset_notices_button'
),
'not_hide' => array(
'hide' => '.factory-control-hide_admin_notices_user_roles, .factory-control-reset_notices_button'
)
)
);*/
$options[] = [
'type' => 'checkbox',
'way' => 'buttons',
'name' => 'show_notices_in_adminbar',
'title' => __( 'Enable hidden notices in adminbar', 'disable-admin-notices' ),
'layout' => [ 'hint-type' => 'icon', 'hint-icon-color' => 'green' ],
'hint' => __( 'By default, the plugin hides all notices, which you specified. If you enable this option, the plugin will collect all hidden notices and show them into the top admin toolbar. It will not disturb you but will allow to look notices at your convenience.', 'disable-admin-notices' ),
'default' => false
];
$options[] = [
'type' => 'html',
'html' => 'wbcr_dan_reset_notices_button'
];
return $options;
}
function wbcr_dan_is_active_clearfy_component() {
if ( defined( 'WCL_PLUGIN_ACTIVE' ) && class_exists( 'WCL_Plugin' ) ) {
$deactivate_components = WCL_Plugin::app()->getPopulateOption( 'deactive_preinstall_components', [] );
if ( ! in_array( 'disable_notices', $deactivate_components ) ) {
return true;
}
}
return false;
}
/**
* Расширяем опции html формы страницы "Дополнительно" в плагине Clearfy
*
* Это необходимо для того, чтобы не создавать отдельную страницу в плагине Clearfy, \
* с настройками этого плагина, потому что это ухудшает юзабилити.
*
* @param array $form Массив с группой настроек, страницы "Дополнительно" в плагине Clearfy
* @param Wbcr_FactoryPages480_ImpressiveThemplate $page Экземпляр страницы
*
* @return mixed Отсортированный массив с группой опций
*/
function wbcr_dan_additionally_form_options( $form, $page ) {
if ( empty( $form ) ) {
return $form;
}
$options = wbcr_dan_get_plugin_options();
foreach ( array_reverse( $options ) as $option ) {
array_unshift( $form[0]['items'], $option );
}
return $form;
}
add_filter( 'wbcr_clr_additionally_form_options', 'wbcr_dan_additionally_form_options', 10, 2 );
/**
* Реализует кнопку сброса скрытых уведомлений.
*
* Вы можете выбрать для какой группы пользователей сбросить уведомления.
* Эта модикация является не стандартной, поэтому мы не можете реалировать ее
* через фреймворк.
*
* @param @param $html_builder Wbcr_FactoryForms480_Html
*
* @since 1.0
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
*/
function wbcr_dan_reset_notices_button( $html_builder ) {
global $wpdb;
$form_name = $html_builder->getFormName();
$reseted = false;
if ( isset( $_POST['wbcr_dan_reset_action'] ) ) {
check_admin_referer( $form_name, 'wbcr_dan_reset_nonce' );
$reset_for_users = WDN_Plugin::app()->request->post( 'wbcr_dan_reset_for_users', 'current_user', true );
if ( $reset_for_users == 'current_user' ) {
delete_user_meta( get_current_user_id(), WDN_Plugin::app()->getOptionName( 'hidden_notices' ) );
} else {
$meta_key = sanitize_key( WDN_Plugin::app()->getOptionName( 'hidden_notices' ) );
$wpdb->query( "DELETE FROM {$wpdb->usermeta} WHERE meta_key = '{$meta_key}'" );
}
$reseted = true;
}
?>
<div class="form-group form-group-checkbox factory-control-reset_notices_button">
<label for="wbcr_clearfy_reset_notices_button" class="col-sm-4 control-label">
<?= __( 'Reset hidden notices for', 'disable-admin-notices' ); ?>
<span class="factory-hint-icon factory-hint-icon-grey" data-toggle="factory-tooltip" data-placement="right"
title=""
data-original-title="<?php _e( 'Push reset hidden notices if you need to show hidden notices again.', 'disable-admin-notices' ) ?>">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJCAQAAABKmM6bAAAAUUlEQVQIHU3BsQ1AQABA0X/komIrnQHYwyhqQ1hBo9KZRKL9CBfeAwy2ri42JA4mPQ9rJ6OVt0BisFM3Po7qbEliru7m/FkY+TN64ZVxEzh4ndrMN7+Z+jXCAAAAAElFTkSuQmCC"
alt="">
</span>
</label>
<div class="control-group col-sm-8">
<div class="factory-checkbox factory-from-control-checkbox factory-buttons-way btn-group">
<form method="post">
<?php wp_nonce_field( $form_name, 'wbcr_dan_reset_nonce' ); ?>
<p>
<input type="radio" name="wbcr_dan_reset_for_users" value="current_user"
checked/> <?= __( 'current user', 'disable-admin-notices' ); ?>
</p>
<p>
<input type="radio" name="wbcr_dan_reset_for_users"
value="all"/> <?= __( 'all users', 'disable-admin-notices' ); ?>
</p>
<p>
<input type="submit" name="wbcr_dan_reset_action"
value="<?= __( 'Reset notices', 'disable-admin-notices' ); ?>"
class="button button-default"/>
</p>
<?php if ( $reseted ): ?>
<div style="color:green;margin-top:5px;"><?php _e( 'Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices' ) ?></div>
<?php endif; ?>
</form>
</div>
</div>
</div>
<?php
}

View File

@@ -0,0 +1,147 @@
<?php
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Страница общих настроек для этого плагина.
*
* Не поддерживает режим работы с мультисаймами.
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
* @copyright (c) 2019 Webraftic Ltd
* @version 1.0
*/
class WDAN_Edit_Admin_Bar extends WDN_Page {
/**
* {@inheritDoc}
*
* @var string
*/
public $id = "wdanp-edit-admin-bar";
/**
* {@inheritDoc}
*
* @var string
*/
public $type = "page";
/**
* {@inheritDoc}
*
* @var string
*/
public $page_menu_dashicon = 'dashicons-menu';
/**
* {@inheritDoc}
*
* @since 2.0.5 - добавлен
* @var bool
*/
public $show_right_sidebar_in_options = false;
/**
* @param WDN_Plugin $plugin
*/
public function __construct( $plugin ) {
$this->menu_title = __( 'Hide adminbar items', 'disable-admin-notices' );
$this->page_menu_short_description = __( 'You can hide an annoying adminbar menu', 'disable-admin-notices' );
parent::__construct( $plugin );
$this->plugin = $plugin;
add_action( 'wp_before_admin_bar_render', [ $this, 'remove_from_admin_bar' ], 999 );
}
/**
* Requests assets (js and css) for the page.
*
* @param Wbcr_Factory480_ScriptList $scripts
* @param Wbcr_Factory480_StyleList $styles
*
* @return void
* @see Wbcr_FactoryPages480_AdminPage
*
*/
public function assets( $scripts, $styles ) {
parent::assets( $scripts, $styles );
$this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
}
public function remove_from_admin_bar() {
global $wp_admin_bar;
if ( empty( $wp_admin_bar ) ) {
return;
}
$hidden_items = $this->plugin->getPopulateOption( 'hidden_adminbar_items', [] );
$nodes = [];
foreach ( $wp_admin_bar->get_nodes() as $node ) {
if ( false === $node->parent && ! empty( $node->title ) ) {
if ( "updates" === $node->id ) {
$node->title = "Updates";
}
if ( "comments" === $node->id ) {
$node->title = "Comments";
}
$nodes[ $node->id ] = strip_tags( $node->title );
}
}
$this->plugin->updatePopulateOption( 'adminbar_items', $nodes );
}
public function showPageContent() {
$all_items = $this->plugin->getPopulateOption( 'adminbar_items', [] );
$hidden_items = $this->plugin->getPopulateOption( 'hidden_adminbar_items', [] );
?>
<div class="wrdan-premium-fake-content">
<div class="wdan-premium-info">
<h3>Hide admin bar items (menu) PRO</h3>
<p>This function allows you to disable annoying menu items in the admin bar. Some plugins take up space
in
the admin bar to insert their ads. Just get rid of this ad with the premium features of our
plugin.</p>
<a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank" href="https://clearfy.pro/disable-admin-notices/">Go
Pro</a>
</div>
<div class="wdan-premium-layer"></div>
<h4>Disable adminbar items</h4>
<table class="wp-list-table widefat fixed striped">
<tr>
<th><strong>Menu title</strong></th>
<th style="width:100px;"><strong>Action</strong></th>
</tr>
<?php foreach ( (array) $all_items as $ID => $title ): ?>
<tr>
<td><?php echo $title; ?></td>
<td>
<?php if ( ! isset( $hidden_items[ $ID ] ) ): ?>
<a style="color:#e66113;" href="<?php echo wp_nonce_url( $this->getActionUrl( 'disable-adminbar-item', [ 'id' => $ID ] ), 'disable_adminbar_item_' . $ID ); ?>">Disable</a>
<?php else: ?>
<a style="color:#428bca;" href="<?php echo wp_nonce_url( $this->getActionUrl( 'enable-adminbar-item', [ 'id' => $ID ] ), 'enable_adminbar_item_' . $ID ); ?>">Enable</a>
<?php endif; ?>
</td>
</tr>
<?php endforeach; ?>
</table>
</div>
<?php
}
}

View File

@@ -0,0 +1,164 @@
<?php
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Страница общих настроек для этого плагина.
*
* Не поддерживает режим работы с мультисаймами.
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
* @copyright (c) 2019 Webraftic Ltd
* @version 1.0
*/
class WDAN_Block_Ad_Redirects extends WDN_Page {
/**
* {@inheritDoc}
*
* @var string
*/
public $id = "wdanp-edit-redirects";
/**
* {@inheritDoc}
*
* @var string
*/
public $type = "page";
/**
* {@inheritDoc}
*
* @var string
*/
public $page_menu_dashicon = 'dashicons dashicons-undo';
/**
* {@inheritDoc}
*
* @since 2.0.5 - добавлен
* @var bool
*/
public $show_right_sidebar_in_options = false;
/**
* @param WDN_Plugin $plugin
*/
public function __construct( $plugin ) {
$this->menu_title = __( 'Block ad redirects', 'disable-admin-notices' );
$this->page_menu_short_description = __( 'Break advertising redirects', 'disable-admin-notices' );
parent::__construct( $plugin );
$this->plugin = $plugin;
}
/**
* Requests assets (js and css) for the page.
*
* @param Wbcr_Factory480_ScriptList $scripts
* @param Wbcr_Factory480_StyleList $styles
*
* @return void
* @see Wbcr_FactoryPages480_AdminPage
*
*/
public function assets( $scripts, $styles ) {
parent::assets( $scripts, $styles );
$this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
}
public function get_break_redirects() {
return [];
}
public function showPageContent() {
$redirects = $this->get_break_redirects();
?>
<div class="wrdan-premium-fake-content">
<div class="wdan-premium-info">
<h3>Block Ad redirects PRO</h3>
<p>This feature will be useful to you to break advertising redirects. Some plugins, when updating or
during
installation, may redirect you to their page with advertisements or news. If plugins do this too
often,
it can be a headache for you. Break these redirects with our premium features.</p>
<a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank" href="https://clearfy.pro/disable-admin-notices/">
Go Pro
</a>
</div>
<div class="wdan-premium-layer"></div>
<h4>Block ad redirects</h4>
<form method="post">
<label for="wdnpro-redirect-url">Enter url for block:</label><br>
<input id="wdnpro-redirect-url" style="width:400px;" type="text" name="wdnpro_redirect_url">
<input type="submit" name="wdnpro_add_block" class="button" value="Add block">
</form>
<br>
<table class="wp-list-table widefat fixed striped">
<tr>
<th>Url</th>
<th style="width:200px;">Action</th>
</tr>
<tr>
<td>
https://site.com/wp-admin/?page=plugin-name&ads=redirect
</td>
<td>
<a style="color:#428bca;" href="#">Unblock</a>
</td>
</tr>
<tr>
<td>
https://site.com/wp-admin/?page=plugin-name&ads=redirect
</td>
<td>
<a style="color:#428bca;" href="#">Unblock</a>
</td>
</tr>
<tr>
<td>
https://site.com/wp-admin/?page=plugin-name&ads=redirect
</td>
<td>
<a style="color:#428bca;" href="#">Unblock</a>
</td>
</tr>
<tr>
<td>
https://site.com/wp-admin/?page=plugin-name&ads=redirect
</td>
<td>
<a style="color:#428bca;" href="#">Unblock</a>
</td>
</tr>
<tr>
<td>
https://site.com/wp-admin/?page=plugin-name&ads=redirect
</td>
<td>
<a style="color:#428bca;" href="#">Unblock</a>
</td>
</tr>
<tr>
<td>
https://site.com/wp-admin/?page=plugin-name&ads=redirect
</td>
<td>
<a style="color:#428bca;" href="#">Unblock</a>
</td>
</tr>
</table>
</div>
<?php
}
}

View File

@@ -0,0 +1,103 @@
<?php
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Страница лицензирования плагина.
*
* Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
*
* @author Alex Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
*
* @copyright (c) 2018 Webraftic Ltd
*/
class WDN_LicensePage extends WBCR\Factory_Templates_134\Pages\License {
/**
* {@inheritdoc}
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.6.0
* @var string
*/
public $id = 'wdn_license';
/**
* {@inheritdoc}
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.6.0
* @var string
*/
public $page_parent_page;
/**
* WCL_LicensePage constructor.
*
* @param \Wbcr_Factory480_Plugin $plugin
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
*
*/
public function __construct( Wbcr_Factory480_Plugin $plugin ) {
$this->menu_title = __( 'License', 'robin-image-optimizer' );
$this->page_menu_short_description = __( 'Product activation', 'robin-image-optimizer' );
$this->plan_name = __( 'Disable admin notices premium', 'robin-image-optimizer' );
/*if ( defined( 'WIO_PLUGIN_ACTIVE' ) && ! wrio_is_clearfy_license_activate() ) {
$this->page_parent_page = 'none';
}*/
parent::__construct( $plugin );
/**
* Adds a new plugin card to license components page
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.6.2
*/
/*add_filter( 'wbcr/clearfy/license/list_components', function ( $components ) {
$title = 'Free';
$icon = 'clearfy-premium-icon-256x256--lock.png';
if ( $this->is_premium ) {
$title = 'Premium';
$icon = 'clearfy-premium-icon-256x256--default.png';
}
$components[] = [
'name' => 'clearfy',
'title' => sprintf( __( 'Clearfy [%s]', 'clearfy' ), $title ),
'type' => 'internal',
'build' => $this->is_premium ? 'premium' : 'free',
'key' => $this->get_hidden_license_key(),
'plan' => $this->get_plan(),
'expiration_days' => $this->get_expiration_days(),
'quota' => $this->is_premium ? $this->premium_license->get_count_active_sites() . ' ' . __( 'of', 'clearfy' ) . ' ' . $this->premium_license->get_sites_quota() : null,
'subscription' => $this->is_premium && $this->premium_has_subscription ? sprintf( __( 'Automatic renewal, every %s', '' ), esc_attr( $this->get_billing_cycle_readable() ) ) : null,
'url' => 'https://clearfy.pro/',
'icon' => WCL_PLUGIN_URL . '/admin/assets/img/' . $icon,
'description' => __( 'Public License is a GPLv3 compatible license allowing you to change and use this version of the plugin for free. Please keep in mind this license covers only free edition of the plugin. Premium versions are distributed with other type of a license.', 'clearfy' ),
'license_page_id' => 'clearfy_license'
];
return $components;
} );*/
}
/**
* {@inheritdoc}
*
* @return string
* @since 1.6.0
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
*/
/*public function get_plan_description() {
$description = '<p style="font-size: 16px;">' . __( '<b>Clearfy Business</b> is a paid package of components for the popular free WordPress plugin named Clearfy. You get access to all paid components at one price.', 'clearfy' ) . '</p>';
$description .= '<p style="font-size: 16px;">' . __( 'Paid license guarantees that you can download and update existing and future paid components of the plugin.', 'clearfy' ) . '</p>';
return $description;
}*/
}

View File

@@ -0,0 +1,91 @@
<?php
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Страница со списком скрытых нотисов.
*
* @author Artem Prihodko <webtemyk@yandex.ru>
* @copyright (c) 2020 Webraftic Ltd
* @version 1.0
*/
class WDAN_Notices extends WDN_Page {
/**
* {@inheritDoc}
*
* @var string
*/
public $id = "wdan-notices";
/**
* {@inheritDoc}
*
* @var string
*/
public $type = "page";
/**
* {@inheritDoc}
*
* @var string
*/
public $page_menu_dashicon = 'dashicons-hidden';
/**
* {@inheritDoc}
*
* @since 2.0.5 - добавлен
* @var bool
*/
public $show_right_sidebar_in_options = false;
/**
* @param WDN_Plugin $plugin
*/
public function __construct( $plugin ) {
$this->menu_title = __( 'Hidden notices', 'disable-admin-notices' );
$this->page_menu_short_description = __( 'Manage hidden notices', 'disable-admin-notices' );
parent::__construct( $plugin );
$this->plugin = $plugin;
}
/**
* Requests assets (js and css) for the page.
*
* @param Wbcr_Factory480_ScriptList $scripts
* @param Wbcr_Factory480_StyleList $styles
*
* @return void
* @see Wbcr_FactoryPages480_AdminPage
*
*/
public function assets( $scripts, $styles ) {
parent::assets( $scripts, $styles );
$this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
}
public function showPageContent() {
?>
<div class="wrdan-premium-fake-content">
<div class="wdan-premium-info">
<h3>Hidden notices PRO</h3>
<p>This function allows you to disable annoying menu items in the admin bar. Some plugins take up space
in
the admin bar to insert their ads. Just get rid of this ad with the premium features of our
plugin.</p>
<a class="wdan-button wdan-button-default wdan-button-go-pro" target="_blank"
href="https://clearfy.pro/disable-admin-notices/">Go
Pro</a>
</div>
</div>
<?php
}
}

View File

@@ -0,0 +1,149 @@
<?php
/**
* Страница общих настроек для этого плагина.
*
* Может быть использована только, если этот плагин используется как отдельный плагин, а не как аддон
* дя плагина Clearfy. Если плагин загружен, как аддон для Clearfy, эта страница не будет подключена.
*
* Поддерживает режим работы с мультисаймами. Вы можете увидеть эту страницу в панели настройки сети.
*
* Github: https://github.com/alexkovalevv
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class WDN_Settings_Page extends WDN_Page {
/**
* {@inheritDoc}
*
* @var string
*/
public $id = "wdan_settings";
/**
* {@inheritDoc}
*
* @var string
*/
public $page_menu_dashicon = 'dashicons-admin-generic';
/**
* {@inheritDoc}
*
* @var bool
*/
public $available_for_multisite = true;
/**
* {@inheritDoc}
*
* @since 1.1.0
* @var bool
*/
public $show_right_sidebar_in_options = true;
/**
* {@inheritDoc}
*
* @since 1.1.3 - Added
* @var bool - true show, false hide
*/
public $show_search_options_form = false;
/**
* {@inheritDoc}
* @var int
*/
public $page_menu_position = 100;
/**
* @param Wbcr_Factory480_Plugin $plugin
*/
public function __construct( Wbcr_Factory480_Plugin $plugin ) {
$this->menu_title = __( 'Hide admin notices', 'disable-admin-notices' );
$this->page_menu_short_description = __( 'General settings', 'disable-admin-notices' );
$this->internal = false;
$this->menu_target = 'options-general.php';
$this->add_link_to_plugin_actions = true;
parent::__construct( $plugin );
$this->plugin = $plugin;
}
public function getPageTitle() {
return __( 'Settings', 'disable-admin-notices' );
}
/**
* Requests assets (js and css) for the page.
*
* @param Wbcr_Factory480_ScriptList $scripts
* @param Wbcr_Factory480_StyleList $styles
*
* @return void
* @see Wbcr_FactoryPages480_AdminPage
*
*/
public function assets( $scripts, $styles ) {
parent::assets( $scripts, $styles );
$this->styles->add( WDN_PLUGIN_URL . '/admin/assets/css/settings.css' );
$this->scripts->add( WDN_PLUGIN_URL . '/admin/assets/js/settings.js' );
}
/**
* {@inheritDoc}
*
* @return array
*/
public function actionsNotice( $notices ) {
$notices[] = [
'conditions' => [
'wbcr_dan_reseted_notices' => 1
],
'type' => 'success',
'message' => __( 'Hidden notices are successfully reset, now you can see them again!', 'disable-admin-notices' )
];
/*$notices[] = array(
'conditions' => array(
'wbcr_dan_clear_comments_error' => 1,
'wbcr_dan_code' => 'interal_error'
),
'type' => 'danger',
'message' => __('An error occurred while trying to delete comments. Internal error occured. Please try again later.', 'factory_pages_480')
);*/
return $notices;
}
/**
* {@inheritDoc}
*
* @return array
*/
public function getPageOptions() {
$options = wbcr_dan_get_plugin_options();
$formOptions = [];
$formOptions[] = [
'type' => 'form-group',
'items' => $options,
//'cssClass' => 'postbox'
];
return apply_filters( 'wbcr_dan_notices_form_options', $formOptions, $this );
}
}

View File

@@ -0,0 +1,2 @@
<?php
// Silence is golden.

View File

@@ -0,0 +1,56 @@
<?php
/**
* Этот файл инициализирует этот плагин, как аддон для плагина Clearfy.
*
* Файл будет подключен только в плагине Clearfy, используя особый вариант загрузки. Это более простое решение
* пришло на смену встроенной системы подключения аддонов в фреймворке.
*
* Github: https://github.com/alexkovalevv
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( ! defined( 'WDN_PLUGIN_ACTIVE' ) ) {
define( 'WDN_PLUGIN_VERSION', '1.3.6' );
define( 'WDN_TEXT_DOMAIN', 'disable-admin-notices' );
define( 'WDN_PLUGIN_ACTIVE', true );
// Этот плагин загружен, как аддон для плагина Clearfy
define( 'LOADING_DISABLE_ADMIN_NOTICES_AS_ADDON', true );
if ( ! defined( 'WDN_PLUGIN_DIR' ) ) {
define( 'WDN_PLUGIN_DIR', dirname( __FILE__ ) );
}
if ( ! defined( 'WDN_PLUGIN_BASE' ) ) {
define( 'WDN_PLUGIN_BASE', plugin_basename( __FILE__ ) );
}
if ( ! defined( 'WDN_PLUGIN_URL' ) ) {
define( 'WDN_PLUGIN_URL', plugins_url( '', __FILE__ ) );
}
try {
// Global scripts
require_once( WDN_PLUGIN_DIR . '/includes/functions.php' );
require_once( WDN_PLUGIN_DIR . '/includes/3rd-party/class-clearfy-plugin.php' );
new WDN_Plugin();
} catch( Exception $e ) {
$wdan_plugin_error_func = function () use ( $e ) {
$error = sprintf( "The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Webcraftic Disable Admin Notices', $e->getMessage(), $e->getCode() );
echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
};
add_action( 'admin_notices', $wdan_plugin_error_func );
add_action( 'network_admin_notices', $wdan_plugin_error_func );
}
}

View File

@@ -0,0 +1,167 @@
<?php
/**
* Plugin Name: Disable Admin Notices Individually
* Plugin URI: https://clearfy.pro/disable-admin-notices
* Description: Disable admin notices plugin gives you the option to hide updates warnings and inline notices in the admin panel.
* Author: Creative Motion <info@cm-wp.com>
* Version: 1.3.6
* Text Domain: disable-admin-notices
* Domain Path: /languages/
* Author URI: https://webcraftic.com
* Framework Version: FACTORY_480_VERSION
*/
/**
* Developers who contributions in the development plugin:
*
* Alexander Kovalev
* ---------------------------------------------------------------------------------
* Full plugin development.
*
* Email: alex.kovalevv@gmail.com
* Personal card: https://alexkovalevv.github.io
* Personal repo: https://github.com/alexkovalevv
* ---------------------------------------------------------------------------------
*
* Artem Prihodko
* ---------------------------------------------------------------------------------
* Updates and fixes
*
* Email: webtemyk@yandex.ru
* GitHub: https://github.com/temyk
* ---------------------------------------------------------------------------------
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* -----------------------------------------------------------------------------
* CHECK REQUIREMENTS
* Check compatibility with php and wp version of the user's site. As well as checking
* compatibility with other plugins from Webcraftic.
* -----------------------------------------------------------------------------
*/
require_once( dirname( __FILE__ ) . '/libs/factory/core/includes/class-factory-requirements.php' );
// @formatter:off
$wdan_plugin_info = [
'prefix' => 'wbcr_dan_',
'plugin_name' => 'wbcr_dan',
'plugin_title' => 'Webcraftic disable admin notices',
// PLUGIN SUPPORT
'support_details' => [
'url' => 'https://clearfy.pro/',
'pages_map' => [
'support' => 'support', // {site}/support
'docs' => 'docs', // {site}/docs,
'pricing' => 'disable-admin-notices'
]
],
// PLUGIN PREMIUM SETTINGS
'has_premium' => true,
'license_settings' => [
'provider' => 'freemius',
'slug' => 'disable-admin-notices-premium',
'plugin_id' => '6456',
'public_key' => 'pk_0570ec3c1b4100b9c9a0cbfe80f9f',
'price' => 29,
'has_updates' => true,
'updates_settings' => [
'maybe_rollback' => true,
'rollback_settings' => [
'prev_stable_version' => '0.0.0'
]
]
],
// PLUGIN SUBSCRIBE FORM
'subscribe_widget' => true,
'subscribe_settings' => [ 'group_id' => '105407140' ],
// PLUGIN ADVERTS
'render_adverts' => true,
'adverts_settings' => [
'dashboard_widget' => false, // show dashboard widget (default: false)
'right_sidebar' => true, // show adverts sidebar (default: false)
'notice' => false, // show notice message (default: false)
],
// FRAMEWORK MODULES
'load_factory_modules' => [
[ 'libs/factory/bootstrap', 'factory_bootstrap_482', 'admin' ],
[ 'libs/factory/forms', 'factory_forms_480', 'admin' ],
[ 'libs/factory/pages', 'factory_pages_480', 'admin' ],
[ 'libs/factory/templates', 'factory_templates_134', 'all' ],
[ 'libs/factory/freemius', 'factory_freemius_170', 'all' ],
[ 'libs/factory/adverts', 'factory_adverts_159', 'admin' ],
//array('libs/factory/logger', 'factory_logger_149', 'all')
]
];
$wdan_compatibility = new Wbcr_Factory480_Requirements( __FILE__, array_merge( $wdan_plugin_info, [
'plugin_already_activate' => defined( 'WDN_PLUGIN_ACTIVE' ),
'required_php_version' => '7.0',
'required_wp_version' => '4.8.0',
'required_clearfy_check_component' => false
] ) );
/**
* If the plugin is compatible, then it will continue its work, otherwise it will be stopped,
* and the user will throw a warning.
*/
if ( ! $wdan_compatibility->check() ) {
return;
}
/**
* -----------------------------------------------------------------------------
* CONSTANTS
* Install frequently used constants and constants for debugging, which will be
* removed after compiling the plugin.
* -----------------------------------------------------------------------------
*/
// This plugin is activated
define( 'WDN_PLUGIN_ACTIVE', true );
define( 'WDN_PLUGIN_VERSION', $wdan_compatibility->get_plugin_version() );
define( 'WDN_PLUGIN_DIR', dirname( __FILE__ ) );
define( 'WDN_PLUGIN_BASE', plugin_basename( __FILE__ ) );
define( 'WDN_PLUGIN_URL', plugins_url( '', __FILE__ ) );
/**
* -----------------------------------------------------------------------------
* PLUGIN INIT
* -----------------------------------------------------------------------------
*/
require_once( WDN_PLUGIN_DIR . '/libs/factory/core/boot.php' );
require_once( WDN_PLUGIN_DIR . '/includes/functions.php' );
require_once( WDN_PLUGIN_DIR . '/includes/class-plugin.php' );
try {
new WDN_Plugin( __FILE__, array_merge( $wdan_plugin_info, [
'plugin_version' => WDN_PLUGIN_VERSION,
'plugin_text_domain' => $wdan_compatibility->get_text_domain(),
] ) );
} catch ( Exception $e ) {
// Plugin wasn't initialized due to an error
define( 'WDN_PLUGIN_THROW_ERROR', true );
$wdan_plugin_error_func = function () use ( $e ) {
$error = sprintf( "The %s plugin has stopped. <b>Error:</b> %s Code: %s", 'Disable Admin Notices', $e->getMessage(), $e->getCode() );
echo '<div class="notice notice-error"><p>' . $error . '</p></div>';
};
add_action( 'admin_notices', $wdan_plugin_error_func );
add_action( 'network_admin_notices', $wdan_plugin_error_func );
}
// @formatter:on

View File

@@ -0,0 +1,79 @@
<?php
/**
* Disable admin notices core class
*
* Github: https://github.com/alexkovalevv
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class WDN_Plugin {
/**
* @var WCL_Plugin
*/
private static $app;
/**
* Конструктор
* Вы
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @throws \Exception
*/
public function __construct() {
if ( ! class_exists( 'WCL_Plugin' ) ) {
throw new Exception( 'Plugin Clearfy is not installed!' );
}
self::$app = WCL_Plugin::app();
$this->globalScripts();
if ( is_admin() ) {
$this->adminScripts();
}
}
/**
* @return WCL_Plugin
*/
public static function app() {
return self::$app;
}
/**
* Выполняет сценарии, которые должны быть запущены только в бекенде
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.1.0
*/
private function adminScripts() {
require( WDN_PLUGIN_DIR . '/admin/options.php' );
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
require( WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php' );
require( WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php' );
}
require( WDN_PLUGIN_DIR . '/admin/boot.php' );
}
/**
* Выполняет сценрии, которые должны быть запущены глобально
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.1.0
*/
private function globalScripts() {
require( WDN_PLUGIN_DIR . '/includes/classes/class-configurate-notices.php' );
new WDN_ConfigHideNotices( self::$app );
}
}

View File

@@ -0,0 +1,113 @@
<?php
/**
* Disable admin notices core class
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* Github: https://github.com/alexkovalevv
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
//use WBCR\Factory_Adverts_159\Base;
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class WDN_Plugin extends Wbcr_Factory480_Plugin {
/**
* @var Wbcr_Factory480_Plugin
*/
private static $app;
private $plugin_data;
/**
* @param string $plugin_path
* @param array $data
*
* @throws Exception
*/
public function __construct( $plugin_path, $data ) {
parent::__construct( $plugin_path, $data );
self::$app = $this;
$this->plugin_data = $data;
$this->global_scripts();
if ( is_admin() ) {
$this->admin_scripts();
}
// Wordpress 6.7 fix
add_action( 'init', function () {
if ( is_admin() ) {
$this->register_pages();
}
} );
}
/**
* @return Wbcr_Factory480_Plugin
*/
public static function app() {
return self::$app;
}
private function register_pages() {
//self::app()->registerPage( 'WDN_Log_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-log.php' );
self::app()->registerPage( 'WDN_Settings_Page', WDN_PLUGIN_DIR . '/admin/pages/class-pages-settings.php' );
if ( ! ( $this->premium->is_activate() && $this->premium->is_install_package() ) ) {
self::app()->registerPage( 'WDAN_Notices', WDN_PLUGIN_DIR . '/admin/pages/class-pages-notices.php' );
self::app()->registerPage( 'WDAN_Block_Ad_Redirects', WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-redirects.php' );
self::app()->registerPage( 'WDAN_Edit_Admin_Bar', WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-admin-bar.php' );
}
self::app()->registerPage( 'WDN_LicensePage', WDN_PLUGIN_DIR . '/admin/pages/class-pages-license.php' );
}
private function admin_scripts() {
require( WDN_PLUGIN_DIR . '/admin/options.php' );
require( WDN_PLUGIN_DIR . '/admin/class-page-basic.php' );
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
require_once( WDN_PLUGIN_DIR . '/admin/ajax/hide-notice.php' );
require_once( WDN_PLUGIN_DIR . '/admin/ajax/restore-notice.php' );
}
require_once( WDN_PLUGIN_DIR . '/admin/boot.php' );
require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-admin-bar.php' );
require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-edit-redirects.php' );
require_once( WDN_PLUGIN_DIR . '/admin/pages/class-pages-notices.php' );
/*add_action( 'plugins_loaded', function () {
$this->register_pages();
}, 30 );*/
}
private function global_scripts() {
require_once( WDN_PLUGIN_DIR . '/includes/classes/class-configurate-notices.php' );
new WDN_ConfigHideNotices( self::$app );
}
/**
* Метод проверяет активацию премиум плагина и наличие действующего лицензионнного ключа
*
* @return bool
*/
public function is_premium() {
if (
$this->premium->is_active() &&
$this->premium->is_activate()
&& $this->premium->is_install_package()
) {
return true;
} else {
return false;
}
}
}

View File

@@ -0,0 +1,381 @@
<?php
/**
* This class configures hide admin notices
*
* Github: https://github.com/alexkovalevv
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @copyright (c) 2018 Webraftic Ltd
* @version 1.0
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
class WDN_ConfigHideNotices extends WBCR\Factory_Templates_134\Configurate {
public function registerActionsAndFilters() {
if ( is_admin() ) {
$hide_notices_type = $this->getPopulateOption( 'hide_admin_notices', 'only_selected' );
if ( 'not_hide' !== $hide_notices_type && 'compact_panel' !== $hide_notices_type ) {
add_action( 'admin_print_scripts', [ $this, 'catchNotices' ], 999 );
if ( empty( $hide_notices_type ) || $hide_notices_type == 'only_selected' ) {
add_action( 'admin_head', [ $this, 'printNotices' ], 999 );
}
if ( ! empty( $hide_notices_type ) ) {
add_action( 'admin_bar_menu', [ $this, 'notificationsPanel' ], 999 );
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_styles' ] );
}
}
}
}
public function printNotices() {
if ( is_multisite() && is_network_admin() ) {
add_action( 'network_admin_notices', [ $this, 'noticesCollection' ] );
} else {
add_action( 'admin_notices', [ $this, 'noticesCollection' ] );
}
}
public function enqueue_styles() {
wp_enqueue_style( 'wbcr-notification-hide-style', WDN_PLUGIN_URL . '/admin/assets/css/general.css', [], $this->plugin->getPluginVersion() );
if ( ! $this->getPopulateOption( 'show_notices_in_adminbar', false ) && current_user_can( 'manage_network' ) ) {
return;
}
wp_enqueue_style( 'wbcr-notification-panel-styles', WDN_PLUGIN_URL . '/admin/assets/css/notifications-panel.css', [], $this->plugin->getPluginVersion() );
wp_enqueue_script( 'wbcr-notification-panel-scripts', WDN_PLUGIN_URL . '/admin/assets/js/notifications-panel.js', [], $this->plugin->getPluginVersion() );
}
public function notificationsPanel( &$wp_admin_bar ) {
if ( ! $this->getPopulateOption( 'show_notices_in_adminbar', false ) ) {
return;
}
if ( current_user_can( 'manage_options' ) ) {
$notifications_user = get_user_meta( get_current_user_id(), $this->plugin->getOptionName( 'hidden_notices' ), true );
$notifications_all = apply_filters( 'wdan/notifications/all', [] );
if ( ! is_array( $notifications_user ) ) {
$notifications_user = [];
}
if ( empty( $notifications_user ) && empty( $notifications_all ) ) {
return;
}
$cont_notifications = sizeof( $notifications_user ) + sizeof( $notifications_all );
// Add top menu
$wp_admin_bar->add_menu( [
'id' => 'wbcr-han-notify-panel',
'parent' => 'top-secondary',
'title' => sprintf( __( 'Notifications %s', 'disable-admin-notices' ), '<span class="wbcr-han-adminbar-counter">' . $cont_notifications . '</span>' ),
'href' => $this->plugin->getPluginPageUrl( 'wdan-notices' )
] );
$i = 0;
// User
if ( ! empty( $notifications_user ) ) {
$wp_admin_bar->add_menu( [
'id' => 'wbcr-han-notify-panel-group-user',
'parent' => 'wbcr-han-notify-panel',
'title' => __( 'Hidden for you', 'disable-admin-notices' ),
'href' => false,
'meta' => [
'class' => ''
]
] );
foreach ( $notifications_user as $notice_id => $message ) {
$message = wp_kses( $message, [] );
$message = $this->getExcerpt( stripslashes( $message ), 0, 350 );
$message .= '<div class="wbcr-han-panel-restore-notify-line">';
$message .= '<a href="#" data-nonce="' . wp_create_nonce( $this->plugin->getPluginName() . '_ajax_restore_notice_nonce' );
$message .= '" data-notice-id="' . esc_attr( $notice_id ) . '" class="wbcr-han-panel-restore-notify-link">';
$message .= __( 'Restore notice', 'clearfy' );
$message .= '</a></div>';
$wp_admin_bar->add_menu( [
'id' => 'wbcr-han-notify-panel-item-' . $i,
'parent' => 'wbcr-han-notify-panel',
'title' => $message,
'href' => false,
'meta' => [
'class' => ''
]
] );
$i ++;
}
}
if ( $this->plugin->is_premium() && ( current_user_can( 'manage_options' ) || ( is_multisite() && current_user_can( 'manage_network' ) ) ) ) {
// All
do_action( 'wdn/notifications/panel/all', $wp_admin_bar, $notifications_all, $i );
}
}
}
public function noticesCollection() {
global $wbcr_dan_plugin_all_notices;
if ( empty( $wbcr_dan_plugin_all_notices ) ) {
return;
}
?>
<!-- Disable admin notices plugin (Clearfy tools) -->
<script>
jQuery(document).ready(function ($) {
$(document).on('click', '.wbcr-dan-hide-notice-link', function () {
var self = $(this),
target = self.data('target'),
noticeID = self.data('notice-id'),
nonce = self.data('nonce'),
noticeHtml = self.closest('.wbcr-dan-hide-links').prev('.wbcr-dan-hide-notices').clone(),
contanierEl = self.closest('.wbcr-dan-hide-links').prev('.wbcr-dan-hide-notices').parent();
contanierEl.find('.wbcr-dan-hide-links').remove();
contanierEl.slideUp();
if (!noticeID) {
alert('Undefinded error. Please report the bug to our support forum.');
}
$.ajax(ajaxurl, {
type: 'post',
dataType: 'json',
data: {
action: 'wbcr-dan-hide-notices',
target: target,
security: nonce,
notice_id: noticeID,
notice_html: noticeHtml.html()
},
success: function (response) {
if (!response || !response.success) {
if (response.data.error_message) {
console.log(response.data.error_message);
self.closest('li').show();
} else {
console.log(response);
}
contanierEl.show();
return;
}
contanierEl.remove();
},
error: function (xhr, ajaxOptions, thrownError) {
console.log(xhr.status);
console.log(xhr.responseText);
console.log(thrownError);
}
});
return false;
});
});
</script>
<?php
foreach ( $wbcr_dan_plugin_all_notices as $val ) {
echo $val;
}
}
public
function catchNotices() {
global $wbcr_dan_plugin_all_notices;
try {
$wp_filter_admin_notices = &wdan_get_wp_filter( 'admin_notices' );
$wp_filter_all_admin_notices = &wdan_get_wp_filter( 'all_admin_notices' );
$wp_filter_notices = $this->array_merge( $wp_filter_admin_notices, $wp_filter_all_admin_notices );
} catch ( Exception $e ) {
$wp_filter_notices = null;
}
$hide_notices_type = $this->getPopulateOption( 'hide_admin_notices' );
if ( empty( $hide_notices_type ) || $hide_notices_type == 'only_selected' ) {
$get_hidden_notices = get_user_meta( get_current_user_id(), $this->plugin->getOptionName( 'hidden_notices' ), true );
$get_hidden_notices_all = apply_filters( 'wdan/notifications/all', [] );
$content = [];
foreach ( (array) $wp_filter_notices as $filters ) {
foreach ( $filters as $callback_name => $callback ) {
if ( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
continue;
}
ob_start();
// #CLRF-140 fix bug for php7
// when the developers forgot to delete the argument in the function of implementing the notification.
$args = [];
$accepted_args = isset( $callback['accepted_args'] ) && ! empty( $callback['accepted_args'] ) ? $callback['accepted_args'] : 0;
if ( $accepted_args > 0 ) {
for ( $i = 0; $i < (int) $accepted_args; $i ++ ) {
$args[] = null;
}
}
//===========
call_user_func_array( $callback['function'], $args );
$cont = ob_get_clean();
if ( empty( $cont ) ) {
continue;
}
$salt = is_multisite() ? get_current_blog_id() : '';
$txt = preg_replace( '/<(script|style)([^>]+)?>(.*?)<\/(script|style)>/is', '', $cont );
$uniq_id1 = md5( strip_tags( str_replace( [ "\t", "\r", "\n", " " ], "", $txt ) ) . $salt );
$uniq_id2 = md5( $callback_name . $salt );
if ( is_array( $callback['function'] ) && sizeof( $callback['function'] ) == 2 ) {
$class = $callback['function'][0];
if ( is_object( $class ) ) {
$class_name = get_class( $class );
$method_name = $callback['function'][1];
$uniq_id2 = md5( $class_name . ':' . $method_name );
}
}
//$txt = rtrim( trim( $txt ) );
//$txt = preg_replace( '/^(<div[^>]+>)(.*?)(<\/div>)$/is', '<p>$2</p>', $txt );
// All
$skip_notice = apply_filters( 'wdn/notifications/catch/all', true, $get_hidden_notices_all, $uniq_id1, $uniq_id2 );
if ( ! $skip_notice ) {
continue;
}
if ( ! empty( $get_hidden_notices ) ) {
$skip_notice = true;
foreach ( (array) $get_hidden_notices as $key => $notice ) {
$splited_notice_id = explode( '_', $key );
if ( empty( $splited_notice_id ) || sizeof( $splited_notice_id ) < 2 ) {
continue;
}
$compare_notice_id_1 = $splited_notice_id[0];
$compare_notice_id_2 = $splited_notice_id[1];
if ( $compare_notice_id_1 == $uniq_id1 || $compare_notice_id_2 == $uniq_id2 ) {
$skip_notice = false;
break;
}
}
if ( ! $skip_notice ) {
continue;
}
}
$nonce = wp_create_nonce( $this->plugin->getPluginName() . '_ajax_hide_notices_nonce' );
$hide_link_for_me = "<button data-target='user' data-nonce='{$nonce}' data-notice-id='{$uniq_id1}_{$uniq_id2}' class='wbcr-dan-hide-notice-link'>" . __( 'Hide <b>for me</b>', 'disable-admin-notices' ) . "</button>";
$hide_link_for_all = "";
if ( $this->plugin->is_premium() && ( current_user_can( 'manage_options' ) || ( is_multisite() && current_user_can( 'manage_network' ) ) ) ) {
$hide_link_for_all = "<button data-target='all' data-nonce='{$nonce}' data-notice-id='{$uniq_id1}_{$uniq_id2}' class='wbcr-dan-hide-notice-link'>" . __( 'Hide <b>for all</b>', 'disable-admin-notices' ) . "</button>";
}
if ( strpos( $cont, 'redux-connect-message' ) ) {
$a = 1;
}
// Fix for Woocommerce membership and Jetpack message
if ( $cont != '<div class="js-wc-memberships-admin-notice-placeholder"></div>' && false === strpos( $cont, 'jetpack-jitm-message' ) ) {
$cont = preg_replace( '/<(noscript|script|style)([^>]+)?>(.*?)<\/(noscript|script|style)>(<\/(noscript|script|style)>)*/is', '', $cont );
$cont = preg_replace( '/<!--(.*?)-->/is', '', $cont );
$cont = rtrim( trim( $cont ) );
$cont = preg_replace( '/^(<div[^>]+>)(.*?)(<\/div>)$/is',
"$1<div class='wbcr-dan-hide-notices'>$2</div><div class='wbcr-dan-hide-links'>{$hide_link_for_me} {$hide_link_for_all}</div>$3", $cont );
}
if ( empty( $cont ) ) {
continue;
}
$content[] = $cont;
}
}
$wbcr_dan_plugin_all_notices = $content;
}
wdan_clear_all_notices( 'user_admin_notices' );
wdan_clear_all_notices( 'network_admin_notices' );
wdan_clear_all_notices( 'admin_notices', [
'Learndash_Admin_Menus_Tabs',
'WC_Memberships_Admin',
'YIT_Plugin_Panel_WooCommerce'
], [ 'et_pb_export_layouts_interface' ] );
wdan_clear_all_notices( 'all_admin_notices', [
'Learndash_Admin_Menus_Tabs',
'WC_Memberships_Admin',
'YIT_Plugin_Panel_WooCommerce'
], [ 'et_pb_export_layouts_interface' ] );
}
/**
* Get excerpt from string
*
* @param String $str String to get an excerpt from
* @param Integer $startPos Position int string to start excerpt from
* @param Integer $maxLength Maximum length the excerpt may be
*
* @return String excerpt
*/
public
function getExcerpt(
$str, $startPos = 0, $maxLength = 100
) {
if ( strlen( $str ) > $maxLength ) {
$excerpt = substr( $str, $startPos, $maxLength - 3 );
$lastSpace = strrpos( $excerpt, ' ' );
$excerpt = substr( $excerpt, 0, $lastSpace );
$excerpt .= '...';
} else {
$excerpt = $str;
}
return $excerpt;
}
/**
* @param array $arr1
* @param array $arr2
*
* @return array
*/
protected
function array_merge(
array $arr1, array $arr2
) {
if ( ! empty( $arr2 ) ) {
foreach ( $arr2 as $key => $value ) {
if ( ! isset( $arr1[ $key ] ) ) {
$arr1[ $key ] = $value;
} else if ( is_array( $arr1[ $key ] ) ) {
$arr1[ $key ] = $arr1[ $key ] + $value;
}
}
}
return $arr1;
}
}

View File

@@ -0,0 +1,122 @@
<?php
/**
* Helper functions
* @author Webcraftic <alex.kovalevv@gmail.com>
* @copyright (c) 05.07.2020, Webcraftic
* @version 1.0
*/
/**
* Access to global variable $wp_filter in WP core.
* Migration from WP 4.2 to 4.9
*
* @see https://codex.wordpress.org/Version_4.7 WP 4.7 changelog (WP_Hook)
*
* @param $key string filter name
*
* @return array callbacks array by link
*/
function &wdan_get_wp_filter( $key ) {
global $wp_filter;
$default = [];
if ( 'admin_notices' === $key && is_multisite() && is_network_admin() ) {
$key = 'network_admin_notices';
}
if ( ! isset( $wp_filter[ $key ] ) ) {
return $default;
}
return $wp_filter[ $key ]->callbacks;
}
/**
* @param $key
*
* @return array
*/
function wdan_collect_notices( $key ) {
$wp_filter = &wdan_get_wp_filter( $key );
$content = [];
if ( ! empty( $wp_filter ) ) {
foreach ( (array) $wp_filter as $filters ) {
foreach ( $filters as $callback_name => $callback ) {
if ( 'usof_hide_admin_notices_start' == $callback_name || 'usof_hide_admin_notices_end' == $callback_name ) {
continue;
}
ob_start();
// #CLRF-140 fix bug for php7
// when the developers forgot to delete the argument in the function of implementing the notification.
$args = [];
$accepted_args = isset( $callback['accepted_args'] ) && ! empty( $callback['accepted_args'] ) ? $callback['accepted_args'] : 0;
if ( $accepted_args > 0 ) {
for ( $i = 0; $i < (int) $accepted_args; $i ++ ) {
$args[] = null;
}
}
//===========
call_user_func_array( $callback['function'], $args );
$cont = ob_get_clean();
if ( ! empty( $cont ) ) {
$salt = is_multisite() ? get_current_blog_id() : '';
$uniq_id1 = md5( $cont . $salt );
$uniq_id2 = md5( $callback_name . $salt );
if ( is_array( $callback['function'] ) && sizeof( $callback['function'] ) == 2 ) {
$class = $callback['function'][0];
if ( is_object( $class ) ) {
$class_name = get_class( $class );
$method_name = $callback['function'][1];
$uniq_id2 = md5( $class_name . ':' . $method_name );
}
}
$content[ $uniq_id1 . "_" . $uniq_id2 ] = $cont;
}
}
}
}
return $content;
}
/**
* @param $key
* @param array $excluded_classes
* @param array $excluded_callback_names
*/
function wdan_clear_all_notices( $key, $excluded_classes = [], $excluded_callback_names = [] ) {
$wp_filter = &wdan_get_wp_filter( $key );
if ( ! empty( $wp_filter ) ) {
foreach ( (array) $wp_filter as $f_key => $f ) {
foreach ( $f as $c_name => $clback ) {
if ( is_array( $clback['function'] ) && sizeof( $clback['function'] ) == 2 ) {
$class = $clback['function'][0];
if ( is_object( $class ) ) {
$class_name = get_class( $class );
if ( in_array( $class_name, $excluded_classes ) ) {
continue;
}
}
}
if ( in_array( $c_name, $excluded_callback_names ) ) {
continue;
}
unset( $wp_filter[ $f_key ][ $c_name ] );
}
}
}
}

View File

@@ -0,0 +1,182 @@
# Translation of Plugins - Clearfy in Spanish (Spain)
# This file is distributed under the same license as the Plugins - Clearfy WordPress optimization plugin and disable ultimate tweaker - Development (trunk) package.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"POT-Creation-Date: 2019-04-28 06:26+0300\n"
"PO-Revision-Date: 2019-04-28 06:26+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 2.1.1\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 2.1.1\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: libs\n"
"X-Poedit-SearchPathExcluded-1: components\n"
"X-Poedit-SearchPathExcluded-2: cache\n"
#: admin/ajax/hide-notice.php:24 admin/ajax/restore-notice.php:22
msgid "Undefinded notice id."
msgstr "Aviso de ID indefinido"
#: admin/ajax/hide-notice.php:40 admin/ajax/restore-notice.php:36
msgid "You don't have enough capability to edit this information."
msgstr "No tienes suficiente permisos para editar esta información."
#: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:38
msgid "Hide admin notices"
msgstr "Ocultar avisos administrativos"
#: admin/boot.php:24 admin/options.php:103
msgid "Enable hidden notices in adminbar"
msgstr "Habilitar avisos ocultos en la barra de administración"
#: admin/boot.php:46
msgid "Get ultimate plugin free"
msgstr "Obtener el ultimate plugin gratis"
#: admin/options.php:23
msgid "Admin notifications, Update nags"
msgstr "Notificaciones de administrador, actualización de nags"
#: admin/options.php:23
msgid ""
"Do you know the situation, when some plugin offers you to update to premium, "
"to collect technical data and shows many annoying notices? You are close "
"these notices every now and again but they newly appears and interfere your "
"work with WordPress. Even worse, some plugins authors delete “close” button "
"from notices and they shows in your admin panel forever."
msgstr ""
"¿Conoces la situación cuando algún plugin te ofrece actualizar a Premium, "
"recopilar datos técnicos y mostrar muchos avisos molestos? A veces no están, "
"pero aparecen de nuevo e interfieren en tu trabajo con WordPress. Peor aún, "
"los autores de algunos plugin eliminan el botón \"cerrar\" de las "
"notificaciones y se muestran en su panel de administración para siempre."
#: admin/options.php:34
msgid "All notices"
msgstr "Todos los avisos"
#: admin/options.php:35
msgid "Hide all notices globally."
msgstr "Ocultar todos los avisos globalmente."
#: admin/options.php:39
msgid "Only selected"
msgstr "Solo seleccionados"
#: admin/options.php:40
msgid ""
"Hide selected notices only. You will see the link \"Hide notification forever"
"\" in each notice. Push it and they will not bother you anymore."
msgstr ""
"Ocultar solo los avisos seleccionados. Verá el enlace \"Ocultar notificación "
"para siempre\" en cada aviso. Click y ya no los veras mas."
#: admin/options.php:44
msgid "Don't nide"
msgstr "No ocultar"
#: admin/options.php:45
msgid ""
"Do not hide notices and do not show “Hide notification forever” link for "
"admin."
msgstr ""
"No ocultar avisos y no mostrar el enlace \"Ocultar notificación para siempre"
"\" para el administrador."
#: admin/options.php:49
msgid ""
"Some plugins shows notifications about premium version, data collecting or "
"promote their services. Even if you push close button (that sometimes are "
"impossible), notices are shows again in some time. This option allows you to "
"control notices. Hide them all or each individually. Some plugins shows "
"notifications about premium version, data collecting or promote their "
"services. Even if you push close button (that sometimes are impossible), "
"notices are shows again in some time. This option allows you to control "
"notices. Hide them all or each individually."
msgstr ""
"Algunos plugin muestran notificaciones sobre la versión premium: "
"Recopilación de datos o la promoción de sus servicios; Incluso si presiona "
"el botón de cierre (que a veces es imposible), las notificaciones se "
"muestran de nuevo en algún momento. Esta opción le permite controlar avisos. "
"Ocúltelas todas o cada una individualmente."
#: admin/options.php:105
msgid ""
"By default, the plugin hides all notices, which you specified. If you enable "
"this option, the plugin will collect all hidden notices and show them into "
"the top admin toolbar. It will not disturb you but will allow to look "
"notices at your convenience."
msgstr ""
"Por defecto, el plugin oculta todos los avisos que especificó. Si habilita "
"esta opción, el plugin recopilará todos los avisos ocultos y los mostrará en "
"la barra superior de administración de herramientas. No le molestará, pero "
"le permitirá ver los avisos según su conveniencia."
#: admin/options.php:166
msgid "Reset hidden notices for"
msgstr "Restablecer avisos ocultos para"
#: admin/options.php:167
msgid "Push reset hidden notices if you need to show hidden notices again."
msgstr "Pulse reiniciar avisos ocultos si necesita mostrarlos de nuevo."
#: admin/options.php:177
msgid "current user"
msgstr "usuario actual"
#: admin/options.php:181
msgid "all users"
msgstr "todos los usuarios"
#: admin/options.php:185
msgid "Reset notices"
msgstr "Restablecer avisos"
#: admin/options.php:188 admin/pages/notices.php:71
msgid "Hidden notices are successfully reset, now you can see them again!"
msgstr ""
"Los avisos ocultos se restablecieron con éxito, ¡ahora puedes verlos "
"nuevamente!"
#: admin/pages/notices.php:54
msgid "Notices"
msgstr "Avisos"
#: admin/pages/notices.php:55
msgid "General"
msgstr "General"
#: disable-admin-notices.php:84
msgid "Webcraftic disable admin notices"
msgstr "Deshabilitar los avisos Webcraftic de administración"
#: includes/classes/class.configurate-notices.php:74
#, php-format
msgid "Notifications %s"
msgstr "Notificaciones %s"
#: includes/classes/class.configurate-notices.php:86
msgid "Restore notice"
msgstr "Aviso de restauración"
#: includes/classes/class.configurate-notices.php:285
msgid "Hide notification forever"
msgstr "Ocultar notificaciones para siempre"
#~ msgid "Assets Manager"
#~ msgstr "Gestor de Activos"
#~ msgid "Settings has been successfully imported!"
#~ msgstr "¡Configuración importada exitosamente!"

View File

@@ -0,0 +1,173 @@
msgid ""
msgstr ""
"Project-Id-Version: Clearfy\n"
"POT-Creation-Date: 2018-09-06 18:31+0300\n"
"PO-Revision-Date: \n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: nl_BE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.1.1\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Poedit 2.1.1\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: libs\n"
"X-Poedit-SearchPathExcluded-1: components\n"
"X-Poedit-SearchPathExcluded-2: cache\n"
#: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
msgid "You don't have enough capability to edit this information."
msgstr "Je hebt niet voldoende mogelijkheden om deze informatie te bewerken."
#: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
msgid "Undefinded notice id."
msgstr "Ongedefinieerde mededeling id."
#: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
msgid "Success"
msgstr "Succes"
#: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
msgid "Hide admin notices"
msgstr "Verberg admin meldingen"
#: admin/boot.php:24 admin/options.php:70
msgid "Enable hidden notices in adminbar"
msgstr "Schakel verborgen meldingen in de beheer balk in"
#: admin/boot.php:46
msgid "Get ultimate plugin free"
msgstr "Krijg ultieme plugin gratis"
#: admin/options.php:23
msgid "Admin notifications, Update nags"
msgstr "Admin mededelingen, Update meldingen"
#: admin/options.php:23
msgid ""
"Do you know the situation, when some plugin offers you to update to premium, "
"to collect technical data and shows many annoying notices? You are close these "
"notices every now and again but they newly appears and interfere your work "
"with WordPress. Even worse, some plugins authors delete “close” button from "
"notices and they shows in your admin panel forever."
msgstr ""
"Herkent u de situatie, waarin sommige plugins u aanbieden om te updaten naar "
"premium, om technische gegevens te verzamelen en veel vervelende meldingen "
"weergeven? Zo nu en dan sluit u deze meldingen, maar ze verschijnen keer op "
"keer opnieuw en belemmeren uw werk met WordPress. Erger nog, de auteurs van "
"sommige plugins verwijderen de knop \"Sluiten\" uit meldingen en blijven "
"continu zichtbaar in uw beheer venster."
#: admin/options.php:34
msgid "All notices"
msgstr "Alle mededelingen"
#: admin/options.php:35
msgid "Hide all notices globally."
msgstr "Alle meldingen globaal verbergen."
#: admin/options.php:39
msgid "Only selected"
msgstr "Enkel geselecteerd"
#: admin/options.php:40
msgid ""
"Hide selected notices only. You will see the link \"Hide notification forever"
"\" in each notice. Push it and they will not bother you anymore."
msgstr ""
"Slechts bepaalde meldingen verbergen. U ziet in elke melding de link \"Verberg "
"melding voor altijd\". Klik erop en ze zullen je niet meer lastig vallen."
#: admin/options.php:44
msgid "Don't nide"
msgstr "Niet verbergen"
#: admin/options.php:45
msgid ""
"Do not hide notices and do not show “Hide notification forever” link for admin."
msgstr ""
"Meldingen niet verbergen en laat de link 'Verberg melding voor altijd' niet "
"zien voor beheerder."
#: admin/options.php:49
msgid ""
"Some plugins shows notifications about premium version, data collecting or "
"promote their services. Even if you push close button (that sometimes are "
"impossible), notices are shows again in some time. This option allows you to "
"control notices. Hide them all or each individually. Some plugins shows "
"notifications about premium version, data collecting or promote their "
"services. Even if you push close button (that sometimes are impossible), "
"notices are shows again in some time. This option allows you to control "
"notices. Hide them all or each individually."
msgstr ""
"Sommige plugins tonen meldingen over de premium versie, het verzamelen van "
"gegevens of het promoten van hun diensten. Zelfs als je op afsluiten klikt "
"(wat soms niet eens mogelijk is), worden mededelingen binnen afzienbare tijd "
"opnieuw getoond. Met deze optie kunt u mededelingen beheren. Verberg ze "
"allemaal of elk afzonderlijk."
#: admin/options.php:72
msgid ""
"By default, the plugin hides all notices, which you specified. If you enable "
"this option, the plugin will collect all hidden notices and show them into the "
"top admin toolbar. It will not disturb you but will allow to look notices at "
"your convenience."
msgstr ""
"Standaard verbergt de plugin alle kennisgevingen die u hebt opgegeven. Als u "
"deze optie inschakelt, verzamelt de plugin alle verborgen mededelingen en "
"toont deze in de bovenste beheer werkbalk. Het zal niet storend zijn, maar zal "
"je toelaten om aankondigingen op je gemak te bekijken."
#: admin/options.php:136
msgid "Push reset hidden notices if you need to show hidden notices again."
msgstr ""
"Druk op reset verborgen mededelingen als u verborgen mededelingen opnieuw wilt "
"weergeven."
#: admin/options.php:145
#, php-format
msgid "Reset hidden notices (%s)"
msgstr "Reset verborgen mededelingen (%s)"
#: admin/options.php:147 admin/pages/notices.php:85
msgid "Hidden notices are successfully reset, now you can see them again!"
msgstr "Verborgen meldingen zijn succesvol gereset, nu kun je ze opnieuw zien!"
#: admin/pages/notices.php:49
msgid "Notices"
msgstr "Mededelingen"
#: admin/pages/notices.php:50
msgid "General"
msgstr "Algemeen"
#: disable-admin-notices.php:23
msgid ""
"We found that you have the \"Clearfy - disable unused features\" plugin "
"installed, this plugin already has disable comments functions, so you can "
"deactivate plugin \"Disable admin notices\"!"
msgstr ""
#: disable-admin-notices.php:80
msgid "Webcraftic disable admin notices"
msgstr "Webcraftic uitschakelen admin mededelingen"
#: includes/classes/class.configurate-notices.php:79
#, php-format
msgid "Notifications %s"
msgstr "Meldingen %s"
#: includes/classes/class.configurate-notices.php:88
msgid "Restore notice"
msgstr "Herstel mededelingen"
#: includes/classes/class.configurate-notices.php:267
msgid "Hide notification forever"
msgstr "Verberg melding voor altijd"

View File

@@ -0,0 +1,181 @@
msgid ""
msgstr ""
"Project-Id-Version: clearfy\n"
"POT-Creation-Date: 2018-09-06 18:31+0300\n"
"PO-Revision-Date: 2018-09-06 18:31+0300\n"
"Last-Translator: alex.kovalevv@gmail.com <alex.kovalevv@gmail.com>\n"
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.1.1\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: libs\n"
"X-Poedit-SearchPathExcluded-1: components\n"
"X-Poedit-SearchPathExcluded-2: cache\n"
#: admin/ajax/hide-notice.php:19 admin/ajax/restore-notice.php:19
msgid "You don't have enough capability to edit this information."
msgstr "Você não tem capacidade suficiente para editar essas informações."
#: admin/ajax/hide-notice.php:32 admin/ajax/restore-notice.php:28
msgid "Undefinded notice id."
msgstr "ID de aviso não identificada."
#: admin/ajax/hide-notice.php:46 admin/ajax/restore-notice.php:40
msgid "Success"
msgstr "Sucesso"
#: admin/boot.php:18 admin/options.php:30 admin/pages/notices.php:33
msgid "Hide admin notices"
msgstr "Ocultar avisos de administrador"
#: admin/boot.php:24 admin/options.php:70
msgid "Enable hidden notices in adminbar"
msgstr "Ativar avisos ocultos no adminbar"
#: admin/boot.php:46
msgid "Get ultimate plugin free"
msgstr "Obtenha o melhor plugin grátis"
#: admin/options.php:23
msgid "Admin notifications, Update nags"
msgstr "Notificações de administrador, Atualizações nags"
#: admin/options.php:23
msgid ""
"Do you know the situation, when some plugin offers you to update to premium, "
"to collect technical data and shows many annoying notices? You are close "
"these notices every now and again but they newly appears and interfere your "
"work with WordPress. Even worse, some plugins authors delete “close” button "
"from notices and they shows in your admin panel forever."
msgstr ""
"Você conhece a situação, quando algum plugin lhe oferece para atualizar para "
"premium, para coletar dados técnicos e mostra muitos avisos irritantes? Você "
"está próximo desses avisos de vez em quando, mas eles aparecem recentemente "
"e interferem no seu trabalho com o WordPress. Pior ainda, alguns autores de "
"plug-in excluem o botão “fechar” dos avisos e eles são exibidos no seu "
"painel de administração para sempre."
#: admin/options.php:34
msgid "All notices"
msgstr "Todos os avisos"
#: admin/options.php:35
msgid "Hide all notices globally."
msgstr "Esconda todos os avisos globalmente."
#: admin/options.php:39
msgid "Only selected"
msgstr "Apenas selecionado"
#: admin/options.php:40
msgid ""
"Hide selected notices only. You will see the link \"Hide notification forever"
"\" in each notice. Push it and they will not bother you anymore."
msgstr ""
"Ocultar apenas avisos selecionados. Você verá o link \"Ocultar notificação "
"para sempre\" em cada aviso. Empurre-o e eles não vão incomodá-lo mais."
#: admin/options.php:44
msgid "Don't nide"
msgstr "Não nide"
#: admin/options.php:45
msgid ""
"Do not hide notices and do not show “Hide notification forever” link for "
"admin."
msgstr ""
"Não oculte avisos e não mostre o link \"Ocultar notificação para sempre\" "
"para o administrador."
#: admin/options.php:49
msgid ""
"Some plugins shows notifications about premium version, data collecting or "
"promote their services. Even if you push close button (that sometimes are "
"impossible), notices are shows again in some time. This option allows you to "
"control notices. Hide them all or each individually. Some plugins shows "
"notifications about premium version, data collecting or promote their "
"services. Even if you push close button (that sometimes are impossible), "
"notices are shows again in some time. This option allows you to control "
"notices. Hide them all or each individually."
msgstr ""
"Alguns plugins mostram notificações sobre a versão premium, coleta de dados "
"ou promover seus serviços. Mesmo se você apertar o botão fechar (que às "
"vezes são impossíveis), os avisos são exibidos novamente em algum momento. "
"Esta opção permite controlar avisos. Esconda-os todos ou cada um "
"individualmente. Alguns plugins mostram notificações sobre a versão premium, "
"coleta de dados ou promover seus serviços. Mesmo se você apertar o botão "
"fechar (que às vezes são impossíveis), os avisos são exibidos novamente em "
"algum momento. Esta opção permite controlar avisos. Esconda-os todos ou cada "
"um individualmente."
#: admin/options.php:72
msgid ""
"By default, the plugin hides all notices, which you specified. If you enable "
"this option, the plugin will collect all hidden notices and show them into "
"the top admin toolbar. It will not disturb you but will allow to look "
"notices at your convenience."
msgstr ""
"Por padrão, o plug-in oculta todos os avisos especificados. Se você ativar "
"essa opção, o plug-in coletará todos os avisos ocultos e os mostrará na "
"barra de ferramentas superior do administrador. Não o incomodará, mas "
"permitirá que você veja avisos de acordo com sua conveniência."
#: admin/options.php:136
msgid "Push reset hidden notices if you need to show hidden notices again."
msgstr ""
"Envie os avisos ocultos redefinidos se precisar mostrar avisos ocultos "
"novamente."
#: admin/options.php:145
#, php-format
msgid "Reset hidden notices (%s)"
msgstr "Redefinir avisos ocultos ( %s )"
#: admin/options.php:147 admin/pages/notices.php:85
msgid "Hidden notices are successfully reset, now you can see them again!"
msgstr ""
"Avisos ocultos são redefinidos com sucesso, agora você pode vê-los novamente!"
#: admin/pages/notices.php:49
msgid "Notices"
msgstr "Avisos"
#: admin/pages/notices.php:50
msgid "General"
msgstr "Geral"
#: disable-admin-notices.php:23
msgid ""
"We found that you have the \"Clearfy - disable unused features\" plugin "
"installed, this plugin already has disable comments functions, so you can "
"deactivate plugin \"Disable admin notices\"!"
msgstr ""
"Descobrimos que você tem o plug-in \"Clearfy - desativar recursos não "
"utilizados \" instalado, este plugin já tem funções de desabilitar "
"comentários, então você pode desativar o plugin \"Desativar avisos do "
"administrador \"!"
#: disable-admin-notices.php:80
msgid "Webcraftic disable admin notices"
msgstr "Webcraftic desabilitar avisos de administração"
#: includes/classes/class.configurate-notices.php:79
#, php-format
msgid "Notifications %s"
msgstr "Notificações %s"
#: includes/classes/class.configurate-notices.php:88
msgid "Restore notice"
msgstr "Aviso de restauração"
#: includes/classes/class.configurate-notices.php:267
msgid "Hide notification forever"
msgstr "Ocultar a notificação para sempre"

View File

@@ -0,0 +1,256 @@
msgid ""
msgstr ""
"Project-Id-Version: clearfy\n"
"POT-Creation-Date: 2020-08-27 12:50+0000\n"
"PO-Revision-Date: 2020-08-27 12:54+0000\n"
"Last-Translator: \n"
"Language-Team: Русский\n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
"X-Poedit-SearchPath-0: .\n"
"X-Poedit-SearchPathExcluded-0: libs\n"
"Report-Msgid-Bugs-To: \n"
"X-Loco-Version: 2.4.2; wp-5.5"
#: disable-admin-notices.php:46
msgid "Webcraftic disable admin notices"
msgstr "Webcraftic отключить уведомления администратора"
#: admin/boot.php:27
msgid "Get ultimate plugin free"
msgstr "Получите полную версию плагина бесплатно"
#: admin/boot.php:82 admin/options.php:66
#: admin/pages/class-pages-settings.php:72
msgid "Hide admin notices"
msgstr "Скрыть уведомления"
#: admin/boot.php:88 admin/options.php:148
msgid "Enable hidden notices in adminbar"
msgstr "Включить уведомления в админбаре"
#: admin/class-page-basic.php:41
msgid "Webcraftic Disable Admin Notices"
msgstr "Webcraftic Disable Admin Notices"
#: admin/options.php:33
msgid "Admin notifications, Update nags"
msgstr "Уведомления администратора, уведомления об обновлении Wordpress"
#: admin/options.php:33
msgid ""
"Do you know the situation, when some plugin offers you to update to premium, "
"to collect technical data and shows many annoying notices? You are close "
"these notices every now and again but they newly appears and interfere your "
"work with WordPress. Even worse, some plugins authors delete “close” button "
"from notices and they shows in your admin panel forever."
msgstr ""
"Вам знакома ситуация, когда какой-то плагин просит вас обновиться до премиум-"
"версии, получить права на сбор данных о вашем сайте и создает много "
"раздражающих уведомлений? Вы закрываете эти уведомления раз за разом, но они "
"вновь появляются и мешают вашей работе с WordPress. Хуже того, некоторые "
"авторы и вовсе удаляют кнопку “закрыть” из уведомлений, и они висят в шапке "
"вашей панели администратора целую вечность."
#: admin/options.php:39
msgid "Don't hide"
msgstr "Не скрывать"
#: admin/options.php:40
msgid ""
"Do not hide notices and do not show “Hide notification forever” link for "
"admin."
msgstr ""
"Не скрывать уведомления и не показывать ссылку \"Скрыть уведомление "
"навсегда\" в уведомлениях администратора."
#: admin/options.php:44
msgid "All notices"
msgstr "Все уведомления"
#: admin/options.php:45
msgid "Hide all notices globally."
msgstr "Скрыть все уведомления глобально."
#: admin/options.php:45 admin/options.php:50 admin/options.php:58
#, php-format
msgid ""
"Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
"works ."
msgstr ""
"Посмотрите <a href=\"%s\" target=\"_blank\">видео</a> о том, как это "
"работает."
#: admin/options.php:49
msgid "Only selected"
msgstr "Только выбранные"
#: admin/options.php:50
msgid ""
"Hide selected notices only. You will see the link \"Hide notification "
"forever\" in each notice. Push it and they will not bother you anymore."
msgstr ""
"Скрывать только выбранные уведомления. В каждом уведомлении вы увидите "
"ссылку \"Скрыть уведомление навсегда\". Нажмите на неё и уведомление будет "
"скрыто навсегда и перестанет вас беспокоить."
#: admin/options.php:57
msgid "Compact panel"
msgstr "Компактная панель"
#: admin/options.php:58
msgid ""
"Collapse all notifications in one line (panel with notification counters), "
"to see the notifications, you will need to click this panel."
msgstr ""
"Свернуть все уведомления в одну строку (панель со счетчиками уведомлений), "
"чтобы увидеть уведомления, вам нужно будет нажать на эту панель."
#: admin/options.php:69
msgid ""
"Some plugins shows notifications about premium version, data collecting or "
"promote their services. Even if you push close button (that sometimes are "
"impossible), notices are shows again in some time. This option allows you to "
"control notices. Hide them all or each individually. Some plugins shows "
"notifications about premium version, data collecting or promote their "
"services. Even if you push close button (that sometimes are impossible), "
"notices are shows again in some time. This option allows you to control "
"notices. Hide them all or each individually."
msgstr ""
"Зачастую, плагины отображают уведомления о возможности перехода на премиум "
"версию, просят разрешение на сбор данных, рекламируют свои услуги. Даже если "
"вы нажмете кнопку закрыть (что не всегда возможно), уведомления всё равно "
"отобразятся через какое-то время. С помощью этой настройки, вы можете "
"контролировать эти уведомления. Скройте их все сразу или каждое по "
"отдельности."
#: admin/options.php:92 admin/options.php:94
msgid "Disable plugins updates nags"
msgstr "Отключить уведомления об обновлении плагинов"
#: admin/options.php:103 admin/options.php:105
msgid "Disable core updates nags"
msgstr "Отключить уведомления об обновлении Wordpress"
#: admin/options.php:150
msgid ""
"By default, the plugin hides all notices, which you specified. If you enable "
"this option, the plugin will collect all hidden notices and show them into "
"the top admin toolbar. It will not disturb you but will allow to look "
"notices at your convenience."
msgstr ""
"По умолчанию, плагин полностью скрывает отключенные вами уведомления. Если "
"включить эту опцию, то плагин будет собирать все скрытые вами уведомления и "
"выводить в верхней панели администратора. Это не будет вас раздражать, но и "
"позволит просматривать уведомления, когда вам это удобно."
#: admin/options.php:235
msgid "Reset hidden notices for"
msgstr "Сброс скрытых уведомлений для"
#: admin/options.php:238
msgid "Push reset hidden notices if you need to show hidden notices again."
msgstr "Нажмите кнопку \\\"Сбросить скрытые уведомления\\\""
#: admin/options.php:249
msgid "current user"
msgstr "Текущий пользователь"
#: admin/options.php:253
msgid "all users"
msgstr "Все пользователи"
#: admin/options.php:257
msgid "Reset notices"
msgstr "Сбросить уведомления"
#: admin/options.php:261 admin/pages/class-pages-settings.php:116
msgid "Hidden notices are successfully reset, now you can see them again!"
msgstr ""
"Скрытые уведомления успешно восстановлены, теперь вы можете снова видеть их!"
#: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
msgid "Undefinded notice id."
msgstr "Не передан notice id."
#: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
msgid "You don't have enough capability to edit this information."
msgstr "Вы не имеете разрешения на редактирование этого!"
#: admin/pages/class-pages-edit-admin-bar.php:53
msgid "Hide adminbar items"
msgstr "Меню админбара"
#: admin/pages/class-pages-edit-admin-bar.php:54
msgid "You can hide an annoying adminbar menu"
msgstr "Скрытие пунктов меню админбара"
#: admin/pages/class-pages-edit-redirects.php:53
msgid "Block ad redirects"
msgstr "Рекламные редиректы"
#: admin/pages/class-pages-edit-redirects.php:54
msgid "Break advertising redirects"
msgstr "Отключение рекламных редиректов"
#: admin/pages/class-pages-notices.php:51
msgid "Hidden notices"
msgstr "Скрытые нотисы"
#: admin/pages/class-pages-notices.php:52
msgid "Manage hidden notices"
msgstr "Управление скрытыми нотисами"
#: admin/pages/class-pages-settings.php:73
msgid "General settings"
msgstr "Основные настройки"
#: admin/pages/class-pages-settings.php:85
msgid "Settings"
msgstr "Настройки"
#: includes/classes/class-configurate-notices.php:81
#, php-format
msgid "Notifications %s"
msgstr "Уведомления %s"
#: includes/classes/class-configurate-notices.php:92
msgid "Hidden for you"
msgstr "Скрытые для Вас"
#: includes/classes/class-configurate-notices.php:289
msgid "Hide <b>for me</b>"
msgstr "Скрыть для меня"
#: includes/classes/class-configurate-notices.php:293
msgid "Hide <b>for all</b>"
msgstr "Скрыть для всех"
#. Name of the plugin
msgid "Disable Admin Notices Individually"
msgstr "Disable Admin Notices Individually"
#. Description of the plugin
msgid ""
"Disable admin notices plugin gives you the option to hide updates warnings "
"and inline notices in the admin panel."
msgstr ""
"Плагин Disable admin notices дает вам возможность скрыть предупреждения об "
"обновлениях и встроенные уведомления в панели администратора."
#. URI of the plugin
#. Author URI of the plugin
msgid "https://webcraftic.com"
msgstr "https://webcraftic.com"
#. Author of the plugin
msgid "Webcraftic <wordpress.webraftic@gmail.com>"
msgstr "Webcraftic <wordpress.webraftic@gmail.com>"

View File

@@ -0,0 +1,223 @@
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Webcraftic Disable Admin Notices Individually\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-27 12:50+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: \n"
"Language: \n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Loco https://localise.biz/\n"
"X-Loco-Version: 2.4.2; wp-5.5"
#: disable-admin-notices.php:46
msgid "Webcraftic disable admin notices"
msgstr ""
#: admin/boot.php:27
msgid "Get ultimate plugin free"
msgstr ""
#: admin/boot.php:82 admin/options.php:66
#: admin/pages/class-pages-settings.php:72
msgid "Hide admin notices"
msgstr ""
#: admin/boot.php:88 admin/options.php:148
msgid "Enable hidden notices in adminbar"
msgstr ""
#: admin/class-page-basic.php:41
msgid "Webcraftic Disable Admin Notices"
msgstr ""
#: admin/options.php:33
msgid "Admin notifications, Update nags"
msgstr ""
#: admin/options.php:33
msgid ""
"Do you know the situation, when some plugin offers you to update to premium, "
"to collect technical data and shows many annoying notices? You are close "
"these notices every now and again but they newly appears and interfere your "
"work with WordPress. Even worse, some plugins authors delete “close” button "
"from notices and they shows in your admin panel forever."
msgstr ""
#: admin/options.php:39
msgid "Don't hide"
msgstr ""
#: admin/options.php:40
msgid ""
"Do not hide notices and do not show “Hide notification forever” link for "
"admin."
msgstr ""
#: admin/options.php:44
msgid "All notices"
msgstr ""
#: admin/options.php:45
msgid "Hide all notices globally."
msgstr ""
#: admin/options.php:45 admin/options.php:50 admin/options.php:58
#, php-format
msgid ""
"Watch the <a href=\"%s\" target=\"_blank\">video</a> to find out how it "
"works ."
msgstr ""
#: admin/options.php:49
msgid "Only selected"
msgstr ""
#: admin/options.php:50
msgid ""
"Hide selected notices only. You will see the link \"Hide notification "
"forever\" in each notice. Push it and they will not bother you anymore."
msgstr ""
#: admin/options.php:57
msgid "Compact panel"
msgstr ""
#: admin/options.php:58
msgid ""
"Collapse all notifications in one line (panel with notification counters), "
"to see the notifications, you will need to click this panel."
msgstr ""
#: admin/options.php:69
msgid ""
"Some plugins shows notifications about premium version, data collecting or "
"promote their services. Even if you push close button (that sometimes are "
"impossible), notices are shows again in some time. This option allows you to "
"control notices. Hide them all or each individually. Some plugins shows "
"notifications about premium version, data collecting or promote their "
"services. Even if you push close button (that sometimes are impossible), "
"notices are shows again in some time. This option allows you to control "
"notices. Hide them all or each individually."
msgstr ""
#: admin/options.php:92 admin/options.php:94
msgid "Disable plugins updates nags"
msgstr ""
#: admin/options.php:103 admin/options.php:105
msgid "Disable core updates nags"
msgstr ""
#: admin/options.php:150
msgid ""
"By default, the plugin hides all notices, which you specified. If you enable "
"this option, the plugin will collect all hidden notices and show them into "
"the top admin toolbar. It will not disturb you but will allow to look "
"notices at your convenience."
msgstr ""
#: admin/options.php:235
msgid "Reset hidden notices for"
msgstr ""
#: admin/options.php:238
msgid "Push reset hidden notices if you need to show hidden notices again."
msgstr ""
#: admin/options.php:249
msgid "current user"
msgstr ""
#: admin/options.php:253
msgid "all users"
msgstr ""
#: admin/options.php:257
msgid "Reset notices"
msgstr ""
#: admin/options.php:261 admin/pages/class-pages-settings.php:116
msgid "Hidden notices are successfully reset, now you can see them again!"
msgstr ""
#: admin/ajax/hide-notice.php:27 admin/ajax/restore-notice.php:24
msgid "Undefinded notice id."
msgstr ""
#: admin/ajax/hide-notice.php:59 admin/ajax/restore-notice.php:45
msgid "You don't have enough capability to edit this information."
msgstr ""
#: admin/pages/class-pages-edit-admin-bar.php:53
msgid "Hide adminbar items"
msgstr ""
#: admin/pages/class-pages-edit-admin-bar.php:54
msgid "You can hide an annoying adminbar menu"
msgstr ""
#: admin/pages/class-pages-edit-redirects.php:53
msgid "Block ad redirects"
msgstr ""
#: admin/pages/class-pages-edit-redirects.php:54
msgid "Break advertising redirects"
msgstr ""
#: admin/pages/class-pages-notices.php:51
msgid "Hidden notices"
msgstr ""
#: admin/pages/class-pages-notices.php:52
msgid "Manage hidden notices"
msgstr ""
#: admin/pages/class-pages-settings.php:73
msgid "General settings"
msgstr ""
#: admin/pages/class-pages-settings.php:85
msgid "Settings"
msgstr ""
#: includes/classes/class-configurate-notices.php:81
#, php-format
msgid "Notifications %s"
msgstr ""
#: includes/classes/class-configurate-notices.php:92
msgid "Hidden for you"
msgstr ""
#: includes/classes/class-configurate-notices.php:289
msgid "Hide <b>for me</b>"
msgstr ""
#: includes/classes/class-configurate-notices.php:293
msgid "Hide <b>for all</b>"
msgstr ""
#. Name of the plugin
msgid "Disable Admin Notices Individually"
msgstr ""
#. Description of the plugin
msgid ""
"Disable admin notices plugin gives you the option to hide updates warnings "
"and inline notices in the admin panel."
msgstr ""
#. URI of the plugin
#. Author URI of the plugin
msgid "https://webcraftic.com"
msgstr ""
#. Author of the plugin
msgid "Webcraftic <wordpress.webraftic@gmail.com>"
msgstr ""

View File

@@ -0,0 +1,52 @@
<?php
use WBCR\Factory_Adverts_159\Base;
/**
* Factory Adverts
*
* @author Alexander Vitkalov <nechin.va@gmail.com>
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
* @since 1.0.0
*
* @package factory-ad-inserter
* @copyright (c) 2019, Webcraftic Ltd
*
* @version 1.3.9
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
if ( defined( 'FACTORY_ADVERTS_159_LOADED' ) || ( defined( 'FACTORY_ADVERTS_BLOCK' ) && FACTORY_ADVERTS_BLOCK ) ) {
return;
}
# Устанавливаем константу, что модуль уже загружен
define( 'FACTORY_ADVERTS_159_LOADED', true );
# Устанавливаем версию модуля
define( 'FACTORY_ADVERTS_159_VERSION', '1.5.9' );
add_action( 'init', function () {
# Регистрируем тектовый домен, для интернализации интерфейса модуля
load_plugin_textdomain( 'wbcr_factory_adverts_159', false, dirname( plugin_basename( __FILE__ ) ) . '/langs' );
} );
# Устанавливаем директорию модуля
define( 'FACTORY_ADVERTS_159_DIR', dirname( __FILE__ ) );
# Устанавливаем url модуля
define( 'FACTORY_ADVERTS_159_URL', plugins_url( '', __FILE__ ) );
require_once( FACTORY_ADVERTS_159_DIR . '/includes/class-rest-request.php' );
require_once( FACTORY_ADVERTS_159_DIR . '/includes/class-base.php' );
/**
* @param Wbcr_Factory480_Plugin $plugin
*/
add_action( 'wbcr_factory_adverts_159_plugin_created', function ( $plugin ) {
$plugin->set_adverts_manager( "WBCR\Factory_Adverts_159\Base" );
} );

View File

@@ -0,0 +1,319 @@
<?php
namespace WBCR\Factory_Adverts_159;
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Base class for adverts module.
*
* Contains methods for retrieving banner data for a specific position.
* With this class user cat get advert content for a specific position.
* This class use functional design pattern.
*
* @author Alexander Vitkalov <nechin.va@gmail.com>
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
*
* @since 1.0.0 Added
* @package factory-adverts
* @copyright (c) 2019 Webcraftic Ltd
*/
class Base {
/**
* Экзепляр плагина с которым взаимодействует этот модуль
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0.1
* @var \Wbcr_Factory480_Plugin
*/
private $plugin;
/*
* Contain array data with the plugin information and the module settings.
* Mainly used to get the name of the plugin and how to get the adverts blocks.
*
* @since 1.0.0 Added
*
* @var array Example: array(
* 'dashboard_widget' => true,
* 'right_sidebar' => true,
* 'notice' => true,
* ...
* )
*
*/
private $settings = [];
/**
* Экземпляр класса для работы API CreativeMotion
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0.1
* @var \WBCR\Factory_Adverts_159\Creative_Motion_API
*/
private $api;
/**
* Сохраняем уже полученные данные, для объектного кеширования
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0.1
* @var array
*/
private $placements = [];
/**
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0.1
* @var array
*/
private $errors = [];
/**
* Wbcr_Factory_Adinserter constructor.
*
* - Store plugin information and settings.
* - Add filter and actions.
* - Include dashboard widget.
*
* @since 1.0.0 Added
*
* @param \Wbcr_Factory480_Plugin $plugin
*/
public function __construct( \Wbcr_Factory480_Plugin $plugin, $settings ) {
$this->plugin = $plugin;
$this->settings = wp_parse_args( $settings, [
'dashboard_widget' => false, // show dashboard widget (default: false)
'right_sidebar' => false, // show adverts sidebar (default: false)
'notice' => false, // show notice message (default: false),
'business_suggetion' => false,
'support' => false
] );
$this->api = new Creative_Motion_API( $this->plugin );
add_filter( 'wbcr/factory/pages/impressive/widgets', [ $this, 'register_plugin_widgets' ], 10, 3 );
add_action( 'wbcr/factory/admin_notices', [ $this, 'register_plugin_notice' ], 10, 2 );
add_action( 'current_screen', [ $this, 'register_dashboard_widget' ], 10, 2 );
}
/**
* Directly get advert content for selected position.
*
* @since 1.0.1 Rename method. Content should now be printed.
* @since 1.0.0 Added
*
* @param string $position Custom position name
*
* @return void
*/
public function render_placement( $position = 'right_sidebar' ) {
$content = '';
if ( $position ) {
$content = $this->get_content( $position );
}
echo $content;
}
/**
* Register widgets.
*
* Depending on the settings, register new widgets.
*
* @since 1.0.0 Added
*
* @param array $widgets Already existing registered widgets
* @param string $position Position for the widget
* @param string $plugin Plugin object for which the hook is run
*
* @return array array(
* 'adverts_widget' => '<p></p>',
* 'business_suggetion' => '<p></p>',
* 'support' => '<p></p>',
* ...
* )
*/
public function register_plugin_widgets( $widgets, $position, $plugin ) {
if ( $plugin->getPluginName() == $this->plugin->getPluginName() && 'right' == $position ) {
if ( $this->settings['right_sidebar'] ) {
$content = $this->get_content( 'right_sidebar' );
$widgets['adverts_widget'] = $content;
if ( empty( $widgets['adverts_widget'] ) ) {
if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
$debug_message = '<div style="background: #fff4f1;padding: 10px;color: #a58074;">';
$debug_message .= $this->get_debug_message( 'right_sidebar' );
$debug_message .= '</div>';
$widgets['adverts_widget'] = $debug_message;
} else {
unset( $widgets['adverts_widget'] );
}
}
}
if ( $this->settings['business_suggetion'] ) {
$content = $this->get_content( 'business_suggetion' );
if ( ! empty( $content ) ) {
$widgets['business_suggetion'] = $content;
}
}
if ( $this->settings['support'] ) {
$content = $this->get_content( 'support' );
if ( ! empty( $content ) ) {
$widgets['support'] = $content;
}
}
}
return $widgets;
}
/**
* Регистрирует уведомление для текущего плагина
*
* Мы добавляем уведомления в массив всех уведомлений плагина с ключем 'adverts_notice',
* то есть если другие плагины, тоже добавят свои рекламные уведомления, они просто
* будут перезаписывать друг друга, в итоге будет отображено только одно рекламное
* уведомеление. Это нужно для того, чтобы ограничить пользователя от спама.
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
*
* @since 1.0.1 Переделан полностью под интферфейс фреймворка. Используем встроенную систему уведомлений.
* @since 1.0.0 Added
*
* @param array $notices Массив со списком всех уведомлений, которые будут напечатыны в админ панели
* @param string $plugin_name Имя плагина, передано для того, чтобы выводить уведомления условно, только для конкретного плагина
*/
public function register_plugin_notice( $notices, $plugin_name ) {
if ( $plugin_name !== $this->plugin->getPluginName() ) {
return $notices;
}
if ( $this->settings['notice'] ) {
$notice_content = $this->get_content( 'notice' );
if ( empty( $notice_content ) ) {
# Информация для отладки
if ( defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
$debug_message = $this->get_debug_message( 'notice' );
$notices['adverts_notice'] = [
'id' => 'adverts_debug',
'type' => 'error',
'dismissible' => false,
'dismiss_expires' => 0,
'text' => '<p><b>' . $this->plugin->getPluginTitle() . '</b>:<br>' . $debug_message . '</p>'
];
}
return $notices;
}
$hash = md5( $notice_content );
$notices['adverts_notice'] = [
'id' => 'adverts_' . $hash,
'type' => 'success',
'dismissible' => true,
'dismiss_expires' => 0,
'text' => '<p><b>' . $this->plugin->getPluginTitle() . '</b>:<br>' . $notice_content . '</p>'
];
}
return $notices;
}
/**
* Include dashboard widget
*
* Include functionality the output of the widget on the dashboard.
* Only one dashboard widget must be shown for some plugins with this setting (dashboard_widget).
*
* @since 1.0.0 Added
*/
public function register_dashboard_widget() {
if ( $this->settings['dashboard_widget'] && current_user_can( 'manage_options' ) ) {
$current_screen = get_current_screen();
if ( ! in_array( $current_screen->id, [ 'dashboard', 'dashboard-network' ] ) ) {
return;
}
$content = $this->get_content( 'dashboard_widget' );
if ( empty( $content ) && defined( 'FACTORY_ADVERTS_DEBUG' ) && FACTORY_ADVERTS_DEBUG ) {
$content = $this->get_debug_message( 'dashboard_widget' );
}
require_once FACTORY_ADVERTS_159_DIR . '/includes/class-dashboard-widget.php';
new Dashboard_Widget( $this->plugin, $content );
}
}
/**
* Позволяет получить сообщение об ошибках
*
* Метод проверяет последние ошибки, которые могли произойти в результате api запроса.
* Если ошибки есть, он выводит предупреждение и список последних ошибок. Если ошибок нет,
* метод вернет просто предупреждение, что реклама не настроена.
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0.1
*
* @param string $position Position for the widget
*
* @return string Возвращает сообщение с последниеми ошибками для отладки
*/
private function get_debug_message( $position ) {
$debug_massage = 'Plugin ads not configured or server unavailable. See full error report below.<br>';
if ( isset( $this->errors[ $position ] ) && ! empty( $this->errors ) ) {
$debug_massage .= '<b>Last errors:</b><br>';
foreach ( $this->errors[ $position ] as $error_code => $error_message ) {
$debug_massage .= 'Code: ' . $error_code . ' Error: ' . $error_message . '<br>';
}
}
return $debug_massage;
}
/**
* Get advert content for selected position.
*
* @since 1.0.1 Полностью переписан
* @since 1.0.0 Added
*
* @param string $position The position for advert
*
* @return string
*/
private function get_content( $position ) {
if ( isset( $this->placements[ $position ] ) ) {
return $this->placements[ $position ];
}
$content = $this->api->get_content( $position );
if ( is_wp_error( $content ) ) {
$this->errors[ $position ][ $content->get_error_code() ] = $content->get_error_message();
return null;
}
$this->placements[ $position ] = $content;
return $content;
}
}

View File

@@ -0,0 +1,125 @@
<?php
namespace WBCR\Factory_Adverts_159;
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* Adverts Dashboard Widget.
*
* Adds a widget with a banner or a list of news.
*
* @author Alexander Vitkalov <nechin.va@gmail.com>
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
*
* @since 1.0.0 Added
* @package factory-adverts
* @copyright (c) 2019 Webcraftic Ltd
*/
class Dashboard_Widget {
/**
* Контент, который должен быть напечатан внутри дашбоард виджета
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0.1
* @var string
*/
private $content;
/**
* Экзепляр плагина с которым взаимодействует этот модуль
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0.1
* @var \Wbcr_Factory480_Plugin
*/
private $plugin;
/**
* Dashboard_Widget constructor.
*
* Call parent constructor. Registration hooks.
*
* @since 1.0.0 Added
*
* @param \Wbcr_Factory480_Plugin $plugin
* @param string $content
*/
public function __construct( \Wbcr_Factory480_Plugin $plugin, $content ) {
$this->plugin = $plugin;
$this->content = $content;
if ( ! empty( $this->content ) ) {
if ( $this->plugin->isNetworkActive() && $this->plugin->isNetworkAdmin() ) {
add_action( 'wp_network_dashboard_setup', [ $this, 'add_dashboard_widgets' ], 999 );
return;
}
add_action( 'wp_dashboard_setup', [ $this, 'add_dashboard_widgets' ], 999 );
}
}
/**
* Add the News widget to the dashboard.
*
* @since 1.0.0 Added
*/
public function add_dashboard_widgets() {
$widget_id = 'wbcr-factory-adverts-widget';
wp_add_dashboard_widget( $widget_id, $this->plugin->getPluginTitle() . ' News', [
$this,
'print_widget_content'
] );
$this->sort_dashboard_widgets( $widget_id );
}
/**
* Create the function to output the contents of the Dashboard Widget.
*
* @since 1.0.0 Added
*/
public function print_widget_content() {
?>
<div class="wordpress-news hide-if-no-js">
<div class="rss-widget">
<?php echo $this->content; ?>
</div>
</div>
<?php
}
/**
* Сортируем виджеты на странице дашбоард
*
* Виджеты должны быть в таком порядке, чтобы наш виджет был выше всех.
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @author Alexander Vitkalov <nechin.va@gmail.com>
*
* @since 1.0.2 Добавлена поддержка мультисайтов
* @since 1.0.0 Добавлен
*
* @param string $widget_id ID нашего виджета
*/
private function sort_dashboard_widgets( $widget_id ) {
global $wp_meta_boxes;
$location = $this->plugin->isNetworkAdmin() ? 'dashboard-network' : 'dashboard';
$normal_core = $wp_meta_boxes[ $location ]['normal']['core'];
$widget_backup = [ $widget_id => $normal_core[ $widget_id ] ];
unset( $normal_core[ $widget_id ] );
$sorted_core = array_merge( $widget_backup, $normal_core );
$wp_meta_boxes['dashboard']['normal']['core'] = $sorted_core;
}
}

View File

@@ -0,0 +1,217 @@
<?php
namespace WBCR\Factory_Adverts_159;
// Exit if accessed directly
if( !defined('ABSPATH') ) {
exit;
}
/**
* Factory request class.
*
* Performs a server request, retrieves banner data and stores it in the cache.
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>, Github: https://github.com/alexkovalevv
* @author Alexander Vitkalov <nechin.va@gmail.com>
*
* @since 1.0.1 Изменил имя класса и доработал его.
* @since 1.0.0 Added
*
* @package factory-adverts
* @copyright (c) 2019 Webcraftic Ltd
*/
class Creative_Motion_API {
/**
* Rest request url.
*
* Define rest request url for rest request to remote server.
*
* @since 1.2.1
*/
const SERVER_URL = 'https://api.cm-wp.com';
/**
* Rest route path.
*
* Define rest route path for rest request.
*
* @since 1.0.0
*/
const REST_ROUTE = '/adverds/v1/advt';
/**
* Интервал между запросами по умолчанию
*
* Значение в часах.
*
* @since 1.0.1
*/
const DEFAULT_REQUESTS_INTERVAL = 24;
/**
* Интервал между запросами, если сервер недоступен
*
* Значение в часах.
*
* @since 1.0.1
*/
const SERVER_UNAVAILABLE_INTERVAL = 4;
/**
* Экзепляр плагина с которым взаимодействует этот модуль
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0.1
* @var \Wbcr_Factory480_Plugin
*/
private $plugin;
/**
* Request constructor.
*
* Variable initialization.
*
* @param \Wbcr_Factory480_Plugin $plugin_name
* @since 1.0.0 Added
*
*/
public function __construct(\Wbcr_Factory480_Plugin $plugin)
{
$this->plugin = $plugin;
}
/**
* Get adverts content.
*
* @param $position
*
* @return string|\WP_Error
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
* @since 1.0.1
*
*/
public function get_content($position)
{
$data = $this->get_cache($position);
if( is_wp_error($data) ) {
return $data;
}
return strip_tags($data['content'], '<b>,<a>,<i>,<strong>,<img>,<ul>,<ol>,<li>');
}
/**
* Get data from cache.
*
* If data in the cache, not empty and not expired, then get data from cache. Or get data from server.
*
* @return mixed array(
* 'plugin' => 'wbcr_insert_php',
* 'content' => '<p></p>',
* 'expires' => 1563542199,
* );
* @since 1.0.1 Полностью переписан, с перехватом api ошибок
* @since 1.0.0 Added
*
* @author Alexander Kovalev <alex.kovalevv@gmail.com>
*
*/
private function get_cache($position)
{
if( defined('FACTORY_ADVERTS_DEBUG') && FACTORY_ADVERTS_DEBUG ) {
return $this->do_api_request($position);
}
$key = $this->plugin->getPrefix() . md5($position . 'adverts_transient_');
if( 'ru_RU' === get_locale() ) {
$key .= 'ru_';
}
$cached = get_transient($key);
if( $cached !== false ) {
if( isset($cached['error_code']) && isset($cached['error']) ) {
return new \WP_Error($cached['error_code'], $cached['error']);
}
return $cached;
}
$data = $this->do_api_request($position);
if( is_wp_error($data) ) {
set_transient($key, [
'error' => $data->get_error_message(),
'error_code' => $data->get_error_code()
], self::SERVER_UNAVAILABLE_INTERVAL * HOUR_IN_SECONDS);
return $data;
}
set_transient($key, $data, self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS);
return $data;
}
/**
* Performs rest api request.
*
* In some case on the server (Apache) in the .htaccess must be set
* RewriteRule ^wp-json/(.*)[?](.*) /?rest_route=/$1&$2 [L]
*
* @return mixed array(
* 'plugin' => 'wbcr_insert_php',
* 'content' => '<p></p>',
* 'expires' => 1563542199,
* );
* @since 1.0.0 Added
*
* @since 1.0.1 Добавлен перехват ошибок, рефакторинг кода.
*/
private function do_api_request($position)
{
$default_result = [
'content' => '',
'expires' => self::DEFAULT_REQUESTS_INTERVAL * HOUR_IN_SECONDS,
];
$url = untrailingslashit(self::SERVER_URL) . '/wp-json' . self::REST_ROUTE;
$ads_ID = $this->plugin->getPluginName();
if( 'ru_RU' === get_locale() ) {
$ads_ID .= '-ru';
}
$url = add_query_arg([
'plugin' => $ads_ID,
'position' => $position,
'plugin_title' => $this->plugin->getPluginTitle(),
'lang' => get_locale()
], $url);
$response = wp_remote_get($url);
$code = wp_remote_retrieve_response_code($response);
$body = wp_remote_retrieve_body($response);
$data = @json_decode($body, true);
if( is_wp_error($response) ) {
return $response;
}
if( 200 !== $code ) {
return new \WP_Error('http_request_error', 'Failed request to the remote server. Code: ' . $code);
}
return wp_parse_args($data, $default_result);
}
}

View File

@@ -0,0 +1,2 @@
<?php
// Silence is golden.

View File

@@ -0,0 +1,2 @@
<?php
// Silence is golden.

View File

@@ -0,0 +1,83 @@
msgid ""
msgstr ""
"Project-Id-Version: factory_forms\n"
"POT-Creation-Date: 2018-10-16 22:44+0300\n"
"PO-Revision-Date: 2018-10-16 22:45+0300\n"
"Last-Translator: \n"
"Language-Team: Alex Kovalev <alex.kovalevv@gmail.com>\n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.1.1\n"
"X-Poedit-Basepath: ..\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Poedit-SourceCharset: UTF-8\n"
"X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c\n"
"X-Poedit-SearchPath-0: .\n"
#: includes/check-compatibility.php:80
msgid "warning"
msgstr "предупреждение"
#: includes/check-compatibility.php:82
#, php-format
msgid "The %s plugin has stopped."
msgstr "Работа плагина %s была остановлена."
#: includes/check-compatibility.php:83
msgid "Possible reasons:"
msgstr "Возможные причины:"
#: includes/check-compatibility.php:89
#, php-format
msgid "You need to update the PHP version to %s or higher!"
msgstr "Вам нужно обновить версию PHP до %s или выше!"
#: includes/check-compatibility.php:94
#, php-format
msgid "You need to update WordPress to %s or higher!"
msgstr "Вам нужно обновить WordPress до %s или выше!"
#: includes/functions.php:132
#, php-format
msgid ""
"%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead."
msgstr ""
"%1$s является <strong>устаревшим,</strong> начиная с версии %2$s в "
"Wordpress! Используйте %3$s."
#: includes/functions.php:134
#, php-format
msgid ""
"%1$s is <strong>deprecated</strong> since version %2$s with no alternative "
"available."
msgstr ""
"%1$s был вызван с параметром, который является <strong>устаревшими</strong> "
"начиная с версии %2$s , в настоящее время доступных альтернатив нет."
#: includes/plugin.class.php:202 includes/plugin.class.php:237
msgid ""
"You are trying to call this earlier than the plugin menu will be registered."
msgstr ""
"Вы пытаетесь вызвать это раньше, чем будет зарегистрировано меню плагина."
#: includes/plugin.class.php:220
msgid ""
"You are trying to get a link to a page that does not have multisite mode. "
"Clicking this link will lead the user to a non-existent page."
msgstr ""
"Вы пытаетесь получить ссылку на страницу, которая не имеет "
"многопользовательского режима. Щелчок по этой ссылке приведет пользователя "
"к несуществующей странице."
#: includes/plugin.class.php:222
msgid ""
"Trying to get a link to an unregistered page. You are trying to call this "
"earlier than the plugin menu will be registered."
msgstr ""
"Попытка получить ссылку на незарегистрированную страницу. Вы пытаетесь "
"вызвать это раньше, чем будет зарегистрировано меню плагина."

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-accordion{margin:0 0 30px;border-top:1px solid #DDD;border-right:1px solid #DDD;border-left:1px solid #DDD;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.factory-bootstrap-482 .factory-accordion>h3{border-bottom:1px solid #DDD;cursor:pointer;padding:8px 15px;margin:0}.factory-bootstrap-482 .factory-accordion>div{display:none;margin:0;border-bottom:1px solid #DDD}.factory-bootstrap-482 .factory-accordion-item{display:none}.factory-bootstrap-482 .inner-factory-accordion-item{padding:10px 0}.factory-bootstrap-482 .factory-accordion>h3.active:hover{cursor:default}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .btn-primary{background:#e1a948;border-color:#d39323;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ecc88a,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:focus,.factory-bootstrap-482 .btn-primary:hover{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8be74,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:active{background:#db9825;border-color:#bd831f;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-482 .btn-primary:disabled,.factory-bootstrap-482 .btn-primary[disabled]{color:#d1cdc7!important;background:#db9825!important;border-color:#bd831f!important;text-shadow:none!important}.factory-bootstrap-482 .btn-group .btn.active.value{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.factory-bootstrap-482 .pagination>.active>a,.factory-bootstrap-482 .pagination>.active>a:focus,.factory-bootstrap-482 .pagination>.active>a:hover,.factory-bootstrap-482 .pagination>.active>span,.factory-bootstrap-482 .pagination>.active>span:focus,.factory-bootstrap-482 .pagination>.active>span:hover{background-color:#e1a948;border-color:#d39323}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .btn-primary{background:#c7a589;border-color:#b78a66;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e0cdbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:focus,.factory-bootstrap-482 .btn-primary:hover{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #d7bfac,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:active{background:#ba906d;border-color:#ae7d55;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-482 .btn-primary:disabled,.factory-bootstrap-482 .btn-primary[disabled]{color:#d1cbc7!important;background:#ba906d!important;border-color:#ae7d55!important;text-shadow:none!important}.factory-bootstrap-482 .btn-group .btn.active.value{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.factory-bootstrap-482 .pagination>.active>a,.factory-bootstrap-482 .pagination>.active>a:focus,.factory-bootstrap-482 .pagination>.active>a:hover,.factory-bootstrap-482 .pagination>.active>span,.factory-bootstrap-482 .pagination>.active>span:focus,.factory-bootstrap-482 .pagination>.active>span:hover{background-color:#c7a589;border-color:#b78a66}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .btn-primary{background:#a3b745;border-color:#839237;color:#fff;-webkit-box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #c0cd7b,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:focus,.factory-bootstrap-482 .btn-primary:hover{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #b7c669,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:active{background:#89993a;border-color:#727f30;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-482 .btn-primary:disabled,.factory-bootstrap-482 .btn-primary[disabled]{color:#cfd1c7!important;background:#89993a!important;border-color:#727f30!important;text-shadow:none!important}.factory-bootstrap-482 .btn-group .btn.active.value{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.factory-bootstrap-482 .pagination>.active>a,.factory-bootstrap-482 .pagination>.active>a:focus,.factory-bootstrap-482 .pagination>.active>a:hover,.factory-bootstrap-482 .pagination>.active>span,.factory-bootstrap-482 .pagination>.active>span:focus,.factory-bootstrap-482 .pagination>.active>span:hover{background-color:#a3b745;border-color:#839237}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-form-group .factory-legend{padding:9px 12px;background-color:#f9f9f9}.factory-bootstrap-482 .factory-form-group .factory-title{font-weight:700;font-size:14px;line-height:14px;color:#555;margin:0}.factory-bootstrap-482 .factory-form-group .factory-hint-icon{display:block;width:16px;height:16px;line-height:13px;padding:0;font-size:11px;text-align:center;position:absolute;top:-5px;right:-3px;color:#fff;background:#E91E63;border-radius:3px}.factory-bootstrap-482 .factory-form-group .factory-hint-icon.factory-hint-icon-green{background:#8bc34a}.factory-bootstrap-482 .factory-form-group .factory-hint-icon.factory-hint-icon-grey{background:#9e9e9e}.factory-bootstrap-482 .factory-form-group .factory-hint-icon.factory-hint-icon-red{background:#E91E63}.factory-bootstrap-482 .factory-form-group .factory-hint{margin:0;font-size:12px;line-height:16px;margin-top:6px}.factory-bootstrap-482 .factory-form-group+.factory-form-group{margin-top:30px}.factory-bootstrap-482 .factory-form-group legend+.control-group{margin-top:0}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-form-metabox{padding:15px 10px 10px}.factory-form-metabox .control-group:last-child{margin-bottom:0}#side-sortables .factory-bootstrap-482 .control-label{float:left;width:100%;text-align:left;position:relative;top:1px}#side-sortables .factory-bootstrap-482 .control-icon{float:left;margin:0 6px 0 0}#side-sortables .factory-bootstrap-482 input{float:right;position:relative;top:-25px}#side-sortables .factory-bootstrap-482 .col-sm-10{margin:0;width:100%}#side-sortables .factory-bootstrap-482 .form-group{float:none;width:auto;overflow:auto;margin-bottom:0;border-top:1px solid #f7f7f7;padding-top:15px;margin-top:15px}#side-sortables .factory-bootstrap-482 .form-group:first-child{border-top:0;padding-top:0;margin-top:0}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .btn-primary{background:#04a4cc;border-color:#037c9a;color:#fff;-webkit-box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #22cffb,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:focus,.factory-bootstrap-482 .btn-primary:hover{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #09cafa,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:active{background:#0384a4;border-color:#036881;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-482 .btn-primary:disabled,.factory-bootstrap-482 .btn-primary[disabled]{color:#c7cfd1!important;background:#0384a4!important;border-color:#036881!important;text-shadow:none!important}.factory-bootstrap-482 .btn-group .btn.active.value{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.factory-bootstrap-482 .pagination>.active>a,.factory-bootstrap-482 .pagination>.active>a:focus,.factory-bootstrap-482 .pagination>.active>a:hover,.factory-bootstrap-482 .pagination>.active>span,.factory-bootstrap-482 .pagination>.active>span:focus,.factory-bootstrap-482 .pagination>.active>span:hover{background-color:#04a4cc;border-color:#037c9a}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .btn-primary{background:#e14d43;border-color:#d02a21;color:#fff;-webkit-box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #ec8a85,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:focus,.factory-bootstrap-482 .btn-primary:hover{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8756f,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:active{background:#d92c23;border-color:#ba251e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-482 .btn-primary:disabled,.factory-bootstrap-482 .btn-primary[disabled]{color:#d1c7c7!important;background:#d92c23!important;border-color:#ba251e!important;text-shadow:none!important}.factory-bootstrap-482 .btn-group .btn.active.value{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.factory-bootstrap-482 .pagination>.active>a,.factory-bootstrap-482 .pagination>.active>a:focus,.factory-bootstrap-482 .pagination>.active>a:hover,.factory-bootstrap-482 .pagination>.active>span,.factory-bootstrap-482 .pagination>.active>span:focus,.factory-bootstrap-482 .pagination>.active>span:hover{background-color:#e14d43;border-color:#d02a21}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .btn-primary{background:#9ebaa0;border-color:#80a583;color:#fff;-webkit-box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #cbdacc,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:focus,.factory-bootstrap-482 .btn-primary:hover{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #bccfbd,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:active{background:#86a988;border-color:#719a74;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-482 .btn-primary:disabled,.factory-bootstrap-482 .btn-primary[disabled]{color:#c7d1c8!important;background:#86a988!important;border-color:#719a74!important;text-shadow:none!important}.factory-bootstrap-482 .btn-group .btn.active.value{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.factory-bootstrap-482 .pagination>.active>a,.factory-bootstrap-482 .pagination>.active>a:focus,.factory-bootstrap-482 .pagination>.active>a:hover,.factory-bootstrap-482 .pagination>.active>span,.factory-bootstrap-482 .pagination>.active>span:focus,.factory-bootstrap-482 .pagination>.active>span:hover{background-color:#9ebaa0;border-color:#80a583}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-separator{border-bottom:1px solid #f9f9f9;border-top:1px solid #d1d1d1;margin-bottom:25px}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .btn-primary{background:#dd823b;border-color:#c36822;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e8ab7c,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:focus,.factory-bootstrap-482 .btn-primary:hover{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15);box-shadow:inset 0 1px 0 #e59d66,0 1px 0 rgba(0,0,0,.15)}.factory-bootstrap-482 .btn-primary:active{background:#cc6c23;border-color:#ad5c1e;color:#fff;-webkit-box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5);box-shadow:inset 0 2px 5px -3px rgba(0,0,0,.5)}.factory-bootstrap-482 .btn-primary:disabled,.factory-bootstrap-482 .btn-primary[disabled]{color:#d1cbc7!important;background:#cc6c23!important;border-color:#ad5c1e!important;text-shadow:none!important}.factory-bootstrap-482 .btn-group .btn.active.value{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-482 .pagination>.active>a,.factory-bootstrap-482 .pagination>.active>a:focus,.factory-bootstrap-482 .pagination>.active>a:hover,.factory-bootstrap-482 .pagination>.active>span,.factory-bootstrap-482 .pagination>.active>span:focus,.factory-bootstrap-482 .pagination>.active>span:hover{background-color:#dd823b;border-color:#c36822}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-tab{overflow:hidden;margin-bottom:25px}.factory-bootstrap-482 .factory-tab .form-group{overflow:hidden}.factory-bootstrap-482 .factory-tab+.form-group{margin-top:30px}.factory-bootstrap-482 .nav-tabs a{text-decoration:none}.factory-bootstrap-482 .factory-align-horizontal .nav-tabs{border-bottom:0}.factory-bootstrap-482 .factory-align-vertical .factory-headers{float:left;width:150px}.factory-bootstrap-482 .factory-align-vertical .factory-headers .nav-tabs{border-bottom:0;display:block;margin:0;-webkit-border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;border-bottom-left-radius:4px}.factory-bootstrap-482 .factory-tab .factory-bodies{background-color:#fff;-webkit-border-radius:0 3px 3px;-moz-border-radius:0 3px 3px;border-radius:0 3px 3px;border:1px solid #DDD;padding:30px 15px 25px 10px}.factory-bootstrap-482 .factory-align-vertical .factory-bodies{min-height:250px;margin-left:150px}.factory-bootstrap-482 .factory-align-vertical .factory-bodies .actory-tab-item{clear:both}.factory-bootstrap-482 .form-horizontal .factory-align-vertical .form-group{margin-left:-5px}.factory-bootstrap-482 .factory-align-vertical .nav-tabs li{float:none}.factory-bootstrap-482 .factory-align-vertical .nav-tabs li a{margin-right:-1px;margin-bottom:0;position:relative;z-index:10;padding:10px 0 9px 15px;-webkit-border-radius:3px;-webkit-border-top-right-radius:0;-webkit-border-bottom-right-radius:0;-moz-border-radius:3px;-moz-border-radius-topright:0;-moz-border-radius-bottomright:0;border-radius:3px;border-top-right-radius:0;border-bottom-right-radius:0}.factory-bootstrap-482 .factory-align-vertical .nav-tabs>.active>a{border:1px solid #DDD!important;border-right:1px solid #fff!important}.factory-bootstrap-482 .factory-align-vertical .nav-tabs>li a:hover{color:#21759B;z-index:5;border-color:transparent}.factory-bootstrap-482 .factory-align-vertical .control-label{width:20%;max-width:140px}.factory-bootstrap-482 .factory-align-vertical .control-group{width:80%}.factory-bootstrap-482 .factory-align-vertical .control-group input[type=text],.factory-bootstrap-482 .factory-align-vertical .control-group textarea{width:90%}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .wp-editor-wrap *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-482 .wp-editor-wrap .button,.factory-bootstrap-482 .wp-editor-wrap input,.factory-bootstrap-482 .wp-editor-wrap textarea{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.factory-bootstrap-482 .switch-html,.factory-bootstrap-482 .switch-tmce{color:#777}.factory-bootstrap-482 .html-active .switch-html,.factory-bootstrap-482 .tmce-active .switch-tmce{color:#555}.factory-bootstrap-482 .switch-html:hover,.factory-bootstrap-482 .switch-tmce:hover{color:#777}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
#side-sortables .factory-bootstrap-482 .factory-buttons-way{float:right;position:relative;top:-25px;left:5px;border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-482 .factory-checkbox-disabled button,.factory-bootstrap-482 .factory-checkbox-disabled input{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.factory-bootstrap-482 .factory-buttons-way{border:3px solid #f9f9f9;border-radius:4px}.factory-bootstrap-482 .factory-buttons-way button{padding-left:10px;padding-right:10px}.factory-bootstrap-482 .factory-buttons-way .factory-on.active{text-shadow:none;color:#fff;background-color:#33aad5;-webkit-box-shadow:inset 0 1px 1px #0074a2;box-shadow:inset 0 1px 3px #0074a2;border-top:1px solid #0074a2;border-bottom:1px solid #0074a2;border-left:1px solid #0074a2}.factory-bootstrap-482 .factory-checkbox-tumbler-hint{margin-top:5px}.factory-bootstrap-482 .factory-checkbox-tumbler-hint .factory-tumbler-content{display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-482 .factory-buttons-way .factory-on.active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-482 .factory-buttons-way .factory-on.active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-482 .factory-buttons-way .factory-on.active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-482 .factory-buttons-way .factory-on.active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-482 .factory-buttons-way .factory-on.active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-482 .factory-buttons-way .factory-on.active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-482 .factory-buttons-way .factory-on.active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-control-row{padding-left:105px;position:relative}.factory-bootstrap-482 .factory-control-row .factory-color-wrap{position:absolute;left:0;top:0}.factory-bootstrap-482 .factory-control-row .factory-opacity-wrap{width:100%}.factory-bootstrap-482 .iris-picker{margin-top:10px}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-color{position:relative}.factory-bootstrap-482 .factory-color .factory-color-hex{display:inline-block;width:65px;text-align:left;vertical-align:top;border-top-right-radius:3px;border-bottom-right-radius:3px;border-radius:3px;z-index:1;position:relative;margin-left:26px;border-top-left-radius:0;border-bottom-left-radius:0}.factory-bootstrap-482 .factory-color .factory-background,.factory-bootstrap-482 .factory-color .factory-pattern{cursor:pointer;height:26px;width:26px;position:absolute;border-radius:5px;background:transparent url(../../assets/images/color_picker_pattern.jpg) center center repeat;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid rgba(0,0,0,.34);z-index:1;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.factory-bootstrap-482 .factory-color .factory-background{z-index:2;border-radius:3px}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-dropdown-and-colors .factory-colors-wrap,.factory-bootstrap-482 .factory-dropdown-and-colors .factory-dropdown-wrap{display:inline-block}.factory-bootstrap-482 .factory-dropdown-and-colors .factory-dropdown-wrap{min-width:200px;max-width:300px}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-dropdown.factory-buttons-way .fa{margin-right:6px;position:relative}.factory-bootstrap-482 .factory-dropdown.factory-buttons-way{border:0;border-radius:0}.factory-bootstrap-482 .factory-hints .factory-hint{margin-top:5px;display:inline-block;background-color:#ffd;padding:1px 5px}.admin-color-light .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active{background-color:#04a4cc;-webkit-box-shadow:inset 0 1px 2px #037c9a;box-shadow:inset 0 1px 2px #037c9a;border-top:1px solid #037c9a;border-bottom:1px solid #037c9a;border-left:1px solid #037c9a}.admin-color-blue .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active{background-color:#e1a948;-webkit-box-shadow:inset 0 1px 2px #d39323;box-shadow:inset 0 1px 2px #d39323;border-top:1px solid #d39323;border-bottom:1px solid #d39323;border-left:1px solid #d39323}.admin-color-coffee .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active{background-color:#c7a589;-webkit-box-shadow:inset 0 1px 2px #b78a66;box-shadow:inset 0 1px 2px #b78a66;border-top:1px solid #b78a66;border-bottom:1px solid #b78a66;border-left:1px solid #b78a66}.admin-color-ectoplasm .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active{background-color:#a3b745;-webkit-box-shadow:inset 0 1px 2px #839237;box-shadow:inset 0 1px 2px #839237;border-top:1px solid #839237;border-bottom:1px solid #839237;border-left:1px solid #839237}.admin-color-midnight .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active{background-color:#e14d43;-webkit-box-shadow:inset 0 1px 2px #d02a21;box-shadow:inset 0 1px 2px #d02a21;border-top:1px solid #d02a21;border-bottom:1px solid #d02a21;border-left:1px solid #d02a21}.admin-color-ocean .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active{background-color:#9ebaa0;-webkit-box-shadow:inset 0 1px 2px #80a583;box-shadow:inset 0 1px 2px #80a583;border-top:1px solid #80a583;border-bottom:1px solid #80a583;border-left:1px solid #80a583}.admin-color-sunrise .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active{background-color:#dd823b;-webkit-box-shadow:inset 0 1px 2px #c36822;box-shadow:inset 0 1px 2px #c36822;border-top:1px solid #c36822;border-bottom:1px solid #c36822;border-left:1px solid #c36822}.factory-bootstrap-482 .factory-dropdown.factory-ddslick-way .dd-select{background-color:#fff!important}.factory-bootstrap-482 .factory-dropdown.factory-ddslick-way label{margin-bottom:1px}.factory-bootstrap-482 .factory-dropdown.factory-ddslick-way .dd-option,.factory-bootstrap-482 .factory-dropdown.factory-ddslick-way .dd-selected{padding:8px 12px 8px 11px!important}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-font .factory-control-row{padding:0;vertical-align:top}.factory-bootstrap-482 .factory-font .factory-color-wrap{position:static;display:inline-block;vertical-align:top}.factory-bootstrap-482 .factory-font .factory-size-wrap{display:inline-block;width:70px;vertical-align:top}.factory-bootstrap-482 .iris-picker{margin-top:10px}.factory-bootstrap-482 .factory-font .factory-family-wrap{padding-bottom:10px}.factory-bootstrap-482 .factory-font .chosen-results{max-height:150px}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-list li input{margin:0 5px 0 0;position:relative;top:1px;outline:0!important}.factory-bootstrap-482 .factory-list li span{vertical-align:bottom;line-height:100%}.factory-bootstrap-482 .factory-list .factory-error{position:relative;display:inline-block}.factory-bootstrap-482 .factory-list .factory-error i{color:#f47665;margin:0 7px 0 1px;cursor:help}.factory-bootstrap-482 .factory-list .factory-error-text{display:none;position:absolute;width:300px}.factory-bootstrap-482 .factory-list .factory-error-text,.factory-bootstrap-482 .factory-list-error{background-color:rgba(0,0,0,.8);white-space:normal;z-index:10;padding:10px 12px 12px;font-weight:400;line-height:150%;border-radius:4px;color:#fff;font-size:13px;margin-top:2px}.factory-bootstrap-482 .factory-list-error{padding:5px 10px;max-width:500px;display:inline-block}.factory-bootstrap-482 .factory-list-error i{margin:0 7px 0 1px}.factory-bootstrap-482 .factory-list .factory-error-text a{color:#fff;font-weight:700}.factory-bootstrap-482 .factory-list .factory-has-error:hover .factory-error-text{display:block}.factory-bootstrap-482 .factory-list .factory-has-error{cursor:default}.opanda-connect-buttons .opanda-has-error .opanda-error{display:inline-block}.factory-bootstrap-482 .factory-checklist-way.factory-empty{font-style:italic;margin-top:7px}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-mtextbox-item{position:relative;margin-bottom:5px}.factory-bootstrap-482 .factory-mtextbox-item input,.factory-mtextbox-remove-item{display:inline-block}.factory-bootstrap-482 .factory-mtextbox-item .factory-mtextbox-remove-item{position:absolute;top:0;right:0;bottom:0;width:40px;border-radius:0 3px 3px 0;outline:0}.factory-bootstrap-482 .factory-mtextbox-item .factory-mtextbox-remove-item:focus,.factory-bootstrap-482 .factory-mtextbox-item .factory-mtextbox-remove-item:hover{box-shadow:none;outline:0}.factory-bootstrap-482 .factory-mtextbox-add-item{display:block;margin-top:10px}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-pattern .factory-pattern-controls{vertical-align:middle}.factory-bootstrap-482 .factory-pattern .factory-preview-wrap{display:inline-block;vertical-align:middle}.factory-bootstrap-482 .factory-pattern .factory-preview{width:100px;height:26px;background:transparent url(../assets/assets/images/color_picker_pattern.jpg) repeat;border:0;border-radius:3px;cursor:pointer;-moz-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid rgba(0,0,0,.34)!important;position:relative}.factory-bootstrap-482 .factory-pattern .factory-preview.factory-empty{background:transparent url(../assets/assets/images/color_picker_pattern.jpg) repeat!important}.factory-bootstrap-482 .factory-pattern .factory-preview span{position:absolute;top:0;left:76px;background:#111;width:26px;height:26px;border-radius:0 3px 3px 0;-moz-border-radius:0 3px 3px 0;-webkit-border-radius:0 3px 3px 0;z-index:99;border-bottom:2px solid #000}.factory-bootstrap-482 .factory-pattern .factory-preview span:hover{background:#161616}.factory-bootstrap-482 .factory-pattern .factory-preview span:after{content:'';width:0;height:0;border:transparent solid 5px;border-top-color:#96a6a6;position:absolute;top:10px;right:7px;z-index:1}.factory-bootstrap-482 .factory-pattern.factory-patterns-panel-active .factory-preview span:after{border-top-color:transparent;border-bottom-color:#96a6a6;top:4px}.factory-bootstrap-482 .factory-pattern .factory-color-panel{padding:10px;margin-top:10px;background:rgba(255,255,255,.04);border-radius:3px;display:none}.factory-bootstrap-482 .factory-pattern.factory-color-panel-active .factory-color-panel{display:block}.factory-bootstrap-482 .factory-pattern .factory-color-label{margin-right:5px}.factory-bootstrap-482 .factory-pattern .factory-color,.factory-bootstrap-482 .factory-pattern .factory-color-label{display:inline-block;vertical-align:middle}.factory-bootstrap-482 .factory-pattern .factory-color-panel .factory-hint{margin-top:7px}.factory-bootstrap-482 .factory-pattern .factory-patterns-panel{display:none;margin-top:10px;padding:2px 0 0;border-top:1px solid #272727;overflow:visible}.factory-bootstrap-482 .factory-pattern .factory-patterns-group{clear:both;padding:2px 0 0;border-bottom:1px solid #272727;padding-bottom:10px}.factory-bootstrap-482 .factory-pattern .factory-patterns-group-title{margin-top:10px}.factory-bootstrap-482 .factory-pattern .factory-patterns-row{padding-top:10px}.factory-bootstrap-482 .factory-pattern.factory-patterns-panel-active .factory-patterns-panel{display:block}.factory-bootstrap-482 .factory-pattern .factory-patterns-item,.factory-bootstrap-482 .factory-pattern .factory-patterns-item div{width:46px;height:46px}.factory-bootstrap-482 .factory-pattern .factory-patterns-item{display:inline-block;cursor:pointer;position:relative;vertical-align:top}.factory-bootstrap-482 .factory-pattern .factory-patterns-item+.factory-patterns-item{margin-left:10px}.factory-bootstrap-482 .factory-pattern .factory-patterns-item div{position:absolute;border-radius:100%;border:4px solid #333}.factory-bootstrap-482 .factory-pattern .factory-patterns-item:hover .factory-pattern-holder{width:64px;height:64px;top:-10px;left:-10px;border:1px solid #333;z-index:10}.factory-bootstrap-482 .factory-pattern .factory-no-preview{background:#2f2f2f;line-height:46px;border-radius:100%;text-align:center;font-size:20px}.factory-bootstrap-482 .factory-pattern .factory-no-preview:hover{background:#333}.factory-bootstrap-482 .factory-pattern .factory-button .fa{font-size:14px;margin-right:1px}.factory-bootstrap-482 .factory-pattern .factory-button span{position:relative;top:-1px}.factory-bootstrap-482 .factory-pattern .factory-button+.factory-button{margin-left:3px}.factory-bootstrap-482 .factory-pattern .factory-change-color-btn{margin-left:5px}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-from-radio-label,.factory-bootstrap-482 .factory-from-radio-label>span{-webkit-transition:all .3s;-moz-transition:all .3s;-o-transition:all .3s;transition:all .3s}.factory-bootstrap-482 .factory-from-radio-label{position:relative;width:30px;height:30px;border-radius:3px;background-color:#fff;border:1px solid rgba(0,0,0,.1)}.factory-bootstrap-482 .factory-from-radio-label:hover{background-color:#f5f2f2;border:1px solid rgba(0,0,0,.2)}.factory-bootstrap-482 .factory-from-radio-label>span{display:block;position:absolute;top:2px;left:2px;right:2px;bottom:2px;text-indent:-9999px;background-color:#fff}.factory-bootstrap-482 .factory-from-radio-label .factory-radio-color:checked+span{border:5px solid #fff}.factory-bootstrap-482 .factory-radio-color{opacity:0}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-control-group .factory-header{margin-bottom:7px;display:block}.factory-control-group-nav{width:284px;margin:10px 8px}.factory-control-group-nav li{display:inline-block;padding:8px 15px;margin:0;background-color:#444;color:#fff;border-radius:2px;-moz-border-radius:2px;-webkit-border-radius:2px;cursor:pointer}.factory-control-group-nav li.current{background-color:#222}.factory-control-group-item{display:none}.factory-control-group-item.current{display:block}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-more-link-content{border-top:1px dashed #DDD;padding-top:25px;width:100%;padding-right:20px;position:relative}.factory-bootstrap-482 .factory-tab .factory-more-link-show{display:inline-block;text-decoration:none;border-bottom:1px dotted #21759b;position:relative}.factory-bootstrap-482 .factory-tab .factory-more-link-show:hover{border-color:#d54e21}.factory-bootstrap-482 .factory-tab .factory-more-link-hide{position:absolute;margin-top:-35px;background-color:#fff;padding:0 5px;right:20px;color:#bbb;text-decoration:none}.factory-bootstrap-482 .factory-tab .factory-more-link-hide:hover{color:#999}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-gradient-picker-wrap{margin-bottom:20px}.factory-bootstrap-482 .gradientPicker-preview{width:100%;height:30px;border-radius:3px;background:transparent url(../../assets/images/color_picker_pattern.jpg) repeat}.factory-bootstrap-482 .factory-color-picker-container{display:none;padding-top:15px}.factory-bootstrap-482 .factory-point,.factory-bootstrap-482 .factory-point-color{position:absolute;width:10px;height:10px;border:0;font-size:0;border-radius:50% 50% 100% 100%;-moz-border-radius:50% 50% 100% 100%;-webkit-border-radius:50% 50% 100% 100%;cursor:pointer;overflow:hidden}.factory-bootstrap-482 .factory-point-color{border-radius:0}.factory-bootstrap-482 .factory-point{background:transparent url(../../assets/images/color_picker_pattern.jpg) repeat}.factory-bootstrap-482 .factory-current-point{-ms-transform:rotate(180deg);-webkit-transform:rotate(180deg);transform:rotate(180deg)}.factory-bootstrap-482 .factory-points{position:relative;height:10px;width:100%;cursor:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAWCAYAAADAQbwGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ1JREFUeNq8VAEKwCAITOn%2FX3ZzTBCxUicTBsvsOO9EIKJhAwCe5H0H4xBvLQgOegV8yZ8AZwJHc8zKI4c53bk6IGNqMH3GCJuMlkeG4p4G1e5Lq1KXatmCM7AdrbLLq7FC0agycx7oXOmk8%2FY%2FPNjRR7s6ZFHFqY5AcasLFDPtpAC7WH7aNkxgO9gdLNv3oWdKiKXX7r8bu6rlJcAA9ZRfMt5oHoIAAAAASUVORK5CYII%3D) 5 0,pointer}.factory-bootstrap-482 .gradientPicker-iris-wrap{display:none;position:absolute;left:0;top:78px;width:212px;height:212px;background:#111;border:1px solid #222;border-radius:5px;-moz-border-radius:5px;-webkit-border-radius:5px;z-index:9999}.factory-bootstrap-482 .gradientPicker-iris-wrap .iris-border,.factory-bootstrap-482 .gradientPicker-iris-wrap .iris-picker{border:0;background:#111}.factory-bootstrap-482 .gradientPicker-pallets{padding:8px 0 3px;margin-bottom:10px;border-bottom:1px solid #323232;border-top:1px solid #323232;font-size:0;line-height:0;text-align:center}.factory-bootstrap-482 .factory-preset-gradient,.factory-bootstrap-482 .factory-secondary-color{width:22px;height:22px;border-radius:100%}.factory-bootstrap-482 .factory-preset-gradient{display:inline-block;cursor:pointer;margin-bottom:3px;position:relative}.factory-bootstrap-482 .factory-preset-gradient:hover{opacity:.9}.factory-bootstrap-482 .factory-preset-gradient+.factory-preset-gradient{margin-left:5px}.factory-bootstrap-482 .factory-secondary-color-wrap{width:11px;height:22px;position:absolute;overflow:hidden;right:0}.factory-bootstrap-482 .factory-secondary-color{position:absolute;left:-11px;background-color:red}.factory-bootstrap-482 .gradientPicker-filldirection{width:200px;margin-top:5px}.factory-bootstrap-482 .gradientPicker-ptConfig .color-chooser{float:left}.factory-bootstrap-482 .factory-color-picker-container .factory-slider{padding-left:75px;padding-right:60px;position:relative}.factory-bootstrap-482 .factory-color-picker-container .factory-color-hex{top:0;left:0;position:absolute;width:65px}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-user-select:none;-ms-touch-action:none;-ms-user-select:none;-moz-user-select:none;-moz-box-sizing:border-box;box-sizing:border-box}.noUi-base{width:100%;height:100%;position:relative}.noUi-origin{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-handle{position:relative;z-index:1}.noUi-stacking .noUi-handle{z-index:10}.noUi-stacking+.noUi-origin{*z-index:-1}.noUi-state-tap .noUi-origin{-webkit-transition:left .3s,top .3s;transition:left .3s,top .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-horizontal.noUi-extended{padding:0 15px}.noUi-horizontal.noUi-extended .noUi-origin{right:-15px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-vertical.noUi-extended{padding:15px 0}.noUi-vertical.noUi-extended .noUi-origin{bottom:-15px}.noUi-background{background:#FAFAFA;box-shadow:inset 0 1px 1px #f0f0f0}.noUi-connect{background:#3FB8AF;box-shadow:inset 0 0 3px rgba(51,51,51,.45);-webkit-transition:background 450ms;transition:background 450ms}.noUi-origin{border-radius:2px}.noUi-target{border-radius:4px;border:1px solid #D3D3D3;box-shadow:inset 0 1px 1px #F0F0F0,0 3px 6px -5px #BBB}.noUi-target.noUi-connect{box-shadow:inset 0 0 3px rgba(51,51,51,.45),0 3px 6px -5px #BBB}.noUi-dragable{cursor:w-resize}.noUi-vertical .noUi-dragable{cursor:n-resize}.noUi-handle{border:1px solid #D9D9D9;border-radius:3px;background:#FFF;cursor:default;box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #EBEBEB,0 3px 6px -3px #BBB}.noUi-active{box-shadow:inset 0 0 1px #FFF,inset 0 1px 7px #DDD,0 3px 6px -3px #BBB}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#E8E7E6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect,[disabled].noUi-connect{background:#B8B8B8}[disabled] .noUi-handle{cursor:not-allowed}

View File

@@ -0,0 +1,11 @@
/*!
* Bootstrap generator - v1.0.1, 2021-11-19
* Webcraftic factory build
*
* Copyright 2018, Alex Kovalev <alex.kovalevv@gmail.com>, Webcraftic <wordpress.webraftic@gmail.com>
* Site: http://webcraftic.com
* Support: http://webcraftic.com/contact-us/
*/
.factory-bootstrap-482 .factory-paddings-editor{padding-left:135px;height:90px;position:relative}.factory-bootstrap-482 .factory-paddings-editor .factory-rectangle{width:120px;height:90px;border-radius:10px;background-color:#a6b6b6;overflow:hidden;cursor:pointer;-moz-box-sizing:content-box;box-sizing:content-box;position:absolute;top:0;left:0}.factory-bootstrap-482 .factory-paddings-editor .factory-side{width:100%;height:100%;position:absolute}.factory-bootstrap-482 .factory-paddings-editor .factory-side-center{width:30px;height:30px;border-radius:100%;background-color:#bac9c9;position:absolute;top:30px;left:45px;-moz-box-sizing:content-box;box-sizing:content-box}.factory-bootstrap-482 .factory-paddings-editor .factory-side-center:hover{background-color:#c0cece}.factory-bootstrap-482 .factory-paddings-editor .factory-side-center.factory-active{background-color:#829595}.factory-bootstrap-482 .factory-paddings-editor .factory-side-top{height:30px;top:0;left:0}.factory-bootstrap-482 .factory-paddings-editor .factory-side-right{width:45px;top:0;right:0}.factory-bootstrap-482 .factory-paddings-editor .factory-side-bottom{height:30px;bottom:0;left:0}.factory-bootstrap-482 .factory-paddings-editor .factory-side-left{width:45px;top:0;left:0}.factory-bootstrap-482 .factory-paddings-editor .factory-rectangle .factory-visible-value{color:#1b1f1f;background-color:rgba(255,255,255,.3);border-radius:3px;padding:2px;line-height:13px;display:inline-block}.factory-bootstrap-482 .factory-paddings-editor .factory-rectangle .factory-side.factory-active .factory-visible-value{background-color:rgba(255,255,255,.3);border-radius:3px;padding:2px;line-height:13px;display:inline-block}.factory-bootstrap-482 .factory-paddings-editor .factory-visible-value em{font-style:normal}.factory-bootstrap-482 .factory-paddings-editor .factory-side-bottom,.factory-bootstrap-482 .factory-paddings-editor .factory-side-top{text-align:center;line-height:30px}.factory-bootstrap-482 .factory-paddings-editor .factory-side-left,.factory-bootstrap-482 .factory-paddings-editor .factory-side-right{line-height:90px;text-align:center}.factory-bootstrap-482 .factory-paddings-editor .factory-slider-container{font-style:italic}.factory-bootstrap-482 .factory-paddings-editor .factory-slider{padding-right:0;margin-top:7px}

View File

@@ -0,0 +1,33 @@
/**
* Light Weight jQuery Accordions
*/
.factory-bootstrap-482 .factory-accordion {
margin: 0 0 30px;
border-top: 1px solid #DDD;
border-right: 1px solid #DDD;
border-left: 1px solid #DDD;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.factory-bootstrap-482 .factory-accordion > h3 {
border-bottom: 1px solid #DDD;
cursor: pointer;
padding: 8px 15px;
margin: 0;
}
.factory-bootstrap-482 .factory-accordion > div {
display: none;
margin:0;
border-bottom: 1px solid #DDD;
}
.factory-bootstrap-482 .factory-accordion-item {
display: none;
}
.factory-bootstrap-482 .inner-factory-accordion-item {
padding: 10px 0;
}
.factory-bootstrap-482 .factory-accordion > h3.active:hover {
cursor: default;
}

View File

@@ -0,0 +1,48 @@
.factory-bootstrap-482 .btn-primary {
background: #e1a948;
border-color: #d39323;
color: white;
-webkit-box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #ecc88a, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:hover,
.factory-bootstrap-482 .btn-primary:focus {
background: #db9825;
border-color: #bd831f;
color: white;
-webkit-box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #e8be74, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:active {
background: #db9825;
border-color: #bd831f;
color: white;
-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
.factory-bootstrap-482 .btn-primary[disabled],
.factory-bootstrap-482 .btn-primary:disabled {
color: #d1cdc7 !important;
background: #db9825 !important;
border-color: #bd831f !important;
text-shadow: none !important;
}
.factory-bootstrap-482 .btn-group .btn.active.value {
background-color: #e1a948;
-webkit-box-shadow: inset 0 1px 2px #d39323;
box-shadow: inset 0 1px 2px #d39323;
border-top: 1px solid #d39323;
border-bottom: 1px solid #d39323;
border-left: 1px solid #d39323;
}
.factory-bootstrap-482 .pagination > .active > a,
.factory-bootstrap-482 .pagination > .active > span,
.factory-bootstrap-482 .pagination > .active > a:hover,
.factory-bootstrap-482 .pagination > .active > span:hover,
.factory-bootstrap-482 .pagination > .active > a:focus,
.factory-bootstrap-482 .pagination > .active > span:focus {
background-color: #e1a948;
border-color: #d39323;
}

View File

@@ -0,0 +1,48 @@
.factory-bootstrap-482 .btn-primary {
background: #c7a589;
border-color: #b78a66;
color: white;
-webkit-box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #e0cdbd, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:hover,
.factory-bootstrap-482 .btn-primary:focus {
background: #ba906d;
border-color: #ae7d55;
color: white;
-webkit-box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #d7bfac, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:active {
background: #ba906d;
border-color: #ae7d55;
color: white;
-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
.factory-bootstrap-482 .btn-primary[disabled],
.factory-bootstrap-482 .btn-primary:disabled {
color: #d1cbc7 !important;
background: #ba906d !important;
border-color: #ae7d55 !important;
text-shadow: none !important;
}
.factory-bootstrap-482 .btn-group .btn.active.value {
background-color: #c7a589;
-webkit-box-shadow: inset 0 1px 2px #b78a66;
box-shadow: inset 0 1px 2px #b78a66;
border-top: 1px solid #b78a66;
border-bottom: 1px solid #b78a66;
border-left: 1px solid #b78a66;
}
.factory-bootstrap-482 .pagination > .active > a,
.factory-bootstrap-482 .pagination > .active > span,
.factory-bootstrap-482 .pagination > .active > a:hover,
.factory-bootstrap-482 .pagination > .active > span:hover,
.factory-bootstrap-482 .pagination > .active > a:focus,
.factory-bootstrap-482 .pagination > .active > span:focus {
background-color: #c7a589;
border-color: #b78a66;
}

View File

@@ -0,0 +1,775 @@
.datepicker {
border-radius: 4px;
direction: ltr;
}
.datepicker-inline {
width: 220px;
}
.datepicker.datepicker-rtl {
direction: rtl;
}
.datepicker.datepicker-rtl table tr td span {
float: right;
}
.datepicker-dropdown {
top: 0;
left: 0;
}
.datepicker-dropdown:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-top: 0;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
}
.datepicker-dropdown:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #fff;
border-top: 0;
position: absolute;
}
.datepicker-dropdown.datepicker-orient-left:before {
left: 6px;
}
.datepicker-dropdown.datepicker-orient-left:after {
left: 7px;
}
.datepicker-dropdown.datepicker-orient-right:before {
right: 6px;
}
.datepicker-dropdown.datepicker-orient-right:after {
right: 7px;
}
.datepicker-dropdown.datepicker-orient-top:before {
top: -7px;
}
.datepicker-dropdown.datepicker-orient-top:after {
top: -6px;
}
.datepicker-dropdown.datepicker-orient-bottom:before {
bottom: -7px;
border-bottom: 0;
border-top: 7px solid #999;
}
.datepicker-dropdown.datepicker-orient-bottom:after {
bottom: -6px;
border-bottom: 0;
border-top: 6px solid #fff;
}
.datepicker > div {
display: none;
}
.datepicker.days .datepicker-days,
.datepicker.months .datepicker-months,
.datepicker.years .datepicker-years {
display: block;
}
.datepicker table {
margin: 0;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.datepicker table tr td,
.datepicker table tr th {
text-align: center;
width: 30px;
height: 30px;
border-radius: 4px;
border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
background-color: transparent;
}
.datepicker table tr td.day:hover,
.datepicker table tr td.day.focused {
background: #eeeeee;
cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
color: #999999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
color: #000000;
background-color: #ffdb99;
border-color: #ffb733;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:focus,
.datepicker table tr td.today:hover:focus,
.datepicker table tr td.today.disabled:focus,
.datepicker table tr td.today.disabled:hover:focus,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td.today,
.open .dropdown-toggle.datepicker table tr td.today:hover,
.open .dropdown-toggle.datepicker table tr td.today.disabled,
.open .dropdown-toggle.datepicker table tr td.today.disabled:hover {
color: #000000;
background-color: #ffcd70;
border-color: #f59e00;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td.today,
.open .dropdown-toggle.datepicker table tr td.today:hover,
.open .dropdown-toggle.datepicker table tr td.today.disabled,
.open .dropdown-toggle.datepicker table tr td.today.disabled:hover {
background-image: none;
}
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled],
fieldset[disabled] .datepicker table tr td.today,
fieldset[disabled] .datepicker table tr td.today:hover,
fieldset[disabled] .datepicker table tr td.today.disabled,
fieldset[disabled] .datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today:hover.disabled:hover,
.datepicker table tr td.today.disabled.disabled:hover,
.datepicker table tr td.today.disabled:hover.disabled:hover,
.datepicker table tr td.today[disabled]:hover,
.datepicker table tr td.today:hover[disabled]:hover,
.datepicker table tr td.today.disabled[disabled]:hover,
.datepicker table tr td.today.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td.today:hover,
fieldset[disabled] .datepicker table tr td.today:hover:hover,
fieldset[disabled] .datepicker table tr td.today.disabled:hover,
fieldset[disabled] .datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today.disabled:focus,
.datepicker table tr td.today:hover.disabled:focus,
.datepicker table tr td.today.disabled.disabled:focus,
.datepicker table tr td.today.disabled:hover.disabled:focus,
.datepicker table tr td.today[disabled]:focus,
.datepicker table tr td.today:hover[disabled]:focus,
.datepicker table tr td.today.disabled[disabled]:focus,
.datepicker table tr td.today.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td.today:focus,
fieldset[disabled] .datepicker table tr td.today:hover:focus,
fieldset[disabled] .datepicker table tr td.today.disabled:focus,
fieldset[disabled] .datepicker table tr td.today.disabled:hover:focus,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today:hover.disabled:active,
.datepicker table tr td.today.disabled.disabled:active,
.datepicker table tr td.today.disabled:hover.disabled:active,
.datepicker table tr td.today[disabled]:active,
.datepicker table tr td.today:hover[disabled]:active,
.datepicker table tr td.today.disabled[disabled]:active,
.datepicker table tr td.today.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td.today:active,
fieldset[disabled] .datepicker table tr td.today:hover:active,
fieldset[disabled] .datepicker table tr td.today.disabled:active,
fieldset[disabled] .datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today:hover.disabled.active,
.datepicker table tr td.today.disabled.disabled.active,
.datepicker table tr td.today.disabled:hover.disabled.active,
.datepicker table tr td.today[disabled].active,
.datepicker table tr td.today:hover[disabled].active,
.datepicker table tr td.today.disabled[disabled].active,
.datepicker table tr td.today.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td.today.active,
fieldset[disabled] .datepicker table tr td.today:hover.active,
fieldset[disabled] .datepicker table tr td.today.disabled.active,
fieldset[disabled] .datepicker table tr td.today.disabled:hover.active {
background-color: #ffdb99;
border-color: #ffb733;
}
.datepicker table tr td.today:hover:hover {
color: #000;
}
.datepicker table tr td.today.active:hover {
color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
background: #eeeeee;
border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
color: #000000;
background-color: #f7ca77;
border-color: #f1a417;
border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:focus,
.datepicker table tr td.range.today:hover:focus,
.datepicker table tr td.range.today.disabled:focus,
.datepicker table tr td.range.today.disabled:hover:focus,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td.range.today,
.open .dropdown-toggle.datepicker table tr td.range.today:hover,
.open .dropdown-toggle.datepicker table tr td.range.today.disabled,
.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover {
color: #000000;
background-color: #f4bb51;
border-color: #bf800c;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td.range.today,
.open .dropdown-toggle.datepicker table tr td.range.today:hover,
.open .dropdown-toggle.datepicker table tr td.range.today.disabled,
.open .dropdown-toggle.datepicker table tr td.range.today.disabled:hover {
background-image: none;
}
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled],
fieldset[disabled] .datepicker table tr td.range.today,
fieldset[disabled] .datepicker table tr td.range.today:hover,
fieldset[disabled] .datepicker table tr td.range.today.disabled,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today:hover.disabled:hover,
.datepicker table tr td.range.today.disabled.disabled:hover,
.datepicker table tr td.range.today.disabled:hover.disabled:hover,
.datepicker table tr td.range.today[disabled]:hover,
.datepicker table tr td.range.today:hover[disabled]:hover,
.datepicker table tr td.range.today.disabled[disabled]:hover,
.datepicker table tr td.range.today.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td.range.today:hover,
fieldset[disabled] .datepicker table tr td.range.today:hover:hover,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today.disabled:focus,
.datepicker table tr td.range.today:hover.disabled:focus,
.datepicker table tr td.range.today.disabled.disabled:focus,
.datepicker table tr td.range.today.disabled:hover.disabled:focus,
.datepicker table tr td.range.today[disabled]:focus,
.datepicker table tr td.range.today:hover[disabled]:focus,
.datepicker table tr td.range.today.disabled[disabled]:focus,
.datepicker table tr td.range.today.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td.range.today:focus,
fieldset[disabled] .datepicker table tr td.range.today:hover:focus,
fieldset[disabled] .datepicker table tr td.range.today.disabled:focus,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:focus,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today:hover.disabled:active,
.datepicker table tr td.range.today.disabled.disabled:active,
.datepicker table tr td.range.today.disabled:hover.disabled:active,
.datepicker table tr td.range.today[disabled]:active,
.datepicker table tr td.range.today:hover[disabled]:active,
.datepicker table tr td.range.today.disabled[disabled]:active,
.datepicker table tr td.range.today.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td.range.today:active,
fieldset[disabled] .datepicker table tr td.range.today:hover:active,
fieldset[disabled] .datepicker table tr td.range.today.disabled:active,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today:hover.disabled.active,
.datepicker table tr td.range.today.disabled.disabled.active,
.datepicker table tr td.range.today.disabled:hover.disabled.active,
.datepicker table tr td.range.today[disabled].active,
.datepicker table tr td.range.today:hover[disabled].active,
.datepicker table tr td.range.today.disabled[disabled].active,
.datepicker table tr td.range.today.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td.range.today.active,
fieldset[disabled] .datepicker table tr td.range.today:hover.active,
fieldset[disabled] .datepicker table tr td.range.today.disabled.active,
fieldset[disabled] .datepicker table tr td.range.today.disabled:hover.active {
background-color: #f7ca77;
border-color: #f1a417;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
color: #ffffff;
background-color: #999999;
border-color: #555555;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:focus,
.datepicker table tr td.selected:hover:focus,
.datepicker table tr td.selected.disabled:focus,
.datepicker table tr td.selected.disabled:hover:focus,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td.selected,
.open .dropdown-toggle.datepicker table tr td.selected:hover,
.open .dropdown-toggle.datepicker table tr td.selected.disabled,
.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover {
color: #ffffff;
background-color: #858585;
border-color: #373737;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td.selected,
.open .dropdown-toggle.datepicker table tr td.selected:hover,
.open .dropdown-toggle.datepicker table tr td.selected.disabled,
.open .dropdown-toggle.datepicker table tr td.selected.disabled:hover {
background-image: none;
}
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled],
fieldset[disabled] .datepicker table tr td.selected,
fieldset[disabled] .datepicker table tr td.selected:hover,
fieldset[disabled] .datepicker table tr td.selected.disabled,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected:hover.disabled:hover,
.datepicker table tr td.selected.disabled.disabled:hover,
.datepicker table tr td.selected.disabled:hover.disabled:hover,
.datepicker table tr td.selected[disabled]:hover,
.datepicker table tr td.selected:hover[disabled]:hover,
.datepicker table tr td.selected.disabled[disabled]:hover,
.datepicker table tr td.selected.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td.selected:hover,
fieldset[disabled] .datepicker table tr td.selected:hover:hover,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected.disabled:focus,
.datepicker table tr td.selected:hover.disabled:focus,
.datepicker table tr td.selected.disabled.disabled:focus,
.datepicker table tr td.selected.disabled:hover.disabled:focus,
.datepicker table tr td.selected[disabled]:focus,
.datepicker table tr td.selected:hover[disabled]:focus,
.datepicker table tr td.selected.disabled[disabled]:focus,
.datepicker table tr td.selected.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td.selected:focus,
fieldset[disabled] .datepicker table tr td.selected:hover:focus,
fieldset[disabled] .datepicker table tr td.selected.disabled:focus,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover:focus,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected:hover.disabled:active,
.datepicker table tr td.selected.disabled.disabled:active,
.datepicker table tr td.selected.disabled:hover.disabled:active,
.datepicker table tr td.selected[disabled]:active,
.datepicker table tr td.selected:hover[disabled]:active,
.datepicker table tr td.selected.disabled[disabled]:active,
.datepicker table tr td.selected.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td.selected:active,
fieldset[disabled] .datepicker table tr td.selected:hover:active,
fieldset[disabled] .datepicker table tr td.selected.disabled:active,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected:hover.disabled.active,
.datepicker table tr td.selected.disabled.disabled.active,
.datepicker table tr td.selected.disabled:hover.disabled.active,
.datepicker table tr td.selected[disabled].active,
.datepicker table tr td.selected:hover[disabled].active,
.datepicker table tr td.selected.disabled[disabled].active,
.datepicker table tr td.selected.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td.selected.active,
fieldset[disabled] .datepicker table tr td.selected:hover.active,
fieldset[disabled] .datepicker table tr td.selected.disabled.active,
fieldset[disabled] .datepicker table tr td.selected.disabled:hover.active {
background-color: #999999;
border-color: #555555;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
color: #ffffff;
background-color: #428bca;
border-color: #357ebd;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:focus,
.datepicker table tr td.active:hover:focus,
.datepicker table tr td.active.disabled:focus,
.datepicker table tr td.active.disabled:hover:focus,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td.active,
.open .dropdown-toggle.datepicker table tr td.active:hover,
.open .dropdown-toggle.datepicker table tr td.active.disabled,
.open .dropdown-toggle.datepicker table tr td.active.disabled:hover {
color: #ffffff;
background-color: #3276b1;
border-color: #285e8e;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td.active,
.open .dropdown-toggle.datepicker table tr td.active:hover,
.open .dropdown-toggle.datepicker table tr td.active.disabled,
.open .dropdown-toggle.datepicker table tr td.active.disabled:hover {
background-image: none;
}
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled],
fieldset[disabled] .datepicker table tr td.active,
fieldset[disabled] .datepicker table tr td.active:hover,
fieldset[disabled] .datepicker table tr td.active.disabled,
fieldset[disabled] .datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active:hover.disabled:hover,
.datepicker table tr td.active.disabled.disabled:hover,
.datepicker table tr td.active.disabled:hover.disabled:hover,
.datepicker table tr td.active[disabled]:hover,
.datepicker table tr td.active:hover[disabled]:hover,
.datepicker table tr td.active.disabled[disabled]:hover,
.datepicker table tr td.active.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td.active:hover,
fieldset[disabled] .datepicker table tr td.active:hover:hover,
fieldset[disabled] .datepicker table tr td.active.disabled:hover,
fieldset[disabled] .datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active.disabled:focus,
.datepicker table tr td.active:hover.disabled:focus,
.datepicker table tr td.active.disabled.disabled:focus,
.datepicker table tr td.active.disabled:hover.disabled:focus,
.datepicker table tr td.active[disabled]:focus,
.datepicker table tr td.active:hover[disabled]:focus,
.datepicker table tr td.active.disabled[disabled]:focus,
.datepicker table tr td.active.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td.active:focus,
fieldset[disabled] .datepicker table tr td.active:hover:focus,
fieldset[disabled] .datepicker table tr td.active.disabled:focus,
fieldset[disabled] .datepicker table tr td.active.disabled:hover:focus,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active:hover.disabled:active,
.datepicker table tr td.active.disabled.disabled:active,
.datepicker table tr td.active.disabled:hover.disabled:active,
.datepicker table tr td.active[disabled]:active,
.datepicker table tr td.active:hover[disabled]:active,
.datepicker table tr td.active.disabled[disabled]:active,
.datepicker table tr td.active.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td.active:active,
fieldset[disabled] .datepicker table tr td.active:hover:active,
fieldset[disabled] .datepicker table tr td.active.disabled:active,
fieldset[disabled] .datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active:hover.disabled.active,
.datepicker table tr td.active.disabled.disabled.active,
.datepicker table tr td.active.disabled:hover.disabled.active,
.datepicker table tr td.active[disabled].active,
.datepicker table tr td.active:hover[disabled].active,
.datepicker table tr td.active.disabled[disabled].active,
.datepicker table tr td.active.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td.active.active,
fieldset[disabled] .datepicker table tr td.active:hover.active,
fieldset[disabled] .datepicker table tr td.active.disabled.active,
fieldset[disabled] .datepicker table tr td.active.disabled:hover.active {
background-color: #428bca;
border-color: #357ebd;
}
.datepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
border-radius: 4px;
}
.datepicker table tr td span:hover {
background: #eeeeee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
color: #ffffff;
background-color: #428bca;
border-color: #357ebd;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:focus,
.datepicker table tr td span.active:hover:focus,
.datepicker table tr td span.active.disabled:focus,
.datepicker table tr td span.active.disabled:hover:focus,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td span.active,
.open .dropdown-toggle.datepicker table tr td span.active:hover,
.open .dropdown-toggle.datepicker table tr td span.active.disabled,
.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
color: #ffffff;
background-color: #3276b1;
border-color: #285e8e;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.open .dropdown-toggle.datepicker table tr td span.active,
.open .dropdown-toggle.datepicker table tr td span.active:hover,
.open .dropdown-toggle.datepicker table tr td span.active.disabled,
.open .dropdown-toggle.datepicker table tr td span.active.disabled:hover {
background-image: none;
}
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled],
fieldset[disabled] .datepicker table tr td span.active,
fieldset[disabled] .datepicker table tr td span.active:hover,
fieldset[disabled] .datepicker table tr td span.active.disabled,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active:hover.disabled:hover,
.datepicker table tr td span.active.disabled.disabled:hover,
.datepicker table tr td span.active.disabled:hover.disabled:hover,
.datepicker table tr td span.active[disabled]:hover,
.datepicker table tr td span.active:hover[disabled]:hover,
.datepicker table tr td span.active.disabled[disabled]:hover,
.datepicker table tr td span.active.disabled:hover[disabled]:hover,
fieldset[disabled] .datepicker table tr td span.active:hover,
fieldset[disabled] .datepicker table tr td span.active:hover:hover,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active.disabled:focus,
.datepicker table tr td span.active:hover.disabled:focus,
.datepicker table tr td span.active.disabled.disabled:focus,
.datepicker table tr td span.active.disabled:hover.disabled:focus,
.datepicker table tr td span.active[disabled]:focus,
.datepicker table tr td span.active:hover[disabled]:focus,
.datepicker table tr td span.active.disabled[disabled]:focus,
.datepicker table tr td span.active.disabled:hover[disabled]:focus,
fieldset[disabled] .datepicker table tr td span.active:focus,
fieldset[disabled] .datepicker table tr td span.active:hover:focus,
fieldset[disabled] .datepicker table tr td span.active.disabled:focus,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active:hover.disabled:active,
.datepicker table tr td span.active.disabled.disabled:active,
.datepicker table tr td span.active.disabled:hover.disabled:active,
.datepicker table tr td span.active[disabled]:active,
.datepicker table tr td span.active:hover[disabled]:active,
.datepicker table tr td span.active.disabled[disabled]:active,
.datepicker table tr td span.active.disabled:hover[disabled]:active,
fieldset[disabled] .datepicker table tr td span.active:active,
fieldset[disabled] .datepicker table tr td span.active:hover:active,
fieldset[disabled] .datepicker table tr td span.active.disabled:active,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active:hover.disabled.active,
.datepicker table tr td span.active.disabled.disabled.active,
.datepicker table tr td span.active.disabled:hover.disabled.active,
.datepicker table tr td span.active[disabled].active,
.datepicker table tr td span.active:hover[disabled].active,
.datepicker table tr td span.active.disabled[disabled].active,
.datepicker table tr td span.active.disabled:hover[disabled].active,
fieldset[disabled] .datepicker table tr td span.active.active,
fieldset[disabled] .datepicker table tr td span.active:hover.active,
fieldset[disabled] .datepicker table tr td span.active.disabled.active,
fieldset[disabled] .datepicker table tr td span.active.disabled:hover.active {
background-color: #428bca;
border-color: #357ebd;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
color: #999999;
}
.datepicker .datepicker-switch {
width: 145px;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
cursor: pointer;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
background: #eeeeee;
}
.datepicker .cw {
font-size: 10px;
width: 12px;
padding: 0 2px 0 5px;
vertical-align: middle;
}
.datepicker thead tr:first-child .cw {
cursor: default;
background-color: transparent;
}
.input-group.date .input-group-addon {
cursor: pointer;
}
.input-daterange {
width: 100%;
}
.input-daterange input {
text-align: center;
}
.input-daterange input:first-child {
border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
border-radius: 0 3px 3px 0;
}
.input-daterange .input-group-addon {
width: auto;
min-width: 16px;
padding: 4px 5px;
font-weight: normal;
line-height: 1.42857143;
text-align: center;
text-shadow: 0 1px 0 #fff;
vertical-align: middle;
background-color: #eeeeee;
border: solid #cccccc;
border-width: 1px 0;
margin-left: -5px;
margin-right: -5px;
}
.datepicker.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
float: left;
display: none;
min-width: 160px;
list-style: none;
background-color: #ffffff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
border-radius: 5px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
*border-right-width: 2px;
*border-bottom-width: 2px;
color: #333333;
font-size: 13px;
line-height: 1.42857143;
}
.datepicker.dropdown-menu th,
.datepicker.datepicker-inline th,
.datepicker.dropdown-menu td,
.datepicker.datepicker-inline td {
padding: 0px 5px;
}

View File

@@ -0,0 +1,427 @@
.factory-bootstrap-482 .bootstrap-datetimepicker-widget {
list-style: none;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu {
display: block;
margin: 2px 0;
padding: 4px;
width: 19em;
}
@media (min-width: 768px) {
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
width: 38em;
}
}
@media (min-width: 992px) {
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
width: 38em;
}
}
@media (min-width: 1200px) {
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
width: 38em;
}
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu:before,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu:after {
content: '';
display: inline-block;
position: absolute;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu.bottom:before {
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-bottom-color: rgba(0, 0, 0, 0.2);
top: -7px;
left: 7px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid white;
top: -6px;
left: 8px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu.top:before {
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 7px solid #ccc;
border-top-color: rgba(0, 0, 0, 0.2);
bottom: -7px;
left: 6px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu.top:after {
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 6px solid white;
bottom: -6px;
left: 7px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before {
left: auto;
right: 6px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after {
left: auto;
right: 7px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .list-unstyled {
margin: 0;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget a[data-action] {
padding: 6px 0;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget a[data-action]:active {
box-shadow: none;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .timepicker-hour,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .timepicker-minute,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .timepicker-second {
width: 54px;
font-weight: bold;
font-size: 1.2em;
margin: 0;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget button[data-action] {
padding: 6px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Increment Hours";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Increment Minutes";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Decrement Hours";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Decrement Minutes";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Show Hours";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Show Minutes";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Toggle AM/PM";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .btn[data-action="clear"]::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Clear the picker";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .btn[data-action="today"]::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Set the date to today";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .picker-switch {
text-align: center;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .picker-switch::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Toggle Date and Time Screens";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .picker-switch td {
padding: 0;
margin: 0;
height: auto;
width: auto;
line-height: inherit;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .picker-switch td span {
line-height: 2.5;
height: 2.5em;
width: 100%;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table {
width: 100%;
margin: 0;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table th {
text-align: center;
border-radius: 4px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table th {
height: 20px;
line-height: 20px;
width: 20px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table th.picker-switch {
width: 145px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table th.disabled,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table th.disabled:hover {
background: none;
color: #777777;
cursor: not-allowed;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table th.prev::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Previous Month";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table th.next::after {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
content: "Next Month";
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table thead tr:first-child th {
cursor: pointer;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table thead tr:first-child th:hover {
background: #eeeeee;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td {
height: 54px;
line-height: 54px;
width: 54px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.cw {
font-size: .8em;
height: 20px;
line-height: 20px;
color: #777777;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.day {
height: 20px;
line-height: 20px;
width: 20px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.day:hover,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.hour:hover,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.minute:hover,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.second:hover {
background: #eeeeee;
cursor: pointer;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.old,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.new {
color: #777777;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.today {
position: relative;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.today:before {
content: '';
display: inline-block;
border: solid transparent;
border-width: 0 0 7px 7px;
border-bottom-color: #337ab7;
border-top-color: rgba(0, 0, 0, 0.2);
position: absolute;
bottom: 4px;
right: 4px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.active,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.active:hover {
background-color: #337ab7;
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.active.today:before {
border-bottom-color: #fff;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.disabled,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td.disabled:hover {
background: none;
color: #777777;
cursor: not-allowed;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td span {
display: inline-block;
width: 54px;
height: 54px;
line-height: 54px;
margin: 2px 1.5px;
cursor: pointer;
border-radius: 4px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td span:hover {
background: #eeeeee;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td span.active {
background-color: #337ab7;
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td span.old {
color: #777777;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td span.disabled,
.factory-bootstrap-482 .bootstrap-datetimepicker-widget table td span.disabled:hover {
background: none;
color: #777777;
cursor: not-allowed;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.usetwentyfour td.hour {
height: 27px;
line-height: 27px;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget.wider {
width: 21em;
}
.factory-bootstrap-482 .bootstrap-datetimepicker-widget .datepicker-decades .decade {
line-height: 1.8em !important;
}
.factory-bootstrap-482 .input-group.date .input-group-addon {
cursor: pointer;
}
.factory-bootstrap-482 .sr-only {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}

View File

@@ -0,0 +1,48 @@
.factory-bootstrap-482 .btn-primary {
background: #a3b745;
border-color: #839237;
color: white;
-webkit-box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #c0cd7b, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:hover,
.factory-bootstrap-482 .btn-primary:focus {
background: #89993a;
border-color: #727f30;
color: white;
-webkit-box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #b7c669, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:active {
background: #89993a;
border-color: #727f30;
color: white;
-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
.factory-bootstrap-482 .btn-primary[disabled],
.factory-bootstrap-482 .btn-primary:disabled {
color: #cfd1c7 !important;
background: #89993a !important;
border-color: #727f30 !important;
text-shadow: none !important;
}
.factory-bootstrap-482 .btn-group .btn.active.value {
background-color: #a3b745;
-webkit-box-shadow: inset 0 1px 2px #839237;
box-shadow: inset 0 1px 2px #839237;
border-top: 1px solid #839237;
border-bottom: 1px solid #839237;
border-left: 1px solid #839237;
}
.factory-bootstrap-482 .pagination > .active > a,
.factory-bootstrap-482 .pagination > .active > span,
.factory-bootstrap-482 .pagination > .active > a:hover,
.factory-bootstrap-482 .pagination > .active > span:hover,
.factory-bootstrap-482 .pagination > .active > a:focus,
.factory-bootstrap-482 .pagination > .active > span:focus {
background-color: #a3b745;
border-color: #839237;
}

View File

@@ -0,0 +1,59 @@
/**
* Form Groups
*/
.factory-bootstrap-482 .factory-form-group .factory-legend {
padding: 9px 12px;
background-color: #f9f9f9;
}
.factory-bootstrap-482 .factory-form-group .factory-title {
font-weight: bold;
font-size: 14px;
line-height: 14px;
color: #555;
margin: 0px;
}
.factory-bootstrap-482 .factory-form-group .factory-hint-icon {
display: block;
width: 16px;
height: 16px;
line-height: 13px;
padding: 0;
font-size: 11px;
text-align: center;
position: absolute;
top: -5px;
right: -3px;
color: #fff;
background: #E91E63;
border-radius: 3px;
}
.factory-bootstrap-482 .factory-form-group .factory-hint-icon.factory-hint-icon-green {
background: #8bc34a;
}
.factory-bootstrap-482 .factory-form-group .factory-hint-icon.factory-hint-icon-grey {
background: #9e9e9e;
}
.factory-bootstrap-482 .factory-form-group .factory-hint-icon.factory-hint-icon-red {
background: #E91E63;
}
.factory-bootstrap-482 .factory-form-group .factory-hint {
margin: 0px;
font-size: 12px;
line-height: 16px;
margin-top: 6px;
}
.factory-bootstrap-482 .factory-form-group + .factory-form-group {
margin-top: 30px;
}
.factory-bootstrap-482 .factory-form-group legend + .control-group {
margin-top: 0px;
}

View File

@@ -0,0 +1,56 @@
/**
* Form Metaboxes
*/
.factory-form-metabox {
padding: 15px 10px 10px 10px;
}
.factory-form-metabox .control-group:last-child {
margin-bottom: 0px;
}
/**
* Side form metaboxes
*/
#side-sortables .factory-bootstrap-482 .control-label {
float: left;
width: 100%;
text-align: left;
position: relative;
top: 1px;
}
#side-sortables .factory-bootstrap-482 .control-icon {
float: left;
margin: 0 6px 0 0;
}
#side-sortables .factory-bootstrap-482 input
{
float: right;
position: relative;
top: -25px;
}
#side-sortables .factory-bootstrap-482 .help-block {
}
#side-sortables .factory-bootstrap-482 .col-sm-10 {
margin: 0px;
width: 100%;
}
#side-sortables .factory-bootstrap-482 .form-group {
float: none;
margin-top: 0px;
width: auto;
overflow: auto;
}
#side-sortables .factory-bootstrap-482 .form-group {
margin-bottom: 0px;
border-top: 1px solid #f7f7f7;
padding-top: 15px;
margin-top: 15px;
}
#side-sortables .factory-bootstrap-482 .form-group:first-child {
border-top: 0px;
padding-top: 0px;
margin-top: 0px;
}

View File

@@ -0,0 +1,48 @@
.factory-bootstrap-482 .btn-primary {
background: #04a4cc;
border-color: #037c9a;
color: white;
-webkit-box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #22cffb, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:hover,
.factory-bootstrap-482 .btn-primary:focus {
background: #0384a4;
border-color: #036881;
color: white;
-webkit-box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #09cafa, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:active {
background: #0384a4;
border-color: #036881;
color: white;
-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
.factory-bootstrap-482 .btn-primary[disabled],
.factory-bootstrap-482 .btn-primary:disabled {
color: #c7cfd1 !important;
background: #0384a4 !important;
border-color: #036881 !important;
text-shadow: none !important;
}
.factory-bootstrap-482 .btn-group .btn.active.value {
background-color: #04a4cc;
-webkit-box-shadow: inset 0 1px 2px #037c9a;
box-shadow: inset 0 1px 2px #037c9a;
border-top: 1px solid #037c9a;
border-bottom: 1px solid #037c9a;
border-left: 1px solid #037c9a;
}
.factory-bootstrap-482 .pagination > .active > a,
.factory-bootstrap-482 .pagination > .active > span,
.factory-bootstrap-482 .pagination > .active > a:hover,
.factory-bootstrap-482 .pagination > .active > span:hover,
.factory-bootstrap-482 .pagination > .active > a:focus,
.factory-bootstrap-482 .pagination > .active > span:focus {
background-color: #04a4cc;
border-color: #037c9a;
}

View File

@@ -0,0 +1,48 @@
.factory-bootstrap-482 .btn-primary {
background: #e14d43;
border-color: #d02a21;
color: white;
-webkit-box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #ec8a85, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:hover,
.factory-bootstrap-482 .btn-primary:focus {
background: #d92c23;
border-color: #ba251e;
color: white;
-webkit-box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #e8756f, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:active {
background: #d92c23;
border-color: #ba251e;
color: white;
-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
.factory-bootstrap-482 .btn-primary[disabled],
.factory-bootstrap-482 .btn-primary:disabled {
color: #d1c7c7 !important;
background: #d92c23 !important;
border-color: #ba251e !important;
text-shadow: none !important;
}
.factory-bootstrap-482 .btn-group .btn.active.value {
background-color: #e14d43;
-webkit-box-shadow: inset 0 1px 2px #d02a21;
box-shadow: inset 0 1px 2px #d02a21;
border-top: 1px solid #d02a21;
border-bottom: 1px solid #d02a21;
border-left: 1px solid #d02a21;
}
.factory-bootstrap-482 .pagination > .active > a,
.factory-bootstrap-482 .pagination > .active > span,
.factory-bootstrap-482 .pagination > .active > a:hover,
.factory-bootstrap-482 .pagination > .active > span:hover,
.factory-bootstrap-482 .pagination > .active > a:focus,
.factory-bootstrap-482 .pagination > .active > span:focus {
background-color: #e14d43;
border-color: #d02a21;
}

View File

@@ -0,0 +1,48 @@
.factory-bootstrap-482 .btn-primary {
background: #9ebaa0;
border-color: #80a583;
color: white;
-webkit-box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #cbdacc, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:hover,
.factory-bootstrap-482 .btn-primary:focus {
background: #86a988;
border-color: #719a74;
color: white;
-webkit-box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #bccfbd, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:active {
background: #86a988;
border-color: #719a74;
color: white;
-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
.factory-bootstrap-482 .btn-primary[disabled],
.factory-bootstrap-482 .btn-primary:disabled {
color: #c7d1c8 !important;
background: #86a988 !important;
border-color: #719a74 !important;
text-shadow: none !important;
}
.factory-bootstrap-482 .btn-group .btn.active.value {
background-color: #9ebaa0;
-webkit-box-shadow: inset 0 1px 2px #80a583;
box-shadow: inset 0 1px 2px #80a583;
border-top: 1px solid #80a583;
border-bottom: 1px solid #80a583;
border-left: 1px solid #80a583;
}
.factory-bootstrap-482 .pagination > .active > a,
.factory-bootstrap-482 .pagination > .active > span,
.factory-bootstrap-482 .pagination > .active > a:hover,
.factory-bootstrap-482 .pagination > .active > span:hover,
.factory-bootstrap-482 .pagination > .active > a:focus,
.factory-bootstrap-482 .pagination > .active > span:focus {
background-color: #9ebaa0;
border-color: #80a583;
}

View File

@@ -0,0 +1,8 @@
/**
* Separator
*/
.factory-bootstrap-482 .factory-separator {
border-bottom: 1px solid #f9f9f9;
border-top: 1px solid #d1d1d1;
margin-bottom: 25px;
}

View File

@@ -0,0 +1,48 @@
.factory-bootstrap-482 .btn-primary {
background: #dd823b;
border-color: #c36822;
color: white;
-webkit-box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #e8ab7c, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:hover,
.factory-bootstrap-482 .btn-primary:focus {
background: #cc6c23;
border-color: #ad5c1e;
color: white;
-webkit-box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 1px 0 #e59d66, 0 1px 0 rgba(0, 0, 0, 0.15);
}
.factory-bootstrap-482 .btn-primary:active {
background: #cc6c23;
border-color: #ad5c1e;
color: white;
-webkit-box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
box-shadow: inset 0 2px 5px -3px rgba(0, 0, 0, 0.5);
}
.factory-bootstrap-482 .btn-primary[disabled],
.factory-bootstrap-482 .btn-primary:disabled {
color: #d1cbc7 !important;
background: #cc6c23 !important;
border-color: #ad5c1e !important;
text-shadow: none !important;
}
.factory-bootstrap-482 .btn-group .btn.active.value {
background-color: #dd823b;
-webkit-box-shadow: inset 0 1px 2px #c36822;
box-shadow: inset 0 1px 2px #c36822;
border-top: 1px solid #c36822;
border-bottom: 1px solid #c36822;
border-left: 1px solid #c36822;
}
.factory-bootstrap-482 .pagination > .active > a,
.factory-bootstrap-482 .pagination > .active > span,
.factory-bootstrap-482 .pagination > .active > a:hover,
.factory-bootstrap-482 .pagination > .active > span:hover,
.factory-bootstrap-482 .pagination > .active > a:focus,
.factory-bootstrap-482 .pagination > .active > span:focus {
background-color: #dd823b;
border-color: #c36822;
}

View File

@@ -0,0 +1,112 @@
/**
* Tabs
*/
.factory-bootstrap-482 .factory-tab {
overflow: hidden;
margin-bottom: 25px;
}
.factory-bootstrap-482 .factory-tab .form-group {
overflow: hidden;
}
.factory-bootstrap-482 .factory-tab + .form-group {
margin-top: 30px;
}
.factory-bootstrap-482 .nav-tabs a {
text-decoration: none;
}
.factory-bootstrap-482 .factory-align-horizontal .nav-tabs {
border-bottom: 0px;
}
.factory-bootstrap-482 .factory-align-vertical .factory-headers {
float: left;
width: 150px;
}
.factory-bootstrap-482 .factory-align-vertical .factory-headers .nav-tabs {
border-bottom: 0px;
display: block;
margin: 0px;
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
}
.factory-bootstrap-482 .factory-tab .factory-bodies {
background-color: #fff;
-webkit-border-radius: 0 3px 3px 3px;
-moz-border-radius: 0 3px 3px 3px;
border-radius: 0 3px 3px 3px;
border: 1px solid #DDD;
padding: 30px 15px 25px 10px;
}
.factory-bootstrap-482 .factory-align-vertical .factory-bodies {
min-height: 250px;
margin-left: 150px;
}
.factory-bootstrap-482 .factory-align-vertical .factory-bodies .actory-tab-item {
clear: both;
}
.factory-bootstrap-482 .form-horizontal .factory-align-vertical .form-group {
margin-left: -5px;
}
.factory-bootstrap-482 .factory-align-vertical .nav-tabs li {
float: none;
}
.factory-bootstrap-482 .factory-align-vertical .nav-tabs li a {
margin-right: -1px;
margin-bottom: 0px;
position: relative;
z-index: 10;
padding: 10px 0 9px 15px;
-webkit-border-radius: 3px;
-webkit-border-top-right-radius: 0px;
-webkit-border-bottom-right-radius: 0px;
-moz-border-radius: 3px;
-moz-border-radius-topright: 0px;
-moz-border-radius-bottomright: 0px;
border-radius: 3px;
border-top-right-radius: 0px;
border-bottom-right-radius: 0px;
}
.factory-bootstrap-482 .factory-align-vertical .nav-tabs > .active > a {
border: 1px solid #DDD !important;
border-right: 1px solid #fff !important;
}
.factory-bootstrap-482 .factory-align-vertical .nav-tabs > li a:hover {
color: #21759B;
z-index: 5;
border-color: transparent;
}
.factory-bootstrap-482 .factory-align-vertical .control-label {
width: 20%;
max-width: 140px;
}
.factory-bootstrap-482 .factory-align-vertical .factory-tab-item {
}
.factory-bootstrap-482 .factory-align-vertical .control-group {
width: 80%;
}
.factory-bootstrap-482 .factory-align-vertical .control-group input[type=text],
.factory-bootstrap-482 .factory-align-vertical .control-group textarea {
width: 90%;
}

View File

@@ -0,0 +1,28 @@
/**
* WP Editor
*/
.factory-bootstrap-482 .wp-editor-wrap * {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
}
.factory-bootstrap-482 .wp-editor-wrap .button,
.factory-bootstrap-482 .wp-editor-wrap textarea,
.factory-bootstrap-482 .wp-editor-wrap input {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.factory-bootstrap-482 .switch-tmce,
.factory-bootstrap-482 .switch-html {
color: #777;
}
.factory-bootstrap-482 .tmce-active .switch-tmce,
.factory-bootstrap-482 .html-active .switch-html {
color: #555;
}
.factory-bootstrap-482 .switch-tmce:hover,
.factory-bootstrap-482 .switch-html:hover {
color: #777;
}

View File

@@ -0,0 +1,112 @@
#side-sortables .factory-bootstrap-482 .factory-buttons-way {
float: right;
position: relative;
top: -25px;
left: 5px;
border: 3px solid #f9f9f9;
border-radius: 4px;
}
.factory-bootstrap-482 .factory-checkbox-disabled input,
.factory-bootstrap-482 .factory-checkbox-disabled button {
pointer-events: none;
cursor: not-allowed;
opacity: .65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
box-shadow: none;
}
.factory-bootstrap-482 .factory-buttons-way {
border: 3px solid #f9f9f9;
border-radius: 4px;
}
.factory-bootstrap-482 .factory-buttons-way button {
padding-left: 10px;
padding-right: 10px;
}
.factory-bootstrap-482 .factory-buttons-way .factory-on.active {
text-shadow: none;
color: #fff;
background-color: #33aad5;
-webkit-box-shadow: inset 0 1px 1px #0074a2;
box-shadow: inset 0 1px 3px #0074a2;
border-top: 1px solid #0074a2;
border-bottom: 1px solid #0074a2;
border-left: 1px solid #0074a2;
}
.factory-bootstrap-482 .factory-checkbox-tumbler-hint {
margin-top: 5px;
}
.factory-bootstrap-482 .factory-checkbox-tumbler-hint .factory-tumbler-content {
display: inline-block;
background-color: #ffffdd;
padding: 1px 5px;
}
.admin-color-light .factory-bootstrap-482 .factory-buttons-way .factory-on.active {
background-color: #04a4cc;
-webkit-box-shadow: inset 0 1px 2px #037c9a;
box-shadow: inset 0 1px 2px #037c9a;
border-top: 1px solid #037c9a;
border-bottom: 1px solid #037c9a;
border-left: 1px solid #037c9a;
}
.admin-color-blue .factory-bootstrap-482 .factory-buttons-way .factory-on.active {
background-color: #e1a948;
-webkit-box-shadow: inset 0 1px 2px #d39323;
box-shadow: inset 0 1px 2px #d39323;
border-top: 1px solid #d39323;
border-bottom: 1px solid #d39323;
border-left: 1px solid #d39323;
}
.admin-color-coffee .factory-bootstrap-482 .factory-buttons-way .factory-on.active {
background-color: #c7a589;
-webkit-box-shadow: inset 0 1px 2px #b78a66;
box-shadow: inset 0 1px 2px #b78a66;
border-top: 1px solid #b78a66;
border-bottom: 1px solid #b78a66;
border-left: 1px solid #b78a66;
}
.admin-color-ectoplasm .factory-bootstrap-482 .factory-buttons-way .factory-on.active {
background-color: #a3b745;
-webkit-box-shadow: inset 0 1px 2px #839237;
box-shadow: inset 0 1px 2px #839237;
border-top: 1px solid #839237;
border-bottom: 1px solid #839237;
border-left: 1px solid #839237;
}
.admin-color-midnight .factory-bootstrap-482 .factory-buttons-way .factory-on.active {
background-color: #e14d43;
-webkit-box-shadow: inset 0 1px 2px #d02a21;
box-shadow: inset 0 1px 2px #d02a21;
border-top: 1px solid #d02a21;
border-bottom: 1px solid #d02a21;
border-left: 1px solid #d02a21;
}
.admin-color-ocean .factory-bootstrap-482 .factory-buttons-way .factory-on.active {
background-color: #9ebaa0;
-webkit-box-shadow: inset 0 1px 2px #80a583;
box-shadow: inset 0 1px 2px #80a583;
border-top: 1px solid #80a583;
border-bottom: 1px solid #80a583;
border-left: 1px solid #80a583;
}
.admin-color-sunrise .factory-bootstrap-482 .factory-buttons-way .factory-on.active {
background-color: #dd823b;
-webkit-box-shadow: inset 0 1px 2px #c36822;
box-shadow: inset 0 1px 2px #c36822;
border-top: 1px solid #c36822;
border-bottom: 1px solid #c36822;
border-left: 1px solid #c36822;
}

View File

@@ -0,0 +1,24 @@
.factory-bootstrap-482 .factory-color-and-opacity .factory-preview-wrap {
}
.factory-bootstrap-482 .factory-control-row {
padding-left: 105px;
position: relative;
}
.factory-bootstrap-482 .factory-control-row .factory-color-wrap {
position: absolute;
left: 0px;
top: 0px;
}
.factory-bootstrap-482 .factory-control-row .factory-opacity-wrap {
width: 100%;
}
.factory-bootstrap-482 .factory-picker-target {
}
.factory-bootstrap-482 .iris-picker {
margin-top: 10px;
}

View File

@@ -0,0 +1,44 @@
.factory-bootstrap-482 .factory-color {
position: relative;
}
.factory-bootstrap-482 .factory-color .factory-color-hex {
display: inline-block;
width: 65px;
text-align: left;
vertical-align: top;
border-radius: 0px;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
border-radius: 3px;
z-index: 1;
position: relative;
margin-left: 26px;
border-top-left-radius: 0px;
border-bottom-left-radius: 0px;
}
.factory-bootstrap-482 .factory-color .factory-pattern,
.factory-bootstrap-482 .factory-color .factory-background {
cursor: pointer;
}
.factory-bootstrap-482 .factory-color .factory-pattern,
.factory-bootstrap-482 .factory-color .factory-background {
height: 26px;
width: 26px;
position: absolute;
border-radius: 5px;
background: transparent url('../../assets/images/color_picker_pattern.jpg') center center repeat;
-moz-box-sizing: border-box;
box-sizing: border-box;
border-bottom: 2px solid rgba(0, 0, 0, 0.34);
z-index: 1;
border-top-right-radius: 0px !important;
border-bottom-right-radius: 0px !important;
}
.factory-bootstrap-482 .factory-color .factory-background {
z-index: 2;
border-radius: 3px;
}

View File

@@ -0,0 +1,16 @@
.factory-bootstrap-482 .factory-dropdown-and-colors .factory-colors-wrap,
.factory-bootstrap-482 .factory-dropdown-and-colors .factory-dropdown-wrap {
display: inline-block;
}
.factory-bootstrap-482 .factory-dropdown-and-colors .factory-dropdown-wrap {
min-width: 200px;
max-width: 300px;
}
/*.factory-bootstrap-482 .factory-from-radio-label, .factory-bootstrap-482 .factory-from-radio-label > span {
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}*/

View File

@@ -0,0 +1,92 @@
/**
* Dropdown As Buttons
*/
.factory-bootstrap-482 .factory-dropdown.factory-buttons-way .fa {
margin-right: 6px;
position: relative;
}
.factory-bootstrap-482 .factory-dropdown.factory-buttons-way {
border: 0px;
border-radius: 0px;
}
.factory-bootstrap-482 .factory-hints .factory-hint {
margin-top: 5px;
display: inline-block;
background-color: #ffffdd;
padding: 1px 5px;
}
.admin-color-light .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active {
background-color: #04a4cc;
-webkit-box-shadow: inset 0 1px 2px #037c9a;
box-shadow: inset 0 1px 2px #037c9a;
border-top: 1px solid #037c9a;
border-bottom: 1px solid #037c9a;
border-left: 1px solid #037c9a;
}
.admin-color-blue .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active {
background-color: #e1a948;
-webkit-box-shadow: inset 0 1px 2px #d39323;
box-shadow: inset 0 1px 2px #d39323;
border-top: 1px solid #d39323;
border-bottom: 1px solid #d39323;
border-left: 1px solid #d39323;
}
.admin-color-coffee .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active {
background-color: #c7a589;
-webkit-box-shadow: inset 0 1px 2px #b78a66;
box-shadow: inset 0 1px 2px #b78a66;
border-top: 1px solid #b78a66;
border-bottom: 1px solid #b78a66;
border-left: 1px solid #b78a66;
}
.admin-color-ectoplasm .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active {
background-color: #a3b745;
-webkit-box-shadow: inset 0 1px 2px #839237;
box-shadow: inset 0 1px 2px #839237;
border-top: 1px solid #839237;
border-bottom: 1px solid #839237;
border-left: 1px solid #839237;
}
.admin-color-midnight .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active {
background-color: #e14d43;
-webkit-box-shadow: inset 0 1px 2px #d02a21;
box-shadow: inset 0 1px 2px #d02a21;
border-top: 1px solid #d02a21;
border-bottom: 1px solid #d02a21;
border-left: 1px solid #d02a21;
}
.admin-color-ocean .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active {
background-color: #9ebaa0;
-webkit-box-shadow: inset 0 1px 2px #80a583;
box-shadow: inset 0 1px 2px #80a583;
border-top: 1px solid #80a583;
border-bottom: 1px solid #80a583;
border-left: 1px solid #80a583;
}
.admin-color-sunrise .factory-bootstrap-482 .factory-dropdown.factory-buttons-way .active {
background-color: #dd823b;
-webkit-box-shadow: inset 0 1px 2px #c36822;
box-shadow: inset 0 1px 2px #c36822;
border-top: 1px solid #c36822;
border-bottom: 1px solid #c36822;
border-left: 1px solid #c36822;
}
/**
* Dropdown As ddSlick
* http://designwithpc.com/plugins/ddslick
*/
.factory-bootstrap-482 .factory-dropdown.factory-ddslick-way .dd-select {
background-color: #fff !important;
}
.factory-bootstrap-482 .factory-dropdown.factory-ddslick-way label {
margin-bottom: 1px;
}
.factory-bootstrap-482 .factory-dropdown.factory-ddslick-way .dd-option,
.factory-bootstrap-482 .factory-dropdown.factory-ddslick-way .dd-selected {
padding: 8px 12px 8px 11px !important;
}

View File

@@ -0,0 +1,24 @@
.factory-bootstrap-482 .factory-font .factory-control-row {
padding:0;
vertical-align: top;
}
.factory-bootstrap-482 .factory-font .factory-color-wrap {
position:static;
display:inline-block;
vertical-align: top;
}
.factory-bootstrap-482 .factory-font .factory-size-wrap {
display:inline-block;
width: 70px;
vertical-align: top;
}
.factory-bootstrap-482 .iris-picker {
margin-top: 10px;
}
.factory-bootstrap-482 .factory-font .factory-family-wrap {
padding-bottom: 10px;
}
.factory-bootstrap-482 .factory-font .chosen-results {
max-height: 150px;
}

Some files were not shown because too many files have changed in this diff Show More