FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
latepoint
/
lib
/
helpers
Edit File: price_breakdown_helper.php
<?php /* * Copyright (c) 2023 LatePoint LLC. All rights reserved. */ class OsPriceBreakdownHelper { public static function output_price_breakdown( $rows, $inline_styles = false ) { $prev_heading = ''; foreach ( $rows['before_subtotal'] as $row ) { $skip_heading = ! empty( $row['heading'] ) && $row['heading'] == $prev_heading; self::output_price_breakdown_row( $row, $inline_styles, $skip_heading ); $prev_heading = $row['heading']; } // if there is nothing between subtotal and total - don't show subtotal as it will be identical to total if ( ! empty( $rows['after_subtotal'] ) ) { if ( ! empty( $rows['subtotal'] ) ) { echo '<div class="subtotal-separator"></div>'; self::output_price_breakdown_row( $rows['subtotal'], $inline_styles ); } foreach ( $rows['after_subtotal'] as $row ) { self::output_price_breakdown_row( $row, $inline_styles ); } } if ( ! empty( $rows['total'] ) ) { self::output_price_breakdown_row( $rows['total'], $inline_styles ); } if ( ! empty( $rows['payments'] ) ) { foreach ( $rows['payments'] as $row ) { self::output_price_breakdown_row( $row, $inline_styles ); } } if ( ! empty( $rows['balance'] ) ) { self::output_price_breakdown_row( $rows['balance'], $inline_styles ); } } public static function output_price_breakdown_row( $row, $inline_styles = false, $skip_heading = false ) { if ( ! empty( $row['items'] ) ) { if ( ! $skip_heading ) { if ( $inline_styles ) { if ( ! empty( $row['heading'] ) ) { echo '<table width="100%" cellpadding="0" cellspacing="0" style="margin-bottom: 5px; margin-top: 10px;"><tr><td style="color: #788291;font-size: 11px;text-transform: uppercase;letter-spacing: 1px;font-weight: 600;">' . esc_html( $row['heading'] ) . '</td><td style="width: 100%;"><div style="height: 1px;background-color: #f1f1f1;margin-left: 10px;"></div></td></tr></table>'; } } else { if ( ! empty( $row['heading'] ) ) { echo '<div class="summary-box-heading"><div class="sbh-item">' . esc_html( $row['heading'] ) . '</div><div class="sbh-line"></div></div>'; } } } foreach ( $row['items'] as $row_item ) { self::output_price_breakdown_row( $row_item, $inline_styles ); } } else { $extra_class = ''; $extra_css = ''; if ( isset( $row['style'] ) && $row['style'] == 'strong' ) { $extra_class .= ' spi-strong'; } if ( isset( $row['style'] ) && $row['style'] == 'total' ) { $extra_class .= ' spi-total'; if ( $inline_styles ) { $extra_css = 'border-top: 3px solid #41444b;padding-top: 10px;margin-top: 10px;font-size: 16px;'; } } if ( isset( $row['type'] ) && $row['type'] == 'credit' ) { $extra_class .= ' spi-positive'; } if ( isset( $row['style'] ) && $row['style'] == 'sub' ) { $extra_class .= ' spi-sub'; } if ( $inline_styles ) { ?> <table width="100%" cellpadding="0" cellspacing="0" style="margin-bottom: 7px;<?php echo esc_attr( $extra_css ); ?>"> <tr> <td style="text-align: left;"> <?php echo esc_html( $row['label'] ); ?> <?php if ( ! empty( $row['note'] ) ) { echo '<span class="pi-note">' . esc_html( $row['note'] ) . '</span>';} ?> <?php if ( ! empty( $row['badge'] ) ) { echo '<span class="pi-badge">' . esc_html( $row['badge'] ) . '</span>';} ?> </td> <td style="text-align: right;"> <?php echo esc_html( $row['value'] ); ?> </td> </tr> </table> <?php } else { ?> <div class="summary-price-item-w <?php echo esc_attr( $extra_class ); ?>"> <div class="spi-name"> <?php echo esc_html( $row['label'] ); ?> <?php if ( ! empty( $row['note'] ) ) { echo '<span class="pi-note">' . esc_html( $row['note'] ) . '</span>';} ?> <?php if ( ! empty( $row['badge'] ) ) { echo '<span class="pi-badge">' . esc_html( $row['badge'] ) . '</span>';} ?> </div> <div class="spi-price"><?php echo esc_html( $row['value'] ); ?></div> </div> <?php } } if ( ! empty( $row['sub_items'] ) ) { if ( $inline_styles ) { if ( ! empty( $row['sub_items_heading'] ) ) { echo '<table width="100%" cellpadding="0" cellspacing="0" style="margin-bottom: 5px; margin-top: 10px;"><tr><td style="color: #788291;font-size: 11px;text-transform: uppercase;letter-spacing: 1px;font-weight: 600;">' . esc_html( $row['sub_items_heading'] ) . '</td><td style="width: 100%;"><div style="height: 1px;background-color: #f1f1f1;margin-left: 10px;"></div></td></tr></table>'; } } else { if ( ! empty( $row['sub_items_heading'] ) ) { echo '<div class="summary-box-heading"><div class="sbh-item">' . esc_html( $row['sub_items_heading'] ) . '</div><div class="sbh-line"></div></div>'; } } foreach ( $row['sub_items'] as $row_item ) { self::output_price_breakdown_row( $row_item, $inline_styles ); } } } public static function is_zero( array $price_breakdown_rows ): bool { $subtotal = (float) $price_breakdown_rows['subtotal']['raw_value']; return ( $subtotal == 0 ); } }
Save
Back