コード例 #1
0
/**
 * Recursive function for traversing all the sub-items of each line item
 * and displaying them in the table
 * @param EE_Line_Item $line_item
 * @param boolean $odd for indicating whether to style this line item as an 'odd' or 'even'
 */
function ee_invoice_display_line_item(EE_Line_Item $line_item, $show_line_item_description, $odd = false)
{
    switch ($line_item->type()) {
        case EEM_Line_Item::type_total:
            foreach ($line_item->children() as $child_line_item) {
                ee_invoice_display_line_item($child_line_item, $show_line_item_description);
            }
            ?>
							<tr><td colspan="<?php 
            echo $show_line_item_description ? 5 : 4;
            ?>
"><hr></td></tr>
							<tr class="total_tr odd">
								<td colspan="<?php 
            echo $show_line_item_description ? 2 : 1;
            ?>
">&nbsp;</td>
								<td colspan="2" class="total" id="total_currency"><?php 
            _e('Total', 'event_espresso');
            ?>
</td>
								<td class="total"><?php 
            echo $line_item->total_no_code();
            ?>
</td>
							</tr>
						<?php 
            break;
        case EEM_Line_Item::type_sub_total:
            foreach ($line_item->children() as $child_line_item) {
                //$odd = !$odd;
                ee_invoice_display_line_item($child_line_item, $show_line_item_description, $odd);
            }
            ?>
							<tr class="total_tr odd">
								<td colspan="<?php 
            echo $show_line_item_description ? 2 : 1;
            ?>
">&nbsp;</td>
								<td colspan="2" class="total" id="total_currency"><?php 
            _e('Sub-Total', 'event_espresso');
            ?>
</td>
								<td class="total"><?php 
            echo $line_item->total_no_code();
            ?>
</td>
							</tr>
						<?php 
            break;
        case EEM_Line_Item::type_tax_sub_total:
            foreach ($line_item->children() as $child_line_item) {
                $odd = !$odd;
                ee_invoice_display_line_item($child_line_item, $show_line_item_description, $odd);
            }
            ?>
							<tr class="total_tr odd">
								<td colspan="<?php 
            echo $show_line_item_description ? 2 : 1;
            ?>
">&nbsp;</td>
								<td colspan="2" class="total" id="total_currency"><?php 
            _e('Tax Total', 'event_espresso');
            ?>
</td>
								<td class="total"><?php 
            echo $line_item->total_no_code();
            ?>
</td>
							</tr>
						<?php 
            break;
        case EEM_Line_Item::type_line_item:
            $subitems = $line_item->children();
            $has_subitems = count($subitems) > 1;
            if ($has_subitems) {
                ?>
							<tr class="item <?php 
                echo $odd ? 'odd' : '';
                ?>
">
								<td class="item_l"><?php 
                echo $line_item->name();
                ?>
</td>
								<?php 
                if ($show_line_item_description) {
                    ?>
<td class="item_l"><?php 
                    echo $line_item->desc();
                    ?>
</td><?php 
                }
                ?>
								<td class="item_l"><?php 
                echo $line_item->quantity();
                ?>
</td>

								<td class="item_c"><?php 
                echo $line_item->unit_price_no_code();
                ?>
</td>

								<td class="item_r"> <?php 
                echo $line_item->total_no_code();
                echo $line_item->is_taxable() ? '*' : '';
                ?>
 </td>
								<?php 
                //<td class="item_l"><?php  $datetimes_strings = array(); foreach($datetimes as $datetime){ $datetimes_strings[]= $datetime->start_date_and_time();} echo implode(", ",$datetimes_strings);
                ?>
							</tr>
							<?php 
                if ($has_subitems) {
                    foreach ($line_item->children() as $child_line_item) {
                        ee_invoice_display_line_item($child_line_item, $show_line_item_description, $odd);
                    }
                }
            } else {
                //no subitems - just show this line item
                ?>
								<tr class="item <?php 
                echo $odd ? 'odd' : '';
                ?>
">
									<td class="item_l"><?php 
                echo $line_item->name();
                ?>
</td>
									<?php 
                if ($show_line_item_description) {
                    ?>
<td class="item_l"><?php 
                    echo $line_item->desc();
                    ?>
</td><?php 
                }
                ?>
									<td class="item_l"><?php 
                echo $line_item->quantity();
                ?>
</td>
									<td class="item_c"><?php 
                echo $line_item->unit_price_no_code();
                ?>
</td>
									<td class="item_r"> <?php 
                echo $line_item->total_no_code();
                echo $line_item->is_taxable() ? '*' : '';
                ?>
 </td>
									<?php 
                //<td class="item_l"><?php  $datetimes_strings = array(); foreach($datetimes as $datetime){ $datetimes_strings[]= $datetime->start_date_and_time();} echo implode(", ",$datetimes_strings);
                ?>
								</tr>
							<?php 
            }
            break;
        case EEM_Line_Item::type_sub_line_item:
            ?>
						<tr class="item subitem-row">
							<td class="item_l subitem"><?php 
            echo $line_item->name();
            ?>
</td>
							<?php 
            if ($show_line_item_description) {
                ?>
<td class="item_l"><?php 
                echo $line_item->desc();
                ?>
</td><?php 
            }
            ?>
							<?php 
            if ($line_item->is_percent()) {
                ?>
									<td></td>
									<td class="item_c"><?php 
                echo $line_item->percent();
                ?>
%</td>
							<?php 
            } else {
                //flat discount/surcharge
                ?>
									<td></td>
									<td class="item_c"><?php 
                echo $line_item->unit_price_no_code();
                ?>
</td>
							<?php 
            }
            ?>
							<td class="item_r"><?php 
            echo $line_item->total_no_code();
            ?>
</td>
						</tr>
						<?php 
            break;
        case EEM_Line_Item::type_tax:
            ?>
						<tr class="item sub-item tax-total">
							<td class="item_l"><?php 
            echo $line_item->name();
            ?>
</td>
							<?php 
            if ($show_line_item_description) {
                ?>
<td class="item_l"><?php 
                echo $line_item->desc();
                ?>
</td><?php 
            }
            ?>
							<td colspan="2" class="item_c"><?php 
            echo $line_item->percent();
            ?>
%</td>

							<td class="item_r"><?php 
            echo $line_item->total_no_code();
            ?>
</td>
						</tr><?php 
            break;
    }
}
 /**
  * 	_tax_row
  *
  * @param EE_Line_Item $line_item
  * @param array        $options
  * @return mixed
  */
 private function _tax_row(EE_Line_Item $line_item, $options = array())
 {
     // start of row
     $html = EEH_HTML::tr('', 'item sub-item tax-total');
     // name && desc
     $name_and_desc = $line_item->name();
     $name_and_desc .= '<span class="smaller-text lt-grey-text" style="margin:0 0 0 2em;">' . __(' * taxable items', 'event_espresso') . '</span>';
     $name_and_desc .= $options['show_desc'] ? '<br/>' . $line_item->desc() : '';
     // name td
     $html .= EEH_HTML::td($name_and_desc, '', 'item_l sub-item');
     // percent td
     $html .= EEH_HTML::td($line_item->percent() . '%', '', ' jst-rght', '');
     // empty td (price)
     $html .= EEH_HTML::td(EEH_HTML::nbsp());
     // total td
     $html .= EEH_HTML::td(EEH_Template::format_currency($line_item->total(), false, false), '', 'item_r jst-rght');
     // end of row
     $html .= EEH_HTML::trx();
     return $html;
 }
 /**
  * 	_tax_row
  *
  * @param EE_Line_Item $line_item
  * @param array        $options
  * @return mixed
  */
 private function _tax_row(EE_Line_Item $line_item, $options = array())
 {
     // start of row
     $html = EEH_HTML::tr('', 'item sub-item tax-total');
     // name td
     $html .= EEH_HTML::td($line_item->name(), '', 'item_l sub-item');
     // desc td
     $html .= $options['show_desc'] ? EEH_HTML::td($line_item->desc(), '', 'item_l') : '';
     // percent td
     $html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c', '', ' colspan="2"');
     // total td
     $html .= EEH_HTML::td($line_item->total_no_code(), '', 'item_r');
     // end of row
     $html .= EEH_HTML::trx();
     return $html;
 }
 /**
  * 	_tax_row
  *
  * @param EE_Line_Item $line_item
  * @return mixed
  */
 private function _tax_row(EE_Line_Item $line_item)
 {
     $this->_tax_count++;
     // start of row
     $html = EEH_HTML::tr('', '', 'event-cart-tax-row item sub-item tax-total');
     // name && desc
     $name_and_desc = $line_item->name();
     $name_and_desc .= '<span class="tiny-text" style="margin:0 0 0 2em;">' . __(' * taxable items', 'event_espresso') . '</span>';
     // name td
     $html .= EEH_HTML::td($name_and_desc, '', 'sub-item');
     // percent td
     $html .= EEH_HTML::td($line_item->percent() . '%', '', 'mini-cart-tbl-qty-td jst-rght');
     // empty td (price)
     $html .= EEH_HTML::td(EEH_HTML::nbsp());
     // total td
     $html .= EEH_HTML::td($line_item->total_no_code(), '', 'jst-rght');
     // end of row
     $html .= EEH_HTML::trx();
     return $html;
 }
 /**
  * 	_sub_item_row
  *
  * @param EE_Line_Item $line_item
  * @param array        $options
  * @return mixed
  */
 private function _sub_item_row(EE_Line_Item $line_item, $options = array())
 {
     // start of row
     $html = EEH_HTML::tr('', 'item sub-item-row');
     // name && desc
     $name_and_desc = $line_item->name();
     $name_and_desc .= $options['show_desc'] ? '<span class="line-sub-item-desc-spn smaller-text">: ' . $line_item->desc() . '</span>' : '';
     // name td
     $html .= EEH_HTML::td($name_and_desc, '', 'item_l sub-item');
     // discount/surcharge td
     if ($line_item->is_percent()) {
         $html .= EEH_HTML::td($line_item->percent() . '%', '', 'item_c');
     } else {
         $html .= EEH_HTML::td($line_item->unit_price_no_code(), '', 'item_c jst-rght');
     }
     // total td
     $html .= EEH_HTML::td(EEH_Template::format_currency($line_item->total(), false, false), '', 'item_r jst-rght');
     // end of row
     $html .= EEH_HTML::trx();
     return $html;
 }
