PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.9
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.9
4.4.9 4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 All 140 releases
← All changes | inc/TemplateHooks/UserItem/UserItemBaseTemplate.php +185 -185 4.3.9.1 → 4.4.9 View file →
@@ -1,185 +1,185 @@
1 -<?php
2 -/**
3 - * Template hooks User Item Base.
4 - *
5 - * @since 4.2.3.5
6 - * @version 1.0.1
7 - */
8 -
9 -namespace LearnPress\TemplateHooks\UserItem;
10 -
11 -use LearnPress\Models\UserItems\UserItemModel;
12 -use LP_Datetime;
13 -use LP_User_Item;
14 -use Throwable;
15 -
16 -class UserItemBaseTemplate {
17 - /**
18 - * Get html start time of user item.
19 - *
20 - * @param UserItemModel|LP_User_Item $user_item
21 - * @param bool $has_time
22 - *
23 - * @return string
24 - * @since 4.2.3.5
25 - * @version 1.0.1
26 - */
27 - public function html_start_date_time( $user_item, bool $has_time = true ): string {
28 - $html = '';
29 -
30 - try {
31 - if ( $user_item instanceof LP_User_Item ) {
32 - $userItemModel = new UserItemModel( $user_item->get_data() );
33 - } elseif ( $user_item instanceof UserItemModel ) {
34 - $userItemModel = $user_item;
35 - } else {
36 - return $html;
37 - }
38 -
39 - $start_time_from_db = $userItemModel->get_start_time();
40 - if ( empty( $start_time_from_db ) ) {
41 - $start_date_str = ' - ';
42 - } else {
43 - $start_date = new LP_Datetime( $start_time_from_db );
44 - if ( $has_time ) {
45 - $start_date_str = $start_date->format( LP_Datetime::I18N_FORMAT_HAS_TIME );
46 - } else {
47 - $start_date_str = $start_date->format( LP_Datetime::I18N_FORMAT );
48 - }
49 - }
50 -
51 - $html = sprintf( '<span class="lp-user-item start-date-time">%s</span>', $start_date_str );
52 - } catch ( Throwable $e ) {
53 - error_log( __METHOD__ . ': ' . $e->getMessage() );
54 - }
55 -
56 - return $html;
57 - }
58 -
59 - /**
60 - * Get html end time of user item.
61 - *
62 - * @param UserItemModel|LP_User_Item $user_item
63 - * @param bool $has_time
64 - *
65 - * @return string
66 - * @since 4.2.3.5
67 - * @version 1.0.1
68 - */
69 - public function html_end_date_time( $user_item, bool $has_time = true ): string {
70 - $html = '';
71 -
72 - try {
73 - if ( $user_item instanceof LP_User_Item ) {
74 - $userItemModel = new UserItemModel( $user_item->get_data() );
75 - } elseif ( $user_item instanceof UserItemModel ) {
76 - $userItemModel = $user_item;
77 - } else {
78 - return $html;
79 - }
80 -
81 - $end_time_from_db = $userItemModel->get_end_time();
82 - if ( empty( $end_time_from_db ) ) {
83 - $end_date_str = ' - ';
84 - } else {
85 - $end_date = new LP_Datetime( $end_time_from_db );
86 - if ( $has_time ) {
87 - $end_date_str = $end_date->format( LP_Datetime::I18N_FORMAT_HAS_TIME );
88 - } else {
89 - $end_date_str = $end_date->format( LP_Datetime::I18N_FORMAT );
90 - }
91 - }
92 -
93 - $html = sprintf( '<span class="lp-user-item end-date-time">%s</span>', $end_date_str );
94 - } catch ( Throwable $e ) {
95 - error_log( __METHOD__ . ': ' . $e->getMessage() );
96 - }
97 -
98 - return $html;
99 - }
100 -
101 - /**
102 - * Get html expire time of user item.
103 - *
104 - * @param UserItemModel|LP_User_Item $user_item
105 - * @param bool $has_time
106 - *
107 - * @return string
108 - * @since 4.2.3.5
109 - * @version 1.0.1
110 - */
111 - public function html_expire_date_time( $user_item, bool $has_time = true ): string {
112 - $html = '';
113 -
114 - try {
115 - if ( $user_item instanceof LP_User_Item ) {
116 - $userItemModel = new UserItemModel( $user_item->get_data() );
117 - } elseif ( $user_item instanceof UserItemModel ) {
118 - $userItemModel = $user_item;
119 - } else {
120 - return $html;
121 - }
122 -
123 - $expire_date = $userItemModel->get_expiration_time();
124 - if ( empty( $expire_date ) ) {
125 - $expire_date_str = __( 'Never', 'learnpress' );
126 - } else {
127 - if ( $has_time ) {
128 - $expire_date_str = $expire_date->format( LP_Datetime::I18N_FORMAT_HAS_TIME );
129 - } else {
130 - $expire_date_str = $expire_date->format( LP_Datetime::I18N_FORMAT );
131 - }
132 - }
133 -
134 - $html = sprintf( '<span class="lp-user-item expire-date-time">%s</span>', $expire_date_str );
135 - // Hook old
136 - if ( has_filter( 'learn-press/user-item/html-expire-date-time' ) ) {
137 - $html = apply_filters( 'learn-press/user-item/html-expire-date-time', $html, $user_item, $has_time );
138 - }
139 -
140 - $html = apply_filters( 'learn-press/user-item-model/html-expire-date-time', $html, $userItemModel, $has_time );
141 - } catch ( Throwable $e ) {
142 - error_log( __METHOD__ . ': ' . $e->getMessage() );
143 - }
144 -
145 - return $html;
146 - }
147 -
148 - /**
149 - * Get html graduation of user item.
150 - * @param UserItemModel $userItemModel
151 - *
152 - * @return void
153 - * @since 4.2.7.6
154 - * @version 1.0.0
155 - */
156 - public function html_graduation( UserItemModel $userItemModel ): string {
157 - $html = '';
158 -
159 - $graduation = $userItemModel->get_graduation();
160 - if ( empty( $graduation ) ) {
161 - return $html;
162 - }
163 -
164 - $label = '';
165 - switch ( $graduation ) {
166 - case UserItemModel::GRADUATION_PASSED:
167 - $label = __( 'Passed', 'learnpress' );
168 - break;
169 - case UserItemModel::GRADUATION_FAILED:
170 - $label = __( 'Failed', 'learnpress' );
171 - break;
172 - default:
173 - break;
174 - }
175 -
176 - $html = sprintf(
177 - '<div class="lp-user-item graduation %s">%s%s</div>',
178 - $graduation,
179 - sprintf( '<span class="lp-icon lp-icon-%s"></span>', $graduation ),
180 - $label
181 - );
182 -
183 - return apply_filters( 'learn-press/user-item-model/html-graduation', $html, $userItemModel );
184 - }
185 -}
1 +<?php
2 +/**
3 + * Template hooks User Item Base.
4 + *
5 + * @since 4.2.3.5
6 + * @version 1.0.1
7 + */
8 +
9 +namespace LearnPress\TemplateHooks\UserItem;
10 +
11 +use LearnPress\Models\UserItems\UserItemModel;
12 +use LP_Datetime;
13 +use LP_User_Item;
14 +use Throwable;
15 +
16 +class UserItemBaseTemplate {
17 + /**
18 + * Get html start time of user item.
19 + *
20 + * @param UserItemModel|LP_User_Item $user_item
21 + * @param bool $has_time
22 + *
23 + * @return string
24 + * @since 4.2.3.5
25 + * @version 1.0.1
26 + */
27 + public function html_start_date_time( $user_item, bool $has_time = true ): string {
28 + $html = '';
29 +
30 + try {
31 + if ( $user_item instanceof LP_User_Item ) {
32 + $userItemModel = new UserItemModel( $user_item->get_data() );
33 + } elseif ( $user_item instanceof UserItemModel ) {
34 + $userItemModel = $user_item;
35 + } else {
36 + return $html;
37 + }
38 +
39 + $start_time_from_db = $userItemModel->get_start_time();
40 + if ( empty( $start_time_from_db ) ) {
41 + $start_date_str = ' - ';
42 + } else {
43 + $start_date = new LP_Datetime( $start_time_from_db );
44 + if ( $has_time ) {
45 + $start_date_str = $start_date->format( LP_Datetime::I18N_FORMAT_HAS_TIME );
46 + } else {
47 + $start_date_str = $start_date->format( LP_Datetime::I18N_FORMAT );
48 + }
49 + }
50 +
51 + $html = sprintf( '<span class="lp-user-item start-date-time">%s</span>', $start_date_str );
52 + } catch ( Throwable $e ) {
53 + error_log( __METHOD__ . ': ' . $e->getMessage() );
54 + }
55 +
56 + return $html;
57 + }
58 +
59 + /**
60 + * Get html end time of user item.
61 + *
62 + * @param UserItemModel|LP_User_Item $user_item
63 + * @param bool $has_time
64 + *
65 + * @return string
66 + * @since 4.2.3.5
67 + * @version 1.0.1
68 + */
69 + public function html_end_date_time( $user_item, bool $has_time = true ): string {
70 + $html = '';
71 +
72 + try {
73 + if ( $user_item instanceof LP_User_Item ) {
74 + $userItemModel = new UserItemModel( $user_item->get_data() );
75 + } elseif ( $user_item instanceof UserItemModel ) {
76 + $userItemModel = $user_item;
77 + } else {
78 + return $html;
79 + }
80 +
81 + $end_time_from_db = $userItemModel->get_end_time();
82 + if ( empty( $end_time_from_db ) ) {
83 + $end_date_str = ' - ';
84 + } else {
85 + $end_date = new LP_Datetime( $end_time_from_db );
86 + if ( $has_time ) {
87 + $end_date_str = $end_date->format( LP_Datetime::I18N_FORMAT_HAS_TIME );
88 + } else {
89 + $end_date_str = $end_date->format( LP_Datetime::I18N_FORMAT );
90 + }
91 + }
92 +
93 + $html = sprintf( '<span class="lp-user-item end-date-time">%s</span>', $end_date_str );
94 + } catch ( Throwable $e ) {
95 + error_log( __METHOD__ . ': ' . $e->getMessage() );
96 + }
97 +
98 + return $html;
99 + }
100 +
101 + /**
102 + * Get html expire time of user item.
103 + *
104 + * @param UserItemModel|LP_User_Item $user_item
105 + * @param bool $has_time
106 + *
107 + * @return string
108 + * @since 4.2.3.5
109 + * @version 1.0.1
110 + */
111 + public function html_expire_date_time( $user_item, bool $has_time = true ): string {
112 + $html = '';
113 +
114 + try {
115 + if ( $user_item instanceof LP_User_Item ) {
116 + $userItemModel = new UserItemModel( $user_item->get_data() );
117 + } elseif ( $user_item instanceof UserItemModel ) {
118 + $userItemModel = $user_item;
119 + } else {
120 + return $html;
121 + }
122 +
123 + $expire_date = $userItemModel->get_expiration_time();
124 + if ( empty( $expire_date ) ) {
125 + $expire_date_str = __( 'Never', 'learnpress' );
126 + } else {
127 + if ( $has_time ) {
128 + $expire_date_str = $expire_date->format( LP_Datetime::I18N_FORMAT_HAS_TIME );
129 + } else {
130 + $expire_date_str = $expire_date->format( LP_Datetime::I18N_FORMAT );
131 + }
132 + }
133 +
134 + $html = sprintf( '<span class="lp-user-item expire-date-time">%s</span>', $expire_date_str );
135 + // Hook old
136 + if ( has_filter( 'learn-press/user-item/html-expire-date-time' ) ) {
137 + $html = apply_filters( 'learn-press/user-item/html-expire-date-time', $html, $user_item, $has_time );
138 + }
139 +
140 + $html = apply_filters( 'learn-press/user-item-model/html-expire-date-time', $html, $userItemModel, $has_time );
141 + } catch ( Throwable $e ) {
142 + error_log( __METHOD__ . ': ' . $e->getMessage() );
143 + }
144 +
145 + return $html;
146 + }
147 +
148 + /**
149 + * Get html graduation of user item.
150 + * @param UserItemModel $userItemModel
151 + *
152 + * @return void
153 + * @since 4.2.7.6
154 + * @version 1.0.0
155 + */
156 + public function html_graduation( UserItemModel $userItemModel ): string {
157 + $html = '';
158 +
159 + $graduation = $userItemModel->get_graduation();
160 + if ( empty( $graduation ) ) {
161 + return $html;
162 + }
163 +
164 + $label = '';
165 + switch ( $graduation ) {
166 + case UserItemModel::GRADUATION_PASSED:
167 + $label = __( 'Passed', 'learnpress' );
168 + break;
169 + case UserItemModel::GRADUATION_FAILED:
170 + $label = __( 'Failed', 'learnpress' );
171 + break;
172 + default:
173 + break;
174 + }
175 +
176 + $html = sprintf(
177 + '<div class="lp-user-item graduation %s">%s%s</div>',
178 + $graduation,
179 + sprintf( '<span class="lp-icon lp-icon-%s"></span>', $graduation ),
180 + $label
181 + );
182 +
183 + return apply_filters( 'learn-press/user-item-model/html-graduation', $html, $userItemModel );
184 + }
185 +}