Changeset 3167502
- Timestamp:
- 10/12/2024 09:41:05 AM (18 months ago)
- Location:
- streamweasels-twitch-integration
- Files:
-
- 2 added
- 18 edited
-
assets/blueprint.json (added)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/admin/class-streamweasels-admin.php (modified) (4 diffs)
-
trunk/freemius/assets/css/admin/account.css (modified) (1 diff)
-
trunk/freemius/assets/css/admin/common.css (modified) (1 diff)
-
trunk/freemius/assets/css/admin/dialog-boxes.css (modified) (1 diff)
-
trunk/freemius/includes/class-freemius.php (modified) (23 diffs)
-
trunk/freemius/includes/class-fs-logger.php (modified) (5 diffs)
-
trunk/freemius/includes/class-fs-plugin-updater.php (modified) (5 diffs)
-
trunk/freemius/includes/class-fs-storage.php (modified) (1 diff)
-
trunk/freemius/includes/entities/class-fs-plugin-plan.php (modified) (1 diff)
-
trunk/freemius/includes/entities/class-fs-site.php (modified) (2 diffs)
-
trunk/freemius/includes/managers/class-fs-clone-manager.php (modified) (1 diff)
-
trunk/freemius/includes/managers/class-fs-debug-manager.php (added)
-
trunk/freemius/require.php (modified) (1 diff)
-
trunk/freemius/start.php (modified) (1 diff)
-
trunk/freemius/templates/account.php (modified) (1 diff)
-
trunk/freemius/templates/debug.php (modified) (4 diffs)
-
trunk/includes/class-streamweasels-twitch.php (modified) (3 diffs)
-
trunk/streamweasels.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
streamweasels-twitch-integration/trunk/README.txt
r3137770 r3167502 4 4 Requires at least: 5.0 5 5 Tested up to: 6.6 6 Stable tag: 1.8. 56 Stable tag: 1.8.6 7 7 License: GPLv2 or later 8 8 License URI: http://www.gnu.org/licenses/gpl-2.0.html … … 125 125 126 126 == Changelog == 127 128 = 1.8.6 = 129 * updated freemius 130 * added new option to bypass nonce checks for better compatibility with caching plugins 127 131 128 132 = 1.8.5 = -
streamweasels-twitch-integration/trunk/admin/class-streamweasels-admin.php
r3137770 r3167502 786 786 // Error Settings 787 787 add_settings_field( 788 'swti_nonce_check', 789 'Nonce Check', 790 array($this, 'swti_nonce_check_cb'), 791 'swti_debug_fields', 792 'swti_debug_settings' 793 ); 794 add_settings_field( 788 795 'swti_debug', 789 796 'Error Log', … … 1884 1891 * 1885 1892 */ 1893 public function swti_nonce_check_cb() { 1894 $nonceCheck = ( isset( $this->options['swti_nonce_check'] ) ? $this->options['swti_nonce_check'] : '' ); 1895 ?> 1896 1897 <input type="hidden" name="swti_options[swti_nonce_check]" value="0"/> 1898 <input type="checkbox" id="sw-nonce-check" name="swti_options[swti_nonce_check]" value="1" <?php 1899 checked( 1, $nonceCheck, true ); 1900 ?> /> 1901 <p>Disable nonce checking, useful if page caching is breaking your Twitch Integration.</p> 1902 1903 <?php 1904 } 1905 1886 1906 public function swti_debug_cb() { 1887 1907 $dismissForGood5 = ( isset( $this->options['swti_dismiss_for_good5'] ) ? $this->options['swti_dismiss_for_good5'] : 0 ); … … 2002 2022 if ( isset( $input['swti_layout'] ) ) { 2003 2023 $new_input['swti_layout'] = sanitize_text_field( $input['swti_layout'] ); 2024 } 2025 if ( isset( $input['swti_nonce_check'] ) ) { 2026 $new_input['swti_nonce_check'] = (int) $input['swti_nonce_check']; 2004 2027 } 2005 2028 if ( isset( $input['swti_dismiss_for_good5'] ) ) { … … 2110 2133 $title = ( !empty( $section['title'] ) ? "<h3 class='hndle'><span class='dashicons {$icon}'></span>{$section['title']}</h3>" : '' ); 2111 2134 $description = ( $desc ? "<p>{$desc}</p>" : '' ); 2112 echo '<div class="postbox postbox-' . esc_attr( $section['title']) . ' postbox-' . esc_attr( $premium_status ) . '">';2135 echo '<div class="postbox postbox-' . esc_attr( str_replace( ' ', '-', strtolower( $section['title'] ) ) ) . ' postbox-' . esc_attr( $premium_status ) . '">'; 2113 2136 echo wp_kses( $title, $allowed_html ); 2114 2137 echo '<div class="inside">'; -
streamweasels-twitch-integration/trunk/freemius/assets/css/admin/account.css
r3070346 r3167502 1 label.fs-tag,span.fs-tag{background:#ffba00;border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.fs-notice[data-id=license_not_whitelabeled].success,.fs-notice[data-id=license_whitelabeled].success{border-left-color:#00a0d2;color:inherit}.fs-notice[data-id=license_not_whitelabeled].success label.fs-plugin-title,.fs-notice[data-id=license_whitelabeled].success label.fs-plugin-title{display:none}#fs_account .postbox,#fs_account .widefat{max-width:800px}#fs_account h3{border-bottom:1px solid #f1f1f1;font-size:1.3em;line-height:1.4;margin:0 0 12px;padding:12px 15px}#fs_account h3 .dashicons{font-size:1.3em;height:26px;width:26px}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{font-size:.9em;position:absolute;right:15px;top:17px}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:700}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table code,.fs-key-value-table input[type=text],.fs-key-value-table var{background:none;color:#0073aa;font-size:16px}.fs-key-value-table input[type=text]{font-weight:700;width:100%}.fs-field-beta_program label{margin-left:7px}label.fs-tag{border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag,label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{border:1px solid #e5e5e5;max-height:200px;overflow:auto}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none!important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{color:gray;text-align:right;width:1px}#fs_sites .fs-scrollable-table .fs-site-details td:last-of-type{text-align:right}#fs_sites .fs-scrollable-table .fs-install-details table tr td{white-space:nowrap;width:1px}#fs_sites .fs-scrollable-table .fs-install-details table tr td:last-of-type{width:auto}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{font-weight:700;text-align:left}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:700}#fs_billing_address{width:100%}#fs_billing_address tr td{padding:5px;width:50%}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:700}#fs_billing_address input,#fs_billing_address select{display:block;margin-top:5px;width:100%}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent ;opacity:1}#fs_billing_address input:-ms-input-placeholder,#fs_billing_address select:-ms-input-placeholder{color:transparent}#fs_billing_address input::-webkit-input-placeholder,#fs_billing_address select::-webkit-input-placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc;opacity:1}#fs_billing_address.fs-read-mode input:-ms-input-placeholder,#fs_billing_address.fs-read-mode select:-ms-input-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::-webkit-input-placeholder,#fs_billing_address.fs-read-mode select::-webkit-input-placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}@media screen and (max-width:639px){#fs_account .fs-header-actions{margin:0 0 12px;padding:0 15px 12px;position:static}#fs_account .fs-header-actions li{display:inline-block;float:none}#fs_account #fs_account_details,#fs_account #fs_account_details tbody,#fs_account #fs_account_details td,#fs_account #fs_account_details th,#fs_account #fs_account_details tr{display:block}#fs_account #fs_account_details tr td:first-child{text-align:left}#fs_account #fs_account_details tr td:nth-child(2){padding:0 12px}#fs_account #fs_account_details tr td:nth-child(2) code{margin:0;padding:0}#fs_account #fs_account_details tr td:nth-child(2) label{margin-left:0}#fs_account #fs_account_details tr td:nth-child(3){text-align:left}#fs_account #fs_account_details tr.fs-field-plan td:nth-child(2) .button-group{float:none;margin:12px 0}}1 label.fs-tag,span.fs-tag{background:#ffba00;border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag.fs-warn,span.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-info,span.fs-tag.fs-info{background:#00a0d2}label.fs-tag.fs-success,span.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error,span.fs-tag.fs-error{background:#dc3232}.fs-notice[data-id=license_not_whitelabeled].success,.fs-notice[data-id=license_whitelabeled].success{border-left-color:#00a0d2;color:inherit}.fs-notice[data-id=license_not_whitelabeled].success label.fs-plugin-title,.fs-notice[data-id=license_whitelabeled].success label.fs-plugin-title{display:none}#fs_account .postbox,#fs_account .widefat{max-width:800px}#fs_account h3{border-bottom:1px solid #f1f1f1;font-size:1.3em;line-height:1.4;margin:0 0 12px;padding:12px 15px}#fs_account h3 .dashicons{font-size:1.3em;height:26px;width:26px}#fs_account i.dashicons{font-size:1.2em;height:1.2em;width:1.2em}#fs_account .dashicons{vertical-align:middle}#fs_account .fs-header-actions{font-size:.9em;position:absolute;right:15px;top:17px}#fs_account .fs-header-actions ul{margin:0}#fs_account .fs-header-actions li{float:left}#fs_account .fs-header-actions li form{display:inline-block}#fs_account .fs-header-actions li a{text-decoration:none}#fs_account_details .button-group{float:right}.rtl #fs_account .fs-header-actions{left:15px;right:auto}.fs-key-value-table{width:100%}.fs-key-value-table form{display:inline-block}.fs-key-value-table tr td:first-child{text-align:right}.fs-key-value-table tr td:first-child nobr{font-weight:700}.fs-key-value-table tr td:first-child form{display:block}.fs-key-value-table tr td.fs-right{text-align:right}.fs-key-value-table tr.fs-odd{background:#ebebeb}.fs-key-value-table td,.fs-key-value-table th{padding:10px}.fs-key-value-table code{line-height:28px}.fs-key-value-table code,.fs-key-value-table input[type=text],.fs-key-value-table var{background:none;color:#0073aa;font-size:16px}.fs-key-value-table input[type=text]{font-weight:700;width:100%}.fs-field-beta_program label{margin-left:7px}label.fs-tag{border-radius:3px;color:#fff;display:inline-block;font-size:11px;line-height:11px;padding:5px;vertical-align:baseline}label.fs-tag,label.fs-tag.fs-warn{background:#ffba00}label.fs-tag.fs-success{background:#46b450}label.fs-tag.fs-error{background:#dc3232}#fs_sites .fs-scrollable-table .fs-table-body{border:1px solid #e5e5e5;max-height:200px;overflow:auto}#fs_sites .fs-scrollable-table .fs-table-body>table.widefat{border:none!important}#fs_sites .fs-scrollable-table .fs-main-column{width:100%}#fs_sites .fs-scrollable-table .fs-site-details td:first-of-type{color:gray;text-align:right;width:1px}#fs_sites .fs-scrollable-table .fs-site-details td:last-of-type{text-align:right}#fs_sites .fs-scrollable-table .fs-install-details table tr td{white-space:nowrap;width:1px}#fs_sites .fs-scrollable-table .fs-install-details table tr td:last-of-type{width:auto}#fs_addons h3{border:none;margin-bottom:0;padding:4px 5px}#fs_addons td{vertical-align:middle}#fs_addons thead{white-space:nowrap}#fs_addons td:first-child,#fs_addons th:first-child{font-weight:700;text-align:left}#fs_addons td:last-child,#fs_addons th:last-child{text-align:right}#fs_addons th{font-weight:700}#fs_billing_address{width:100%}#fs_billing_address tr td{padding:5px;width:50%}#fs_billing_address tr:first-of-type td{padding-top:0}#fs_billing_address span{font-weight:700}#fs_billing_address input,#fs_billing_address select{display:block;margin-top:5px;width:100%}#fs_billing_address input::-moz-placeholder,#fs_billing_address select::-moz-placeholder{color:transparent}#fs_billing_address input::placeholder,#fs_billing_address select::placeholder{color:transparent}#fs_billing_address input.fs-read-mode,#fs_billing_address select.fs-read-mode{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#fs_billing_address.fs-read-mode td span{display:none}#fs_billing_address.fs-read-mode input,#fs_billing_address.fs-read-mode select{background:none;border-color:transparent;border-bottom:1px dashed #ccc;color:#777;padding-left:0}#fs_billing_address.fs-read-mode input::-moz-placeholder,#fs_billing_address.fs-read-mode select::-moz-placeholder{color:#ccc}#fs_billing_address.fs-read-mode input::placeholder,#fs_billing_address.fs-read-mode select::placeholder{color:#ccc}#fs_billing_address button{display:block;width:100%}@media screen and (max-width:639px){#fs_account .fs-header-actions{margin:0 0 12px;padding:0 15px 12px;position:static}#fs_account .fs-header-actions li{display:inline-block;float:none}#fs_account #fs_account_details,#fs_account #fs_account_details tbody,#fs_account #fs_account_details td,#fs_account #fs_account_details th,#fs_account #fs_account_details tr{display:block}#fs_account #fs_account_details tr td:first-child{text-align:left}#fs_account #fs_account_details tr td:nth-child(2){padding:0 12px}#fs_account #fs_account_details tr td:nth-child(2) code{margin:0;padding:0}#fs_account #fs_account_details tr td:nth-child(2) label{margin-left:0}#fs_account #fs_account_details tr td:nth-child(3){text-align:left}#fs_account #fs_account_details tr.fs-field-plan td:nth-child(2) .button-group{float:none;margin:12px 0}} -
streamweasels-twitch-integration/trunk/freemius/assets/css/admin/common.css
r3070346 r3167502 1 .fs-badge{background:#71ae00;border-radius:3px 0 0 3px;border-right:0;box-shadow:0 2px 1px -1px rgba(0,0,0,.3);color:#fff;font-weight:700;padding:5px 10px;position:absolute;right:0;text-transform:uppercase;top:10px}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{margin-top:10px;position:relative;text-align:center;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}.fs-switch{background:#ececec;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);box-shadow:0 0 4px rgba(0,0,0,.1),inset 0 1px 3px 0 rgba(0,0,0,.1);color:#ccc;cursor:pointer;display:inline-block;height:18px;padding:6px 6px 5px;position:relative;text-shadow:0 1px 1px hsla(0,0%,100%,.8)}.fs-switch span{display:inline-block;text-transform:uppercase;width:35px}.fs-switch .fs-toggle{background-color:#fff;background-image:linear-gradient(180deg,#ececec,#fff);border:1px solid rgba(0,0,0,.3);border-radius:4px;box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.5);height:25px;position:absolute;top:1px;transition:.4s cubic-bezier(.54,1.6,.5,1);width:37px;z-index:999}.fs-switch.fs-off .fs-toggle{left:2%}.fs-switch.fs-on .fs-toggle{left:54%}.fs-switch.fs-round{border-radius:24px;padding:4px 25px;top:8px}.fs-switch.fs-round .fs-toggle{border-radius:24px;height:24px;top:0;width:24px}.fs-switch.fs-round.fs-off .fs-toggle{left:-1px}.fs-switch.fs-round.fs-on{background:#0085ba}.fs-switch.fs-round.fs-on .fs-toggle{left:25px}.fs-switch.fs-small.fs-round{padding:1px 19px}.fs-switch.fs-small.fs-round .fs-toggle{border-radius:18px;height:18px;top:0;width:18px}.fs-switch.fs-small.fs-round.fs-on .fs-toggle{left:19px}body.fs-loading,body.fs-loading *{cursor:wait!important}#fs_frame{font-size:0;line-height:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media(max-width:600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px!important}.fs-notice.success{color:green}.fs-notice.promotion{background-color:#f2fcff!important;border-color:#00a0d2!important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{color:#aaa;cursor:pointer;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{display:inline-block;margin-top:7px}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);border-radius:0 0 3px 3px;bottom:auto;color:#fff;cursor:auto;font-size:12px;font-weight:700;left:10px;padding:2px 10px;position:absolute;right:auto;top:100%}div.fs-notice.promotion,div.fs-notice.success,div.fs-notice.updated{display:block!important}#fs_connect .fs-error .fs-api-request-error-details,#fs_connect .fs-error .fs-api-request-error-show-details-link,#fs_connect .fs-error ol,.fs-modal .notice-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-modal .notice-error ol,.fs-notice.error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-show-details-link,.fs-notice.error ol{text-align:left}#fs_connect .fs-error ol,.fs-modal .notice-error ol,.fs-notice.error ol{list-style-type:disc}#fs_connect .fs-error .fs-api-request-error-show-details-link,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-notice.error .fs-api-request-error-show-details-link{box-shadow:none;color:#2271b1;text-decoration:none}#fs_connect .fs-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-details{border:1px solid #ccc;max-height:150px;overflow:auto;padding:5px}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{background:#ebfdeb;box-shadow:0 2px 2px rgba(6,113,6,.3);color:green; filter:alpha(opacity=95);left:160px;opacity:.95;padding:10px 20px;position:fixed;right:0;top:32px;z-index:9999}.fs-secure-notice:hover{filter:alpha(opacity=100);opacity:1}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@media screen and (max-width:600px){.fs-secure-notice{display:none}}@media screen and (max-width:1250px){#fs_promo_tab{display:none}}@media screen and (max-width:782px){.fs-secure-notice{left:0;text-align:center;top:46px}}span.fs-submenu-item.fs-sub:before{content:"↳";padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:"↲"}.fs-submenu-item.pricing.upgrade-mode{color:#adff2f}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{background:url(/wp-admin/images/wpspin_light-2x.gif);background-size:contain;border:0;display:inline-block;height:20px;margin-bottom:-2px;margin-right:5px;vertical-align:sub;width:20px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{background-color:#d54e21;border:0;color:#f9f9f9;margin-top:10px;padding:10px}1 .fs-badge{background:#71ae00;border-radius:3px 0 0 3px;border-right:0;box-shadow:0 2px 1px -1px rgba(0,0,0,.3);color:#fff;font-weight:700;padding:5px 10px;position:absolute;right:0;text-transform:uppercase;top:10px}.theme-browser .theme .fs-premium-theme-badge-container{position:absolute;right:0;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge{margin-top:10px;position:relative;text-align:center;top:0}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-premium-theme-badge{font-size:1.1em}.theme-browser .theme .fs-premium-theme-badge-container .fs-badge.fs-beta-theme-badge{background:#00a0d2}.fs-switch{background:#ececec;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);box-shadow:0 0 4px rgba(0,0,0,.1),inset 0 1px 3px 0 rgba(0,0,0,.1);color:#ccc;cursor:pointer;display:inline-block;height:18px;padding:6px 6px 5px;position:relative;text-shadow:0 1px 1px hsla(0,0%,100%,.8)}.fs-switch span{display:inline-block;text-transform:uppercase;width:35px}.fs-switch .fs-toggle{background-color:#fff;background-image:linear-gradient(180deg,#ececec,#fff);border:1px solid rgba(0,0,0,.3);border-radius:4px;box-shadow:inset 0 1px 0 0 hsla(0,0%,100%,.5);height:25px;position:absolute;top:1px;transition:.4s cubic-bezier(.54,1.6,.5,1);width:37px;z-index:999}.fs-switch.fs-off .fs-toggle{left:2%}.fs-switch.fs-on .fs-toggle{left:54%}.fs-switch.fs-round{border-radius:24px;padding:4px 25px;top:8px}.fs-switch.fs-round .fs-toggle{border-radius:24px;height:24px;top:0;width:24px}.fs-switch.fs-round.fs-off .fs-toggle{left:-1px}.fs-switch.fs-round.fs-on{background:#0085ba}.fs-switch.fs-round.fs-on .fs-toggle{left:25px}.fs-switch.fs-small.fs-round{padding:1px 19px}.fs-switch.fs-small.fs-round .fs-toggle{border-radius:18px;height:18px;top:0;width:18px}.fs-switch.fs-small.fs-round.fs-on .fs-toggle{left:19px}body.fs-loading,body.fs-loading *{cursor:wait!important}#fs_frame{font-size:0;line-height:0}.fs-full-size-wrapper{margin:40px 0 -65px -20px}@media(max-width:600px){.fs-full-size-wrapper{margin:0 0 -65px -10px}}.fs-notice{position:relative}.fs-notice.fs-has-title{margin-bottom:30px!important}.fs-notice.success{color:green}.fs-notice.promotion{background-color:#f2fcff!important;border-color:#00a0d2!important}.fs-notice .fs-notice-body{margin:.5em 0;padding:2px}.fs-notice .fs-close{color:#aaa;cursor:pointer;float:right}.fs-notice .fs-close:hover{color:#666}.fs-notice .fs-close>*{display:inline-block;margin-top:7px}.fs-notice label.fs-plugin-title{background:rgba(0,0,0,.3);border-radius:0 0 3px 3px;bottom:auto;color:#fff;cursor:auto;font-size:12px;font-weight:700;left:10px;padding:2px 10px;position:absolute;right:auto;top:100%}div.fs-notice.promotion,div.fs-notice.success,div.fs-notice.updated{display:block!important}#fs_connect .fs-error .fs-api-request-error-details,#fs_connect .fs-error .fs-api-request-error-show-details-link,#fs_connect .fs-error ol,.fs-modal .notice-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-modal .notice-error ol,.fs-notice.error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-show-details-link,.fs-notice.error ol{text-align:left}#fs_connect .fs-error ol,.fs-modal .notice-error ol,.fs-notice.error ol{list-style-type:disc}#fs_connect .fs-error .fs-api-request-error-show-details-link,.fs-modal .notice-error .fs-api-request-error-show-details-link,.fs-notice.error .fs-api-request-error-show-details-link{box-shadow:none;color:#2271b1;text-decoration:none}#fs_connect .fs-error .fs-api-request-error-details,.fs-modal .notice-error .fs-api-request-error-details,.fs-notice.error .fs-api-request-error-details{border:1px solid #ccc;max-height:150px;overflow:auto;padding:5px}.rtl .fs-notice .fs-close{float:left}.fs-secure-notice{background:#ebfdeb;box-shadow:0 2px 2px rgba(6,113,6,.3);color:green;left:160px;opacity:.95;padding:10px 20px;position:fixed;right:0;top:32px;z-index:9989}.fs-secure-notice:hover{opacity:1}.fs-secure-notice a.fs-security-proof{color:green;text-decoration:none}@media screen and (max-width:960px){.fs-secure-notice{left:36px}}@media screen and (max-width:600px){.fs-secure-notice{display:none}}@media screen and (max-width:1250px){#fs_promo_tab{display:none}}@media screen and (max-width:782px){.fs-secure-notice{left:0;text-align:center;top:46px}}span.fs-submenu-item.fs-sub:before{content:"↳";padding:0 5px}.rtl span.fs-submenu-item.fs-sub:before{content:"↲"}.fs-submenu-item.pricing.upgrade-mode{color:#adff2f}.fs-submenu-item.pricing.trial-mode{color:#83e2ff}#adminmenu .update-plugins.fs-trial{background-color:#00b9eb}.fs-ajax-spinner{background:url(/wp-admin/images/wpspin_light-2x.gif);background-size:contain;border:0;display:inline-block;height:20px;margin-bottom:-2px;margin-right:5px;vertical-align:sub;width:20px}.wrap.fs-section h2{text-align:left}.plugins p.fs-upgrade-notice{background-color:#d54e21;border:0;color:#f9f9f9;margin-top:10px;padding:10px} -
streamweasels-twitch-integration/trunk/freemius/assets/css/admin/dialog-boxes.css
r3126749 r3167502 1 .fs-modal{background:rgba(0,0,0,.6);display:none;height:100%;overflow:auto;position:fixed;top:0;width:100%;z-index:100000}@media(min-width:961px){.fs-modal{padding-left:160px}.rtl .fs-modal{padding-left:0;padding-right:160px}}.fs-modal .dashicons{vertical-align:middle}.fs-modal .fs-modal-dialog{background:transparent;left:50%;margin-left:-298px;padding-bottom:30px;position:absolute;top:-100%;width:596px;z-index:100001}@media(max-width:650px){.fs-modal .fs-modal-dialog{box-sizing:border-box;margin-left:-50%;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active,.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{background:#fefefe;border:0;padding:20px}.fs-modal .fs-modal-header{background:#fbfbfb;border-bottom:1px solid #eee;margin-bottom:-10px;padding:15px 20px;position:relative}.fs-modal .fs-modal-header h4{color:#cacaca;font-size:1.2em;font-weight:700;letter-spacing:.6px;margin:0;padding:0;text-shadow:1px 1px 1px #fff;text-transform:uppercase;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{border-radius:20px;color:#bbb;cursor:pointer;padding:3px;position:absolute;right:10px;top:12px;transition:all .2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{background:#aaa;color:#fff}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-size:20px;font-weight:700;margin-top:0}.fs-modal .fs-modal-footer{border-top:1px solid #eee;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:last-of-type{margin:0}.fs-modal .fs-modal-panel>.notice.inline{display:none;margin:0}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{left:20px;right:auto}.rtl .fs-modal .fs-modal-footer{text-align:left}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .internal-message,.fs-modal.fs-modal-deactivation-feedback .reason-input{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea,.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;display:none;padding:7px}@media(max-width:650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label,.fs-modal.fs-modal-deactivation-feedback .feedback-from-snooze-label{float:left;line-height:30px}.rtl .fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label,.rtl .fs-modal.fs-modal-deactivation-feedback .feedback-from-snooze-label{float:right}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0!important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{font-size:16px;line-height:1.5em;margin-bottom:0;margin-top:10px}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:700;margin-bottom:0;padding:0 25px}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;position:relative;top:5px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-license-options-container table,.fs-license-options-container table .fs-available-license-key,.fs-license-options-container table select,.fs-modal.fs-modal-license-activation .fs-modal-body input.fs-license-key{width:100%}.fs-license-options-container table td:first-child{width:1%}.fs-license-options-container table .fs-other-license-key-container label{float:left;margin-right:5px;position:relative;top:6px}.fs-license-options-container table .fs-other-license-key-container div{display:block;height:30px;overflow:hidden;position:relative;top:2px;width:auto}.fs-license-options-container table .fs-other-license-key-container div input{margin:0}.fs-sites-list-container td{cursor:pointer}.fs-modal.fs-modal-user-change .fs-modal-body input#fs_other_email_address{width:100%}.fs-user-change-options-container table{border-collapse:collapse;width:100%}.fs-user-change-options-container table tr{display:block;margin-bottom:2px}.fs-user-change-options-container table .fs-email-address-container td{display:inline-block}.fs-user-change-options-container table .fs-email-address-container input[type=radio]{margin-bottom:0;margin-top:0}.fs-user-change-options-container table .fs-other-email-address-container{width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div{display:table;width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div label,.fs-user-change-options-container table .fs-other-email-address-container>div>div{display:table-cell}.fs-user-change-options-container table .fs-other-email-address-container>div label{padding-left:3px;padding-right:3px;width:1%}.fs-user-change-options-container table .fs-other-email-address-container>div>div{width:auto}.fs-modal.fs-modal-developer-license-debug-mode .fs-modal-body input.fs-license-or-user-key,.fs-user-change-options-container table .fs-other-email-address-container>div>div input{width:100%}.fs-multisite-options-container{border:1px solid #ccc;margin-top:20px;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:700}.fs-multisite-options-container.fs-apply-on-all-sites{border:0;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media(max-width:650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-left:0;margin-right:7px}a.show-license-resend-modal{display:inline-block;margin-top:4px}.fs-modal.fs-modal-email-address-update .fs-modal-body input[type=text]{width:100%}.fs-modal.fs-modal-email-address-update p{margin-bottom:0}.fs-modal.fs-modal-email-address-update ul{margin:1em .5em}.fs-modal.fs-modal-email-address-update ul li label span{float:left;margin-top:0}.fs-modal.fs-modal-email-address-update ul li label span:last-child{display:block;float:none;margin-left:20px}.fs-ajax-loader{height:20px;margin:auto;position:relative;width:170px}.fs-ajax-loader .fs-ajax-loader-bar{animation-direction:normal;animation-duration:1.5s;animation-iteration-count:infinite; -o-animation-iteration-count:infinite;-ms-animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite;-moz-animation-iteration-count:infinite;animation-name:bounce_ajaxLoader;background-color:#0074a3;height:20px;position:absolute;top:0;transform:.3;width:20px}.fs-ajax-loader .fs-ajax-loader-bar-1{animation-delay:.6s;-o-animation-delay:.6s;-ms-animation-delay:.6s;-webkit-animation-delay:.6s;-moz-animation-delay:.6s;left:0}.fs-ajax-loader .fs-ajax-loader-bar-2{animation-delay:.75s;-o-animation-delay:.75s;-ms-animation-delay:.75s;-webkit-animation-delay:.75s;-moz-animation-delay:.75s;left:19px}.fs-ajax-loader .fs-ajax-loader-bar-3{animation-delay:.9s;-o-animation-delay:.9s;-ms-animation-delay:.9s;-webkit-animation-delay:.9s;-moz-animation-delay:.9s;left:38px}.fs-ajax-loader .fs-ajax-loader-bar-4{animation-delay:1.05s;-o-animation-delay:1.05s;-ms-animation-delay:1.05s;-webkit-animation-delay:1.05s;-moz-animation-delay:1.05s;left:57px}.fs-ajax-loader .fs-ajax-loader-bar-5{animation-delay:1.2s;-o-animation-delay:1.2s;-ms-animation-delay:1.2s;-webkit-animation-delay:1.2s;-moz-animation-delay:1.2s;left:76px}.fs-ajax-loader .fs-ajax-loader-bar-6{animation-delay:1.35s;-o-animation-delay:1.35s;-ms-animation-delay:1.35s;-webkit-animation-delay:1.35s;-moz-animation-delay:1.35s;left:95px}.fs-ajax-loader .fs-ajax-loader-bar-7{animation-delay:1.5s;-o-animation-delay:1.5s;-ms-animation-delay:1.5s;-webkit-animation-delay:1.5s;-moz-animation-delay:1.5s;left:114px}.fs-ajax-loader .fs-ajax-loader-bar-8{animation-delay:1.65s;-o-animation-delay:1.65s;-ms-animation-delay:1.65s;-webkit-animation-delay:1.65s;-moz-animation-delay:1.65s;left:133px}@keyframes bounce_ajaxLoader{0%{background-color:#0074a3;transform:scale(1)}to{background-color:#fff;transform:scale(.3)}}.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons,.fs-modal-auto-install #request-filesystem-credentials-form h2{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;max-width:100%;padding:10px 10px 5px;width:300px}.fs-modal-auto-install #request-filesystem-credentials-form fieldset,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form>div{display:block;margin:0 auto;max-width:100%;width:300px}.button-primary.warn{background:#f56a48;border-color:#ec6544 #d2593c #d2593c;box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{background:#e76444!important;border-color:#d85e40!important;color:#f5b3a1!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important}1 .fs-modal{background:rgba(0,0,0,.6);display:none;height:100%;overflow:auto;position:fixed;top:0;width:100%;z-index:100000}@media(min-width:961px){.fs-modal{padding-left:160px}.rtl .fs-modal{padding-left:0;padding-right:160px}}.fs-modal .dashicons{vertical-align:middle}.fs-modal .fs-modal-dialog{background:transparent;left:50%;margin-left:-298px;padding-bottom:30px;position:absolute;top:-100%;width:596px;z-index:100001}@media(max-width:650px){.fs-modal .fs-modal-dialog{box-sizing:border-box;margin-left:-50%;padding-left:10px;padding-right:10px;width:100%}.fs-modal .fs-modal-dialog .fs-modal-panel>h3>strong{font-size:1.3em}}.fs-modal.active,.fs-modal.active:before{display:block}.fs-modal.active .fs-modal-dialog{top:10%}.fs-modal.fs-success .fs-modal-header{border-bottom-color:#46b450}.fs-modal.fs-success .fs-modal-body{background-color:#f7fff7}.fs-modal.fs-warn .fs-modal-header{border-bottom-color:#ffb900}.fs-modal.fs-warn .fs-modal-body{background-color:#fff8e5}.fs-modal.fs-error .fs-modal-header{border-bottom-color:#dc3232}.fs-modal.fs-error .fs-modal-body{background-color:#ffeaea}.fs-modal .fs-modal-body,.fs-modal .fs-modal-footer{background:#fefefe;border:0;padding:20px}.fs-modal .fs-modal-header{background:#fbfbfb;border-bottom:1px solid #eee;margin-bottom:-10px;padding:15px 20px;position:relative}.fs-modal .fs-modal-header h4{color:#cacaca;font-size:1.2em;font-weight:700;letter-spacing:.6px;margin:0;padding:0;text-shadow:1px 1px 1px #fff;text-transform:uppercase;-webkit-font-smoothing:antialiased}.fs-modal .fs-modal-header .fs-close{border-radius:20px;color:#bbb;cursor:pointer;padding:3px;position:absolute;right:10px;top:12px;transition:all .2s ease-in-out}.fs-modal .fs-modal-header .fs-close:hover{background:#aaa;color:#fff}.fs-modal .fs-modal-header .fs-close .dashicons,.fs-modal .fs-modal-header .fs-close:hover .dashicons{text-decoration:none}.fs-modal .fs-modal-body{border-bottom:0}.fs-modal .fs-modal-body p{font-size:14px}.fs-modal .fs-modal-body h2{font-size:20px;line-height:1.5em}.fs-modal .fs-modal-body>div{margin-top:10px}.fs-modal .fs-modal-body>div h2{font-size:20px;font-weight:700;margin-top:0}.fs-modal .fs-modal-footer{border-top:1px solid #eee;text-align:right}.fs-modal .fs-modal-footer>.button{margin:0 7px}.fs-modal .fs-modal-footer>.button:last-of-type{margin:0}.fs-modal .fs-modal-panel>.notice.inline{display:none;margin:0}.fs-modal .fs-modal-panel:not(.active){display:none}.rtl .fs-modal .fs-modal-header .fs-close{left:20px;right:auto}.rtl .fs-modal .fs-modal-footer{text-align:left}body.has-fs-modal{overflow:hidden}.fs-modal.fs-modal-deactivation-feedback .internal-message,.fs-modal.fs-modal-deactivation-feedback .reason-input{margin:3px 0 3px 22px}.fs-modal.fs-modal-deactivation-feedback .internal-message input,.fs-modal.fs-modal-deactivation-feedback .internal-message textarea,.fs-modal.fs-modal-deactivation-feedback .reason-input input,.fs-modal.fs-modal-deactivation-feedback .reason-input textarea{width:100%}.fs-modal.fs-modal-deactivation-feedback li.reason.has-internal-message .internal-message{border:1px solid #ccc;display:none;padding:7px}@media(max-width:650px){.fs-modal.fs-modal-deactivation-feedback li.reason li.reason{margin-bottom:10px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .internal-message,.fs-modal.fs-modal-deactivation-feedback li.reason li.reason .reason-input{margin-left:29px}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label{display:table}.fs-modal.fs-modal-deactivation-feedback li.reason li.reason label>span{display:table-cell;font-size:1.3em}}.fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label,.fs-modal.fs-modal-deactivation-feedback .feedback-from-snooze-label{float:left;line-height:30px}.rtl .fs-modal.fs-modal-deactivation-feedback .anonymous-feedback-label,.rtl .fs-modal.fs-modal-deactivation-feedback .feedback-from-snooze-label{float:right}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel{margin-top:0!important}.fs-modal.fs-modal-deactivation-feedback .fs-modal-panel h3{font-size:16px;line-height:1.5em;margin-bottom:0;margin-top:10px}#the-list .deactivate>.fs-slug{display:none}.fs-modal.fs-modal-subscription-cancellation .fs-price-increase-warning{color:red;font-weight:700;margin-bottom:0;padding:0 25px}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:left;position:relative;top:5px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label input{float:right}.fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{display:block;margin-left:24px}.rtl .fs-modal.fs-modal-subscription-cancellation ul.subscription-actions label span{margin-left:0;margin-right:24px}.fs-license-options-container table,.fs-license-options-container table .fs-available-license-key,.fs-license-options-container table select,.fs-modal.fs-modal-license-activation .fs-modal-body input.fs-license-key{width:100%}.fs-license-options-container table td:first-child{width:1%}.fs-license-options-container table .fs-other-license-key-container label{float:left;margin-right:5px;position:relative;top:6px}.fs-license-options-container table .fs-other-license-key-container div{display:block;height:30px;overflow:hidden;position:relative;top:2px;width:auto}.fs-license-options-container table .fs-other-license-key-container div input{margin:0}.fs-sites-list-container td{cursor:pointer}.fs-modal.fs-modal-user-change .fs-modal-body input#fs_other_email_address{width:100%}.fs-user-change-options-container table{border-collapse:collapse;width:100%}.fs-user-change-options-container table tr{display:block;margin-bottom:2px}.fs-user-change-options-container table .fs-email-address-container td{display:inline-block}.fs-user-change-options-container table .fs-email-address-container input[type=radio]{margin-bottom:0;margin-top:0}.fs-user-change-options-container table .fs-other-email-address-container{width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div{display:table;width:100%}.fs-user-change-options-container table .fs-other-email-address-container>div label,.fs-user-change-options-container table .fs-other-email-address-container>div>div{display:table-cell}.fs-user-change-options-container table .fs-other-email-address-container>div label{padding-left:3px;padding-right:3px;width:1%}.fs-user-change-options-container table .fs-other-email-address-container>div>div{width:auto}.fs-modal.fs-modal-developer-license-debug-mode .fs-modal-body input.fs-license-or-user-key,.fs-user-change-options-container table .fs-other-email-address-container>div>div input{width:100%}.fs-multisite-options-container{border:1px solid #ccc;margin-top:20px;padding:5px}.fs-multisite-options-container a{text-decoration:none}.fs-multisite-options-container a:focus{box-shadow:none}.fs-multisite-options-container a.selected{font-weight:700}.fs-multisite-options-container.fs-apply-on-all-sites{border:0;padding:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options{border-spacing:0}.fs-multisite-options-container.fs-apply-on-all-sites .fs-all-sites-options td:not(:first-child){display:none}.fs-multisite-options-container .fs-sites-list-container{display:none;overflow:auto}.fs-multisite-options-container .fs-sites-list-container table td{border-top:1px solid #ccc;padding:4px 2px}.fs-modal.fs-modal-license-key-resend .email-address-container{overflow:hidden;padding-right:2px}.fs-modal.fs-modal-license-key-resend.fs-freemium input.email-address{width:300px}.fs-modal.fs-modal-license-key-resend.fs-freemium label{display:block;margin-bottom:10px}.fs-modal.fs-modal-license-key-resend.fs-premium input.email-address{width:100%}.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{float:right;margin-left:7px}@media(max-width:650px){.fs-modal.fs-modal-license-key-resend.fs-premium .button-container{margin-top:2px}}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .input-container>.email-address-container{padding-left:2px;padding-right:0}.rtl .fs-modal.fs-modal-license-key-resend .fs-modal-body .button-container{float:left;margin-left:0;margin-right:7px}a.show-license-resend-modal{display:inline-block;margin-top:4px}.fs-modal.fs-modal-email-address-update .fs-modal-body input[type=text]{width:100%}.fs-modal.fs-modal-email-address-update p{margin-bottom:0}.fs-modal.fs-modal-email-address-update ul{margin:1em .5em}.fs-modal.fs-modal-email-address-update ul li label span{float:left;margin-top:0}.fs-modal.fs-modal-email-address-update ul li label span:last-child{display:block;float:none;margin-left:20px}.fs-ajax-loader{height:20px;margin:auto;position:relative;width:170px}.fs-ajax-loader .fs-ajax-loader-bar{animation-direction:normal;animation-duration:1.5s;animation-iteration-count:infinite;animation-name:bounce_ajaxLoader;background-color:#0074a3;height:20px;position:absolute;top:0;transform:scale(.3);width:20px}.fs-ajax-loader .fs-ajax-loader-bar-1{animation-delay:.6s;left:0}.fs-ajax-loader .fs-ajax-loader-bar-2{animation-delay:.75s;left:19px}.fs-ajax-loader .fs-ajax-loader-bar-3{animation-delay:.9s;left:38px}.fs-ajax-loader .fs-ajax-loader-bar-4{animation-delay:1.05s;left:57px}.fs-ajax-loader .fs-ajax-loader-bar-5{animation-delay:1.2s;left:76px}.fs-ajax-loader .fs-ajax-loader-bar-6{animation-delay:1.35s;left:95px}.fs-ajax-loader .fs-ajax-loader-bar-7{animation-delay:1.5s;left:114px}.fs-ajax-loader .fs-ajax-loader-bar-8{animation-delay:1.65s;left:133px}@keyframes bounce_ajaxLoader{0%{background-color:#0074a3;transform:scale(1)}to{background-color:#fff;transform:scale(.3)}}.fs-modal-auto-install #request-filesystem-credentials-form .request-filesystem-credentials-action-buttons,.fs-modal-auto-install #request-filesystem-credentials-form h2{display:none}.fs-modal-auto-install #request-filesystem-credentials-form input[type=email],.fs-modal-auto-install #request-filesystem-credentials-form input[type=password],.fs-modal-auto-install #request-filesystem-credentials-form input[type=text]{-webkit-appearance:none;max-width:100%;padding:10px 10px 5px;width:300px}.fs-modal-auto-install #request-filesystem-credentials-form fieldset,.fs-modal-auto-install #request-filesystem-credentials-form label,.fs-modal-auto-install #request-filesystem-credentials-form>div{display:block;margin:0 auto;max-width:100%;width:300px}.button-primary.warn{background:#f56a48;border-color:#ec6544 #d2593c #d2593c;box-shadow:0 1px 0 #d2593c;text-shadow:0 -1px 1px #d2593c,1px 0 1px #d2593c,0 1px 1px #d2593c,-1px 0 1px #d2593c}.button-primary.warn:hover{background:#fd6d4a;border-color:#d2593c}.button-primary.warn:focus{box-shadow:0 1px 0 #dd6041,0 0 2px 1px #e4a796}.button-primary.warn:active{background:#dd6041;border-color:#d2593c;box-shadow:inset 0 2px 0 #d2593c}.button-primary.warn.disabled{background:#e76444!important;border-color:#d85e40!important;color:#f5b3a1!important;text-shadow:0 -1px 0 rgba(0,0,0,.1)!important} -
streamweasels-twitch-integration/trunk/freemius/includes/class-freemius.php
r3126749 r3167502 1258 1258 * @return bool 1259 1259 */ 1260 p rivatestatic function set_network_upgrade_mode( FS_Storage $storage ) {1260 public static function set_network_upgrade_mode( FS_Storage $storage ) { 1261 1261 return $storage->is_network_activation = true; 1262 1262 } … … 1584 1584 add_action( 'admin_init', array( &$this, 'connect_again' ) ); 1585 1585 } 1586 1587 FS_DebugManager::register_hooks(); 1586 1588 } 1587 1589 … … 2702 2704 * @since 2.4.3 2703 2705 */ 2704 p rivatestatic function reset_deactivation_snoozing( $period = 0 ) {2706 public static function reset_deactivation_snoozing( $period = 0 ) { 2705 2707 $value = ( 0 === $period ) ? null : 'true'; 2706 2708 … … 3419 3421 self::$_global_admin_notices = FS_Admin_Notices::instance( 'global' ); 3420 3422 3421 if ( ! WP_FS__DEMO_MODE ) { 3422 add_action( ( fs_is_network_admin() ? 'network_' : '' ) . 'admin_menu', array( 3423 'Freemius', 3424 '_add_debug_section' 3425 ) ); 3426 } 3427 3428 add_action( "wp_ajax_fs_toggle_debug_mode", array( 'Freemius', '_toggle_debug_mode' ) ); 3429 3430 self::add_ajax_action_static( 'get_debug_log', array( 'Freemius', '_get_debug_log' ) ); 3431 3432 self::add_ajax_action_static( 'get_db_option', array( 'Freemius', '_get_db_option' ) ); 3433 3434 self::add_ajax_action_static( 'set_db_option', array( 'Freemius', '_set_db_option' ) ); 3423 FS_DebugManager::load_required_static(); 3435 3424 3436 3425 if ( 0 == did_action( 'plugins_loaded' ) ) { … … 3457 3446 3458 3447 self::$_statics_loaded = true; 3448 } 3449 3450 public static function get_static_logger() { 3451 return self::$_static_logger; 3452 } 3453 3454 public static function get_accounts() { 3455 return self::$_accounts; 3459 3456 } 3460 3457 … … 3627 3624 * @since 2.1.3 3628 3625 */ 3629 p rivatestatic function migrate_options_to_network() {3626 public static function migrate_options_to_network() { 3630 3627 self::migrate_accounts_to_network(); 3631 3628 … … 3663 3660 $fs_active_plugins->newest->sdk_path . '/languages/' 3664 3661 ); 3665 }3666 3667 #endregion3668 3669 #----------------------------------------------------------------------------------3670 #region Debugging3671 #----------------------------------------------------------------------------------3672 3673 /**3674 * @author Vova Feldman (@svovaf)3675 * @since 1.0.83676 */3677 static function _add_debug_section() {3678 if ( ! is_super_admin() ) {3679 // Add debug page only for super-admins.3680 return;3681 }3682 3683 self::$_static_logger->entrance();3684 3685 $title = sprintf( '%s [v.%s]', fs_text_inline( 'Freemius Debug' ), WP_FS__SDK_VERSION );3686 3687 if ( WP_FS__DEV_MODE ) {3688 // Add top-level debug menu item.3689 $hook = FS_Admin_Menu_Manager::add_page(3690 $title,3691 $title,3692 'manage_options',3693 'freemius',3694 array( 'Freemius', '_debug_page_render' )3695 );3696 } else {3697 // Add hidden debug page.3698 $hook = FS_Admin_Menu_Manager::add_subpage(3699 '',3700 $title,3701 $title,3702 'manage_options',3703 'freemius',3704 array( 'Freemius', '_debug_page_render' )3705 );3706 }3707 3708 if ( ! empty( $hook ) ) {3709 add_action( "load-$hook", array( 'Freemius', '_debug_page_actions' ) );3710 }3711 }3712 3713 /**3714 * @author Vova Feldman (@svovaf)3715 * @since 1.1.7.33716 */3717 static function _toggle_debug_mode() {3718 check_admin_referer( 'fs_toggle_debug_mode' );3719 3720 if ( ! is_super_admin() ) {3721 return;3722 }3723 3724 $is_on = fs_request_get( 'is_on', false, 'post' );3725 3726 if ( fs_request_is_post() && in_array( $is_on, array( 0, 1 ) ) ) {3727 update_option( 'fs_debug_mode', $is_on );3728 3729 // Turn on/off storage logging.3730 FS_Logger::_set_storage_logging( ( 1 == $is_on ) );3731 }3732 3733 exit;3734 }3735 3736 /**3737 * @author Vova Feldman (@svovaf)3738 * @since 1.2.1.63739 */3740 static function _get_debug_log() {3741 check_admin_referer( 'fs_get_debug_log' );3742 3743 if ( ! is_super_admin() ) {3744 return;3745 }3746 3747 $limit = min( ! empty( $_POST['limit'] ) ? absint( $_POST['limit'] ) : 200, 200 );3748 $offset = min( ! empty( $_POST['offset'] ) ? absint( $_POST['offset'] ) : 200, 200 );3749 3750 $logs = FS_Logger::load_db_logs(3751 fs_request_get( 'filters', false, 'post' ),3752 $limit,3753 $offset3754 );3755 3756 self::shoot_ajax_success( $logs );3757 }3758 3759 /**3760 * @author Vova Feldman (@svovaf)3761 * @since 1.2.1.73762 */3763 static function _get_db_option() {3764 check_admin_referer( 'fs_get_db_option' );3765 3766 $option_name = fs_request_get( 'option_name' );3767 3768 if ( ! is_super_admin() ||3769 ! fs_starts_with( $option_name, 'fs_' )3770 ) {3771 self::shoot_ajax_failure();3772 }3773 3774 $value = get_option( $option_name );3775 3776 $result = array(3777 'name' => $option_name,3778 );3779 3780 if ( false !== $value ) {3781 if ( ! is_string( $value ) ) {3782 $value = json_encode( $value );3783 }3784 3785 $result['value'] = $value;3786 }3787 3788 self::shoot_ajax_success( $result );3789 }3790 3791 /**3792 * @author Vova Feldman (@svovaf)3793 * @since 1.2.1.73794 */3795 static function _set_db_option() {3796 check_admin_referer( 'fs_set_db_option' );3797 3798 $option_name = fs_request_get( 'option_name' );3799 3800 if ( ! is_super_admin() ||3801 ! fs_starts_with( $option_name, 'fs_' )3802 ) {3803 self::shoot_ajax_failure();3804 }3805 3806 $option_value = fs_request_get_raw( 'option_value' );3807 3808 if ( ! empty( $option_value ) ) {3809 update_option( $option_name, $option_value );3810 }3811 3812 self::shoot_ajax_success();3813 }3814 3815 /**3816 * @author Vova Feldman (@svovaf)3817 * @since 1.0.83818 */3819 static function _debug_page_actions() {3820 self::_clean_admin_content_section();3821 3822 if ( fs_request_is_action( 'restart_freemius' ) ) {3823 check_admin_referer( 'restart_freemius' );3824 3825 if ( ! is_multisite() ) {3826 // Clear accounts data.3827 self::$_accounts->clear( null, true );3828 } else {3829 $sites = self::get_sites();3830 foreach ( $sites as $site ) {3831 $blog_id = self::get_site_blog_id( $site );3832 self::$_accounts->clear( $blog_id, true );3833 }3834 3835 // Clear network level storage.3836 self::$_accounts->clear( true, true );3837 }3838 3839 // Clear SDK reference cache.3840 delete_option( 'fs_active_plugins' );3841 } else if ( fs_request_is_action( 'clear_updates_data' ) ) {3842 check_admin_referer( 'clear_updates_data' );3843 3844 if ( ! is_multisite() ) {3845 set_site_transient( 'update_plugins', null );3846 set_site_transient( 'update_themes', null );3847 } else {3848 $current_blog_id = get_current_blog_id();3849 3850 $sites = self::get_sites();3851 foreach ( $sites as $site ) {3852 switch_to_blog( self::get_site_blog_id( $site ) );3853 3854 set_site_transient( 'update_plugins', null );3855 set_site_transient( 'update_themes', null );3856 }3857 3858 switch_to_blog( $current_blog_id );3859 }3860 } else if ( fs_request_is_action( 'reset_deactivation_snoozing' ) ) {3861 check_admin_referer( 'reset_deactivation_snoozing' );3862 3863 self::reset_deactivation_snoozing();3864 } else if ( fs_request_is_action( 'simulate_trial' ) ) {3865 check_admin_referer( 'simulate_trial' );3866 3867 $fs = freemius( fs_request_get( 'module_id' ) );3868 3869 // Update SDK install to at least 24 hours before.3870 $fs->_storage->install_timestamp = ( time() - WP_FS__TIME_24_HOURS_IN_SEC );3871 // Unset the trial shown timestamp.3872 unset( $fs->_storage->trial_promotion_shown );3873 } else if ( fs_request_is_action( 'simulate_network_upgrade' ) ) {3874 check_admin_referer( 'simulate_network_upgrade' );3875 3876 $fs = freemius( fs_request_get( 'module_id' ) );3877 3878 self::set_network_upgrade_mode( $fs->_storage );3879 } else if ( fs_request_is_action( 'delete_install' ) ) {3880 check_admin_referer( 'delete_install' );3881 3882 self::_delete_site_by_slug(3883 fs_request_get( 'slug' ),3884 fs_request_get( 'module_type' ),3885 true,3886 fs_request_get( 'blog_id', null )3887 );3888 } else if ( fs_request_is_action( 'delete_user' ) ) {3889 check_admin_referer( 'delete_user' );3890 3891 self::delete_user( fs_request_get( 'user_id' ) );3892 } else if ( fs_request_is_action( 'download_logs' ) ) {3893 check_admin_referer( 'download_logs' );3894 3895 $download_url = FS_Logger::download_db_logs(3896 fs_request_get( 'filters', false, 'post' )3897 );3898 3899 if ( false === $download_url ) {3900 wp_die( 'Oops... there was an error while generating the logs download file. Please try again and if it doesn\'t work contact support@freemius.com.' );3901 }3902 3903 fs_redirect( $download_url );3904 } else if ( fs_request_is_action( 'migrate_options_to_network' ) ) {3905 check_admin_referer( 'migrate_options_to_network' );3906 3907 self::migrate_options_to_network();3908 }3909 }3910 3911 /**3912 * @author Leo Fajardo (@leorw)3913 * @since 2.5.03914 *3915 * @return array3916 */3917 static function get_all_modules_sites() {3918 self::$_static_logger->entrance();3919 3920 $sites_by_type = array(3921 WP_FS__MODULE_TYPE_PLUGIN => array(),3922 WP_FS__MODULE_TYPE_THEME => array(),3923 );3924 3925 $module_types = array_keys( $sites_by_type );3926 3927 if ( ! is_multisite() ) {3928 foreach ( $module_types as $type ) {3929 $sites_by_type[ $type ] = self::get_all_sites( $type );3930 3931 foreach ( $sites_by_type[ $type ] as $slug => $install ) {3932 $sites_by_type[ $type ][ $slug ] = array( $install );3933 }3934 }3935 } else {3936 $sites = self::get_sites();3937 3938 foreach ( $sites as $site ) {3939 $blog_id = self::get_site_blog_id( $site );3940 3941 foreach ( $module_types as $type ) {3942 $installs = self::get_all_sites( $type, $blog_id );3943 3944 foreach ( $installs as $slug => $install ) {3945 if ( ! isset( $sites_by_type[ $type ][ $slug ] ) ) {3946 $sites_by_type[ $type ][ $slug ] = array();3947 }3948 3949 $install->blog_id = $blog_id;3950 3951 $sites_by_type[ $type ][ $slug ][] = $install;3952 }3953 3954 }3955 }3956 }3957 3958 return $sites_by_type;3959 }3960 3961 /**3962 * @author Vova Feldman (@svovaf)3963 * @since 1.0.83964 */3965 static function _debug_page_render() {3966 self::$_static_logger->entrance();3967 3968 $all_modules_sites = self::get_all_modules_sites();3969 3970 $licenses_by_module_type = self::get_all_licenses_by_module_type();3971 3972 $vars = array(3973 'plugin_sites' => $all_modules_sites[ WP_FS__MODULE_TYPE_PLUGIN ],3974 'theme_sites' => $all_modules_sites[ WP_FS__MODULE_TYPE_THEME ],3975 'users' => self::get_all_users(),3976 'addons' => self::get_all_addons(),3977 'account_addons' => self::get_all_account_addons(),3978 'plugin_licenses' => $licenses_by_module_type[ WP_FS__MODULE_TYPE_PLUGIN ],3979 'theme_licenses' => $licenses_by_module_type[ WP_FS__MODULE_TYPE_THEME ]3980 );3981 3982 fs_enqueue_local_style( 'fs_debug', '/admin/debug.css' );3983 fs_require_once_template( 'debug.php', $vars );3984 3662 } 3985 3663 … … 7484 7162 7485 7163 /** 7486 * Delete user.7487 *7488 * @author Vova Feldman (@svovaf)7489 * @since 2.0.07490 *7491 * @param number $user_id7492 * @param bool $store7493 *7494 * @return false|int The user ID if deleted. Otherwise, FALSE (when install not exist).7495 */7496 private static function delete_user( $user_id, $store = true ) {7497 $users = self::get_all_users();7498 7499 if ( ! is_array( $users ) || ! isset( $users[ $user_id ] ) ) {7500 return false;7501 }7502 7503 unset( $users[ $user_id ] );7504 7505 self::$_accounts->set_option( 'users', $users, $store );7506 7507 return $user_id;7508 }7509 7510 /**7511 7164 * Delete plugin's plans information. 7512 7165 * … … 10643 10296 * @return array[string]FS_Site 10644 10297 */ 10645 p rivatestatic function get_all_sites(10298 public static function get_all_sites( 10646 10299 $module_type = WP_FS__MODULE_TYPE_PLUGIN, 10647 10300 $blog_id = null, … … 10672 10325 * @return mixed 10673 10326 */ 10674 p rivatestatic function get_account_option( $option_name, $module_type = null, $network_level_or_blog_id = null ) {10327 public static function get_account_option( $option_name, $module_type = null, $network_level_or_blog_id = null ) { 10675 10328 if ( ! is_null( $module_type ) && WP_FS__MODULE_TYPE_PLUGIN !== $module_type ) { 10676 10329 $option_name = $module_type . '_' . $option_name; … … 10807 10460 * @since 2.0.0 10808 10461 * 10809 * @return array10810 */10811 private static function get_all_licenses_by_module_type() {10812 $licenses = self::get_account_option( 'all_licenses' );10813 10814 $licenses_by_module_type = array(10815 WP_FS__MODULE_TYPE_PLUGIN => array(),10816 WP_FS__MODULE_TYPE_THEME => array()10817 );10818 10819 if ( ! is_array( $licenses ) ) {10820 return $licenses_by_module_type;10821 }10822 10823 foreach ( $licenses as $module_id => $module_licenses ) {10824 $fs = self::get_instance_by_id( $module_id );10825 if ( false === $fs ) {10826 continue;10827 }10828 10829 $licenses_by_module_type[ $fs->_module_type ] = array_merge( $licenses_by_module_type[ $fs->_module_type ], $module_licenses );10830 }10831 10832 return $licenses_by_module_type;10833 }10834 10835 /**10836 * @author Leo Fajardo (@leorw)10837 * @since 2.0.010838 *10839 10462 * @param number $module_id 10840 10463 * @param number|null $user_id … … 10975 10598 * @return array<number,FS_Plugin[]>|false 10976 10599 */ 10977 p rivatestatic function get_all_addons() {10600 public static function get_all_addons() { 10978 10601 $addons = self::maybe_get_entities_account_option( 'addons', array() ); 10979 10602 … … 10991 10614 * @return number[]|false 10992 10615 */ 10993 p rivatestatic function get_all_account_addons() {10616 public static function get_all_account_addons() { 10994 10617 $addons = self::$_accounts->get_option( 'account_addons', array() ); 10995 10618 … … 11106 10729 function get_site() { 11107 10730 return $this->_site; 10731 } 10732 10733 /** 10734 * @author Daniele Alessandra (@danielealessandra) 10735 * @return FS_Storage 10736 * @since 2.6.2 10737 * 10738 */ 10739 public function get_storage() { 10740 return $this->_storage; 11108 10741 } 11109 10742 … … 15042 14675 $this->_get_admin_page_url( 'pricing', $params ); 15043 14676 14677 return $this->get_pricing_url_with_filter( $url ); 14678 } 14679 14680 /** 14681 * Retrieves the filtered pricing URL. 14682 * 14683 * @author Leo Fajardo (@leorw) 14684 * @since 2.7.4 14685 * 14686 * @param string $url 14687 * 14688 * @return string 14689 */ 14690 private function get_pricing_url_with_filter( $url ) { 15044 14691 return $this->apply_filters( 'pricing_url', $url ); 15045 14692 } … … 19168 18815 } 19169 18816 19170 // Add upgrade/pricing page. 19171 $this->add_submenu_item( 19172 $pricing_cta_text . ' ' . ( is_rtl() ? $this->get_text_x_inline( '←', 'ASCII arrow left icon', 'symbol_arrow-left' ) : $this->get_text_x_inline( '➤', 'ASCII arrow right icon', 'symbol_arrow-right' ) ), 19173 array( &$this, '_pricing_page_render' ), 19174 $this->get_plugin_name() . ' – ' . $this->get_text_x_inline( 'Pricing', 'noun', 'pricing' ), 19175 'manage_options', 19176 'pricing', 19177 'Freemius::_clean_admin_content_section', 19178 WP_FS__LOWEST_PRIORITY, 19179 ( $add_submenu_items && $show_pricing ), 19180 $pricing_class 19181 ); 18817 $custom_pricing_url = $this->get_pricing_url_with_filter( null ); 18818 $pricing_menu_title = $pricing_cta_text . ' ' . ( is_rtl() ? $this->get_text_x_inline( '←', 'ASCII arrow left icon', 'symbol_arrow-left' ) : $this->get_text_x_inline( '➤', 'ASCII arrow right icon', 'symbol_arrow-right' ) ); 18819 $show_pricing_submenu_item = ( $add_submenu_items && $show_pricing ); 18820 18821 // Add upgrade/pricing submenu item. 18822 if ( ! is_null( $custom_pricing_url ) ) { 18823 $this->add_submenu_link_item( 18824 $pricing_menu_title, 18825 $custom_pricing_url, 18826 'pricing', 18827 'manage_options', 18828 WP_FS__LOWEST_PRIORITY, 18829 $show_pricing_submenu_item, 18830 $pricing_class 18831 ); 18832 } else { 18833 $this->add_submenu_item( 18834 $pricing_menu_title, 18835 array( &$this, '_pricing_page_render' ), 18836 $this->get_plugin_name() . ' – ' . $this->get_text_x_inline( 'Pricing', 'noun', 'pricing' ), 18837 'manage_options', 18838 'pricing', 18839 'Freemius::_clean_admin_content_section', 18840 WP_FS__LOWEST_PRIORITY, 18841 $show_pricing_submenu_item, 18842 $pricing_class 18843 ); 18844 } 19182 18845 } 19183 18846 } … … 19468 19131 * @param int $priority 19469 19132 * @param bool $show_submenu 19133 * @param string $class 19470 19134 */ 19471 19135 function add_submenu_link_item( … … 19475 19139 $capability = 'read', 19476 19140 $priority = WP_FS__DEFAULT_PRIORITY, 19477 $show_submenu = true 19141 $show_submenu = true, 19142 $class = '' 19478 19143 ) { 19479 19144 $this->_logger->entrance( 'Title = ' . $menu_title . '; Url = ' . $url ); … … 19489 19154 $capability, 19490 19155 $priority, 19491 $show_submenu 19156 $show_submenu, 19157 $class 19492 19158 ); 19493 19159 … … 19509 19175 'before_render_function' => '', 19510 19176 'show_submenu' => $show_submenu, 19177 'class' => $class, 19511 19178 ); 19512 19179 } … … 22802 22469 22803 22470 $remove_user = true; 22804 $all_modules_sites = self::get_all_modules_sites();22471 $all_modules_sites = FS_DebugManager::get_all_modules_sites(); 22805 22472 22806 22473 foreach ( $all_modules_sites as $sites_by_module_type ) { … … 24889 24556 * @since 2.1.0 24890 24557 * 24891 * @param string $url24892 * @param array $request24893 */24894 private static function enrich_request_for_debug( &$url, &$request ) {24895 if ( WP_FS__DEBUG_SDK || isset( $_COOKIE['XDEBUG_SESSION'] ) ) {24896 $url = add_query_arg( 'XDEBUG_SESSION_START', rand( 0, 9999999 ), $url );24897 $url = add_query_arg( 'XDEBUG_SESSION', 'PHPSTORM', $url );24898 24899 $request['cookies'] = array(24900 new WP_Http_Cookie( array(24901 'name' => 'XDEBUG_SESSION',24902 'value' => 'PHPSTORM',24903 ) )24904 );24905 }24906 }24907 24908 /**24909 * @author Leo Fajardo (@leorw)24910 * @since 2.1.024911 *24912 24558 * @param string $url 24913 24559 * @param array $request … … 24935 24581 if ( false === $response ) { 24936 24582 if ( $maybe_enrich_request_for_debug ) { 24937 self::enrich_request_for_debug( $url, $request );24583 FS_DebugManager::enrich_request_for_debug( $url, $request ); 24938 24584 } 24939 24585 -
streamweasels-twitch-integration/trunk/freemius/includes/class-fs-logger.php
r2861367 r3167502 33 33 private static $_abspathLength; 34 34 35 /** 36 * @var FS_Logger[] $LOGGERS 37 */ 35 38 private static $LOGGERS = array(); 36 39 private static $LOG = array(); … … 125 128 self::hook_footer(); 126 129 } 127 128 130 function echo_on() { 129 131 $this->on(); … … 321 323 $table = "{$wpdb->prefix}fs_logger"; 322 324 325 /** 326 * Drop logging table in any case. 327 */ 328 $result = $wpdb->query( "DROP TABLE IF EXISTS $table;" ); 329 323 330 if ( $is_on ) { 324 331 /** … … 330 337 * @link https://core.trac.wordpress.org/ticket/2695 331 338 */ 332 $result = $wpdb->query( "CREATE TABLE {$table} (339 $result = $wpdb->query( "CREATE TABLE IF NOT EXISTS {$table} ( 333 340 `id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT, 334 341 `process_id` INT UNSIGNED NOT NULL, … … 349 356 KEY `function` (`function` ASC), 350 357 KEY `type` (`type` ASC))" ); 351 } else {352 /**353 * Drop logging table.354 */355 $result = $wpdb->query( "DROP TABLE IF EXISTS $table;" );356 358 } 357 359 358 360 if ( false !== $result ) { 359 361 update_option( 'fs_storage_logger', ( $is_on ? 1 : 0 ) ); 362 self::$_isStorageLoggingOn = $is_on; 360 363 } 361 364 -
streamweasels-twitch-integration/trunk/freemius/includes/class-fs-plugin-updater.php
r3114536 r3167502 107 107 if ( ! $this->_fs->has_any_active_valid_license() ) { 108 108 add_action( 'admin_head', array( &$this, 'catch_plugin_information_dialog_contents' ) ); 109 } else { 110 add_action( 'admin_footer', array( &$this, '_add_fs_allow_updater_and_dialog_request_param' ) ); 109 111 } 110 112 … … 132 134 /** 133 135 * @author Leo Fajardo (@leorw) 136 * @since 2.7.4 137 */ 138 function _add_fs_allow_updater_and_dialog_request_param() { 139 if ( ! $this->is_plugin_information_dialog_for_plugin() ) { 140 return; 141 } 142 ?> 143 <script type="text/javascript"> 144 if ( typeof jQuery !== 'undefined' ) { 145 jQuery( document ).on( 'wp-plugin-updating', function( event, args ) { 146 if ( typeof args === 'object' && args.slug && typeof args.slug === 'string' ) { 147 if ( <?php echo json_encode( $this->_fs->get_slug() ) ?> === args.slug ) { 148 args.fs_allow_updater_and_dialog = true; 149 } 150 } 151 } ); 152 } 153 </script> 154 <?php 155 } 156 157 /** 158 * @author Leo Fajardo (@leorw) 159 * @since 2.7.4 160 * 161 * @return bool 162 */ 163 private function is_plugin_information_dialog_for_plugin() { 164 return ( 165 'plugin-information' === fs_request_get( 'tab', false ) && 166 $this->_fs->get_slug() === fs_request_get_raw( 'plugin', false ) 167 ); 168 } 169 170 /** 171 * @author Leo Fajardo (@leorw) 134 172 * @since 2.1.4 135 173 */ 136 174 function catch_plugin_information_dialog_contents() { 137 if ( 138 'plugin-information' !== fs_request_get( 'tab', false ) || 139 $this->_fs->get_slug() !== fs_request_get_raw( 'plugin', false ) 140 ) { 175 if ( ! $this->is_plugin_information_dialog_for_plugin() ) { 141 176 return; 142 177 } … … 617 652 $slug = $this->_fs->get_slug(); 618 653 619 if ( $this-> _fs->is_org_repo_compliant() && $this->_fs->is_freemium() ) {654 if ( $this->can_fetch_data_from_wp_org() ) { 620 655 if ( ! isset( $this->_translation_updates ) ) { 621 656 $this->_translation_updates = array(); … … 872 907 873 908 return $res; 909 } 910 911 /** 912 * Returns true if the product can fetch data from WordPress.org. 913 * 914 * @author Leo Fajardo (@leorw) 915 * @since 2.7.4 916 */ 917 private function can_fetch_data_from_wp_org() { 918 return ( $this->_fs->is_org_repo_compliant() && $this->_fs->is_freemium() ); 874 919 } 875 920 … … 1058 1103 1059 1104 $plugin_in_repo = false; 1060 if ( ! $is_addon ) {1105 if ( ! $is_addon && $this->can_fetch_data_from_wp_org() ) { 1061 1106 // Try to fetch info from .org repository. 1062 1107 $data = self::_fetch_plugin_info_from_repository( $action, $args ); -
streamweasels-twitch-integration/trunk/freemius/includes/class-fs-storage.php
r3114536 r3167502 21 21 * @property bool|null $is_diagnostic_tracking_allowed 22 22 * @property object $sync_cron 23 * @property bool|int $install_timestamp 23 24 */ 24 25 class FS_Storage { -
streamweasels-twitch-integration/trunk/freemius/includes/entities/class-fs-plugin-plan.php
r3070346 r3167502 93 93 */ 94 94 public $is_hidden; 95 /** 96 * @var FS_Pricing[] 97 */ 98 public $pricing; 99 /** 100 * @var object[] 101 */ 102 public $features; 95 103 96 104 #endregion Properties -
streamweasels-twitch-integration/trunk/freemius/includes/entities/class-fs-site.php
r3070346 r3167502 183 183 fs_ends_with( $subdomain, '.dev.wpengine.com' ) || 184 184 fs_ends_with( $subdomain, '.wpengine.com' ) || 185 fs_ends_with( $subdomain, '.wpenginepowered.com' ) || 185 186 // Pantheon 186 187 ( fs_ends_with( $subdomain, 'pantheonsite.io' ) && … … 202 203 ( fs_ends_with( $subdomain, '.websitepro-staging.com' ) || fs_ends_with( $subdomain, '.websitepro.hosting' ) ) || 203 204 // InstaWP 204 fs_ends_with( $subdomain, '.instawp.xyz' ) 205 fs_ends_with( $subdomain, '.instawp.xyz' ) || 206 // 10Web Hosting 207 ( fs_ends_with( $subdomain, '-dev.10web.site' ) || fs_ends_with( $subdomain, '-dev.10web.cloud' ) ) 205 208 ); 206 209 } -
streamweasels-twitch-integration/trunk/freemius/includes/managers/class-fs-clone-manager.php
r3114536 r3167502 334 334 335 335 if ( ! isset( $this->all_installs ) ) { 336 $this->all_installs = F reemius::get_all_modules_sites();336 $this->all_installs = FS_DebugManager::get_all_modules_sites(); 337 337 } 338 338 -
streamweasels-twitch-integration/trunk/freemius/require.php
r2989254 r3167502 51 51 require_once WP_FS__DIR_INCLUDES . '/class-fs-plugin-updater.php'; 52 52 require_once WP_FS__DIR_INCLUDES . '/class-fs-security.php'; 53 require_once WP_FS__DIR_INCLUDES . '/managers/class-fs-debug-manager.php'; 53 54 require_once WP_FS__DIR_INCLUDES . '/class-fs-options.php'; 54 55 require_once WP_FS__DIR_INCLUDES . '/class-fs-storage.php'; -
streamweasels-twitch-integration/trunk/freemius/start.php
r3126749 r3167502 16 16 * @var string 17 17 */ 18 $this_sdk_version = '2. 7.3';18 $this_sdk_version = '2.8.1'; 19 19 20 20 #region SDK Selection Logic -------------------------------------------------------------------- -
streamweasels-twitch-integration/trunk/freemius/templates/account.php
r3114536 r3167502 511 511 <tr class="fs-field-<?php echo esc_attr( $p['id'] ) ?><?php if ( $odd ) : ?> alternate<?php endif ?>"> 512 512 <td> 513 <nobr><?php echo esc_ attr( $p['title'] ) ?><?php echo ( ! empty( $p['title'] ) ) ? ':' : '' ?></nobr>513 <nobr><?php echo esc_html( $p['title'] ) ?><?php echo ( ! empty( $p['title'] ) ) ? ':' : '' ?></nobr> 514 514 </td> 515 515 <td<?php if ( 'plan' === $p['id'] || 'bundle_plan' === $p['id'] ) { echo ' colspan="2"'; }?>> -
streamweasels-twitch-integration/trunk/freemius/templates/debug.php
r3114536 r3167502 18 18 $on_text = fs_text_x_inline( 'On', 'as turned on' ); 19 19 20 // For some reason css was missing 21 fs_enqueue_local_style( 'fs_common', '/admin/common.css' ); 22 20 23 $has_any_active_clone = false; 21 24 22 25 $is_multisite = is_multisite(); 26 27 $auto_off_timestamp = wp_next_scheduled( 'fs_debug_turn_off_logging_hook' ) * 1000; 23 28 ?> 24 29 <h1><?php echo fs_text_inline( 'Freemius Debug' ) . ' - ' . fs_text_inline( 'SDK' ) . ' v.' . $fs_active_plugins->newest->version ?></h1> 25 30 <div> 26 31 <!-- Debugging Switch --> 27 <?php //$debug_mode = get_option( 'fs_debug_mode', null ) ?>28 32 <span class="fs-switch-label"><?php fs_esc_html_echo_x_inline( 'Debugging', 'as code debugging' ) ?></span> 29 33 … … 31 35 <div class="fs-toggle"></div> 32 36 </div> 37 38 <span class="auto-off-debug-countdown hidden"><?php echo fs_esc_html_echo_x_inline( 'Auto off in:', 'timer for auto-disabling debug' ); ?> <span class="time">23:59:59</span> 39 33 40 <script type="text/javascript"> 34 41 (function ($) { … … 40 47 .toggleClass( 'fs-off' ); 41 48 49 var is_on = ($(this).hasClass( 'fs-on' ) ? 1 : 0); 50 42 51 $.post( <?php echo Freemius::ajax_url() ?>, { 43 52 action: 'fs_toggle_debug_mode', 44 53 // As such we don't need to use `wp_json_encode` method but using it to follow wp.org guideline. 45 54 _wpnonce : <?php echo wp_json_encode( wp_create_nonce( 'fs_toggle_debug_mode' ) ); ?>, 46 is_on : ($(this).hasClass( 'fs-on' ) ? 1 : 0) 47 }, function ( response ) { 55 is_on 56 }, function (response) { 57 if (is_on) { 58 startCountdownManually(); 59 } else { 60 stopCountdownManually(); 61 } 62 48 63 if ( 1 == response ) { 49 64 // Refresh page on success. … … 52 67 }); 53 68 }); 69 70 // Countdown 71 var countdownElement = document.querySelector('.auto-off-debug-countdown'); 72 var timeElement = countdownElement.querySelector('.time'); 73 var targetTime = <?php echo wp_json_encode( $auto_off_timestamp ); ?>; 74 var countdownTimeout; 75 76 function updateCountdown() { 77 var currentTime = new Date().getTime(); 78 var remainingTimeInMs = targetTime - currentTime; 79 var hours = Math.floor((remainingTimeInMs % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); 80 var minutes = Math.floor((remainingTimeInMs % (1000 * 60 * 60)) / (1000 * 60)); 81 var seconds = Math.floor((remainingTimeInMs % (1000 * 60)) / 1000); 82 83 84 if (remainingTimeInMs < 1000) { 85 countdownElement.classList.add('hidden'); 86 countdownTimeout = null; 87 } else { 88 timeElement.innerHTML = hours + ":" 89 + minutes.toString().padStart(2, '0') + ":" 90 + seconds.toString().padStart(2, '0'); 91 countdownElement.classList.remove('hidden'); 92 93 if (countdownTimeout) { 94 clearTimeout(countdownTimeout); 95 } 96 countdownTimeout = setTimeout(updateCountdown, 1000); 97 } 98 } 99 100 function startCountdownManually() { 101 targetTime = ( new Date().getTime() ) + (24 * 60 * 60 * 1000) - 1; 102 updateCountdown(); 103 } 104 105 function stopCountdownManually() { 106 targetTime = new Date().getTime(); 107 updateCountdown(); 108 } 109 110 updateCountdown(); 111 // End countdown 112 54 113 }); 55 114 }(jQuery)); -
streamweasels-twitch-integration/trunk/includes/class-streamweasels-twitch.php
r3058567 r3167502 25 25 private $game; 26 26 private $token; 27 private $nonceCheck; 27 28 private $debug = false; 28 29 … … 34 35 $this->game = (!empty($options['swti_game'])) ? $options['swti_game'] : ''; 35 36 $this->token = (!empty($options['swti_api_access_token'])) ? $options['swti_api_access_token'] : ''; 37 $this->nonceCheck = (!empty($options['swti_nonce_check'])) ? $options['swti_nonce_check'] : false; 36 38 } 37 39 … … 263 265 264 266 $nonce = $request->get_header('X-WP-Nonce'); 265 if (!wp_verify_nonce($nonce, 'wp_rest')) { 266 return new WP_REST_Response('Nonce verification failed', 403); 267 268 if (!$this->nonceCheck) { 269 if (!wp_verify_nonce($nonce, 'wp_rest')) { 270 return new WP_REST_Response('Nonce verification failed', 403); 271 } 267 272 } 268 273 -
streamweasels-twitch-integration/trunk/streamweasels.php
r3137770 r3167502 17 17 * Plugin URI: https://www.streamweasels.com/ 18 18 * Description: Embed Twitch streams with our collection of Twitch Blocks and Shortcodes. 19 * Version: 1.8. 519 * Version: 1.8.6 20 20 * Author: StreamWeasels 21 21 * Author URI: https://www.streamweasels.com … … 34 34 * Rename this for your plugin and update it as you release new versions. 35 35 */ 36 define( 'STREAMWEASELS_VERSION', '1.8. 5' );36 define( 'STREAMWEASELS_VERSION', '1.8.6' ); 37 37 if ( function_exists( 'sti_fs' ) ) { 38 38 sti_fs()->set_basename( false, __FILE__ );
Note: See TracChangeset
for help on using the changeset viewer.