コード例 #6
0
 /**
  * Prints out a representation of the line item tree
  * @param EE_Line_Item $line_item
  * @param int $indentation
  * @return void
  */
 public static function visualize(EE_Line_Item $line_item, $indentation = 0)
 {
     echo "\n<br />";
     for ($i = 0; $i < $indentation; $i++) {
         echo " - ";
     }
     if ($line_item->is_percent()) {
         $breakdown = $line_item->percent() . '%';
     } else {
         $breakdown = '$' . $line_item->unit_price() . "x" . $line_item->quantity();
     }
     echo $line_item->name() . "( " . $line_item->ID() . " ) : " . $line_item->type() . " \$" . $line_item->total() . "(" . $breakdown . ")";
     if ($line_item->is_taxable()) {
         echo "  * taxable";
     }
     if ($line_item->children()) {
         foreach ($line_item->children() as $child) {
             self::visualize($child, $indentation + 1);
         }
     }
 }
 /**
  * 	_tax_row
  *
  * @param EE_Line_Item $line_item
  * @param array        $options
  * @return mixed
  */
 protected function _tax_row(EE_Line_Item $line_item, $options = array())
 {
     // start of row
     $html = EEH_HTML::tr('', 'admin-primary-mbox-taxes-tr');
     // name th
     $html .= EEH_HTML::th($line_item->name() . '(' . $line_item->get_pretty('LIN_percent') . '%)', '', 'jst-rght', '', ' colspan="3"');
     // total th
     $html .= EEH_HTML::th(EEH_Template::format_currency($line_item->total(), false, false), '', 'jst-rght');
     // end of row
     $html .= EEH_HTML::trx();
     return $html;
 }
 /**
  * 	_tax_row
  *
  * @param EE_Line_Item $line_item
  * @return mixed
  */
 private function _tax_row(EE_Line_Item $line_item)
 {
     $this->_tax_count++;
     // name && desc
     $content = $line_item->name();
     $content .= '<span class="tiny-text" style="margin:0 0 0 2em;">' . __(' * taxable items', 'event_espresso') . '</span>';
     // percent td
     $content .= ' ' . $line_item->percent() . '%';
     // total td
     $content .= ' ' . $line_item->total_no_code();
     return EEH_HTML::li($content, '', 'event-cart-tax-list tax-list', 'text-align:right; width:100%;');
 }
