Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/paid-memberships-pro/pages/levels.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
/**
3
+
* Template: Levels
4
+
* Version: 3.1
5
+
*
6
+
* See documentation for how to override the PMPro templates.
7
+
* @link https://www.paidmembershipspro.com/documentation/templates/
8
+
*
9
+
* @version 3.1
10
+
*
11
+
* @author Paid Memberships Pro
12
+
*/
13
+
global $wpdb, $pmpro_msg, $pmpro_msgt, $current_user;
14
+
15
+
$pmpro_levels = pmpro_sort_levels_by_order( pmpro_getAllLevels(false, true) );
16
+
$pmpro_levels = apply_filters( 'pmpro_levels_array', $pmpro_levels );
17
+
18
+
$level_groups = pmpro_get_level_groups_in_order();
19
+
20
+
?>
21
+
<div class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro' ) ); ?>">
22
+
<?php
23
+
if ( $pmpro_msg ) {
24
+
?>
25
+
<div class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_message ' . $pmpro_msgt, $pmpro_msgt ) ); ?>"><?php echo wp_kses_post( $pmpro_msg ); ?></div>
26
+
<?php
27
+
}
28
+
?>
29
+
<section id="pmpro_levels" class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_section', 'pmpro_levels' ) ); ?>">
30
+
<div class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_section_content' ) ); ?>">
31
+
<?php
32
+
foreach ( $level_groups as $level_group ) {
33
+
$levels_in_group = pmpro_get_level_ids_for_group( $level_group->id );
34
+
35
+
// The pmpro_levels_array filter is sometimes used to hide levels from the levels page.
36
+
// Let's make sure that every level in the group should still be displayed.
37
+
$levels_to_show_for_group = array();
38
+
foreach ( $pmpro_levels as $level ) {
39
+
if ( in_array( $level->id, $levels_in_group ) ) {
40
+
$levels_to_show_for_group[] = $level;
41
+
}
42
+
}
43
+
44
+
if ( empty( $levels_to_show_for_group ) ) {
45
+
continue;
46
+
}
47
+
?>
48
+
<div id="pmpro_level_group-<?php echo esc_attr( $level_group->id ); ?>" class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_card pmpro_level_group', 'pmpro_level_group-' . esc_attr( $level_group->id ) ) ); ?>">
49
+
<?php
50
+
if ( count( $level_groups ) > 1 ) {
51
+
?>
52
+
<h2 class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_card_title pmpro_font-large' ) ); ?>"><?php echo esc_html( $level_group->name ); ?></h2>
53
+
<?php
54
+
}
55
+
?>
56
+
<div class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_card_content' ) ); ?>">
57
+
<?php
58
+
if ( count( $level_groups ) > 1 ) {
59
+
if ( ! empty( $level_group->allow_multiple_selections ) ) {
60
+
?>
61
+
<p><?php esc_html_e( 'You may select multiple levels from this group.', 'paid-memberships-pro' ); ?></p>
62
+
<?php
63
+
} else {
64
+
?>
65
+
<p><?php esc_html_e( 'You may select only one level from this group.', 'paid-memberships-pro' ); ?></p>
66
+
<?php
67
+
}
68
+
?>
69
+
<div class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_spacer' ) ); ?>"></div>
70
+
<?php
71
+
}
72
+
?>
73
+
<table class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_table pmpro_levels_table', 'pmpro_levels_table' ) ); ?>">
74
+
<thead>
75
+
<tr>
76
+
<th><?php esc_html_e('Level', 'paid-memberships-pro' );?></th>
77
+
<th><?php esc_html_e('Price', 'paid-memberships-pro' );?></th>
78
+
<th><span class="screen-reader-text"><?php esc_html_e( 'Action', 'paid-memberships-pro' ); ?></span></th>
79
+
</tr>
80
+
</thead>
81
+
<tbody>
82
+
<?php
83
+
$count = 0;
84
+
foreach($levels_to_show_for_group as $level)
85
+
{
86
+
$user_level = pmpro_getSpecificMembershipLevelForUser( $current_user->ID, $level->id );
87
+
$has_level = ! empty( $user_level );
88
+
89
+
// Build the selectors for the single level elements.
90
+
$element_classes = array();
91
+
$element_classes[] = 'pmpro_level';
92
+
if ( $has_level ) {
93
+
$element_classes[] = 'pmpro_level-current';
94
+
}
95
+
$element_class = implode( ' ', array_unique( $element_classes ) );
96
+
?>
97
+
<tr id="pmpro_level-<?php echo esc_attr( $level->id ); ?>" class="<?php echo esc_attr( pmpro_get_element_class( $element_class, 'pmpro_level-' . esc_attr( $level->id ) ) ); ?>">
98
+
<th data-title="<?php esc_attr_e( 'Level', 'paid-memberships-pro' ); ?>"><?php echo esc_html( $level->name ); ?></th>
99
+
<td data-title="<?php esc_attr_e( 'Price', 'paid-memberships-pro' ); ?>">
100
+
<?php
101
+
$cost_text = pmpro_getLevelCost( $level, true, true );
102
+
if ( ! empty($cost_text ) ) {
103
+
?>
104
+
<p class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_level-price' ) ); ?>"><?php echo wp_kses_post( $cost_text ); ?></p>
105
+
<?php
106
+
}
107
+
108
+
$expiration_text = pmpro_getLevelExpiration($level);
109
+
if ( ! empty($expiration_text ) ) {
110
+
?>
111
+
<p class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_level-expiration' ) ); ?>"><?php echo wp_kses_post( $expiration_text ); ?></p>
112
+
<?php
113
+
}
114
+
?>
115
+
</td>
116
+
<td>
117
+
<?php if ( ! $has_level ) { ?>
118
+
<a aria-label="<?php echo esc_attr( sprintf( __('Select the %s membership level', 'paid-memberships-pro' ), $level->name ) ); ?>" class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_btn pmpro_btn-select', 'pmpro_btn-select' ) ); ?>" href="<?php echo esc_url( pmpro_url( "checkout", "?pmpro_level=" . $level->id, "https" ) ) ?>"><?php esc_html_e('Select', 'paid-memberships-pro' );?></a>
119
+
<?php } else { ?>
120
+
<?php
121
+
//if it's a one-time-payment level, offer a link to renew
122
+
if( pmpro_isLevelExpiringSoon( $user_level ) && $level->allow_signups ) {
123
+
?>
124
+
<a aria-label="<?php echo esc_attr( sprintf( __('Renew your %s membership level', 'paid-memberships-pro' ), $level->name ) ); ?>" class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_btn pmpro_btn-renew pmpro_btn-select', 'pmpro_btn-select' ) ); ?>" href="<?php echo esc_url( pmpro_url( "checkout", "?pmpro_level=" . $level->id, "https" ) ) ?>"><?php esc_html_e('Renew', 'paid-memberships-pro' );?></a>
125
+
<?php
126
+
} else {
127
+
?>
128
+
<a aria-label="<?php echo esc_attr( sprintf( __('View your %s membership account', 'paid-memberships-pro' ), $level->name ) ); ?>" class="<?php echo esc_attr( pmpro_get_element_class( 'pmpro_btn pmpro_btn-outline', 'pmpro_btn' ) ); ?>" href="<?php echo esc_url( pmpro_url( "account" ) ) ?>"><?php esc_html_e('Your Level', 'paid-memberships-pro' );?></a>
129
+
<?php
130
+
}
131
+
?>
132
+
<?php } ?>
133
+
</td>
134
+
</tr>
135
+
<?php
136
+
}
137
+
?>
138
+
</tbody>
139
+
</table>
140
+
</div> <!-- end pmpro_card_content -->
141
+
</div> <!-- end pmpro_card -->
142
+
<?php
143
+
}
144
+
?>
145
+
</div> <!-- end pmpro_section_content -->
146
+
</section> <!-- end pmpro_section -->
147
+
</div> <!-- end pmpro -->
148
+