IPSCONTENT;
if ( \IPS\Settings::i()->cm_invoice_warning % 24 == 0 ):
$return .= <<cm_invoice_warning / 24 ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_warning_time', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<cm_invoice_warning ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_warning_time_h', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_credit', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
if ( \IPS\Settings::i()->cm_invoice_generate % 24 == 0 ):
$return .= <<cm_invoice_generate / 24 ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_generate_time', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<cm_invoice_generate ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_generate_time_h', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_generate_event', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
if ( \IPS\Settings::i()->cm_invoice_warning and \count( \IPS\nexus\Gateway::billingAgreementGateways() ) ):
$return .= <<
IPSCONTENT;
if ( \IPS\Settings::i()->cm_invoice_warning % 24 == 0 ):
$return .= <<cm_invoice_warning / 24 ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_generate_time', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<cm_invoice_warning ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_generate_time_h', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_ba_warn_event', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_grace_time', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_grace_event', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_expire_time', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_expire_event', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
if ( \IPS\Settings::i()->cm_invoice_expireafter ):
$return .= <<
IPSCONTENT;
$pluralize = array( \IPS\Settings::i()->cm_invoice_expireafter ); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_invoice_exp_time', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'pluralize' => $pluralize ) );
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_timeline_invoice_exp_event', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
return $return;
}
function link( $invoice, $number=FALSE ) {
$return = '';
$return .= <<
IPSCONTENT;
if ( $number ):
$return .= <<id); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_number', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
$return .= <<title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
return $return;
}
function packageSelector( ) {
$return = '';
$return .= <<
IPSCONTENT;
foreach ( \IPS\nexus\Package\Group::roots() as $group ):
$return .= <<getTemplate( "invoices", \IPS\Request::i()->app )->packageSelectorGroup( $group );
$return .= <<
IPSCONTENT;
return $return;
}
function packageSelectorGroup( $group ) {
$return = '';
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $group->_title, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
return $return;
}
function packageSelectorProduct( $product ) {
$return = '';
$return .= <<
IPSCONTENT;
return $return;
}
function status( $status ) {
$return = '';
$return .= <<
IPSCONTENT;
$val = "istatus_{$status}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
return $return;
}
function transactionsTable( $table, $headers, $rows, $quickSearch ) {
$return = '';
$return .= <<
IPSCONTENT;
$return .= $table->rowsTemplate[0]->{$table->rowsTemplate[1]}( $table, $headers, $rows );
$return .= <<
IPSCONTENT;
else:
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'no_related_transactions', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row['t_method'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= << {$row['t_status']}
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $row['t_amount'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core" )->controlStrip( $row['_buttons'] );
$return .= <<
IPSCONTENT;
endforeach;
$return .= <<unpaidConsequences() and \count( $consequences ) ) ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_unpaid_consequences', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
foreach ( $consequences as $k => $v ):
$return .= <<
IPSCONTENT;
if ( \is_array( $v ) ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $v['warning'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
else:
$return .= <<language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
foreach ( $v as $k2 => $v2 ):
$return .= <<
IPSCONTENT;
if ( \is_array( $v2 ) ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $v2['warning'], ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
else:
$return .= <<language()->addToStack( htmlspecialchars( 'invoice_unpaid_unassociate', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
foreach ( $childPurchases as $child ):
$return .= <<{$child}
IPSCONTENT;
endforeach;
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
endforeach;
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'front' )->userPhoto( $invoice->member, 'mini' );
$return .= <<
IPSCONTENT;
if ( $invoice->member->member_id ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->member->cm_name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
else:
$return .= <<member->cm_name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
if ( $invoice->member->email ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->member->email, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
if ( $invoice->status == 'paid' ):
$return .= <<
IPSCONTENT;
elseif ( $invoice->status == 'pend' ):
$return .= <<
IPSCONTENT;
elseif ( $invoice->status == 'expd' ):
$return .= <<
IPSCONTENT;
elseif ( $invoice->status == 'canc' ):
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$val = "istatus_{$invoice->status}"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
$val = "istatus_{$invoice->status}_desc"; $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( $val, ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
if ( $invoice->status_extra and isset( $invoice->status_extra['type'] ) ):
$return .= <<
IPSCONTENT;
if ( $invoice->status_extra['type'] === 'manual' ):
$return .= <<status_extra['setByID'] )->name, \IPS\DateTime::ts( $invoice->status_extra['date'] )); $return .= \IPS\Member::loggedIn()->language()->addToStack( htmlspecialchars( 'invoice_status_extra', ENT_DISALLOWED, 'UTF-8', FALSE ), FALSE, array( 'sprintf' => $sprintf ) );
$return .= <<status_extra['type'] === 'zero' ):
$return .= <<language()->addToStack( htmlspecialchars( 'invoice_status_zero', ENT_DISALLOWED, 'UTF-8', FALSE ), TRUE, array( ) );
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
if ( $transactions ):
$return .= <<
IPSCONTENT;
endif;
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme::i()->getTemplate( "global", "core", 'front' )->userPhoto( $invoice->member, 'mini' );
$return .= <<
IPSCONTENT;
if ( $invoice->member->member_id ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->member->cm_name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
else:
$return .= <<member->cm_name, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
if ( $invoice->member->email ):
$return .= <<
IPSCONTENT;
$return .= \IPS\Theme\Template::htmlspecialchars( $invoice->member->email, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE );
$return .= <<
IPSCONTENT;
endif;
$return .= <<