'7430', 'slug' => 'activitytime', 'type' => 'plugin', 'public_key' => 'pk_3be2dd217906a35b5ac0f3f5fe678', 'is_premium' => false, 'has_addons' => true, 'has_paid_plans' => false, 'menu' => array( 'slug' => 'activitytime', ), 'anonymous_mode' => true, )); } return $activitytime_fms; } // Init Freemius. activitytime_fms(); // Signal that SDK was initiated. do_action('activitytime_fms_loaded'); } function run_activitytime() { $plugin = new Activitytime(); $plugin->run(); } run_activitytime(); add_action('after_setup_theme', function () { activity_time_csv_url(); }); function activity_time_csv_url() { if (!isset($_GET['url_export'])) return; // Require login if (!is_user_logged_in()) { wp_die('Unauthorized', 403); } // Require admin capability if ( ! current_user_can( 'administrator' ) ) { exit(); } ob_clean(); global $wpdb; $table_name = $wpdb->prefix . 'actt_visited_pages'; $table_users_name = $wpdb->prefix . 'users'; $base_url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]"; if (defined('CUSTOM_USER_TABLE')) $table_users_name = '`' . CUSTOM_USER_TABLE . '`'; $query = 'SELECT SUM(time_sec_total) as total_time, user_info, request_uri, title, user_id, user_email FROM ' . esc_sql($table_name) . ' LEFT JOIN ' . esc_sql($table_users_name) . ' ON ' . esc_sql($table_name) . '.user_id = ' . $table_users_name . '.ID WHERE is_visit_end = 1 '; $query .= 'GROUP BY title ORDER BY total_time DESC'; $data = $wpdb->get_results($query); $gmt_offset = get_option('gmt_offset'); foreach ($data as $key => $row) { $min = intval($row->total_time / 60); $row->total_min = $min . ':' . str_pad(($row->total_time % 60), 2, '0', STR_PAD_LEFT); $row->user_info = strip_tags($row->user_info); $row->url = $base_url . $row->request_uri; $data[$key] = $row; } $skip_cols = array('other_data'); if (!function_exists('actt_prepare_export')) exit('Missing addon'); $print_data = actt_prepare_export($data, $skip_cols); header('Content-Type: application/csv'); header("Content-Length:" . strlen($print_data)); header("Content-Disposition: attachment; filename=csv_most_pages_" . date('Y-m-d-H-i-s', time() + $gmt_offset * 60 * 60) . ".csv"); echo $print_data; exit(); }