| @@ -439,9 +439,9 @@ | ||
| 439 | 439 | <div class="nine wide column"> |
| 440 | 440 | <div class="ui form" id="mainwp-extensions-api-fields"> |
| 441 | 441 | <div class="field"> |
| 442 | 442 | <div class="ui fluid input"> |
| 443 | - <input type="password" id="mainwp_com_api_key" autocomplete="one-time-code" autocorrect="off" autocapitalize="none" spellcheck="false" placeholder="<?php esc_attr_e( 'Enter your MainWP License Key', 'mainwp' ); ?>" value="<?php echo esc_attr( $mainwp_api_key ); ?>"/> | |
| 443 | + <input type="password" id="mainwp_com_api_key" autocomplete="new-password" autocorrect="off" autocapitalize="none" spellcheck="false" placeholder="<?php esc_attr_e( 'Enter your MainWP License Key', 'mainwp' ); ?>" value="<?php echo esc_attr( MainWP_Credential_Render::value_for_input( ! empty( $mainwp_api_key ) ) ); ?>"/> | |
| 444 | 444 | </div> |
| 445 | 445 | </div> |
| 446 | 446 | <div class="field"> |
| 447 | 447 | <div class="ui checkbox"> |
| @@ -696,9 +696,9 @@ | ||
| 696 | 696 | $extension_page_url = admin_url( 'admin.php?page=Extensions' ); |
| 697 | 697 | } |
| 698 | 698 | |
| 699 | 699 | $active = MainWP_Extensions_Handler::is_extension_activated( $extension['slug'] ); |
| 700 | - if ( empty( $extension['api_key'] ) ) { | |
| 700 | + if ( empty( $extension['has_api_key'] ) ) { | |
| 701 | 701 | $active = false; |
| 702 | 702 | } |
| 703 | 703 | |
| 704 | 704 | if ( isset( $extension['apiManager'] ) && $extension['apiManager'] && ! isset( $extension['product_item_id'] ) ) { |
| @@ -799,9 +799,9 @@ | ||
| 799 | 799 | |
| 800 | 800 | <?php if ( isset( $extension['apiManager'] ) && $extension['apiManager'] ) { ?> |
| 801 | 801 | <?php if ( $active ) { ?> |
| 802 | 802 | <div class="ui active dimmer" id="mainwp-extensions-api-form" style="display: none;"> |
| 803 | - <input type="hidden" class="extension-api-key" value="<?php echo esc_attr( $extension['api_key'] ); ?>"/> | |
| 803 | + <input type="hidden" class="extension-api-key" value="<?php echo esc_attr( MainWP_Credential_Render::value_for_input( ! empty( $extension['has_api_key'] ) ) ); ?>"/> | |
| 804 | 804 | <div class="ui center aligned secondary segment"> |
| 805 | 805 | <p><?php esc_html_e( 'Deactivate license for this add-on?', 'mainwp' ); ?></p> |
| 806 | 806 | <button class="ui red mini button mainwp-extensions-deactivate"><?php esc_html_e( 'Deactivate', 'mainwp' ); ?></button> |
| 807 | 807 | <button class="ui button mini mainwp-extension-license-cancel"><?php esc_html_e( 'Cancel', 'mainwp' ); ?></button> |
| @@ -919,9 +919,9 @@ | ||
| 919 | 919 | |
| 920 | 920 | $count_not_activated = 0; |
| 921 | 921 | if ( $has_api_key && is_array( $extensions ) ) { |
| 922 | 922 | foreach ( $extensions as $extension ) { |
| 923 | - if ( isset( $extension['apiManager'] ) && $extension['apiManager'] && empty( $extension['api_key'] ) ) { | |
| 923 | + if ( isset( $extension['apiManager'] ) && $extension['apiManager'] && empty( $extension['has_api_key'] ) ) { | |
| 924 | 924 | ++$count_not_activated; |
| 925 | 925 | } |
| 926 | 926 | } |
| 927 | 927 | } |
| @@ -993,9 +993,9 @@ | ||
| 993 | 993 | <a href="javascript:void(0);" class="ui grey basic tiny button" id="mainwp-extensions-grabkeys"><i class="unlock icon"></i> <?php esc_html_e( 'Activate Add-ons', 'mainwp' ); ?></a> |
| 994 | 994 | <a href="javascript:void(0);" class="ui green basic tiny button" id="mainwp-extensions-manage-toggle-on"><i class="key icon"></i> <?php echo empty( $mainwp_api_key ) ? esc_html__( 'Add License Key', 'mainwp' ) : esc_html__( 'Manage License', 'mainwp' ); ?></a> |
| 995 | 995 | </div> |
| 996 | 996 | <div id="mainwp-manage-license-buttons" class="hidden"> |
| 997 | - <span class="ui left icon tiny input"><i class="key icon"></i><input type="password" id="mainwp_com_api_key" autocomplete="one-time-code" autocorrect="off" autocapitalize="none" spellcheck="false" placeholder="<?php esc_attr_e( 'Enter your MainWP License Key', 'mainwp' ); ?>" value="<?php echo esc_attr( $mainwp_api_key ); ?>"/></span> | |
| 997 | + <span class="ui left icon tiny input"><i class="key icon"></i><input type="password" id="mainwp_com_api_key" autocomplete="new-password" autocorrect="off" autocapitalize="none" spellcheck="false" placeholder="<?php esc_attr_e( 'Enter your MainWP License Key', 'mainwp' ); ?>" value="<?php echo esc_attr( MainWP_Credential_Render::value_for_input( ! empty( $mainwp_api_key ) ) ); ?>"/></span> | |
| 998 | 998 | <div class="ui checkbox"> |
| 999 | 999 | <input type="checkbox" <?php echo '' !== $mainwp_api_key ? 'checked="checked"' : ''; ?> name="extensions_api_savemylogin_chk" id="extensions_api_savemylogin_chk"> |
| 1000 | 1000 | <label for="extensions_api_savemylogin_chk"><small><?php esc_html_e( 'Remember Key', 'mainwp' ); ?></small></label> |
| 1001 | 1001 | </div> |
| @@ -2264,8 +2264,76 @@ | ||
| 2264 | 2264 | 'integration_url' => 'https://independentwp.com/', |
| 2265 | 2265 | 'integration_owner' => 'Independent Insights', |
| 2266 | 2266 | 'integration_owner_pp' => 'https://independentwp.com/privacy-policy/', |
| 2267 | 2267 | 'desc' => 'This is a free extension for MainWP that lets you view stats from all of your sites using Independent Analytics in the main Overview menu.', |
| 2268 | + ), | |
| 2269 | + 'update-brief-mainwp' => array( | |
| 2270 | + 'type' => 'org', | |
| 2271 | + 'model' => 'integration', | |
| 2272 | + 'product_id' => 'update-brief-mainwp', | |
| 2273 | + 'slug' => 'update-brief-mainwp/update-brief-mainwp.php', | |
| 2274 | + 'title' => 'Update Brief for MainWP', | |
| 2275 | + 'link' => 'https://wordpress.org/plugins/update-brief-mainwp/', | |
| 2276 | + 'changelog_url' => 'https://wordpress.org/plugins/update-brief-mainwp/#developers', | |
| 2277 | + 'url' => 'https://wordpress.org/plugins/update-brief-mainwp/', | |
| 2278 | + 'group' => array( 'client' ), | |
| 2279 | + 'privacy' => 1, | |
| 2280 | + 'integration' => 'Update Brief', | |
| 2281 | + 'integration_url' => 'https://updatebrief.com/', | |
| 2282 | + 'integration_owner' => 'Ascend Online Media Limited', | |
| 2283 | + 'integration_owner_pp' => 'https://updatebrief.com/policy/', | |
| 2284 | + 'desc' => 'Turn WP and plugin updates into compelling client reports that clearly show your maintenance value through concise, professional update summaries.', | |
| 2285 | + ), | |
| 2286 | + 'burst-mainwp' => array( | |
| 2287 | + 'type' => 'org', | |
| 2288 | + 'model' => 'integration', | |
| 2289 | + 'product_id' => 'burst-mainwp', | |
| 2290 | + 'slug' => 'burst-mainwp/burst-mainwp.php', | |
| 2291 | + 'title' => 'Burst Statistics for MainWP', | |
| 2292 | + 'link' => 'https://wordpress.org/plugins/burst-mainwp/', | |
| 2293 | + 'changelog_url' => 'https://wordpress.org/plugins/burst-mainwp/#developers', | |
| 2294 | + 'url' => 'https://wordpress.org/plugins/burst-mainwp/', | |
| 2295 | + 'group' => array( 'visitor' ), | |
| 2296 | + 'privacy' => 2, | |
| 2297 | + 'integration' => 'Burst Statistics', | |
| 2298 | + 'integration_url' => 'https://burst-statistics.com/', | |
| 2299 | + 'integration_owner' => 'Burst Statistics BV', | |
| 2300 | + 'integration_owner_pp' => 'https://burst-statistics.com/legal/privacy-statement-eu/', | |
| 2301 | + 'desc' => 'The Burst Statistics MainWP Extension brings your privacy-friendly analytics into the MainWP dashboard. Monitor visitors, pageviews, and top content across all your child sites without leaving MainWP.', | |
| 2302 | + ), | |
| 2303 | + 'adsanity-for-mainwp' => array( | |
| 2304 | + 'type' => 'org', | |
| 2305 | + 'model' => 'integration', | |
| 2306 | + 'product_id' => 'adsanity-for-mainwp', | |
| 2307 | + 'slug' => 'adsanity-for-mainwp/adsanity-for-mainwp.php', | |
| 2308 | + 'title' => 'AdSanity for MainWP', | |
| 2309 | + 'link' => 'https://wordpress.org/plugins/adsanity-for-mainwp/', | |
| 2310 | + 'changelog_url' => 'https://wordpress.org/plugins/adsanity-for-mainwp/#developers', | |
| 2311 | + 'url' => 'https://wordpress.org/plugins/adsanity-for-mainwp/', | |
| 2312 | + 'group' => array( 'visitor' ), | |
| 2313 | + 'privacy' => 2, | |
| 2314 | + 'integration' => 'AdSanity', | |
| 2315 | + 'integration_url' => 'https://adsanityplugin.com/', | |
| 2316 | + 'integration_owner' => 'Pixel Jar Corporation', | |
| 2317 | + 'integration_owner_pp' => 'https://adsanityplugin.com/privacy-policy/', | |
| 2318 | + 'desc' => 'See AdSanity ad performance across your whole MainWP fleet from one dashboard, and catch expiring ads before your advertisers do.', | |
| 2319 | + ), | |
| 2320 | + 'site-lockdown-security-for-mainwp' => array( | |
| 2321 | + 'type' => 'org', | |
| 2322 | + 'model' => 'integration', | |
| 2323 | + 'product_id' => 'site-lockdown-security-for-mainwp', | |
| 2324 | + 'slug' => 'site-lockdown-security-for-mainwp/mainwp-site-lockdown-security.php', | |
| 2325 | + 'title' => 'Site Lockdown Security for MainWP', | |
| 2326 | + 'link' => 'https://wordpress.org/plugins/site-lockdown-security-for-mainwp/', | |
| 2327 | + 'changelog_url' => 'https://wordpress.org/plugins/site-lockdown-security-for-mainwp/#developers', | |
| 2328 | + 'url' => 'https://wordpress.org/plugins/site-lockdown-security-for-mainwp/', | |
| 2329 | + 'group' => array( 'security' ), | |
| 2330 | + 'privacy' => 2, | |
| 2331 | + 'integration' => 'Site Lockdown Security', | |
| 2332 | + 'integration_url' => 'https://wordpress.org/plugins/folder-auditor/', | |
| 2333 | + 'integration_owner' => 'WP Fix It LLC', | |
| 2334 | + 'integration_owner_pp' => 'https://www.wpfixit.com/privacy-policy/', | |
| 2335 | + 'desc' => 'Manage Site Lockdown Security across your MainWP child sites with fast lock-status visibility, bulk sync tools, and one-click lock actions.', | |
| 2268 | 2336 | ), |
| 2269 | 2337 | ); |
| 2270 | 2338 | |
| 2271 | 2339 | $list = array(); |