<?php /** * Backend funtions for Subscribers functionality. */ /** * Get Datatable Info for the Subscribers page. * * @return JSON object. */ function seedprod_lite_subscribers_datatable() { if ( check_ajax_referer( 'seedprod_nonce' ) ) { if ( ! current_user_can( apply_filters( 'seedprod_subscriber_capability', 'list_users' ) ) ) { wp_send_json_error(); } $data = array( '' ); $current_page = 1; if ( ! empty( absint( $_GET['current_page'] ) ) ) { $current_page = absint( $_GET['current_page'] ); } $per_page = 100; $filter = null; if ( ! empty( $_GET['filter'] ) ) { $filter = sanitize_text_field( wp_unslash( $_GET['filter'] ) ); if ( 'all' === $filter ) { $filter = null; } } if ( ! empty( $_GET['s'] ) ) { $filter = null; } $results = array(); $data = array(); foreach ( $results as $v ) { // Format created timestamp to site timezone & format. $created_at = get_date_from_gmt( gmdate( 'Y-m-d H:i:s', $v->created_timestamp ), get_option( 'date_format' ) . ' ' . get_option( 'time_format' ) ); // Load Data $data[] = array( 'id' => $v->id, 'email' => $v->email, 'name' => $v->fname . ' ' . $v->lname, 'created_at' => $created_at, 'page_uuid' => $v->page_uuid, ); } $totalitems = 0; $views = array(); // Get recent subscriber data $chart_timeframe = 7; if ( ! empty( $_GET['interval'] ) ) { $chart_timeframe = absint( $_GET['interval'] ); } $recent_subscribers = array(); $now = new \DateTime( "$chart_timeframe days ago", new \DateTimeZone( 'America/New_York' ) ); $interval = new \DateInterval( 'P1D' ); // 1 Day interval $period = new \DatePeriod( $now, $interval, $chart_timeframe ); // 7 Days $recent_subscribers_data = array( array( 'Year', 'Subscribers' ), ); foreach ( $period as $day ) { $key = $day->format( 'Y-m-d' ); $display_key = $day->format( 'M j' ); $no_val = true; foreach ( $recent_subscribers as $v ) { if ( $key == $v->created ) { $recent_subscribers_data[] = array( $display_key, absint( $v->count ) ); $no_val = false; } } if ( $no_val ) { $recent_subscribers_data[] = array( $display_key, 0 ); } } $response = array( 'recent_subscribers' => $recent_subscribers_data, 'rows' => $data, 'lpage_name' => '', 'totalitems' => $totalitems, 'totalpages' => ceil( $totalitems / $per_page ), 'currentpage' => $current_page, 'views' => $views, ); wp_send_json( $response ); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
backwards | Folder | 0777 |
|
|
includes | Folder | 0777 |
|
|
admin-bar-menu.php | File | 3.95 KB | 0644 |
|
bootstrap.php | File | 20.46 KB | 0644 |
|
class-seedprod-notifications.php | File | 9.63 KB | 0644 |
|
class-seedprod-review.php | File | 5.97 KB | 0644 |
|
cpt.php | File | 541 B | 0644 |
|
edit_with_seedprod.php | File | 21.33 KB | 0644 |
|
functions-addons.php | File | 14.32 KB | 0644 |
|
functions-inline-help.php | File | 5.3 KB | 0644 |
|
functions-rafflepress.php | File | 1.86 KB | 0644 |
|
functions-seedprod-gallery.php | File | 7 B | 0644 |
|
functions-utils.php | File | 254.24 KB | 0644 |
|
functions-wpforms.php | File | 1.6 KB | 0644 |
|
import-cross-site-functions.php | File | 3.2 KB | 0644 |
|
license.php | File | 5.33 KB | 0644 |
|
load_controller.php | File | 1.62 KB | 0644 |
|
lpage.php | File | 32.25 KB | 0644 |
|
nestednavmenu.php | File | 4.63 KB | 0644 |
|
render-csp-mm.php | File | 9.72 KB | 0644 |
|
render-lp.php | File | 1.15 KB | 0644 |
|
routes.php | File | 21.73 KB | 0644 |
|
settings.php | File | 4.9 KB | 0644 |
|
setup-wizard.php | File | 12.08 KB | 0644 |
|
subscriber.php | File | 2.58 KB | 0644 |
|
theme-templates.php | File | 38.5 KB | 0644 |
|