Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/paid-memberships-pro/pages/levels.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
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&nbsp;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 +