PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 4.0.1
Tutor LMS – eLearning and online course solution v4.0.1
4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / templates / dashboard / instructor / analytics / stat-card.php
tutor / templates / dashboard / instructor / analytics Last commit date
stat-card-hover.php 4 days ago stat-card.php 4 days ago
stat-card.php
83 lines
1 <?php
2 /**
3 * Stat Card Component
4 * Reusable stat card component for dashboard
5 *
6 * @package Tutor\Templates
7 * @author Themeum <support@themeum.com>
8 * @link https://themeum.com
9 * @since 4.0.0
10 */
11
12 use TUTOR\Input;
13 use TUTOR\Instructor;
14 use Tutor\Components\SvgIcon;
15
16
17 defined( 'ABSPATH' ) || exit;
18
19 // Default values.
20 $icon_size = $icon_size ?? 24;
21 $value = $value ?? 0;
22 $content_display = $content ?? '';
23 $show_graph = $show_graph ?? false;
24 $data = $data ?? array( 0, 0, 0 );
25 $hover_content = $hover_content ?? array();
26 $variation = empty( $variation ) ? $icon : $variation;
27
28 // Required fields validation.
29 if ( ! isset( $card_title ) || empty( $card_title ) ) {
30 return;
31 }
32 if ( ! isset( $icon ) || empty( $icon ) ) {
33 return;
34 }
35
36 if ( ! empty( $hover_content ) ) {
37 $start_date = Input::has( 'start_date' ) ? tutor_get_formated_date( 'Y-m-d', Input::get( 'start_date' ) ) : '';
38 $end_date = Input::has( 'end_date' ) ? tutor_get_formated_date( 'Y-m-d', Input::get( 'end_date' ) ) : '';
39 $template_path = tutor()->path . 'templates/dashboard/instructor/analytics/stat-card-hover.php';
40 $hover_template = get_template_buffer(
41 $template_path,
42 array(
43 'start_date' => $start_date,
44 'end_date' => $end_date,
45 'hover_content' => $hover_content,
46 'hover_amount' => $value,
47 ),
48 false
49 );
50 }
51
52 ?>
53 <div class="tutor-stat-card tutor-stat-card-<?php echo esc_attr( $variation ); ?>">
54 <div class="tutor-stat-card-header">
55 <div class="tutor-stat-card-title">
56 <?php echo esc_html( $card_title ); ?>
57 </div>
58 <div class="tutor-stat-card-icon tutor-flex">
59 <?php SvgIcon::make()->name( $icon )->size( $icon_size )->render(); ?>
60 </div>
61 </div>
62 <div class="tutor-stat-card-content">
63 <div class="tutor-stat-card-value">
64 <?php echo wp_kses( $value, tutor_price_allowed_html() ); ?>
65 </div>
66
67 <?php if ( ! empty( $content_display ) ) : ?>
68 <p class="tutor-stat-card-change">
69 <?php echo esc_html( $content_display ); ?>
70 </p>
71 <?php endif; ?>
72
73 <?php if ( ! empty( $hover_content ) ) : ?>
74 <?php echo $hover_template; //phpcs:ignore ?>
75 <?php endif; ?>
76 </div>
77 <?php if ( $show_graph ) : ?>
78 <div class="tutor-stat-card-chart" x-data="tutorStatCard(<?php echo esc_attr( wp_json_encode( $data ) ); ?>)">
79 <canvas x-ref="canvas" hright="33" width="100%"></canvas>
80 </div>
81 <?php endif; ?>
82 </div>
83