mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-18 22:23:37 +09:00
Update 1.0.76
This commit is contained in:
@@ -179,7 +179,7 @@
|
||||
|
||||
update_option('um_tracking_notice', 1 );
|
||||
|
||||
$tracking = new UM_Admin_Tracking();
|
||||
$tracking = new UM_Tracking();
|
||||
$tracking->send_checkin(true);
|
||||
|
||||
exit( wp_redirect( remove_query_arg('um_adm_action') ) );
|
||||
|
||||
@@ -154,7 +154,7 @@ class UM_Admin_Dashboard {
|
||||
function admin_page() {
|
||||
|
||||
$page = $_REQUEST['page'];
|
||||
if ( $page == 'ultimatemember' ) {
|
||||
if ( $page == 'ultimatemember' && !isset($_REQUEST['um-addon']) ) {
|
||||
|
||||
?>
|
||||
|
||||
|
||||
@@ -428,15 +428,15 @@ class UM_Admin_Metabox {
|
||||
}
|
||||
|
||||
// needed on forms only
|
||||
if ( isset( $screen->id ) && strstr( $screen->id, 'um_form' ) ) {
|
||||
if ( !isset( $this->is_loaded ) && isset( $screen->id ) && strstr( $screen->id, 'um_form' ) ) {
|
||||
|
||||
$settings['textarea_rows'] = 8;
|
||||
|
||||
echo '<div class="um-hidden-editor-edit" style="display: none">';
|
||||
echo '<div class="um-hidden-editor-edit" style="display:none;">';
|
||||
wp_editor( '', 'um_editor_edit', $settings );
|
||||
echo '</div>';
|
||||
|
||||
echo '<div class="um-hidden-editor-new" style="display: none">';
|
||||
echo '<div class="um-hidden-editor-new" style="display:none;">';
|
||||
wp_editor( '', 'um_editor_new', $settings );
|
||||
echo '</div>';
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
$this->args = array(
|
||||
'opt_name' => 'um_options', // This is where your data is stored in the database and also becomes your global variable name.
|
||||
'display_name' => __('Settings', 'ultimatemember'), // Name that appears at the top of your panel
|
||||
'display_name' => __('Ultimate Member', 'ultimatemember'), // Name that appears at the top of your panel
|
||||
'display_version' => ultimatemember_version, // Version that appears at the top of your panel
|
||||
'menu_type' => 'submenu', //Specify if the admin menu should appear or not. Options: menu or submenu (Under appearance only)
|
||||
'allow_sub_menu' => false, // Show the sections below the admin menu item or not
|
||||
|
||||
@@ -1,158 +0,0 @@
|
||||
<?php
|
||||
|
||||
class UM_Admin_Tracking {
|
||||
|
||||
private $data;
|
||||
|
||||
public function __construct() {
|
||||
|
||||
$this->schedule_send();
|
||||
|
||||
add_action( 'admin_notices', array( $this, 'admin_notices' ), 10 );
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @setup info array
|
||||
***/
|
||||
private function setup_data() {
|
||||
|
||||
$data = array();
|
||||
|
||||
// Retrieve current theme info
|
||||
if ( get_bloginfo( 'version' ) < '3.4' ) {
|
||||
$theme_data = get_theme_data( get_stylesheet_directory() . '/style.css' );
|
||||
$theme = $theme_data['Name'];
|
||||
$theme_ver = $theme_data['Version'];
|
||||
} else {
|
||||
$theme_data = wp_get_theme();
|
||||
$theme = $theme_data->Name;
|
||||
$theme_ver = $theme_data->Version;
|
||||
}
|
||||
|
||||
$data['url'] = home_url();
|
||||
|
||||
$data['theme'] = $theme;
|
||||
$data['theme_version'] = $theme_ver;
|
||||
|
||||
$data['wp_version'] = get_bloginfo( 'version' );
|
||||
|
||||
$data['version'] = ultimatemember_version;
|
||||
|
||||
$result = count_users();
|
||||
$data['users_count'] = $result['total_users'];
|
||||
|
||||
// Retrieve current plugin information
|
||||
if( ! function_exists( 'get_plugins' ) ) {
|
||||
include ABSPATH . '/wp-admin/includes/plugin.php';
|
||||
}
|
||||
|
||||
$plugins = array_keys( get_plugins() );
|
||||
$active_plugins = get_option( 'active_plugins', array() );
|
||||
|
||||
foreach ( $plugins as $key => $plugin ) {
|
||||
if ( in_array( $plugin, $active_plugins ) ) {
|
||||
// Remove active plugins from list so we can show active and inactive separately
|
||||
unset( $plugins[ $key ] );
|
||||
}
|
||||
}
|
||||
|
||||
$data['active_plugins'] = $active_plugins;
|
||||
$data['inactive_plugins'] = $plugins;
|
||||
|
||||
$data['language'] = get_bloginfo('language');
|
||||
|
||||
$data['multisite'] = ( is_multisite() ) ? 1 : 0;
|
||||
|
||||
$this->data = $data;
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @check if tracking is allowed
|
||||
***/
|
||||
private function tracking_allowed() {
|
||||
if ( !um_get_option('allow_tracking') )
|
||||
return 0;
|
||||
|
||||
if( stristr( network_site_url( '/' ), 'dev' ) !== false ||
|
||||
stristr( network_site_url( '/' ), 'localhost' ) !== false ||
|
||||
stristr( network_site_url( '/' ), ':8888' ) !== false // This is common with MAMP on OS X
|
||||
) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/***
|
||||
*** @get last send time
|
||||
***/
|
||||
private function get_last_send() {
|
||||
return get_option( 'um_tracking_last_send' );
|
||||
}
|
||||
|
||||
/***
|
||||
*** @send a report
|
||||
***/
|
||||
public function send_checkin( $override = false ) {
|
||||
|
||||
if( ! $this->tracking_allowed() && ! $override )
|
||||
return;
|
||||
|
||||
// Send a maximum of once per week
|
||||
$last_send = $this->get_last_send();
|
||||
if( $last_send && $last_send > strtotime( '-1 week' ) )
|
||||
return;
|
||||
|
||||
$this->setup_data();
|
||||
|
||||
$request = wp_remote_post( 'https://ultimatemember.com/?um_action=checkin', array(
|
||||
'method' => 'POST',
|
||||
'timeout' => 20,
|
||||
'redirection' => 5,
|
||||
'httpversion' => '1.0',
|
||||
'blocking' => true,
|
||||
'body' => $this->data,
|
||||
'user-agent' => 'UM/' . ultimatemember_version . '; ' . get_bloginfo( 'url' ),
|
||||
) );
|
||||
|
||||
update_option( 'um_tracking_last_send', time() );
|
||||
|
||||
}
|
||||
|
||||
/***
|
||||
*** @run a scheduled report
|
||||
***/
|
||||
private function schedule_send() {
|
||||
add_action( 'um_weekly_scheduled_events', array( $this, 'send_checkin' ) );
|
||||
}
|
||||
|
||||
/***
|
||||
*** @show admin notices
|
||||
***/
|
||||
public function admin_notices() {
|
||||
|
||||
if( ! current_user_can( 'manage_options' ) )
|
||||
return;
|
||||
|
||||
$hide_notice = get_option('um_tracking_notice');
|
||||
|
||||
if ( $hide_notice )
|
||||
return;
|
||||
|
||||
$optin_url = add_query_arg( 'um_adm_action', 'opt_into_tracking' );
|
||||
$optout_url = add_query_arg( 'um_adm_action', 'opt_out_of_tracking' );
|
||||
|
||||
echo '<div class="updated" style="border-color: #3ba1da;"><p>';
|
||||
|
||||
echo __( 'Help us improve Ultimate Member’s compatibility with other plugins and themes by allowing us to track non-sensitive data on your site. Click <a href="https://ultimatemember.com/tracking/" target="_blank">here</a> to see what data we track.', 'ultimatemember' );
|
||||
|
||||
echo '</p>';
|
||||
|
||||
echo '<p><a href="' . esc_url( $optin_url ) . '" class="button button-primary">' . __( 'Allow tracking', 'ultimatemember' ) . '</a>';
|
||||
echo ' <a href="' . esc_url( $optout_url ) . '" class="button-secondary">' . __( 'Do not allow tracking', 'ultimatemember' ) . '</a></p></div>';
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user