![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets.corals.io/wp-content/plugins/give/templates/ |
<?php /** * This template is used to display the donation grid with [donation_grid] */ // Exit if accessed directly. use Give\Helpers\Form\Template; use Give\Helpers\Form\Utils as FormUtils; if ( ! defined( 'ABSPATH' ) ) { exit; } $form_id = get_the_ID(); // Form ID. $give_settings = $args[0]; // Give settings. $atts = $args[1]; // Shortcode attributes. $raw_content = ''; // Raw form content. $stripped_content = ''; // Form content stripped of HTML tags and shortcodes. $excerpt = ''; // Trimmed form excerpt ready for display. $flex_direction = $atts['columns'] === '1' ? "row" : "column"; $activeTemplate = FormUtils::isLegacyForm( $form_id ) ? 'legacy' : Template::getActiveID( $form_id ); /* @var \Give\Form\Template $formTemplate */ $formTemplate = Give()->templates->getTemplate( $activeTemplate ); $renderTags = static function($wrapper_class, $apply_styles = true) use($form_id , $atts ) { if( !taxonomy_exists( 'give_forms_tag' ) ) { return ''; } $tags = wp_get_post_terms($form_id,'give_forms_tag'); $tag_bg_color = ! empty( $atts['tag_background_color'] ) ? $atts['tag_background_color'] : '#69b86b'; $tag_text_color = ! empty( $atts['tag_text_color'] ) ? $atts['tag_text_color'] : '#ffffff'; $tag_container_color = count($tags) >= 1 ? 'rgba(0, 0, 0, 0.35)' : 'none'; $tag_elements = array_map( static function($term)use($tag_text_color,$tag_bg_color){ return "<span style='color: $tag_text_color; background-color: $tag_bg_color;'>$term->name</span>"; }, $tags ); $tag_elements = implode('', $tag_elements); $styles = $apply_styles ? "style='background-color: $tag_container_color;'" : ''; return " <div class='$wrapper_class' $styles > $tag_elements </div> "; }; ?> <div class="give-grid__item"> <?php // Print the opening anchor tag based on display style. if ( 'redirect' === $atts['display_style'] ) { $form_grid_option = give_get_meta( $form_id, '_give_form_grid_option', true ); $form_grid_redirect_url = esc_url(give_get_meta( $form_id, '_give_form_grid_redirect_url', true )); $url = ( $form_grid_option === 'custom' && filter_var($form_grid_redirect_url, FILTER_VALIDATE_URL) ) ? $form_grid_redirect_url : get_the_permalink(); printf( '<a id="give-card-%1$s" onclick="return !document.body.classList.contains( \'block-editor-page\' )" class="give-card" href="%2$s">', esc_attr( $form_id ), esc_attr( $url ) ); } elseif ( 'modal_reveal' === $atts['display_style'] ) { printf( '<a id="give-card-%1$s" class="give-card js-give-grid-modal-launcher" data-effect="mfp-zoom-out" href="#give-modal-form-%1$s">', esc_attr( $form_id ) ); } ?> <div class="give-form-grid" style="flex-direction:<?php echo $flex_direction ?>"> <?php // Maybe display the featured image. if ( give_is_setting_enabled($give_settings['form_featured_img']) && ($imageSrc = $formTemplate->getFormFeaturedImage($form_id)) && $atts['show_featured_image'] && $atts['columns'] !== '1' ) { /* * Filters the image size used in card layouts. * * @param string The image size. * @param array Form grid attributes. */ $image_size = apply_filters('give_form_grid_image_size', $atts['image_size'], $atts); $image_attr = ''; if ('auto' !== $atts['image_height']) { $image_attr = [ 'style' => 'height: ' . $atts['image_height'], ]; } $image = wp_get_attachment_image( attachment_url_to_postid( $imageSrc ), $image_size, false, $image_attr ); echo " <div class='give-form-grid-media'> <div class='give-card__media'> $image </div> {$renderTags('give-form-grid-media__tags')} </div> "; } elseif( give_is_setting_enabled($give_settings['form_featured_img']) && ($imageSrc = $formTemplate->getFormFeaturedImage($form_id)) && $atts['show_featured_image'] && $atts['columns'] === '1') { echo " <div id='row-media' class='give-form-grid-media'> <img class='give-form-grid-media' src='$imageSrc' alt='' /> {$renderTags('give-form-grid-media__tags')} </div> "; } ?> <div class="give-form-grid-container"> <div class="give-form-grid-content"> <?php if( !$atts['show_featured_image']){ echo " <div class='give-form-grid-media' > {$renderTags('give-form-grid-media__tags_no_image', false)} </div> "; } ?> <?php // Maybe display the form title. if ( true === $atts['show_title'] ) { printf( '<h3 class="give-form-grid-content__title">%1$s</h3>', $formTemplate->getFormHeading( $form_id ) ); } // Maybe display the form excerpt. if ( true === $atts['show_excerpt'] ) { if ( $raw_content = $formTemplate->getFormExcerpt( $form_id ) ) { $stripped_content = wp_strip_all_tags( strip_shortcodes( $raw_content ) ); } else { // Get content from the form post's content field. $raw_content = give_get_meta( $form_id, '_give_form_content', true ); if ( ! empty( $raw_content ) ) { $stripped_content = wp_strip_all_tags( strip_shortcodes( $raw_content ) ); } } // Maybe truncate excerpt. if ( 0 < $atts['excerpt_length'] ) { $excerpt = wp_trim_words( $stripped_content, $atts['excerpt_length'] ); } else { $excerpt = $stripped_content; } printf( '<p class="give-form-grid-content__text">%s</p>', $excerpt ); } if ($atts['show_donate_button']): $button_text = ! empty($atts['donate_button_text']) ? $atts['donate_button_text'] : give_get_meta($form_id, '_give_form_grid_donate_button_text', true); /** * @since 2.23.1 Updated the default text color for the donate button, see #6591. */ $button_text_color = ! empty($atts['donate_button_text_color']) ? $atts['donate_button_text_color'] : '#000000'; ?> <button style="text-decoration-color: <?php echo $button_text_color; ?>"> <span style="color: <?php echo $button_text_color; ?>"> <?php echo $button_text ?: __('Donate', 'give'); ?> </span> </button> <?php endif; ?> </div> <?php $form = new Give_Donate_Form( $form_id ); $goal_option = give_get_meta( $form->ID, '_give_goal_option', true ); // Sanity check - ensure form has pass all condition to show goal. $hide_goal = ( isset( $atts['show_goal'] ) && ! filter_var( $atts['show_goal'], FILTER_VALIDATE_BOOLEAN ) ) || empty( $form->ID ) || ( is_singular( 'give_forms' ) && ! give_is_setting_enabled( $goal_option ) ) || ! give_is_setting_enabled( $goal_option ) || 0 === $form->goal; // Maybe display the goal progress bar. if (!$hide_goal) : $goal_progress_stats = give_goal_progress_stats( $form ); $goal_format = $goal_progress_stats['format']; $color = $atts['progress_bar_color']; $show_goal = isset( $atts['show_goal'] ) ? filter_var( $atts['show_goal'], FILTER_VALIDATE_BOOLEAN ) : true; $shortcode_stats = apply_filters( 'give_goal_shortcode_stats', array( 'income' => $form->get_earnings(), 'goal' => $goal_progress_stats['raw_goal'], ), $form_id, $goal_progress_stats, $args ); $income = $shortcode_stats['income']; $goal = $shortcode_stats['goal']; switch ( $goal_format ) { case 'donation': $progress = $goal ? round( ( $form->get_sales() / $goal ) * 100, 2 ) : 0; $progress_bar_value = $form->get_sales() >= $goal ? 100 : $progress; break; case 'donors': $progress = $goal ? round( ( give_get_form_donor_count( $form->ID ) / $goal ) * 100, 2 ) : 0; $progress_bar_value = give_get_form_donor_count( $form->ID ) >= $goal ? 100 : $progress; break; case 'percentage': $progress = $goal ? round( ( $income / $goal ) * 100, 2 ) : 0; $progress_bar_value = $income >= $goal ? 100 : $progress; break; default: $progress = $goal ? round( ( $income / $goal ) * 100, 2 ) : 0; $progress_bar_value = $income >= $goal ? 100 : $progress; break; } ?> <div class="give-form-grid-progress"> <?php $style = "width:$progress_bar_value%;"; $style .= "background: linear-gradient(180deg, {$color} 0%, {$color} 100%); background-blend-mode: multiply;"; echo " <div class='give-form-grid-progress-bar'> <div class='give-progress-bar' role='progressbar' aria-valuemin='0' aria-valuemax='100' aria-valuenow='$progress_bar_value'> <span style='$style'></span> </div> </div> "; ?> <div class="form-grid-raised"> <div class="form-grid-raised__details"> <?php if ( 'amount' === $goal_format ) : /** * Filter the give currency. * * @since 1.8.17 */ $form_currency = apply_filters( 'give_goal_form_currency', give_get_currency( $form_id ), $form_id ); /** * Filter the income formatting arguments. * * @since 1.8.17 */ $income_format_args = apply_filters( 'give_goal_income_format_args', array( 'sanitize' => false, 'currency' => $form_currency, 'decimal' => false, ), $form_id ); /** * Filter the goal formatting arguments. * * @since 1.8.17 */ $goal_format_args = apply_filters( 'give_goal_amount_format_args', array( 'sanitize' => false, 'currency' => $form_currency, 'decimal' => false, ), $form_id ); /** * This filter will be used to convert the goal amounts to different currencies. * * @since 2.5.4 * * @param array $amounts List of goal amounts. * @param int $form_id Donation Form ID. */ $goal_amounts = apply_filters( 'give_goal_amounts', array( $form_currency => $goal, ), $form_id ); /** * This filter will be used to convert the income amounts to different currencies. * * @since 2.5.4 * * @param array $amounts List of goal amounts. * @param int $form_id Donation Form ID. */ $income_amounts = apply_filters( 'give_goal_raised_amounts', array( $form_currency => $income, ), $form_id ); // Get human readable donation amount. $income = give_human_format_large_amount( give_format_amount( $income, $income_format_args ), array( 'currency' => $form_currency ) ); $goal = give_human_format_large_amount( give_format_amount( $goal, $goal_format_args ), array( 'currency' => $form_currency ) ); // Format the human readable donation amount. $formatted_income = give_currency_filter( $income, array( 'form_id' => $form_id, ) ); $formatted_goal = give_currency_filter( $goal, array( 'form_id' => $form_id, ) ); echo sprintf( /* translators: 1: amount of income raised 2: goal target amount. */ __( '<span class="amount" data-amounts="%1$s">%2$s</span> <span class="goal" data-amounts="%3$s">of %4$s</span>', 'give' ), esc_attr( wp_json_encode( $income_amounts, JSON_PRETTY_PRINT ) ), esc_attr( $formatted_income ), esc_attr( wp_json_encode( $goal_amounts, JSON_PRETTY_PRINT ) ), esc_attr( $formatted_goal ) ); elseif ( 'percentage' === $goal_format ) : echo sprintf( /* translators: %s: percentage of the amount raised compared to the goal target */ __( ' <span class="amount">%s%%</span> <span class="goal">of 100%</span>', 'give' ), round( $progress ) ); elseif ( 'donation' === $goal_format ) :?> <span class="amount"> <?php echo give_format_amount( $form->get_sales(), array( 'decimal' => false ))?> </span> <span class="goal"> <?php echo sprintf(_n('of %s donation', 'of %s donations', $goal, 'give'), give_format_amount( $goal, array( 'decimal' => false ))); ?> </span> <?php elseif ( 'donors' === $goal_format ) : ?> <span class="amount"> <?php echo give_get_form_donor_count( $form->ID ) ?> </span> <span class="goal"> <?php echo sprintf(_n('of %s donor', 'of %s donors', $goal, 'give'), give_format_amount( $goal, array( 'decimal' => false ))); ?> </span> <?php endif ?> </div> <div class="form-grid-raised__details"> <span class="amount form-grid-raised__details_donations"> <?php echo give_format_amount( $form->get_sales(), array( 'decimal' => false )) ?> </span> <span class="goal"> <?php echo _n('donation', 'donations', $goal, 'give')?> </span> </div> </div> </div> <?php endif?> </div> </div> </a> <?php // If modal, print form in hidden container until it is time to be revealed. if ( 'modal_reveal' === $atts['display_style'] ) { if ( ! isset($_GET['context']) // check if we are in block editor && ! FormUtils::isLegacyForm( $form_id ) ) { echo give_form_shortcode( [ 'id' => $form_id, 'display_style' => 'button', ] ); } else { printf( '<div id="give-modal-form-%1$s" class="give-donation-grid-item-form give-modal--slide mfp-hide">', $form_id ); give_get_donation_form( $form_id ); echo '</div>'; } } ?> </div>