| 1 |
<?php |
| 2 |
|
| 3 |
add_submenu_page('wp-forms-db-list.php', |
| 4 |
__( 'Extensions', 'database-for-wpforms' ), |
| 5 |
'<span style="color:#f18500">' . esc_html__( 'Addons', 'contact-form-cfdb7' ) . '</span>', |
| 6 |
'manage_options', |
| 7 |
'wpfdb-database-extensions', |
| 8 |
'wpformsdb_extensions' |
| 9 |
); |
| 10 |
|
| 11 |
/** |
| 12 |
* Extensions page |
| 13 |
*/ |
| 14 |
function wpformsdb_extensions(){ |
| 15 |
?> |
| 16 |
<div class="wrap"> |
| 17 |
<h2><?php _e( 'Extensions for WPFormsDB', 'database-for-wpforms' ); ?> |
| 18 |
<span> |
| 19 |
<a class="button-primary" target="_blank" href="https://wpdebuglog.com"><?php _e( 'Browse All Extensions', 'database-for-wpforms' ); ?></a> |
| 20 |
</span> |
| 21 |
</h2> |
| 22 |
<p><?php _e( 'These extensions <strong>add functionality</strong> to WPFormDB', 'database-for-wpforms' ); ?></p> |
| 23 |
<?php echo wpformsdb_add_ons_get_feed(); ?> |
| 24 |
</div> |
| 25 |
<?php |
| 26 |
} |
| 27 |
|
| 28 |
/** |
| 29 |
* Add-ons Get Feed |
| 30 |
* |
| 31 |
* Gets the add-ons page feed. |
| 32 |
* |
| 33 |
* @since 1.0.6 |
| 34 |
* @return void |
| 35 |
*/ |
| 36 |
function wpformsdb_add_ons_get_feed(){ |
| 37 |
$cache = get_transient( 'wpformsdb_add_ons_feed' ); |
| 38 |
if ( false === $cache ) { |
| 39 |
$url = 'https://wpdebuglog.com/wpformsdb/?feed=true'; |
| 40 |
$feed = wp_remote_get( esc_url_raw( $url ), array( |
| 41 |
'sslverify' => false, |
| 42 |
'timeout' => 30, |
| 43 |
) ); |
| 44 |
|
| 45 |
if ( ! is_wp_error( $feed ) ) { |
| 46 |
if ( isset( $feed['body'] ) && strlen( $feed['body'] ) > 0 ) { |
| 47 |
$cache = wp_remote_retrieve_body( $feed ); |
| 48 |
set_transient( 'wpformsdb_add_ons_feed', $cache, 3600 ); |
| 49 |
} |
| 50 |
} else { |
| 51 |
$cache = '<div class="error"><p>' . __( 'There was an error retrieving the extensions list from the server. Please try again later.', 'database-for-wpforms' ) . '</div>'; |
| 52 |
} |
| 53 |
} |
| 54 |
return $cache; |
| 55 |
} |
| 56 |
// delete_transient('wpformsdb_add_ons_feed'); |