コード例 #9
0
 /**
  *    adjust_SPCO_line_item_display
  *
  *   allows promotions to adjust the line item name in EE_SPCO_Line_Item_Display_Strategy
  *
  * @access    public
  * @param string $line_item_name
  * @param \EE_Line_Item $line_item
  * @return float
  */
 public static function adjust_SPCO_line_item_display($line_item_name, EE_Line_Item $line_item)
 {
     // is this a promotion ?
     if ($line_item->OBJ_type() == 'Promotion') {
         $line_item_name = sprintf(__('Discount: %1$s', 'event_espresso'), $line_item->name());
     }
     return $line_item_name;
 }
コード例 #10
0
 /**
  * Prints out a representation of the line item tree
  * @param EE_Line_Item $line_item
  * @param int $indentation
  * @return void
  */
 public static function visualize(EE_Line_Item $line_item, $indentation = 0)
 {
     echo "\r\n";
     for ($i = 0; $i < $indentation; $i++) {
         echo "-";
     }
     echo $line_item->name() . ": " . $line_item->type() . " \$" . $line_item->total();
     if ($line_item->is_taxable()) {
         echo " taxable";
     }
     if ($line_item->children()) {
         foreach ($line_item->children() as $child) {
             self::visualize($child, $indentation + 1);
         }
     }
 }