[{"key":"grid","value":"cm_store_view_grid"},{"key":"list","value":"cm_store_view_list"}]
status() == $billingAgreement::STATUS_ACTIVE and !$billingAgreement->next_cycle}}
{lang="billing_agreement_run_failed" sprintf="$billingAgreement->acpUrl()->setQueryString( 'do', 'reconcile' )->csrf()"}
{{endif}}
{{if $billingAgreement->status() == $billingAgreement::STATUS_ACTIVE}}
{lang="billing_agreement_active"}
{{elseif $billingAgreement->status() == $billingAgreement::STATUS_SUSPENDED}}
{lang="billing_agreement_suspended"}
{{elseif $billingAgreement->status() == $billingAgreement::STATUS_CANCELED}}
{lang="billing_agreement_canceled"}
{{endif}}
{lang="billing_agreement_details"}
{lang="ba_gw_id"}
{$billingAgreement->gw_id}
{lang="billing_agreement_term"}
{$billingAgreement->term()}
{lang="ba_started"}
{$billingAgreement->started->localeDate()}
{{if $billingAgreement->next_cycle}}
{lang="billing_agreement_next_payment"}
{$billingAgreement->nextPaymentDate()->localeDate()}
{{endif}}
{lang="purchase_customer_info"}
{{if $billingAgreement->member}}
{$billingAgreement->member->email}
{lang="transaction_customer_since" sprintf="$billingAgreement->member->joined->localeDate()"}
{lang="transaction_spent" sprintf="$billingAgreement->member->totalSpent()"}
{{else}}
{lang="billing_agreement_no_member"}
{{endif}}
{{if $purchases}}
{lang="billing_agreement_purchases"}
{$purchases|raw}
{{endif}}
{{if $transactions}}
{lang="billing_agreement_transactions"}
{$transactions|raw}
{{endif}}
]]>
$v}}{$k}="{$v}"{{endforeach}} data-ipsForm>
{{foreach $hiddenValues as $k => $v}}
{{if \is_array($v)}}
{{foreach $v as $_k => $_v}}
{{endforeach}}
{{else}}
{{endif}}
{{endforeach}}
{{if $uploadField}}
{{endif}}
{lang="your_address_book"}
{{foreach $elements as $collection}}
{{foreach $collection as $inputName => $input}}
{{if $inputName == 'shipping_address'}}
{{foreach $input->options['options'] as $val => $option}}
{{if $val !== 0}}
{{endif}}
{{endforeach}}
{{endif}}
{{endforeach}}
{{endforeach}}
{lang="change_address"}
]]>
add( $item->linePrice()->amount );}}
{{$totalItems += $item->quantity;}}
{{endif}}
{{endforeach}}
{lang="order_review"}
{lang="summary_items" pluralize="$totalItems"}
{money="$itemTotal"}
{{foreach $summary['items'] as $item}}
{{if $item instanceof \IPS\nexus\extensions\nexus\Item\CouponDiscount}}
{lang="coupon"}
{$item->linePrice()}
{{endif}}
{{endforeach}}
{lang="subtotal"}
{$summary['subtotal']}
{{foreach $summary['shipping'] as $shipping}}
{lang="shipping"} ({$shipping->name})
{$shipping->linePrice()}
{{endforeach}}
{{foreach $summary['tax'] as $taxId => $tax}}
{lang="nexus_tax_{$taxId}"} ({expression="$tax['rate']*100"}%)
{$tax['amount']}
{{endforeach}}
]]>
{$form|raw}
{template="checkoutOrderSummary" group="checkout" app="nexus" params="$invoice->summary()"}
]]>
$v}}{$k}="{$v}"{{endforeach}} data-ipsForm>
{{foreach $hiddenValues as $k => $v}}
{{if \is_array($v)}}
{{foreach $v as $_k => $_v}}
{{endforeach}}
{{else}}
{{endif}}
{{endforeach}}
{{if $uploadField}}
{{endif}}
{lang="shipping_to"}
{{foreach $elements as $collection}}
{{foreach $collection as $inputName => $input}}
{{if $inputName != 'shipping_method'}}
{$input|raw}
{{endif}}
{{endforeach}}
{{endforeach}}
{lang="shipping_options"}
{{foreach $elements as $collection}}
{{foreach $collection as $inputName => $input}}
{{if $inputName == 'shipping_method'}}
{$input->html()|raw}
{{endif}}
{{endforeach}}
{{endforeach}}
{lang="continue_to_review"}
]]>
{{if $checkoutStatus && $checkoutStatus != 'continue'}}
{{if $checkoutStatus === 'complete'}}
{lang="transaction_title_success"}
{{elseif $checkoutStatus === 'waiting'}}
{lang="transaction_title_waiting"}
{{elseif $checkoutStatus === 'hold'}}
{lang="transaction_title_hold"}
{{elseif $checkoutStatus === 'pending'}}
{lang="transaction_title_pending"}
{{elseif $checkoutStatus === 'refused'}}
{lang="transaction_title_refused"}
{{endif}}
{{else}}
{lang="checkout"}
{{endif}}
{{if \IPS\Request::i()->isSecure() === TRUE}}
{lang="secure_page"}
{{endif}}
]]>
{{if $invoice->billaddress or $invoice->hasPhysicalItems()}}
{{if $invoice->billaddress}}
{$invoice->billaddress->toString(' ')|raw}
{{if isset( $invoice->billaddress->vat ) and $invoice->billaddress->vat}}
{lang="cm_checkout_vat_number"}: {$invoice->billaddress->vat}
{{endif}}
{{endif}}
{{if $invoice->hasPhysicalItems()}}
{$invoice->shipaddress->toString(' ')|raw}
{{endif}}
{{endif}}
{{if $invoice->member->email}}
{lang="confirmation_sent_to" sprintf="$invoice->member->email"}
{{endif}}
{$couponForm|raw}
{{if \IPS\Request::i()->isSecure() === TRUE}}
{lang="secure_payment"}
{{else}}
{lang="payment"}
{{endif}}
{$form|raw}
{lang="order_review"}
{{foreach $summary['items'] as $item}}
{{if !( $item instanceof \IPS\nexus\extensions\nexus\Item\CouponDiscount )}}
{{if $image = $item->image()}}
{{else}}
{{endif}}
{$item->quantity} x {$item->name}
{{if \count( $item->details )}}
{{foreach $item->details as $k => $v}}
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}
{{endforeach}}
{{endif}}
{$item->linePrice()}
{{if $item->quantity > 1}}
{lang="each_short" sprintf="$item->price"}
{{endif}}
{{endif}}
{{endforeach}}
{{foreach $summary['items'] as $item}}
{{if $item instanceof \IPS\nexus\extensions\nexus\Item\CouponDiscount}}
{lang="coupon"}
{$item->linePrice()}
{{endif}}
{{endforeach}}
{lang="subtotal"}
{$summary['subtotal']}
{{foreach $summary['shipping'] as $shipping}}
{lang="shipping"} ({$shipping->name})
{$shipping->linePrice()}
{{endforeach}}
{{foreach $summary['tax'] as $taxId => $tax}}
{lang="nexus_tax_{$taxId}"} ({expression="$tax['rate']*100"}%)
{$tax['amount']}
{{endforeach}}
{{if $transactionsReceived = $invoice->transactions( array( \IPS\nexus\Transaction::STATUS_PAID, \IPS\nexus\Transaction::STATUS_PART_REFUNDED, \IPS\nexus\Transaction::STATUS_HELD, \IPS\nexus\Transaction::STATUS_REVIEW, \IPS\nexus\Transaction::STATUS_GATEWAY_PENDING ) )}}
{{if \count( $transactionsReceived )}}
{{foreach $transactionsReceived as $id => $transaction}}
{lang="payment_received"}
{money="$transaction->amount->amount->subtract( $transaction->partial_refund->amount )->multiply( new \IPS\Math\Number('-1') )" currency="$transaction->currency"}
{{endforeach}}
{lang="total_to_pay"}
{$invoice->amountToPay( TRUE )}
{{else}}
{lang="total"}
{$invoice->amountToPay()}
{{endif}}
{{endif}}
{{if \count( $recurrings )}}
{{$taxAmount = new \IPS\Math\Number('0');}}
{{foreach $recurrings as $recurring}}
{lang="renewals_header" sprintf="$recurring['term']->getTermUnit()"}
{{foreach $recurring['items'] as $rId => $item}}
{{if !( $item instanceof \IPS\nexus\extensions\nexus\Item\CouponDiscount )}}
{{if $image = $item->image()}}
{{else}}
{{endif}}
{$item->quantity} x {$item->name}
{{if \count( $item->details )}}
{{foreach $item->details as $k => $v}}
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}
{{endforeach}}
{{endif}}
{{if $item instanceof \IPS\nexus\Invoice\Item\Renewal}}
{$item->linePrice()}
{{else}}
{{if isset( $overriddenRenewalTerms[ $rId ] )}}
{money="$overriddenRenewalTerms[ $rId ]->cost->amount->multiply( new \IPS\Math\Number( (string) $item->quantity ) )" currency="$overriddenRenewalTerms[ $rId ]->cost->currency"}
{{elseif $item->renewalTerm}}
{money="$item->renewalTerm->cost->amount->multiply( new \IPS\Math\Number( (string) $item->quantity ) )" currency="$item->renewalTerm->cost->currency"}
{{endif}}
{{endif}}
{{if $item->quantity > 1 AND (!$item instanceof \IPS\nexus\Invoice\Item\Renewal)}}
{lang="each_short" sprintf="$item->renewalTerm->cost"}
{{endif}}
{{endif}}
{{endforeach}}
{{if $recurring['term']->tax and $taxRate = $recurring['term']->tax->rate( $invoice->billaddress ) and $taxAmount = $recurring['term']->cost->amount->multiply( new \IPS\Math\Number( $taxRate ) )}}
{$recurring['term']->tax->_title} ({expression="$taxRate*100"}%)
{money="$taxAmount" currency="$recurring['term']->cost->currency"}
{{endif}}
{lang="total_due_on" sprintf="$recurring['dueDate']->relative()"}
{money="$recurring['term']->cost->amount->add( $taxAmount )" currency="$recurring['term']->cost->currency"}
{{endforeach}}
{{endif}}
{{if settings.nexus_tac === 'button'}}
{lang="you_agree_to_tac" sprintf="\IPS\Settings::i()->nexus_tac_link"}
{{endif}}
]]>
$v}}{$k}="{$v}"{{endforeach}} data-ipsForm data-role='couponForm'>
{{foreach $hiddenValues as $k => $v}}
{{if \is_array($v)}}
{{foreach $v as $_k => $_v}}
{{endforeach}}
{{else}}
{{endif}}
{{endforeach}}
{{if $uploadField}}
{{endif}}
{{if $form->error}}
{$form->error}
{{endif}}
{lang="do_you_have_coupon"}
{{foreach $elements as $collection}}
{{foreach $collection as $inputName => $input}}
{$input->html()|raw}
{{if $input->error}}
{lang="$input->error"}
{{endif}}
{{endforeach}}
{{endforeach}}
{lang="apply_coupon"}
]]>
customer_submitted )}}data-regform="true"{{endif}}>
{{$usernamePasswordMethods = $login->usernamePasswordMethods();}}
{{$buttonMethods = $login->buttonMethods();}}
{{if \IPS\Login::registrationType() != 'disabled' or ( $usernamePasswordMethods and $buttonMethods )}}
{lang="returning_member"}
{{if \IPS\Login::registrationType() != 'disabled'}}
{{endif}}
{{if $usernamePasswordMethods and $buttonMethods}}
{{endif}}
{lang="create_new_account"}
{$informationForm|raw}
{{else}}
{{if $loginError !== NULL}}
{template="message" group="global" location="global" app="core" params="$loginError, 'error'"}
{{endif}}
{{endif}}
{{else}}
{lang="billing_information"}
{$informationForm|raw}
{template="checkoutOrderSummary" group="checkout" app="nexus" params="$invoice->summary()"}
{{endif}}]]>
$v}}{$k}="{$v}"{{endforeach}} data-ipsForm>
{{foreach $hiddenValues as $k => $v}}
{{if \is_array($v)}}
{{foreach $v as $_k => $_v}}
{{endforeach}}
{{else}}
{{endif}}
{{endforeach}}
{{if $uploadField}}
{{endif}}
{{if $form->error}}
{$form->error}
{{endif}}
{{foreach $elements as $collection}}
{{foreach $collection as $inputName => $input}}
{$input|raw}
{{endforeach}}
{{endforeach}}
{lang="continue_to_review"}
]]>
{lang="order_review"}
]]>
$v}}{$k}="{$v}"{{endforeach}} data-ipsForm>
{{foreach $hiddenValues as $k => $v}}
{{if \is_array($v)}}
{{foreach $v as $_k => $_v}}
{{endforeach}}
{{else}}
{{endif}}
{{endforeach}}
{{if $uploadField}}
{{endif}}
{{if $form->error}}
{$form->error}
{{endif}}
{{foreach $elements as $collection}}
{{foreach $collection as $inputName => $input}}
{{if $inputName == 'payment_method'}}
{{else}}
{{endif}}
{{endforeach}}
{{endforeach}}
{{if $showSubmitButton}}
{{if $amountToPay->amount->isZero()}}
{lang="confirm_and_no_pay"}
{{elseif $amountToPay->amount->compare( $invoice->total->amount ) !== 0}}
{lang="confirm_and_pay_split" sprintf="$amountToPay"}
{{else}}
{lang="confirm_and_pay"}
{{endif}}
{{endif}}
]]>
{lang="order_fail_blurb"}
{{if isset( $transaction->extra['publicNote'] )}}
{$transaction->extra['publicNote']}
{{endif}}
{{if \IPS\Member::loggedIn()->canUseContactUs() and !( \IPS\Dispatcher::i()->application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'contact' )}}
{lang="contact"}
{{endif}}
{lang="try_another_payment"}
]]>
{lang="order_thanks_blurb_no_email"}
{lang="order_processing_blurb"}
{lang="order_processing_blurb2"}
{{if member.member_id}}
{lang="track_orders_in_billing"}
{{endif}}
{template="orderReview" group="checkout" app="nexus" params="$invoice ?: $transaction->invoice"}]]>
{lang="order_thanks_blurb_no_email"}
{lang="order_held_blurb"}
{lang="order_held_blurb2"}
{{if member.member_id}}
{lang="track_orders_in_billing"}
{{endif}}
{{if isset( $transaction->extra['publicNote'] )}}
{$transaction->extra['publicNote']}
{{endif}}
{template="orderReview" group="checkout" app="nexus" params="$transaction->invoice"}]]>
{lang="order_thanks_blurb"}
{lang="manage_orders_in_billing"}.
{template="orderReview" group="checkout" app="nexus" params="$transaction->invoice"}
{{else}}
{lang="order_split_payment_success"}
{lang="order_split_payment_success2"}
{{if $invoice = $transaction->invoice}}
{lang="return_to_checkout"}
{{endif}}
{{endif}}]]>
{lang="order_thanks_blurb_no_email"}
{lang="order_wait_blurb"}
{lang="order_wait_blurb2"}
{$transaction->method->manualPaymentInstructions( $transaction )|raw}
{{if member.member_id}}
{lang="track_orders_in_billing"}
{{endif}}
{template="orderReview" group="checkout" app="nexus" params="$transaction->invoice"}]]>
{$address->address->toString(' ')|raw}
{{if isset( $address->address->vat ) and $address->address->vat}}
{lang="cm_checkout_vat_number"}: {$address->address->vat}
{{endif}}
{{if !$address->primary_billing || !$address->primary_shipping}}
{{endif}}]]>
{lang="address_add"}
{lang="address_book"}
{lang="address_book_info"}
{{if $billingAddress || $shippingAddress}}
{{if $billingAddress}}
{lang="address_default_billing"}
{template="address" group="clients" app="nexus" params="$billingAddress"}
{{endif}}
{{if $shippingAddress}}
{lang="address_default_shipping"}
{template="address" group="clients" app="nexus" params="$shippingAddress"}
{{endif}}
{{endif}}
{{if \count( $otherAddresses )}}
{lang="address_other_addresses"}
{{foreach $otherAddresses as $address}}
{template="address" group="clients" app="nexus" params="$address"}
{{endforeach}}
{{endif}}]]>
{lang="altcontact_add"}
{lang="altcontact_title"}
{lang="altcontact_info"}
{{if !$protected}}
{{if !\count( \IPS\nexus\Customer::loggedIn()->alternativeContacts() )}}
{lang="altcontact_none" sprintf="\IPS\Member::loggedIn()->language()->addToStack('altcontact_add')"}
{{else}}
{{endif}}
{{endif}}]]>
{{if $billingAgreement->status() === \IPS\nexus\Customer\BillingAgreement::STATUS_ACTIVE}}
{{elseif $billingAgreement->status() === \IPS\nexus\Customer\BillingAgreement::STATUS_SUSPENDED}}
{{elseif $billingAgreement->status() === \IPS\nexus\Customer\BillingAgreement::STATUS_CANCELED}}
{{endif}}
{lang="billing_agreement" sprintf="$billingAgreement->gw_id"}
{$billingAgreement->term()}
{{if \count( $purchases[0] )}}
{lang="billing_agreement_purchases"}
{template="purchaseList" group="clients" params="0, $purchases, FALSE, $billingAgreement"}
{{endif}}
{lang="billing_agreement_payments"}
{{if $invoicePagination}}
{$invoicePagination|raw}
{{endif}}
{{foreach $invoices as $invoice}}
{template="invoiceList" group="clients" params="$invoice, $billingAgreement"}
{{endforeach}}
{{if $invoicePagination}}
{$invoicePagination|raw}
{{endif}}]]>
{lang="billing_agreements_title"}
{lang="billing_agreements_info"}
{{if !\count( $billingAgreements )}}
{lang="billing_agreements_none"}
{{else}}
{{foreach $billingAgreements as $billingAgreement}}
{{if $billingAgreement['status'] === \IPS\nexus\Customer\BillingAgreement::STATUS_ACTIVE}}
{{elseif $billingAgreement['status'] === \IPS\nexus\Customer\BillingAgreement::STATUS_SUSPENDED}}
{{elseif $billingAgreement['status'] === \IPS\nexus\Customer\BillingAgreement::STATUS_CANCELED}}
{{else}}
{{endif}}
{$billingAgreement['id']}
{$billingAgreement['term']}
{{endforeach}}
{{endif}}]]>
{lang="cards_add"}
{lang="cards_title"}
{lang="cards_info"}
{{if \count( $cards )}}
{{foreach $cards as $card}}
{{if $card['card_type'] === 'paypal' or $card['card_type'] === 'venmo'}}
{$card['card_number']}
{{else}}
{{if $card['card_type'] == 'american_express' OR $card['card_type'] == 'diners_club'}}
XXXX XXXXXX X{$card['card_number']}
{{else}}
XXXX XXXX XXXX {$card['card_number']}
{{endif}}
{{endif}}
{{if $card['card_type']}}
{lang="card_type_{$card['card_type']}"}
{{endif}}
{{if $card['card_expire']}}
{lang="cards_exp"}
{$card['card_expire']}
{{endif}}
×
{{endforeach}}
{{else}}
{lang="no_credit_cards"}
{{endif}}]]>
{lang="credit_title"}
{{if \count( $balance )}}
{{foreach $balance as $amount}}
{lang="credit_balance"} {{if \count( $balance ) > 1}}({$amount->currency}){{endif}}
{$amount}
{{endforeach}}
{{elseif $balance !== NULL}}
{lang="credit_balance"}
{money="0" currency="\IPS\nexus\Customer::loggedIn()->defaultCurrency()"}
{{endif}}
{{if $canWithdraw or $canTopup}}
{{endif}}
{{if \count( \IPS\nexus\Customer::loggedIn()->parentContacts( array('billing=1') ) )}}
{lang="credit_altcontact"}
{{foreach \IPS\nexus\Customer::loggedIn()->parentContacts( array('billing=1') ) as $contact}}
{template="userPhoto" group="global" app="core" params="$contact->main_id, 'tiny'"}
{$contact->main_id->cm_name}
{{$val = FALSE;}}
{{foreach $contact->main_id->cm_credits as $credit}}
{{if $credit->amount->isGreaterThanZero()}}
{{$val = TRUE;}}
{lang="credit_balance"} {{if \count( $contact->main_id->cm_credits ) > 1}}({$credit->currency}){{endif}}
{$credit}
{{endif}}
{{endforeach}}
{{if !$val}}
{lang="credit_balance"}
{money="0" currency="$contact->main_id->defaultCurrency()"}
{{endif}}
{{endforeach}}
{{endif}}
{{if isset( request.withdraw )}}
{{if request.withdraw === 'success'}}
{lang="payout_status_success"}
{{elseif request.withdraw === 'pending'}}
{lang="payout_status_pending"}
{{endif}}
{{endif}}
{{if \count( $pastWithdrawals ) or $canWithdraw}}
{lang="credit_withdrawal_history"}
{{if \count( $pastWithdrawals )}}
{{foreach $pastWithdrawals as $withdrawal}}
{{if $withdrawal->status === \IPS\nexus\Payout::STATUS_COMPLETE}}
{{elseif $withdrawal->status === \IPS\nexus\Payout::STATUS_PENDING}}
{{elseif $withdrawal->status === \IPS\nexus\Payout::STATUS_CANCELED}}
{{endif}}
{$withdrawal->amount}
{datetime="$withdrawal->date"}
{{if $withdrawal->status === \IPS\nexus\Payout::STATUS_PENDING}}
{{endif}}
{{endforeach}}
{$pastWithdrawalsPagination|raw}
{{else}}
{lang="credit_no_withdrawals"}
{{endif}}
{{endif}}
]]>
{lang="current_donation_goals"}
{{if request.thanks}}
{lang="thanks_for_your_donation"}
{{endif}}
{{foreach \IPS\nexus\Donation\Goal::roots() as $goal}}
{$goal->_title}
{{if $desc = member.language()->get("nexus_donategoal_{$goal->id}_desc")}}
{{endif}}
{{if $goal->goal}}
{lang="donate_progress" sprintf="new \IPS\nexus\Money( $goal->current, $goal->currency ), new \IPS\nexus\Money( $goal->goal, $goal->currency )"}
{{else}}
{lang="donate_sofar" sprintf="new \IPS\nexus\Money( $goal->current, $goal->currency )"}
{{endif}}
{{endforeach}}]]>
{lang="customerinfo_title"}
{$form|raw}
]]>
{lang="order_title"} #{$invoice->id}
{lang="order_placed"} {datetime="$invoice->date" lowercase="true"}
{{if $invoice->billaddress or ( $invoice->hasPhysicalItems() && $invoice->shipaddress ) }}
{{if $invoice->billaddress }}
{lang="billing_address"}
{$invoice->billaddress->toString(' ')|raw}
{{endif}}
{{if $invoice->hasPhysicalItems() && $invoice->shipaddress}}
{lang="shipping_address"}
{$invoice->shipaddress->toString(' ')|raw}
{{endif}}
{{endif}}
{{if $invoice->notes}}
{lang="invoice_notes"}
{expression="nl2br( htmlspecialchars( $invoice->notes, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ) )" raw="true"}
({lang="edit"})
{{else}}
{lang="order_add_invoice_notes"}
{{endif}}
{lang="order_order_total"}
{lang="istatus_{$invoice->status}"} {$invoice->total}
{{if $invoice->status === $invoice::STATUS_PENDING}}
{{elseif $invoice->status === $invoice::STATUS_EXPIRED}}
{lang="order_invoice_expired"}
{{elseif $invoice->status === $invoice::STATUS_CANCELED}}
{lang="order_invoice_cancelled"}
{{elseif $invoice->status === $invoice::STATUS_PAID}}
{lang="order_invoice_paid"}
{{if $invoice->billaddress AND \count( $invoice->transactions( array( \IPS\nexus\Transaction::STATUS_PAID, \IPS\nexus\Transaction::STATUS_WAITING, \IPS\nexus\Transaction::STATUS_HELD, \IPS\nexus\Transaction::STATUS_REVIEW, \IPS\nexus\Transaction::STATUS_REFUSED, \IPS\nexus\Transaction::STATUS_REFUNDED, \IPS\nexus\Transaction::STATUS_PART_REFUNDED, \IPS\nexus\Transaction::STATUS_GATEWAY_PENDING ) ) ) > 0 }}
{lang="order_view_payment"}
{{endif}}
{{if $invoice->billaddress}}
{template="paymentLog" group="clients" app="nexus" params="$invoice"}
{{endif}}
{{endif}}
{{$shipments = $invoice->shipments( array( \IPS\nexus\Shipping\Order::STATUS_SHIPPED, \IPS\nexus\Shipping\Order::STATUS_PENDING ) );}}
{{$summary = $invoice->summary();}}
{{if \count( $shipments )}}
{{endif}}
{{if \count( $shipments )}}
{{foreach $shipments as $shipment}}
{{if $shipment->status === $shipment::STATUS_SHIPPED}}
{lang="sstatus_{$shipment->status}"}
{lang="order_shipped" pluralize="$shipment->itemCount()" sprintf="$shipment->shipped_date, $shipment->method->_title"} {{if $shipment->tracknumber}}({$shipment->tracknumber}) {{endif}}
{{if $shipment->trackingUrl()}}
{lang="order_track_delivery"}
{{endif}}
{{elseif $shipment->status === $shipment::STATUS_PENDING}}
{lang="sstatus_{$shipment->status}"}
{lang="order_will_ship" pluralize="$shipment->itemCount()" sprintf="$shipment->method->_title"}
{{endif}}
{{endforeach}}
{{endif}}]]>
{datetime="$invoice->date"}
{lang="order_title"} #{$invoice->id} ·
{lang="order_view_details"}
{lang="istatus_{$invoice->status}"} {$invoice->total}
{{if !$fromBillingAgreement}}
{{$summary = $invoice->summary();}}
{{if \count( $summary['items'] )}}
{{foreach $summary['items'] as $k => $item}}
{{if $image = $item->image()}}
{{else}}
{{endif}}
{{if $url = $item->url()}}
{$item->name}
{{else}}
{$item->name}
{{endif}}
{lang="quantity"}: {$item->quantity}
{lang="invoice_unit_price"}: {$item->price}
{{endforeach}}
{{else}}
{lang="orders_no_items"}
{{endif}}
{{endif}}
]]>
language()->addToStack('orders_title')"}
{{if \count( $invoices )}}
{{if trim($pagination)}}
{$pagination|raw}
{{endif}}
{{foreach $invoices as $invoice}}
{template="invoiceList" group="clients" params="$invoice"}
{{endforeach}}
{{if $pagination}}
{$pagination|raw}
{{endif}}
{{else}}
{{endif}}
]]>
{lang="network_status_text_val"}
{{if \count( $servers )}}
{{foreach $servers as $server}}
{{if $server->monitor_fails}}
{{if $server->monitor_acknowledged}}
{{else}}
{{endif}}
{{else}}
{{endif}}
{{if $server->monitor_fails}}{{endif}}{$server->hostname}{{if $server->monitor_fails}} {{endif}}
{{if $server->monitor_fails}}
{{if $server->monitor_acknowledged}}
{lang="network_status_known_issue"}
{{else}}
{lang="network_status_potential_issue"}
{{endif}}
{{else}}
{lang="network_status_normal"}
{{endif}}
{{endforeach}}
{{else}}
{lang="network_status_no_issues"}
{{endif}}]]>
{{foreach $invoice->transactions( array( \IPS\nexus\Transaction::STATUS_PAID, \IPS\nexus\Transaction::STATUS_WAITING, \IPS\nexus\Transaction::STATUS_HELD, \IPS\nexus\Transaction::STATUS_REVIEW, \IPS\nexus\Transaction::STATUS_REFUSED, \IPS\nexus\Transaction::STATUS_REFUNDED, \IPS\nexus\Transaction::STATUS_PART_REFUNDED, \IPS\nexus\Transaction::STATUS_GATEWAY_PENDING ) ) as $thisTransaction}}
{{if $thisTransaction->status === $thisTransaction::STATUS_PAID}}
{lang="transaction_paid" sprintf="$thisTransaction->amount, ( $thisTransaction->method ) ? $thisTransaction->method->_title : \IPS\Member::loggedIn()->language()->get('account_credit')"}
{datetime="$thisTransaction->date"}
{{elseif $thisTransaction->status === $thisTransaction::STATUS_WAITING}}
{{elseif $thisTransaction->status === $thisTransaction::STATUS_HELD or $thisTransaction->status === $thisTransaction::STATUS_REVIEW}}
{lang="transaction_awaiting_approval"}: {lang="transaction_paid" sprintf="$thisTransaction->amount, $thisTransaction->method->_title"}
{datetime="$thisTransaction->date"}
{{if $thisTransaction->gw_id}}
{lang="payment_ref"}: {$thisTransaction->gw_id}
{{endif}}
{{elseif $thisTransaction->status === $thisTransaction::STATUS_GATEWAY_PENDING}}
{lang="transaction_processing"}: {lang="transaction_paid" sprintf="$thisTransaction->amount, $thisTransaction->method->_title"}
{datetime="$thisTransaction->date"}
{{elseif $thisTransaction->status === $thisTransaction::STATUS_REFUSED}}
{lang="transaction_declined" sprintf="$thisTransaction->amount, $thisTransaction->method->_title"}
{{if $thisTransaction->gw_id}}
{lang="payment_ref"}: {$thisTransaction->gw_id}
{{endif}}
{{elseif $thisTransaction->status === $thisTransaction::STATUS_REFUNDED}}
{lang="transaction_refunded" sprintf="$thisTransaction->amount, ( $thisTransaction->method ) ? $thisTransaction->method->_title : \IPS\Member::loggedIn()->language()->get('account_credit')"}
{{if $thisTransaction->gw_id}}
{lang="payment_ref"}: {$thisTransaction->gw_id}
{{endif}}
{{elseif $thisTransaction->status === $thisTransaction::STATUS_PART_REFUNDED}}
{lang="transaction_paid" sprintf="$thisTransaction->amount, ( $thisTransaction->method ) ? $thisTransaction->method->_title : \IPS\Member::loggedIn()->language()->get('account_credit')"}
{datetime="$thisTransaction->date"}
{{if $thisTransaction->partial_refund->amount->isGreaterThanZero()}}
{lang="transaction_part_refunded" sprintf="$thisTransaction->partial_refund"}
{{endif}}
{{if $thisTransaction->credit->amount->isGreaterThanZero()}}
{lang="transaction_part_credited" sprintf="$thisTransaction->credit"}
{{endif}}
{{if $thisTransaction->gw_id}}
{lang="payment_ref"}: {$thisTransaction->gw_id}
{{endif}}
{{endif}}
{{endforeach}}
]]>
clientAreaPage(); } catch( \ErrorException $e ) { $extra = array(); } }}
{{if $image = $purchase->image()}}
url )"}" );'>
{{else}}
{{endif}}
{{if ( $purchase->expire AND $canRenewUntil = $purchase->canRenewUntil(NULL,TRUE) ) OR $purchase->canCancel()}}
{{endif}}
{lang="ps_start"}
{$purchase->start->localeDate()}
{{if $purchase->expire}}
{lang="ps_expire"}
{$purchase->expire->localeDate()}
{{endif}}
{{if $purchase->renewals and !$purchase->grouped_renewals}}
{lang="purchase_renewal_terms"}
{$purchase->renewals->toDisplay( $purchase->member )}
{{endif}}
{{if $purchase->billing_agreement AND !$purchase->billing_agreement->canceled}}
{lang="ps_billing_agreement"}
{$purchase->billing_agreement->gw_id}
{{endif}}
{$purchase->name}
{{if $purchase->cancelled}}
{lang="purchase_canceled"}
{{elseif !$purchase->active}}
{lang="purchase_expired"}
{{elseif $purchase->expire}}
{{if $purchase->grace_period and $purchase->expire->getTimestamp() < time()}}
{lang="purchase_in_grace_period_front"}
{{else}}
{lang="purchase_active"}
{{endif}}
{{endif}}
{lang="$purchase->getTypeTitle()"}
{{if $pendingInvoice = $purchase->invoice_pending and $pendingInvoice->status === $pendingInvoice::STATUS_PENDING}}
{{endif}}
{{if $lkey = $purchase->licenseKey()}}
{lang="purchase_license_key"}
{$lkey->key}
{{endif}}
{{if isset( $extra['packageInfo'] )}}
{lang="purchase_package_info"}
{template="richText" group="global" app="core" location="global" params="$extra['packageInfo'], array('ipsType_normal', 'ipsContained', 'ipsType_break', 'ipsSpacer_bottom')"}
{{endif}}
{{if isset( $extra['purchaseInfo'] )}}
{$extra['purchaseInfo']|raw}
{{endif}}
]]>
{{if !$fromBillingAgreement and $pendingInvoice = $purchase->invoice_pending and $pendingInvoice->status === $pendingInvoice::STATUS_PENDING}}
{lang="purchase_pending_invoice"} {{if $pendingInvoice->canView()}}{lang="order_pay_now"} {{endif}}
{{endif}}
{lang="purchase_status"}
{{if $purchase->active}}{{if $purchase->grace_period and $expire = $purchase->expire and $expire->getTimestamp() < time()}}{lang="purchase_in_grace_period_front"} {{else}}{lang="purchase_active"} {{endif}}{{elseif $purchase->cancelled}}{lang="purchase_canceled"} {{else}}{lang="purchase_expired"} {{endif}}
{lang="ps_start"}
{$purchase->start->localeDate()}
{{if $purchase->expire}}
{lang="ps_expire"}
{$purchase->expire->localeDate()}
{{endif}}
{{if !$fromBillingAgreement and $purchase->billing_agreement AND !$purchase->billing_agreement->canceled}}
{{endif}}
{{if isset( $purchases[ $purchase->id ])}}
{template="purchaseList" group="clients" params="$purchase->id, $purchases, TRUE"}
{{endif}}
{{endforeach}}]]>
{lang="purchases_title"}
{{if \count( $purchases )}}
{lang="purchases_info"}
{template="purchaseList" group="clients" params="0, $purchases"}
{{else}}
{lang="purchases_none"}
{{endif}}]]>
]]>
{{if $sparkline }}
{$sparkline|raw}
{lang="revenue_past_12_months"}
{{endif}}
{{if \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'customers', 'customers_view_credit' )}}
{{foreach \IPS\nexus\Money::currencies() as $currency}}
{lang="client_credit"}
{{if isset( $customer->cm_credits[ $currency ] )}}
{$customer->cm_credits[ $currency ]}
{{else}}
{money="0" currency="$currency"}
{{endif}}
{{if member.hasAcpRestriction( 'nexus', 'customers', 'customers_edit_credit' )}}
{lang="edit"}
{{endif}}
{{endforeach}}
{{endif}}
{lang="primary_address"}
{{if $primaryBillingAddress}}
{$primaryBillingAddress->toString(' ')|raw}
{{if isset( $primaryBillingAddress->vat ) and $primaryBillingAddress->vat}}
{lang="cm_checkout_vat_number"}: {template="vatNumber" app="nexus" group="global" params="$primaryBillingAddress->vat"}
{{endif}}
{{else}}
{lang="no_primary_address"}
{{endif}}
{lang="edit_addresses_count" sprintf="$addressCount"}
{{if \count( \IPS\nexus\Customer\CustomField::roots() ) or member.hasAcpRestriction( 'nexus', 'customers', 'customers_edit_details' )}}
{lang="customer_information"}
{{if member.hasAcpRestriction( 'nexus', 'customers', 'customers_edit_details' )}}
{lang="edit_information"}
{{endif}}
{{foreach \IPS\nexus\Customer\CustomField::roots() as $field}}
{{$column = $field->column;}}
{{if $displayValue = $field->displayValue( $customer->$column, TRUE )}}
{$field->_title}
{$displayValue|raw}
{{endif}}
{{endforeach}}
{{endif}}
{{if member.hasAcpRestriction( 'nexus', 'customers', 'customers_void' )}}
member_id}"}" class="ipsButton ipsButton_verySmall ipsButton_negative ipsButton_fullWidth" data-ipsDialog data-ipsDialog-title="{lang="void_account"}">{lang="void_account"}
{{endif}}
]]>
{{$count = \count( $table->getRows(NULL) );}}
{{if $count}}{{endif}}{$title}{{if $count}} {{endif}}
{$table|raw}
{lang="customer_manage_{$type}"}
]]>
{$address['address']|raw}
{{if $address['_buttons']}}
{template="controlStrip" params="$address['_buttons'], 'ipsControlStrip_showText'" group="global" app="core"}
{{endif}}
]]>
rootButtons, ''" group="global" app="core" if="isset( $headers['_buttons'] )"}
{{if \count( $rows )}}
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_addresses"}
{{endif}}
]]>
{{if $billing}}
{lang="address_default_billing"}
{template="addressItem" group="customers" app="nexus" params="$billing"}
{{endif}}
{{if $shipping}}
{lang="address_default_shipping"}
{template="addressItem" group="customers" app="nexus" params="$shipping"}
{{endif}}
{{endif}}
{{if ( $billing && $shipping && \count( $rows ) > 2 ) || ( $billing || $shipping && \count( $rows ) > 1 ) || !$billing && !$shipping && \count( $rows )}}
{{foreach $rows as $row}}
{{if !$row['primary_billing'] && !$row['primary_shipping']}}
{template="addressItem" group="customers" app="nexus" params="$row"}
{{endif}}
{{endforeach}}
{{endif}}]]>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_alternate_contacts"}
{{endif}}]]>
{$row['alt_id']|raw}
{$row['email']}
{{endforeach}}]]>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_billing_agreements"}
{{endif}}]]>
{$row['gw_id']}
{{if $row['next_cycle']}}{lang="ba_next_cycle"} {$row['next_cycle']}{{endif}}
{{endforeach}}]]>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_credit_cards"}
{{endif}}]]>
{{if $row['card_type'] == 'paypal' or $row['card_type'] == 'venmo'}}{$row['card_number']}{{elseif $row['card_type'] == 'american_express' OR $row['card_type'] == 'diners_club'}}XXXX-XXXXXX-X{$row['card_number']}{{else}}XXXX-XXXX-XXXX-{$row['card_number']}{{endif}}
{{if $row['card_type']}}{lang="card_type_{$row['card_type']}"}{{else}}{lang="card_type_generic"}{{endif}}{{if isset( $row['card_expires'] )}}, {lang="card_expires_lc"} {$row['card_expire']}{{endif}}
{{endforeach}}]]>
rootButtons, ''" group="global" app="core" if="isset( $headers['_buttons'] )"}
{{if \count( $rows )}}
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_credit_cards"}
{{endif}}]]>
{{if $row['card_type'] == 'paypal' or $row['card_type'] === 'venmo'}}
{$row['card_number']}
{{else}}
{{if $row['card_type'] == 'american_express' OR $row['card_type'] == 'diners_club'}}
XXXX XXXXXX X{$row['card_number']}
{{else}}
XXXX XXXX XXXX {$row['card_number']}
{{endif}}
{{endif}}
{{if $row['card_type']}}
{lang="card_type_{$row['card_type']}"}
{{endif}}
{{if $row['card_expire']}}
{lang="cards_exp"}
{$row['card_expire']}
{{endif}}
×
{{endforeach}}]]>
isAjax()}}
{{endif}}
{$content|raw}
{{if \IPS\Request::i()->isAjax()}}
{{endif}}]]>
url()}" target="_blank" rel='noopener'>{$file->name}]]>
]]>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_invoices"}
{{endif}}]]>
{$row['i_total']}
{$row['i_status']|raw}
{{if $row['_buttons']['view']}}
{{endif}}
{$row['i_title']|raw} #{$row['i_id']}
{{if $row['_buttons']['view']}}
{{endif}}
{lang="invoice_created"} {datetime="$row['i_date']"}
{template="controlStrip" params="$row['_buttons']" group="global" app="core"}
{{endforeach}}]]>
{{elseif $type === 'purchase'}}
{{elseif $type === 'transaction'}}
{{elseif $type === 'shipping'}}
{{elseif $type === 'comission' or $type === 'payout'}}
{{elseif $type === 'giftvoucher'}}
{{elseif $type === 'info'}}
{{elseif $type === 'address'}}
{{elseif $type === 'card'}}
{{elseif $type === 'alternative'}}
{{elseif $type === 'lkey'}}
{{elseif $type === 'support'}}
{{elseif $type === 'download'}}
{{elseif $type === 'billingagreement'}}
{{elseif $type === 'note'}}
{{elseif $type === 'custom'}}
{{else}}
{$type}
{{endif}}]]>
{{if $table->pages > 1}}
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit"}
{{endif}}
{template="buttons" params="$table->rootButtons, ''" group="global" app="core" if="isset( $headers['_buttons'] )"}
{{foreach $rows as $note}}
{{endforeach}}
{{if $table->pages > 1}}
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit"}
{{endif}}]]>
{{else}}
{{endif}}]]>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_customer_notes"}
{{endif}}]]>
{expression="strip_tags( str_replace( '>', '> ', str_replace( array( '
', '', '', '', '', '', '' ), ' ', \IPS\Text\Parser::removeElements( $row['note_text'], array( 'blockquote' ) ) ) ), ' ' )"}
{datetime="$row['note_date']"}, {member="name" id="$row['note_author']"}
{{endforeach}}]]>
name}[0]">
value[0] === 'n'}}selected{{endif}}>{lang="number_of_purchases"}
value[0] === 'v'}}selected{{endif}}>{lang="total_amount_spent"}
{lang="is"}
value[1] === 'g'}}selected{{endif}}>{lang="greater_than"}
value[1] === 'e'}}selected{{endif}}>{lang="exactly"}
value[1] === 'l'}}selected{{endif}}>{lang="less_than"}
{template="money" app="nexus" group="forms" location="global" params="$field->name . '[3]', json_decode( $field->value[2], TRUE ), array( 'unlimitedLang' => NULL )"}
{lang="or"}
value[1]}}checked{{endif}}>
{lang="no_restriction"} ]]>
{{foreach $parents as $parent}}
{{endforeach}}
]]>
{lang="purchases"}
]]>
name}[0]">
value[0] === 'g'}}selected{{endif}}>{lang="greater_than"}
value[0] === 'e'}}selected{{endif}}>{lang="exactly"}
value[0] === 'l'}}selected{{endif}}>{lang="less_than"}
{template="money" app="nexus" group="forms" location="global" params="$field->name . '[1]', json_decode( $field->value[1], TRUE ), array( 'unlimitedLang' => NULL )"}
{lang="or"}
value[0]}}checked{{endif}}>
{lang="no_restriction"} ]]>
{{if $row['cm_first_name'] and $row['cm_last_name']}}{$row['cm_last_name']}, {$row['cm_first_name']}{{else}}{$row['name']}{{endif}}]]>
member_id}"}" class="ipsUserPhoto ipsUserPhoto_mini"> ]]>
{{foreach $standing as $k => $data}}
{{$positive = false;}}
{{if ( $data['thisval'] >= $data['avgval'] && $data['type'] != 'support' && $data['type'] != 'timetopay' ) || ( $data['thisval'] <= $data['avgval'] && $data['type'] == 'support' && $data['type'] != 'timetopay' )}}
{{$positive = true;}}
{{endif}}
{$data['value']}
{{if $positive}}
{{if $data['type'] != 'support' and $data['type'] != 'timetopay'}}
{{else}}
{{endif}}
{{else}}
{{if $data['type'] != 'support' and $data['type'] != 'timetopay'}}
{{else}}
{{endif}}
{{endif}}
{{if $positive}}
{expression="abs( \intval( $data['avgpct'] - $data['thispct'] ) )"}%
{{if $data['type'] != 'support' && $data['type'] != 'timetopay'}}
{lang="above_average"}
{{else}}
{lang="below_average"}
{{endif}}
{{else}}
{expression="abs( \intval( $data['avgpct'] - $data['thispct'] ) )"}%
{{if $data['type'] != 'support' && $data['type'] != 'timetopay'}}
{lang="below_average"}
{{else}}
{lang="above_average"}
{{endif}}
{{endif}}
{$data['lowest']}
{$data['highest']}
{lang="avg_short"}
{$k}
{{endforeach}}
]]>
]]>
classes as $class}}{$class} {{endforeach}}' data-role="table" data-ipsKeyNav data-ipsKeyNav-observe='e d return'>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_support_requests"}
{{endif}}]]>
{{if $obj->unread()}} {{endif}}
{$row['r_title']|raw}
{$obj->truncated}
{lang="in_department" sprintf="$row['dpt_position']"} {{if isset( $row['r_staff'] )}} {lang="assigned_to_x" sprintf="$row['r_staff']"} {{endif}}
{lang="request_last_by_x" htmlsprintf="$row['r_last_reply_by'], $row['r_last_reply']"}
{$row['status_position']|raw}
{{endforeach}}]]>
{{foreach $fails as $id}}
{lang="transaction_number" sprintf="$id"}
{{endforeach}}
]]>
]]>
{lang="discount_purchasing"}
value )}}value="{$field->value['buying']}"{{endif}}>
value ) or !$field->value['package']}}checked{{endif}} > {lang="discount_this_product"}
value ) and $field->value['package']}}checked{{endif}} > {lang="discount_different_product"}
{$nodeSelect|raw}
{lang="discount_price_becomes"}
{lang="discount_price_becomes_once"}
]]>
{lang="discount_after_purchasing"}
value )}}value="{$field->value['owns']}"{{endif}}> {lang="discount_or_more"}
value ) and isset( $field->value['active'] ) and $field->value['active']}}checked{{endif}}> {lang="discount_active_only"}
value ) or !$field->value['package']}}checked{{endif}} > {lang="discount_this_product"}
value ) and $field->value['package']}}checked{{endif}} > {lang="discount_different_product"}
{$nodeSelect|raw}
{lang="discount_price_becomes"}
{lang="discount_price_becomes_always"}
]]>
{lang="discount_customer_in_group"}
{{foreach \IPS\Member\Group::groups() as $group}}value ) and $field->value['group'] == $group->g_id}}selected{{endif}}>{$group->name} {{endforeach}}
value ) and isset( $field->value['secondary'] ) and $field->value['secondary']}}checked{{endif}}> {lang="discount_check_secondary"}
{lang="discount_price_becomes"}
]]>
]]>
id}" class="ipsType_center" {{if $field->htmlId}}id="{$field->htmlId}"{{endif}}>
{lang="card_requires_js"}
{{if \IPS\NEXUS_TEST_GATEWAYS}}
{{else}}
{{endif}}
]]>
currency}" data-amount="{$amount->amount}" data-id="{$gateway->id}" {{if $field->htmlId}}id="{$field->htmlId}"{{endif}} {{if $shippingAddress}}data-shipping='{$shippingAddress}'{{endif}} data-venmo-profile="{$venmoProfile}" data-fieldName="{$field->name}" data-forceVault="{{if $paymentScreenType === 'card'}}true{{else}}false{{endif}}" data-advanced-fraud="{{if $advancedFraud}}true{{else}}false{{endif}}" data-googlepay-merchant="{$googlepayMerchant}">
{lang="card_requires_js"}
{{if $type == 'applepay' or $type == 'googlepay'}}
{{else}}
{{if $vaultAccounts !== NULL}}
{{endif}}
{{if $payPalCredit}}
{{else}}
{{endif}}
{{if $amount->amount->compare( $invoice->total->amount ) !== 0}}{lang="confirm_and_pay_split" sprintf="$amount"}{{else}}{lang="confirm_and_pay"}{{endif}}
{{endif}}
]]>
country AND !$value->city AND !$value->region AND !$value->postalCode}} data-ipsAddressForm-country="{$value->country}"{{endif}} {{if $vat}}data-controller="nexus.global.forms.businessAddressVat"{{endif}}>
country OR (!$value->city AND !$value->region AND !$value->postalCode)}}selected{{endif}}>{lang="country"}
{{foreach \IPS\GeoLocation::$countries as $k}}
country AND ( ( $value->city AND ( $value->postalCode OR $value->region ) ) OR !$minimize )}}selected{{endif}}>
{lang="country-{$k}"}
{{endforeach}}
{{foreach $value->addressLines as $i => $line}}
{{endforeach}}
{{if $vat}}
{{endif}}
]]>
{$field1->html()|raw}
{$field2->html()|raw}
{{if $name === 'f_maxmind'}}
/ 100
{{elseif $name === 'f_maxmind_proxy'}}
/ 4
{{endif}}
]]>
htmlId}}id="{$field->htmlId}"{{endif}} class=''>
{{if $field->options['attr']}}
options['attr'] as $k => $v}}{$k}="{$v}"{{endforeach}}>
{{endif}}
{{if $field->options['jsRequired']}}
{lang="card_requires_js"}
{{endif}}
options['loading'] and !\count( $storedCards )}}class="ipsLoading ipsFaded ipsFaded_more"{{endif}}>
{{if \count( $storedCards )}}
{{endif}}
{{if \count( $types )}}
{{foreach $types as $key => $lang}}
{lang="$lang"}
{{endforeach}}
{{endif}}
{lang="card_number"} {lang="required"}
{{if $field->options['dummy']}}
{{else}}
options['names']}}name="{$field->name}[number]"{{endif}} data-card="number" id="elInput_{$field->htmlId}-number" maxlength="16" value="{$number}" autocomplete="cc-number">
{{endif}}
{{if $field->error and !\in_array( $field->error, array( 'card_expire_expired', 'ccv_invalid', 'ccv_invalid_3', 'ccv_invalid_4' ) )}}{lang="$field->error"}{{endif}}
{lang="card_expire"} {lang="required"}
{{if $field->options['dummy']}}
{{else}}
options['names']}}name="{$field->name}[exp_month]"{{endif}} data-card="exp_month" id="elInput_{$field->htmlId}-exp_month" autocomplete="cc-exp-month">
MM
{{foreach range( 1, 12 ) as $m}}
{expression="str_pad( $m, 2, '0', STR_PAD_LEFT )"}
{{endforeach}}
options['names']}}name="{$field->name}[exp_year]"{{endif}} data-card="exp_year" id="elInput_{$field->htmlId}-exp_year" autocomplete="cc-exp-year">
YYYY
{{foreach range( date('Y'), date('Y') + 10 ) as $y}}
{$y}
{{endforeach}}
{{endif}}
{{if $field->error == 'card_expire_expired'}}{lang="$field->error"}{{endif}}
error == 'ccv_invalid_3' or $field->error == 'ccv_invalid_4'}}ipsFieldRow_error{{endif}}'>
{lang="card_ccv"} {lang="required"}
{{if $field->options['dummy']}}
{{else}}
options['names']}}name="{$field->name}[ccv]"{{endif}} data-card="ccv" id="elInput_{$field->htmlId}-ccv" maxlength="4" value="{$ccv}" autocomplete="cc-csc">
{{endif}}
{{if $field->error == 'ccv_invalid' or $field->error == 'ccv_invalid_3' or $field->error == 'ccv_invalid_4'}}{lang="$field->error"}{{endif}}
{{if $field->options['save']}}
{{endif}}
{{if \count( $storedCards )}}
{{endif}}
{{if $field->options['attr']}}
{{endif}}
]]>
{lang="cm"}
{lang="inches"}
]]>
amount : $value[$currency], $decimals, '.', '' )"}{{endif}}" class="ipsField_short" step="{expression="number_format(1/pow(10,$decimals),$decimals,'.','')"}"> {$currency}
{{endforeach}}
{{if $options['unlimitedLang'] !== NULL}}
{lang="or"}
{lang="$options['unlimitedLang']"}
{{endif}}]]>
id}" data-key="{$key}" data-country="{$country}" data-currency="{$currency}" data-amount="{$amount}" data-amountAsCents="{$amountAsCents}" data-invoice="{$invoice->id}" id="{$field->htmlId}">
{lang="card_requires_js"}
]]>
interval ) ? $value->getTerm() : NULL;}}
{{if $options['nullLang']}}
{lang="$options['nullLang']"}
{lang="or"}
{{endif}}
{{if !isset( $options['lockPrice'] ) or !$options['lockPrice']}}
{{endif}}]]>
$set}}
{lang="items_in_shipment"}
{{endforeach}}]]>
{{if $unlimited !== NULL}}
{lang="$unlimited"} {lang="or"}
{{endif}}
{{foreach \IPS\GeoLocation::$countries as $country}}
{{if isset( \IPS\GeoLocation::$states[ $country ] )}}
{{foreach \IPS\GeoLocation::$states[ $country ] as $state}}
{$state}
{{endforeach}}
{{else}}
{lang="country-{$country}"}
{{endif}}
{{endforeach}}
]]>
]]>
{$value['un']}
{$value['pw']}
{{endif}}]]>
{lang="kg"}
{lang="lb"}
{{if $unlimited !== NULL}}
{lang="or"}
{lang="$unlimited"}
{{endif}}]]>
{template="thumbImage" group="global" app="core" params="$package->image, $package->_title, 'small', '', 'view_this', $package->url()"}
]]>
id );}}
{{if $images = $item->images() and \count( $images )}}
{{foreach $images as $image}}
{{break;}}
{{endforeach}}
{{else}}
{{endif}}
{$item->mapped('title')}
{{if $item instanceof \IPS\Content\Ratings and $rating = $item->averageRating()}}
{template="rating" app="core" params="'large', $rating, 5" group="global"}
{{elseif isset( $item::$reviewClass ) AND $rating = $item->averageReviewRating()}}
{template="rating" app="core" params="'large', $rating, \IPS\Settings::i()->reviews_rating_out_of" group="global"}
{{if $item->reviews}}({lang="from_num_reviews" pluralize="$item->reviews"}){{else}}{lang="no_reviews_yet"}{{endif}}
{{endif}}
{template="packageBlockPrice" app="nexus" group="store" params="$asNode->fullPriceInfo()"}
{{if $asNode->stock === 0}}
{lang="out_of_stock"}
{{else}}
{lang="add_to_cart"}
{{endif}}
{{if $desc = $item->truncated(TRUE)}}
{$desc|raw}
{{endif}}
]]>
id );}}
{template="embedHeader" group="embed" app="core" params="$comment, \IPS\Member::loggedIn()->language()->addToStack( 'x_reviewed_product', FALSE, array( 'sprintf' => array( $comment->author()->name ) ) ), $comment->mapped('date'), $url"}
{{if $images = $item->images() and \count( $images )}}
{{foreach $images as $image}}
{{break;}}
{{endforeach}}
{{else}}
{{endif}}
{template="packageBlockPrice" app="nexus" group="store" params="$asNode->fullPriceInfo()"}
{$item->truncated(TRUE)|raw}
{template="rating" app="core" params="'veryLarge', $comment->mapped('rating')" group="global"}
{{if $comment->mapped('votes_total')}}
{$comment->helpfulLine()|raw}
{{endif}}
{$comment->truncated(TRUE)|raw}
{{if settings.reputation_enabled and \IPS\IPS::classUsesTrait( $comment, 'IPS\Content\Reactable' ) and \count( $comment->reactions() )}}
{template="reactionOverview" app="core" group="global" params="$comment, TRUE, 'small'"}
{{endif}}
]]>
{lang="referrals_title"}
{{foreach $rules as $rule}}
{$rule->commission}%
{$rule->description()}
{{$limit = $rule->commissionLimit();}}
{{if $rule->purchase_packages or $limit != ''}}
({{endif}}
{{if $rule->purchase_packages}}
{{if $rule->purchase_package_limit}}
{lang="ref_comm_limit_yes"}
{{else}}
{lang="ref_comm_limit_no"}
{{endif}}
{{endif}}
{{if $rule->commission_limit}}
{$rule->commissionLimit()}
{{endif}}
{{if $rule->purchase_packages or $limit != ''}})
{{endif}}
{{endforeach}}
{{endif}}]]>
{{else}}
{{endif}}
{{else}}
{{if $image}}
{{endif}}
application->directory == 'core' and \IPS\Dispatcher::i()->module and \IPS\Dispatcher::i()->module->key == 'search' )}}data-ipsTruncate data-ipsTruncate-type='remove' data-ipsTruncate-size='2 lines' data-ipsTruncate-watch='false'{{else}}data-searchable data-findTerm{{endif}}>
{lang="nexus_package_{$indexData['index_item_id']}_desc"}
{template="packageBlockPrice" app="nexus" group="store" params="$priceInfo"}
{{endif}}]]>
member_id}}
{{if $member->cm_name}}{$member->cm_name}{{else}}{$member->name}{{endif}}
{{else}}
{lang="guest"}
{{endif}}]]>
{$details['countryCode']}{$details['vatNumber']}
{{else}}
{$details['countryCode']}{$details['vatNumber']}
{{endif}}
{{else}}
{$number}
{{endif}}]]>
{lang="account_edit_warning" htmlsprintf="' '"}
]]>
]]>
acpUrl()}">{$accountOrUsername->domain}
{{else}}
{$accountOrUsername}
{{endif}}]]>
{lang="hserv_audit_all_ok"}
{{else}}
{lang="hserv_audit_all_err"}
{{foreach $data as $id => $hostname}}
{$hostname}
{{endforeach}}
{{endif}}]]>
{lang="$message"}]]>
url()->setQueryString( 'additionalPageCheck', 1 )"}" method="post">
{{foreach $values as $k => $v}}
{{if \is_array( $v )}}
{{foreach $v as $_k => $_v}}
{{endforeach}}
{{else}}
{{endif}}
{{endforeach}}
{{if $nameservers}}
{lang="own_domain_ns_1"}
{lang="own_domain_ns_2"}
{{foreach $nameservers as $nameserver}}
{$nameserver}
{{endforeach}}
{{else}}
{{if $aname and $cname}}
{lang="own_domain_aname_or_cname"}
{{elseif $cname}}
{lang="own_domain_cname_1"}
{{else}}
{lang="own_domain_aname_1"}
{{endif}}
{{if $aname and $cname}}
{{endif}}
{{if $cname}}
{lang="own_domain_cname_2"}
{$cname}
{lang="own_domain_cname_3"}
{{endif}}
{{if $aname and $cname}}
{{endif}}
{{if $aname}}
{lang="own_domain_aname_2"}
{$aname}
{{endif}}
{{if $aname and $cname}}
{{endif}}
{{endif}}
{{if request.nameservers_set}}
{lang="own_domain_error"}
{{endif}}
{{if request.isAjax()}}
{{else}}
{{endif}}
]]>
{{if !$data['server_monitor']}}
{{elseif $data['server_monitor_version'] and $data['server_monitor_version'] != 1000}}
{{elseif $data['server_monitor_fails']}}
{{else}}
{{endif}}
]]>
{lang="hserv_audit_ok"}
{{else}}
{{if !empty( $notPresentOnServer )}}
{lang="hserv_audit_notonserver"}
{{foreach $notPresentOnServer as $a}}
{{$warnings[] = $a['account_username'];}}
{$a['account_username']} ({$a['account_domain']})
{{endforeach}}
{{endif}}
{{if !empty( $notPresentInDb )}}
{lang="hserv_audit_notindb"}
{{foreach $notPresentInDb as $username => $a}}
{{$warnings[] = $username;}}
{$username} ({$a['domain']})
{{endforeach}}
{{endif}}
{{if !empty( $domainsDontMatch )}}
{lang="hserv_audit_domain"}
{{foreach $domainsDontMatch as $a}}
{{$warnings[] = $a['account_username'];}}
{$a['account_username']} {lang="hserv_audit_domain_details" sprintf="$a['account_domain'], $a['domain']"}
{{endforeach}}
{{endif}}
{{if !empty( $expiredButnotSuspended )}}
{lang="hserv_audit_not_suspended"}
{{foreach $expiredButnotSuspended as $a}}
{{$warnings[] = $a['account_username'];}}
{$a['account_username']} ({$a['account_domain']})
{{endforeach}}
{{endif}}
{{if !empty( $suspendedButNotExpired )}}
{lang="hserv_audit_suspended"}
{{foreach $suspendedButNotExpired as $a}}
{{$warnings[] = $a['account_username'];}}
{$a['account_username']} ({$a['account_domain']})
{{endforeach}}
{{endif}}
{{if !empty( $doesNotResolveCorrectly )}}
{lang="hserv_audit_resolve"}
{{foreach $doesNotResolveCorrectly as $a}}
{{$warnings[] = $a['account_username'];}}
{$a['account_username']} ({$a['account_domain']})
{{endforeach}}
{{endif}}
{{endif}}
{lang="account_username"}
{lang="account_domain"}
{lang="hserv_audit_quota"}
{lang="hserv_audit_diskuse"}
{{foreach $accounts as $data}}
{{if \in_array( $data['account_username'], $warnings )}}
{{elseif $data['active']}}
{{else}}
{{endif}}
{$data['account_username']}
{$data['account_domain']}
{filesize="$data['disklimit']" decimal="true"}
{filesize="$data['diskused']" decimal="true"}
{{endforeach}}
{{if $diskSpaceAllocated == -1}}{lang="unlimited"}{{else}}{filesize="$diskSpaceAllocated" decimal="true"}{{endif}}
{filesize="$diskSpaceInUse" decimal="true"}
]]>
← {lang="ie_back"}
{lang="ie_piping"}
{lang="ie_piping_perm" sprintf="\IPS\ROOT_PATH . '/applications/core/interface/incomingemail/piping.php'"}
{{if is_executable( \IPS\ROOT_PATH . '/applications/core/interface/incomingemail/piping.php' )}}
{lang="ie_piping_perm_ok"}
{{else}}
{lang="ie_piping_perm_err"}
{{endif}}
{lang="ie_piping_cpanel"}
{lang="ie_piping_cpanel_1"}
{lang="ie_piping_cpanel_2"}
{lang="ie_piping_cpanel_3"}
{lang="ie_piping_cpanel_4"}
{lang="ie_piping_cpanel_5"}
{lang="ie_piping_cpanel_6"}
{expression="preg_replace( '#^.*/((public_html|htdocs|html)/.*)$#i', '$1', \IPS\ROOT_PATH . '/applications/core/interface/incomingemail/piping.php' )"} email@example.com
{lang="ie_piping_no_cpanel"}
{lang="ie_piping_no_cpanel_1"}
{expression="\IPS\ROOT_PATH"}/applications/core/interface/incomingemail/piping.php email@example.com
{lang="ie_piping_no_cpanel_2"}
{lang="ie_test"}
]]>
← {lang="ie_back"}
{lang="ie_pop3"}
{lang="ie_pop3_details"}
{$form|raw}
{{if !settings.task_use_cron}}
{lang="ie_pop3_cron"}
{{endif}}
{lang="ie_test"} {lang="ie_test_pop3"}
]]>
← {lang="ie_back"}
{lang="ie_sendgrid"}
{lang="ie_sendgrid_intro"}
{lang="ie_sendgrid_1"}
{lang="ie_sendgrid_2"}
{url="applications/core/interface/incomingemail/sendgrid.php" base="interface"}
{lang="ie_test"}
]]>
{lang="incoming_email_setup"}
{lang="ie_splash_intro"}
{lang="ie_splash_methods"}
{lang="incoming_email_filters"}
{$filters|raw}
]]>
{$content|raw}]]>
{lang="pop3_settings"}
{$form|raw}
{lang="incoming_email_filters"}
{$filters|raw}
]]>
{lang="invoice_item"}
{lang="invoice_unit_price"}
{lang="invoice_quantity"}
{lang="invoice_line_price"}
{{foreach $summary['items'] as $itemId => $item}}
{{if $itemUrl = $item->acpUrl()}}
{$item->name}
{{else}}
{$item->name}
{{endif}}
{{if \count( $item->details )}}
{{foreach $item->details as $k => $v}}
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v, TRUE )" raw="true"}
{{endforeach}}
{{endif}}
{$item->price}
{{if isset( $item->renewalTerm ) and $item->renewalTerm}}
{lang="and_renewal" sprintf="$item->renewalTerm"}
{{endif}}
{$item->quantity}
{$item->linePrice()}
{{if isset( $item->renewalTerm ) and $item->renewalTerm}}
{lang="and_renewal" sprintf="$item->renewalTerm->times( $item->quantity )"}
{{endif}}
{{endforeach}}
{lang="subtotal"}
{$summary['subtotal']}
{{foreach $summary['shipping'] as $shipId => $shipping}}
{$shipping->name}
{$shipping->linePrice()}
{{endforeach}}
{{foreach $summary['tax'] as $taxId => $tax}}
{lang="nexus_tax_{$taxId}"} ({expression="$tax['rate']*100"}%)
{$tax['amount']}
{{endforeach}}
{lang="total"}
{$summary['total']}
]]>
{{if settings.cm_invoice_warning}}
{{if \IPS\Settings::i()->cm_invoice_warning % 24 == 0}}
{lang="invoice_timeline_warning_time" pluralize="\IPS\Settings::i()->cm_invoice_warning / 24"}
{{else}}
{lang="invoice_timeline_warning_time_h" pluralize="\IPS\Settings::i()->cm_invoice_warning"}
{{endif}}
{lang="invoice_timeline_credit"}
{{endif}}
{{if \IPS\Settings::i()->cm_invoice_generate % 24 == 0}}
{lang="invoice_timeline_generate_time" pluralize="\IPS\Settings::i()->cm_invoice_generate / 24"}
{{else}}
{lang="invoice_timeline_generate_time_h" pluralize="\IPS\Settings::i()->cm_invoice_generate"}
{{endif}}
{lang="invoice_timeline_generate_event"}
{{if settings.cm_invoice_warning and \count( \IPS\nexus\Gateway::billingAgreementGateways() )}}
{{if \IPS\Settings::i()->cm_invoice_warning % 24 == 0}}
{lang="invoice_timeline_generate_time" pluralize="\IPS\Settings::i()->cm_invoice_warning / 24"}
{{else}}
{lang="invoice_timeline_generate_time_h" pluralize="\IPS\Settings::i()->cm_invoice_warning"}
{{endif}}
{lang="invoice_timeline_ba_warn_event"}
{{endif}}
{lang="invoice_timeline_grace_time"}
{lang="invoice_timeline_grace_event"}
{lang="invoice_timeline_expire_time"}
{lang="invoice_timeline_expire_event"}
{{if settings.cm_invoice_expireafter}}
{lang="invoice_timeline_invoice_exp_time" pluralize="\IPS\Settings::i()->cm_invoice_expireafter"}
{lang="invoice_timeline_invoice_exp_event"}
{{endif}}
]]>
acpUrl()}">{{if $number}}{lang="invoice_number" sprintf="$invoice->id"}{{else}}{$invoice->title}{{endif}}]]>
{lang="invoice_enable_js"}
{{foreach \IPS\nexus\Package\Group::roots() as $group}}
{template="packageSelectorGroup" group="invoices" params="$group"}
{{endforeach}}
]]>
]]>
]]>
{setting="nexus_invoice_header"}
{lang="invoice_number" sprintf="$invoice->id"}
{{if $invoice->po}}
{lang="invoice_po_number"}: {$invoice->po}
{{endif}}
{{if $invoice->member->member_id}}
{$invoice->member->cm_name}
{{else}}
{$invoice->guest_data['member']['name']}
{{endif}}
{{if $address}}
{$address->toString(' ')|raw}
{{if isset( $address->vat ) and $address->vat}}
{lang="cm_checkout_vat_number"}: {expression="mb_strtoupper( preg_replace( '/[^A-Z0-9]/', '', $address->vat ) )"}
{{endif}}
{{endif}}
{setting="board_name"}
{expression="\IPS\GeoLocation::buildFromJson( \IPS\Settings::i()->site_address )->toString(' ')" raw="true"}
{$invoice->date->localeDate()}
{{if $invoice->notes}}
{expression="nl2br( htmlspecialchars( $invoice->notes, ENT_QUOTES | ENT_DISALLOWED, 'UTF-8', FALSE ) )" raw="true"}
{{endif}}
{lang="invoice_item"}
{lang="invoice_unit_price"}
{lang="invoice_quantity"}
{lang="invoice_line_price"}
{{foreach $summary['items'] as $k => $item}}
{$item->name} {{if \count( $item->details )}}
{{foreach $item->details as $k => $v}}
{{if $displayValue = trim( \IPS\nexus\Package\CustomField::load( $k )->displayValue( $v, TRUE ) )}}
{lang="nexus_pfield_{$k}"}: {$displayValue|raw}
{{endif}}
{{endforeach}}
{{endif}}
{$item->price}
{$item->quantity}
{$item->linePrice()}
{{endforeach}}
{lang="subtotal"}
{$summary['subtotal']}
{{foreach $summary['shipping'] as $shipping}}
{$shipping->name}
{$shipping->linePrice()}
{{endforeach}}
{{foreach $summary['tax'] as $taxId => $tax}}
{lang="nexus_tax_{$taxId}"} ({expression="$tax['rate']*100"}%)
{$tax['amount']}
{{endforeach}}
{lang="total"}
{$summary['total']}
{setting="nexus_invoice_footer"}
]]>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_related_transactions"}
{{endif}}]]>
$row}}
{lang="invoice_shipment_x" sprintf="$idx + 1"}
{$row['o_method']} {$row['o_status']|raw}
{$row['o_shipped_date']}
{lang="invoice_in_shipment"}: {lang="product"} {lang="product"}
{template="controlStrip" params="$row['_buttons']" group="global" app="core"}
{{endforeach}}]]>
{lang="istatus_{$status}"}
]]>
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="no_related_transactions"}
{{endif}}]]>
{$row['t_method']} {$row['t_status']|raw}
{$row['t_amount']}
{template="controlStrip" params="$row['_buttons']" group="global" app="core"}
{{endforeach}}]]>
unpaidConsequences() and \count( $consequences ) )}}
{lang="invoice_unpaid_consequences"}
{{foreach $consequences as $k => $v}}
{{if $k !== 'unassociate'}}
{{if \is_array( $v )}}
{{if isset( $v['message'] )}}
{$v['message']}
{$v['warning']}
{{else}}
{lang="invoice_unpaid_$k"}
{{foreach $v as $k2 => $v2}}
{{if \is_array( $v2 )}}
{$v2['message']|raw}
{$v2['warning']}
{{else}}
{$v2|raw}
{{if $k === 'purchases' and isset( $consequences['unassociate'] ) and isset( $consequences['unassociate'][ $k2 ] ) and $childPurchases = array_filter( $consequences['unassociate'][ $k2 ], function( $c ) use( $consequences ) { return !array_key_exists( $c, $consequences['purchases'] ); }, ARRAY_FILTER_USE_KEY )}}
{lang="invoice_unpaid_unassociate"}
{{foreach $childPurchases as $child}}
{$child|raw}
{{endforeach}}
{{endif}}
{{endif}}
{{endforeach}}
{{endif}}
{{else}}
{$v}
{{endif}}
{{endif}}
{{endforeach}}
{{endif}}]]>
{template="userPhoto" group="global" app="core" location="front" params="$invoice->member, 'mini'"}
{{if $invoice->member->member_id}}
{$invoice->member->cm_name}
{{else}}
{$invoice->member->cm_name}
{{endif}}
{{if $invoice->member->email}}
{$invoice->member->email}
{{endif}}
{{if $invoice->status == 'paid'}}
{{elseif $invoice->status == 'pend'}}
{{elseif $invoice->status == 'expd'}}
{{elseif $invoice->status == 'canc'}}
{{endif}}
{lang="istatus_{$invoice->status}"}
{lang="istatus_{$invoice->status}_desc"}
{{if $invoice->status_extra and isset( $invoice->status_extra['type'] )}}
{{if $invoice->status_extra['type'] === 'manual'}}
{lang="invoice_status_extra" sprintf="\IPS\Member::load( $invoice->status_extra['setByID'] )->name, \IPS\DateTime::ts( $invoice->status_extra['date'] )"}
{{elseif $invoice->status_extra['type'] === 'zero'}}
{lang="invoice_status_zero"}
{{endif}}
{{endif}}
{lang="invoice_notes"}
{{if $invoice->notes}}
{$invoice->notes}
{{else}}
{lang="no_invoice_notes"}
{{endif}}
{lang="edit"}
{{if $transactions}}
{lang="invoice_transactions"}
{$transactions|raw}
{{endif}}
{{if $shipments}}
{lang="invoice_shipments"}
{$shipments|raw}
{{endif}}
{template="userPhoto" group="global" app="core" location="front" params="$invoice->member, 'mini'"}
{{if $invoice->member->member_id}}
{$invoice->member->cm_name}
{{else}}
{$invoice->member->cm_name}
{{endif}}
{{if $invoice->member->email}}
{$invoice->member->email}
{{endif}}
{lang="invoice"}
{{if $invoice->billaddress}}
{lang="invoice_billedto"}
{$invoice->billaddress->toString(' ')|raw}
{{if isset( $invoice->billaddress->vat ) and $invoice->billaddress->vat}}
{lang="cm_checkout_vat_number"}: {template="vatNumber" group="global" params="$invoice->billaddress->vat"}
{{endif}}
{{endif}}
{{if $invoice->shipaddress}}
{lang="shipping_address"}
{$invoice->shipaddress->toString(' ')|raw}
{{endif}}
{lang="invoice_date"}
{$invoice->date}
{lang="invoice_paiddate"}
{$invoice->paid}
{lang="invoice_po_number"}
{{if $invoice->po}}
{$invoice->po}
{{else}}
{lang="none"}
{{endif}}
({lang="edit"})
{lang="invoice_item"}
{lang="invoice_unit_price"}
{lang="invoice_quantity"}
{lang="invoice_line_price"}
{{foreach $summary['items'] as $k => $item}}
_title"}" data-ipsTooltip>
{{if $url = $item->acpUrl()}}
{$item->name}
{{else}}
{$item->name}
{{endif}}
{{if \count( $item->details )}}
{{foreach $item->details as $k => $v}}
{{if $displayValue = trim( \IPS\nexus\Package\CustomField::load( $k )->displayValue( $v, TRUE ) )}}
{lang="nexus_pfield_{$k}"}: {$displayValue|raw}
{{endif}}
{{endforeach}}
{{endif}}
{$item->price}
{$item->quantity}
{{if $item->payTo}}
{$item->linePrice()}
{{$recipientAmounts = $item->recipientAmounts();}}
{lang="invoice_unit_price"}
{lang="invoice_line_price"}
{$item->price}
{$item->linePrice()}
{{if $item->commission and $item->fee}}
{lang="invoice_site_commission" sprintf="$item->commission"}
{$recipientAmounts['site_commission_unit']}
{$recipientAmounts['site_commission_line']}
{lang="invoice_site_fee"}
{$item->fee}
{lang="invoice_site_total"}
{$recipientAmounts['site_total']}
{lang="invoice_amount_recipient" sprintf="$item->payTo->name"}
{$recipientAmounts['recipient_final']}
{{elseif $item->commission}}
{lang="invoice_site_commission" sprintf="$item->commission"}
{$recipientAmounts['site_commission_unit']}
{$recipientAmounts['site_commission_line']}
{lang="invoice_amount_recipient" sprintf="$item->payTo->name"}
{$recipientAmounts['recipient_unit']}
{$recipientAmounts['recipient_line']}
{{elseif $item->fee}}
{lang="invoice_site_fee"}
{$item->fee}
{lang="invoice_amount_recipient" sprintf="$item->payTo->name"}
{$recipientAmounts['recipient_final']}
{{endif}}
{{else}}
{$item->linePrice()}
{{endif}}
{{endforeach}}
{lang="subtotal"}
{$summary['subtotal']}
{{foreach $summary['shipping'] as $shipping}}
{$shipping->name}
{$shipping->linePrice()}
{{endforeach}}
{{foreach $summary['tax'] as $taxId => $tax}}
{lang="nexus_tax_{$taxId}"}
{{if $tax['type'] !== 'single'}}
{{if $tax['type'] === 'eu' and $invoice->billaddress->business and $invoice->billaddress->vat}}
({lang="tax_rate_eu"}: {expression="$tax['rate']*100"}%)
{{elseif $invoice->billaddress->business}}
({lang="tax_rate_business"}: {expression="$tax['rate']*100"}%)
{{else}}
({lang="tax_rate_consumer"}: {expression="$tax['rate']*100"}%)
{{endif}}
{{else}}
({expression="$tax['rate']*100"}%)
{{endif}}
{$tax['amount']}
{{endforeach}}
{lang="total"}
{$summary['total']}
{{if $recipients = $invoice->payToRecipients() or ( settings.ref_on and $commission = $invoice->commission( $invoice->total->amount->subtract( \IPS\Math\Number::sum( $recipients ) ) ) )}}
{{$totalForSite = $summary['total']->amount->subtract( \IPS\Math\Number::sum( $recipients ) );}}
{{foreach $recipients as $recipient => $amount}}
{{$customer = \IPS\nexus\Customer::load( $recipient );}}
{money="$amount" currency="$invoice->currency"}
{{endforeach}}
{{if isset( $commission ) and $commission['rule']}}
{{$totalForSite = $totalForSite->subtract( $commission['amount']->amount );}}
{$commission['amount']}
{{endif}}
{lang="invoice_site_total"}
{money="$totalForSite" currency="$invoice->currency"}
{{endif}}
]]>
]]>
{$account->server->hostname} · {$account->username} · {$account->purchase()->name} · {$account->purchase()->member->cm_name}
]]>
{$invoice->title}
{template="status" group="invoices" app="nexus" params="$invoice->status"}
{lang="invoice_number" sprintf="$invoice->id"} · {$invoice->total} · {$invoice->member->cm_name}
]]>
{$lkey->purchase->name} · {lang="purchase_number" sprintf="$lkey->purchase->id"} · {$lkey->purchase->member->cm_name}
]]>
40 hosting accounts...
]]>
{$purchase->name}
{{if $purchase->cancelled}}
{lang="purchase_canceled"}
{{elseif !$purchase->active}}
{lang="purchase_expired"}
{{endif}}
{lang="purchase_number" sprintf="$purchase->id"} · {$purchase->member->cm_name}
]]>
#{$support->id} · {$support->status->_title} · {$support->department->_title} · {$support->supportAuthor()->name()}
]]>
{$transaction->amount} · {{if $transaction->method}}{$transaction->method->_title}{{else}}{lang="account_credit"}{{endif}} · {$transaction->member->cm_name}
]]>
{lang="acp_notification_nexus_bacancelerror_desc"}
{{foreach $agreements as $agreement}}
{$agreement}
{{endforeach}}
]]>
{lang="acp_notification_nexus_config_error_paymethod_desc" sprintf="$method->_title"}
]]>
{{foreach $results as $streamId => $result}}
{{endforeach}}
]]>
{{foreach $transactions as $transaction}}
{$transaction->amount}
{{if $transaction->method}}
{{if \in_array( $transaction->status, array( \IPS\nexus\Transaction::STATUS_PENDING, \IPS\nexus\Transaction::STATUS_WAITING ) )}}
{lang="transaction_method_pending" sprintf="$transaction->method->_title"}
{{else}}
{lang="transaction_method" sprintf="$transaction->method->_title"}
{{endif}}
{{else}}
{lang="payment_received"}
{{endif}}
{$transaction->date}
{{if $transaction->gw_id}}
{lang="payment_reference"}: {{if $transaction->method and $url = $transaction->method->gatewayUrl( $transaction )}}{$transaction->gw_id} {{else}}{$transaction->gw_id}{{endif}}
{{endif}}
{$transaction->member->cm_name}
{$transaction->member->email}
{lang="transaction_customer_since" sprintf="$transaction->member->joined->localeDate()"}
{lang="transaction_spent" sprintf="$transaction->member->totalSpent()"}
{{if $transaction->fraud or $transaction->fraud_blocked}}
{{if $transaction->fraud}}
{{if $transaction->fraud->riskScore !== NULL}}
{$transaction->fraud->riskScore}%
{{else}}
{expression="round( $transaction->fraud->score * 10 )"}%
{{endif}}
{lang="possibility_of_fraud"}
{{endif}}
{{if $transaction->fraud_blocked}}
{$transaction->fraud_blocked->name}
{{endif}}
{{endif}}
{{if $buttons = array_filter( $transaction->buttons('n'), function( $k ) { return \in_array( $k, array( 'approve', 'review', 'void', 'refund' ) ); }, ARRAY_FILTER_USE_KEY )}}
{{endif}}
{{endforeach}}
]]>
acpUrl()}">{$payout->amount}]]>
{$payout->data}]]>
{lang="days"}
{lang="weeks"}
{lang="months"}
]]>
{$payout->data}
]]>
{lang="postatus_{$status}"}
]]>
{lang="payout_status"}
{{if $payout->status === $payout::STATUS_CANCELED}}
{$payout->completed}
{{if $payout->processed_by}}
{lang="by"} {$payout->processed_by->name}
{{endif}}
{lang="payout_canceled"}
{{elseif $payout->status === $payout::STATUS_COMPLETE}}
{$payout->completed}
{{if $payout->processed_by}}
{lang="by"} {$payout->processed_by->name}
{{endif}}
{lang="payout_processed"}
{{if $payout->gw_id}}
{$payout->gw_id}
{{endif}}
{{else}}
{{endif}}
{lang="payout__data_{$payout->gateway}"}
{template="$payout->gateway" params="$payout" group="payouts"}
]]>
{$advertisement->impressions}{{if $advertisement->maximum_unit == 'i' and $advertisement->maximum_value != -1}} / {$advertisement->maximum_value}{{endif}}
{lang="impressions"}
{$advertisement->clicks}{{if $advertisement->maximum_unit == 'c' and $advertisement->maximum_value != -1}} / {$advertisement->maximum_value}{{endif}}
{lang="clicks"}
{{$images = array_filter( json_decode( $advertisement->images, TRUE ) );}}
{{$link = \IPS\Http\Url::external( $advertisement->link );}}
{{if \count( $images ) > 1}}
{{foreach $images as $key => $image}}
{{endforeach}}
{{else}}
{{foreach $images as $key => $image}}
{{endforeach}}
{{endif}}
]]>
active == -1}}
{lang="advertisement_pending_approval"}
{{elseif $advertisement->active == 1}}
{lang="advertisement_active"}
{{else}}
{lang="advertisement_expired"}
{{endif}}
{lang="advertisement_url"}
{$advertisement->link}
{lang="ads_ad_impressions"}
{$advertisement->impressions}{{if $advertisement->maximum_unit == 'i' and $advertisement->maximum_value != -1}} / {$advertisement->maximum_value}{{endif}}
{lang="ads_ad_clicks"}
{$advertisement->clicks}{{if $advertisement->maximum_unit == 'c' and $advertisement->maximum_value != -1}} / {$advertisement->maximum_value}{{endif}}
{{foreach json_decode( $advertisement->images, TRUE ) as $k => $image}}
{{if $image}}
{{endif}}
{{endforeach}}
]]>
{lang="domain_whois"}
{{foreach $whois as $record}}
{$record}
{{endforeach}}
]]>
{lang="gift_voucher"}
{money="$data['amount']" currency="$data['currency']"}
{$data['code']}
{{if $data['method'] === 'email'}}
{lang="sent_to"} {$data['recipient_email']}
{{else}}
{lang="printable_version"}
{{endif}}
{{if $data['recipient_name']}}
{$data['recipient_name']},
{{endif}}
{{if $data['message']}}
{expression="nl2br( htmlspecialchars( $data['message'], ENT_DISALLOWED, 'UTF-8', FALSE ) )" raw="true"}
{{endif}}
{{if $data['sender']}}
{lang="from"} {$data['sender']}
{{endif}}
]]>
{lang="gift_voucher_pending_print"}
{lang="print_giftvoucher"}
{{else}}
{lang="gift_voucher_pending_email"}
{{endif}}
To
{$data['recipient_name']}{{if $data['recipient_email']}} ({$data['recipient_email']}){{endif}}
Amount
{money="$data['amount']" currency="$data['currency']"}
Message
{{if $data['message']}}
{$data['message']}
{{else}}
No message
{{endif}}
]]>
{lang="print_gift_card"}
{lang="gift_voucher"}
{setting="board_name"}
{money="$data['amount']" currency="$data['currency']"}
{{if $data['recipient_name']}}
{lang="to"} {$data['recipient_name']} ,
{{endif}}
{{if $data['message']}}
{expression="nl2br( htmlspecialchars( $data['message'], ENT_DISALLOWED, 'UTF-8', FALSE ) )" raw="true"}
{{endif}}
{{if $data['sender']}}
{lang="from"} {$data['sender']}
{{endif}}
{lang="redemption_code"}
{$data['code']}
{lang="to_redeem_visit"}
{url="app=nexus&module=store&controller=gifts&do=redeem" seoTemplate="store_giftvouchers_redeem"}
]]>
{lang="hosting_credentials"}
{lang="account_server"}
{$account->server->hostname} (IP: {$account->server->ip})
{lang="account_username"}
{$account->username}
{lang="account_password"}
{$account->password}
{lang="hosting_usage"}
{lang="account_diskspace_use"}
{{if $diskspaceAllowance = $account->diskspaceAllowance()}}
diskspaceInUse()"}%">{filesize="$account->diskspaceInUse()"} / {filesize="$diskspaceAllowance"}
{{else}}
{filesize="$account->diskspaceInUse()"} / {lang="unlimited"}
{{endif}}
{lang="account_bandwidth_use"}
{{if $monthlyBandwidthAllowance = $account->monthlyBandwidthAllowance()}}
bandwidthUsedThisMonth()"}%">{filesize="$account->bandwidthUsedThisMonth()"} / {filesize="$monthlyBandwidthAllowance"}
{{if \count( $bandwidthAddons )}}
{{endif}}
{lang="generate_bandwidth_invoice"}
{{else}}
{filesize="$account->bandwidthUsedThisMonth()"} / {lang="unlimited"}
{{endif}}
domain )"}" target="_blank" rel='noreferrer'>{$account->domain}
]]>
{lang="hosting_account_info"}
{lang="hosting_credentials"}
{lang="account_server"}
{$account->server->hostname} (IP: {$account->server->ip})
{lang="account_username"}
{$account->username}
{lang="account_password"}
{$account->password} ({lang="change_password"})
{lang="hosting_usage"}
{lang="account_diskspace_use"}
{{if $diskspaceAllowance = $account->diskspaceAllowance()}}
diskspaceInUse()"}%">{filesize="$account->diskspaceInUse()"} / {filesize="$diskspaceAllowance"}
{{else}}
{filesize="$account->diskspaceInUse()"} / {lang="unlimited"}
{{endif}}
{lang="account_bandwidth_use"}
{{if $monthlyBandwidthAllowance = $account->monthlyBandwidthAllowance()}}
bandwidthUsedThisMonth()"}%">{filesize="$account->bandwidthUsedThisMonth()"} / {filesize="$monthlyBandwidthAllowance"}
{{if \count( $bandwidthAddons )}}
{{endif}}
{{if \count( json_decode( \IPS\Settings::i()->nexus_hosting_bandwidth ) )}}
{lang="buy_bandwidth"}
{{endif}}
{{else}}
{filesize="$account->bandwidthUsedThisMonth()"} / {lang="unlimited"}
{{endif}}
{$account->domain}
{{if settings.nexus_hosting_allow_change_domain}}
({lang="change_domain"})
{{endif}}
]]>
{lang="change_domain_title" sprintf="$purchase->name"}
{{if $output instanceof \IPS\Helpers\Form}}
{lang="change_domain_blurb"}
{{if $activeDomainPurchase}}
{{if $activeDomainPurchase->canCancel()}}
id}" base="front" csrf="true" seoTemplate="clientspurchasecancel" seoTitle="\IPS\Http\Url\Friendly::seoTitle( $purchase->name )"}" data-confirm data-confirmSubMessage="{lang="purchase_cancel_renewal_confirm"}">{lang="active_domain_cancel"}
{{else}}
{lang="active_domain_no_cancel"}
{{endif}}
{{endif}}
{{endif}}
{$output|raw}]]>
exists}}
{lang="hosting_account_terminated"}
{{else}}
{lang="hosting_fetch_error"}
{{endif}}
{{endif}}]]>
{lang="hosting_account_info"}
{{if !$account->exists}}
{lang="hosting_account_terminated"}
{lang="hosting_credentials"}
{lang="account_server"}
{$account->server->hostname} {lang="hosting_ipprefix" sprintf="$account->server->ip"}
{lang="account_username"}
{$account->username}
{lang="account_password"}
{$account->password}
{$account->domain}
{{else}}
{lang="hosting_fetch_error"}
{{endif}}
{{endif}}]]>
]]>
{$purchase->name} (#{$purchase->id})
{{foreach $purchase->custom_fields as $k => $v}}
{{if $displayValue = trim( \IPS\nexus\Package\CustomField::load( $k )->displayValue( $v, TRUE ) )}}
{lang="nexus_pfield_{$k}"}
{$displayValue|raw}
{{endif}}
{{endforeach}}
]]>
{{endif}}{{if $number}}{lang="purchase_number" sprintf="$purchase->id"}{{elseif $shortName}}{$purchase->_name}{{else}}{$purchase->name}{{endif}} ]]>
{lang="license_key"}
{$licensekey->key}
{{if $licensekey->max_uses != 0}}
{{if $licensekey->max_uses == -1}}
{lang="lkey_using_x_of_unlimited_uses" sprintf="$licensekey->uses"}
{{else}}
{lang="lkey_using_x_of_x_uses" sprintf="$licensekey->uses, $licensekey->max_uses" pluralize="$licensekey->max_uses"}
{{endif}}
{{endif}}
{{if member.hasAcpRestriction( 'nexus', 'customers', 'lkeys_reset' ) || $licensekey->uses}}
{{endif}}
{{if $licensekey->uses}}
{{foreach $licensekey->activate_data as $k => $use}}
{$k}
{{if \count( $use['extra'] )}}
{{foreach $use['extra'] as $k => $v}}
{$k}: {$v}
{{endforeach}}
{{endif}}
{{if $use['last_checked']}}
{lang="lkey_use_info" htmlsprintf="\IPS\DateTime::ts( $use['activated'] )->html(), htmlspecialchars( $use['ip'], ENT_DISALLOWED, 'UTF-8', FALSE ), \IPS\DateTime::ts( $use['last_checked'] )->html()"}
{{else}}
{lang="lkey_use_info_nocheck" htmlsprintf="\IPS\DateTime::ts( $use['activated'] )->html(), htmlspecialchars( $use['ip'], ENT_DISALLOWED, 'UTF-8', FALSE )"}
{{endif}}
{{endforeach}}
{{endif}}]]>
{lang="license_key"}
{lang="no_license_key_generated"}
{{if member.hasAcpRestriction( 'nexus', 'customers', 'lkeys_reset' ) || $licensekey->uses}}
{{endif}}
]]>
{{if $reactivateUrl or $upgradeDowngradeUrl or \IPS\nexus\Package\Item::load( $package->id )->canReview()}}
{{endif}}
{{if member.canAccessModule( \IPS\Application\Module::get( 'nexus', 'support' ) )}}
{lang="recent_support_requests"}
{{if \count( $last5AssociatedSupportRequests )}}
{{foreach $last5AssociatedSupportRequests as $row}}
{{endforeach}}
{{else}}
{lang="no_recent_support_requests"}
{{endif}}
{{if $supportUrl}}
{lang="commerce_get_support"}
{{endif}}
{{endif}}
{{if \count( $associatedFiles )}}
{lang="package_downloads"}
{{foreach $associatedFiles as $idx => $file}}
{template="indexBlock" app="downloads" group="browse" params="$file"}
{{endforeach}}
{{endif}}
{$customFieldsForm|raw}
]]>
billing_agreement AND !$purchase->billing_agreement->canceled}}
{lang="billing_agreement_purchase_info" sprintf="$billingAgreement->acpUrl()"}
{{endif}}
{{if $purchase->cancelled}}
{lang="purchase_canceled"}
{{if $purchase->can_reactivate}}
{lang="purchase_canceled_ra"}
{{else}}
{lang="purchase_canceled_no_ra"}
{{endif}}
{{elseif !$purchase->active}}
{lang="purchase_expired"}
{{elseif $purchase->expire}}
{{if $purchase->grace_period and $purchase->expire->getTimestamp() < time()}}
{lang="purchase_in_grace_period"}
{{else}}
{lang="purchase_active"}
{{endif}}
{{endif}}
{lang="purchase_details"}
{lang="ps_start"}
{$purchase->start->localeDate()}
{{if $purchase->expire}}
{lang="ps_expire"}
{$purchase->expire->localeDate()}
{{endif}}
{{if $purchase->grace_period}}
{lang="p_grace_period"}
{{$grace = new \DateInterval( 'PT' . $purchase->grace_period . 'S' );}}
{expression="\IPS\DateTime::formatInterval( \IPS\DateTime::create()->diff( \IPS\DateTime::create()->add( $grace ) ), 0 )"}
{{if $purchase->expire}}
{$purchase->expire->add( $grace )->localeDate()}
{{endif}}
{{endif}}
{{if $purchase->renewals}}
{lang="ps_renewals"}
{$purchase->renewals}{{if $purchase->renewals->tax}}{lang="plus_tax_rate" sprintf="$purchase->renewals->tax->_title"}{{endif}} {{if $purchase->grouped_renewals}}({lang="purchase_grouped"}){{endif}}
{{if $purchase->pay_to and $purchase->commission < 100}}
{{if $purchase->fee}}
{lang="purchase_renewal_commission_fee" htmlsprintf="100 - $purchase->commission, $purchase->fee, $purchase->pay_to->link()"}
{{else}}
{lang="purchase_renewal_commission" htmlsprintf="100 - $purchase->commission, $purchase->pay_to->link()"}
{{endif}}
{{endif}}
{{if $purchase->billing_agreement}}
{lang="ps_billing_agreement"}
{$purchase->billing_agreement->gw_id}
{{if $purchase->billing_agreement->canceled}}
({lang="billing_agreement_canceled"})
{{endif}}
{{endif}}
{{endif}}
{{if $parent = $purchase->parent()}}
{lang="ps_parent"}
{$parent->name}
{{endif}}
{lang="purchase_customer_info"}
{{if $customer}}
{$purchase->member->email}
{lang="transaction_customer_since" sprintf="$purchase->member->joined->localeDate()"}
{lang="transaction_spent" sprintf="$purchase->member->totalSpent()"}
{{else}}
{lang="purchase_no_member"}
{{endif}}
{{if $content = $purchase->acpPage()}}
{$content|raw}
{{endif}}
{{if \count( $customFields )}}
{lang="p_custom_fields"}
{{foreach $customFields as $k => $v}}
{lang="nexus_pfield_{$k}"}
{$v|raw}
{{endforeach}}
{{endif}}
{{if $purchase->childrenCount()}}
{lang="child_purchases"}
{$children|raw}
{{endif}}
]]>
{{if isset( $message['carrier'] )}}{$message['carrier']}: {{endif}}{$message['message']}
{{endforeach}}
{{endif}}
{lang="easypost_carrier"}
{lang="easypost_service"}
{lang="easypost_rate"}
{lang="shiprate_delivery_estimate"}
{{if empty( $easyPost['rates'] )}}
{lang="easypost_no_results"}
{{else}}
{{foreach $easyPost['rates'] as $row}}
{$row['carrier']}
{$row['service']}
{money="$row['rate']" currency="$row['currency']"}
{{if $row['est_delivery_days']}}{lang="easypost_delivery_estimate" pluralize="$row['est_delivery_days']"}{{endif}}
{{endforeach}}
{{endif}}
]]>
acpUrl()}'>{lang="shipment_number" sprintf="$shipment->id"}]]>
data;}}
{$data['cm_first_name']} {$data['cm_last_name']}
{$shipment->address()->toString(" ")|raw}
]]>
data;}}
{lang="order_id"}: #{$shipment->invoice->id}
{lang="order_placed"}: {datetime="$shipment->invoice->date" dateonly="true" lowercase="true"}
{{if $shipment->invoice->po}}
{lang="invoice_po_number"}: {$shipment->invoice->po}
{{endif}}
{lang="billing_address"}
{$data['cm_first_name']} {$data['cm_last_name']}
{{if $shipment->invoice->billaddress}}
{$shipment->invoice->billaddress->toString(' ')|raw}
{{endif}}
{lang="shipping_address"}
{$data['cm_first_name']} {$data['cm_last_name']}
{$shipment->address()->toString(' ')|raw}
{{$quantity = 0;}}
{lang="item_id"}
{lang="invoice_item"}
{lang="invoice_quantity"}
{{foreach $shipment->items as $item}}
{$item['id']}
{$item['name']}
{{if \count( $item['details'] )}}
{{foreach $item['details'] as $k => $v}}
{lang="nexus_pfield_{$k}"}: {$v}
{{endforeach}}
{{endif}}
{$item['quantity']}
{{$quantity += $item['quantity'];}}
{{endforeach}}
{lang="total_items_shipped" pluralize="$quantity"}
]]>
{lang="sstatus_{$status}"}
]]>
status == \IPS\nexus\Shipping\Order::STATUS_SHIPPED}}ipsMessage_success{{elseif $shipment->status == \IPS\nexus\Shipping\Order::STATUS_CANCELED}}ipsMessage_error{{else}}ipsMessage_info{{endif}}">
{lang="sstatus_{$shipment->status}_desc"}
{lang="shipment_ordered" sprintf="$shipment->date"}
{{if $shipment->shipped_date}}
·
{{if $shipment->service and !$shipment->trackingUrl()}}
{lang="shipped_by" sprintf="$shipment->shipped_date, $shipment->service"}
{{else}}
{lang="shipped_on" sprintf="$shipment->shipped_date"}
{{endif}}
{{if $shipment->trackingUrl()}}
·
{lang="track"}
{{endif}}
{{endif}}
{{if $shipment->label}}
{{if $easyPost and isset( $easyPost['tracker'] ) and \count( $easyPost['tracker']['tracking_details'] )}}
{{endif}}
{{if $easyPost and isset( $easyPost['tracker'] ) and \count( $easyPost['tracker']['tracking_details'] )}}
{lang="shipment_tracking"}
{{foreach $easyPost['tracker']['tracking_details'] as $row}}
{datetime="strtotime( $row['datetime'] )"}
{$row['message']}
{{endforeach}}
{{endif}}
{{endif}}
{lang="shipment_items"}
{lang="invoice_item"}
{lang="invoice_quantity"}
{{foreach $shipment->items as $item}}
{$item['name']}
{$item['quantity']}
{{endforeach}}
{lang="shipping_address"}
{{if \IPS\GeoLocation::enabled()}}
{$shipment->address()->map()->render( 200, 100 )|raw}
{{endif}}
{{$data = $shipment->data;}}
{$data['cm_first_name']} {$data['cm_last_name']}
{$shipment->address()->toString(' ')|raw}
{{if $data['cm_phone']}}
{$data['cm_phone']}
{{endif}}
{lang="print_label"}
]]>
name}[0]}" value="{$field->value[0]}"> value[1] == 'i'}}selected{{endif}}>{lang="impressions"} value[1] == 'c'}}selected{{endif}}>{lang="clicks"} {lang="or"} Value[0]}}checked{{endif}} data-role="unlimited"> {lang="never"}]]>
{lang="your_cart"}
{template="cartContents" group="store" params="$location, $currency"}
]]>
{{foreach $_SESSION['cart'] as $id => $item}}
{{if $item instanceof \IPS\nexus\extensions\nexus\Item\Package}}
{{try { $package = \IPS\nexus\Package::load( $item->id ); } catch( \OutOfRangeException $e ) { unset($_SESSION['cart'][$key]); continue; } }}
{{endif}}
{{if $item instanceof \IPS\nexus\extensions\nexus\Item\Package and $package->image}}
{{else}}
{{endif}}
{{if !$package->subscription}}{$item->quantity} x {{endif}}{$item->name}
{{foreach $item->details as $k => $v}}
{lang="nexus_pfield_{$k}"}: {expression="\IPS\nexus\Package\CustomField::load( $k )->displayValue( $v )" raw="true"}
{{endforeach}}
{{if settings.nexus_show_tax}}
{{$location = $location ?: \IPS\nexus\Customer::loggedIn()->estimatedLocation();}}
{{$itemPrice = $item->grossPrice( $location );}}
{{$linePrice = $item->grossLinePrice( $location );}}
{{else}}
{{$itemPrice = $item->price;}}
{{$linePrice = $item->linePrice();}}
{{endif}}
{$linePrice}
{{$subtotal = $subtotal->add( $linePrice->amount );}}
{{if $item->renewalTerm}}
{lang="and_renewal" sprintf="$item->renewalTerm->toDisplay( NULL, $item->quantity )"}
{{endif}}
{{if $item->quantity > 1}}
{{if $item->renewalTerm}}
{lang="each_short_with_renewal" sprintf="$itemPrice, $item->renewalTerm"}
{{else}}
{lang="each_short" sprintf="$itemPrice"}
{{endif}}
{{endif}}
{{endforeach}}
{lang="cart_subtotal"}: {money="$subtotal" currency="$currency"}
{{else}}
{{endif}}]]>
canAccessModule( \IPS\Application\Module::get( 'nexus', 'store' ) )}}
{{$subtotal = new \IPS\Math\Number('0');}}
{expression="\IPS\nexus\Application::cartCount()"}
{lang="cart"}
{{else}}
{{endif}}]]>
canAccessModule( \IPS\Application\Module::get( 'nexus', 'store' ) )}}
{{$subtotal = 0;}}
{expression="\IPS\nexus\Application::cartCount()"}
{{endif}}]]>
array( 'content_type' => 'product', 'content_ids' => array( $package->id ) ) )"}
{{if \IPS\Request::i()->registerCheckout}}
{{else}}
{lang="product_added_to_cart"}
{$package->_title}
{lang="quantity"}: {$quantity}
{{if \count( $upsell )}}
{lang="related_products_you_might_like"}
{{foreach $upsell as $upsellPackage}}
{template="packageBlock" group="store" params="$upsellPackage, TRUE, TRUE"}
{{endforeach}}
{{endif}}
{{endif}}]]>
{$category->_title}
{{if $category->description}}
{template="richText" group="global" app="core" location="global" params="$category->description, array('ipsType_normal')"}
{{endif}}
{{if \count( $subcategories )}}
{{endif}}
{template="categoryContents" group="store" params="$category, $subcategories, $packages, $pagination, $packagesWithCustomFields, $totalCount"}
]]>
cookie['storeView'] ) ? \IPS\Request::i()->cookie['storeView'] : \IPS\Theme::i()->settings['cm_store_view'];}}
{lang="products_count" pluralize="$totalCount"}
{{if \count( $packages )}}
{{if $view == 'list'}}
{{foreach $packages as $package}}
{template="packageRow" group="store" params="$package, \in_array( $package->id, $packagesWithCustomFields )"}
{{endforeach}}
{{else}}
{{foreach $packages as $package}}
{template="packageBlock" group="store" params="$package"}
{{endforeach}}
{{endif}}
{{endif}}
{{if trim( $pagination ) != ''}}
{$pagination|raw}
{{endif}}
{{elseif ( !\count( $subcategories ) )}}
{lang="store_empty"}
{{endif}}]]>
{{if !\IPS\nexus\Package\Group::theOnlyNode( array(), TRUE, FALSE )}}
{lang="categories"}
{{if $subcategories !== NULL AND \count( $subcategories )}}
{{elseif $category && $category->parent()}}
{{$siblings = $category->parent()->children( 'view', NULL, FALSE );}}
{{else}}
{{endif}}
{{endif}}
{{if $havePackages or request.filter or request.minPrice or request.maxPrice or request.minRating or request.inStock}}
{{if request.filter or request.minPrice or request.maxPrice or request.minRating or request.inStock}}
{{endif}}
{lang="store_filter_by"}
{{foreach $category->filters( \IPS\Member::loggedIn()->language() ) as $filterId => $values}}
{{endforeach}}
{{if $havePackagesWhichAcceptReviews}}
{{endif}}
{{if $havePackagesWhichUseStockLevels}}
{{endif}}
{{endif}}
{template="chooseCurrency" group="store" params="$category ? $category->url() : \IPS\Http\Url::internal('app=nexus&module=store&controller=store', 'front', 'store')"}
]]>
1}}
{{$memberCurrency = ( ( isset( \IPS\Request::i()->cookie['currency'] ) and \in_array( \IPS\Request::i()->cookie['currency'], \IPS\nexus\Money::currencies() ) ) ? \IPS\Request::i()->cookie['currency'] : \IPS\nexus\Customer::loggedIn()->defaultCurrency() );}}
{{endif}}]]>
name}[sld]" value="{$field->value['sld']}"> . {{foreach $prices as $tld => $price}}value['tld']}}selected{{endif}}>{$tld} ({$price}) {{endforeach}} ]]>
name}[subdomain]" value="{{if isset( $field->value['subdomain'] )}}{$field->value['subdomain']}{{endif}}"> . {{foreach explode( ',', \IPS\Settings::i()->nexus_hosting_subdomains ) as $domain}}value['domain'] ) AND $domain == $field->value['domain']}}selected{{endif}}>{$domain} {{endforeach}} ]]>
{{for $i = 0; $i < \count( $conditions ); $i++}}
{$conditions[ $i ]}{{if $i != ( \count( $conditions ) - 1 )}}{lang="f_blurb_join"} {{endif}}
{{endfor;}}
{{for $i = 0; $i < \count( $results ); $i++}}
{$results[ $i ]}{{if $i != ( \count( $results ) - 1 )}}{lang="f_blurb_join"} {{endif}}
{{endfor;}}
{{if $warning}}
{lang="fraud_rule_conflict" sprintf="$warning->_title"}
{{endif}}]]>
{lang="buy_gift_voucher"}
{$form|raw}
]]>
error}}
{$form->error}
{{endif}}
]]>
language()->addToStack('store')"}
{{if $credits->amount->isGreaterThanZero()}}
{lang="store_credit_message" sprintf="$credits"}
{{endif}}
{{if \count( \IPS\nexus\Package\Item::featured() )}}
{lang="featured_products"}
{{foreach \IPS\nexus\Package\Item::featured() as $package}}
{template="packageBlock" group="store" params="$package, TRUE, TRUE"}
{{endforeach}}
{{endif}}
{{if \count( $newProducts )}}
{lang="new_products"}
{{foreach $newProducts as $package}}
{template="packageBlock" group="store" params="$package, TRUE, TRUE"}
{{endforeach}}
{{endif}}
{{if \count( $popularProducts )}}
{lang="popular_products"}
{{foreach $popularProducts as $package}}
{template="packageBlock" group="store" params="$package, TRUE, TRUE"}
{{endforeach}}
{{endif}}
]]>
{{if $images = $item->images() and \count( $images )}}
{{$donePrimary = false;}}
{{foreach $images as $image}}
{{if !$donePrimary}}
{{$donePrimary = true;}}
{{endif}}
{{endforeach}}
{{foreach $images as $image}}
{{endforeach}}
{lang="product_zoom_desc"}
{{else}}
{{endif}}
{$item->mapped('title')}
{{if $package->reviewable}}
{template="rating" group="global" app="core" params="'large', $item->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $item->memberReviewRating()"} ({lang="num_reviews" pluralize="$item->reviews"})
{{endif}}
{{$priceDetails = $package->fullPriceInfo();}}
{{if $priceDetails === NULL}}
{lang="nexus_no_price_info_desc"}
{{elseif $priceDetails['initialTerm']}}
{{else}}
{{if $priceDetails['renewalPrice']}}
{$priceDetails['renewalPrice']}
{{else}}
{$priceDetails['primaryPrice']}
{{if $priceDetails['primaryPriceDiscountedFrom']}}
{$priceDetails['primaryPriceDiscountedFrom']}
{{endif}}
{{endif}}
{{if \IPS\Member::loggedIn()->language()->checkKeyExists('nexus_tax_explain_val')}}
{lang="nexus_tax_explain_val"} {{endif}}
{{endif}}
{{if settings.nexus_show_stock and $package->stock != -1}}
{{if $package->stock == -2}}{{else}}{lang="x_in_stock" pluralize="$package->stock - $inCart"}{{endif}}
{{endif}}
{$item->truncated()|raw}
{$purchaseForm|raw}
{{if \count( $item->shareLinks() )}}
{template="shareButton" app="core" group="sharelinks" params="$item"}
{{endif}}
{lang="about_product" sprintf="$item->mapped('title')"}
{template="richText" group="global" app="core" location="global" params="$package->description, array('ipsType_normal', 'ipsType_break', 'ipsContained', 'ipsSpacer_top')"}
{{if $package->physical}}
{{if \count( $shippingMethods )}}
{lang="product_shipping_options"}
{lang="product_shipping_blurb"}
{{if $locationType != 'none'}}
{{if $locationType == 'address'}}
{lang="product_shipping_blurb_address"}
{{else}}
{lang="product_shipping_blurb_geo"}
{{endif}}
{{endif}}
{{if $itemDataForShipping}}
{{foreach $shippingMethods as $rate}}
{{if $rate->getPrice( array( $itemDataForShipping ), $itemDataForShipping->price->currency )->amount->isZero()}}{lang="free_shipping"} {{else}}{$rate->getPrice( array( $itemDataForShipping ), $itemDataForShipping->price->currency )}{{endif}} - {$rate->getName()}{{if $estimatedDeliveryTime = $rate->getEstimatedDelivery( array( $itemDataForShipping ) )}} ({$estimatedDeliveryTime}) {{endif}}
{{endforeach}}
{{endif}}
{{endif}}
{lang="shipping_sizing"}
{{endif}}
{{if $package->reviewable}}
{template="reviews" group="store" app="nexus" params="$item"}
{{endif}}
]]>
{{if $package->image}}
{{else}}
{{endif}}
{template="packageBlockPrice" app="nexus" group="store" params="$package->fullPriceInfo()"}
{{if $package->physical}}
{{if $package->stock !== 0}}
{{if settings.nexus_show_stock && $package->stock !== -1 && $package->stock !== -2}}{lang="x_in_stock" pluralize="$package->stock"}{{else}}{lang="in_stock"}{{endif}}
{{else}}
{lang="out_of_stock"}
{{endif}}
{{endif}}
{{if $package->reviewable}}
{template="rating" group="global" app="core" params="'medium', $package->item()->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $package->item()->memberReviewRating()"} {{if !$mini}}({$package->item()->reviews}) {{endif}}
{{endif}}
]]>
{{if $details === NULL}}
{lang="nexus_no_price_info"}
{{elseif $details['primaryPriceIsZero'] AND $details['initialTerm']}}
{$details['renewalPrice']}
{{if \IPS\Member::loggedIn()->language()->checkKeyExists('nexus_tax_explain_val')}}
{lang="nexus_tax_explain_val"}
{{endif}}
{$details['primaryPrice']}
{{if $details['initialTerm']}}
{lang="package_initial_term" sprintf="$details['initialTerm']"}
{{endif}}
{{else}}
{$details['primaryPrice']}
{{if $details['primaryPriceDiscountedFrom']}}
{$details['primaryPriceDiscountedFrom']}
{{endif}}
{{if !$details['primaryPriceIsZero'] and \IPS\Member::loggedIn()->language()->checkKeyExists('nexus_tax_explain_val')}}
{lang="nexus_tax_explain_val"}
{{endif}}
{{if $details['initialTerm']}}
{lang="package_initial_term" sprintf="$details['initialTerm']"}
{{endif}}
{{if $details['initialTerm']}}
{$details['renewalPrice']}
{{if \IPS\Member::loggedIn()->language()->checkKeyExists('nexus_tax_explain_val')}}
{lang="nexus_tax_explain_val"}
{{endif}}
{lang="package_subsequent_term"}
{{endif}}
{{endif}}
]]>
{{if $orientation == 'vertical'}}
{{if $package->image}}
image}" class='ipsImage'>
{{else}}
{{endif}}
{{else}}
{{if $package->image}}
image}" class='ipsImage'>
{{else}}
{{endif}}
{{endif}}
{template="packageBlockPrice" app="nexus" group="store" params="$package->fullPriceInfo()"}
{{if $package->physical}}
{{$stockLevel = $package->stockLevel();}}
{{if $stockLevel === 0}}
{lang="out_of_stock"}
{{else}}
{{if $stockLevel and settings.nexus_show_stock}}
{lang="x_in_stock" pluralize="$stockLevel"}
{{else}}
{lang="in_stock"}
{{endif}}
{{endif}}
{{endif}}
{{if $package->reviewable}}
{template="rating" group="global" app="core" params="'medium', $package->item()->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of"}({$package->item()->reviews})
{{endif}}
]]>
{{if $package->reviewable}}
{template="rating" group="global" app="core" params="'large', $package->item()->averageReviewRating(), \IPS\Settings::i()->reviews_rating_out_of, $package->item()->memberReviewRating()"} ({lang="num_reviews" pluralize="$package->item()->reviews"})
{{endif}}
{template="packageBlockPrice" app="nexus" group="store" params="$package->fullPriceInfo()"}
{{$truncateAttributes = array('data-ipsTruncate', 'data-ipsTruncate-size="4 lines"', 'data-ipsTruncate-type="remove"');}}
{template="richText" group="global" app="core" location="global" params="$package->description, array('ipsType_medium', 'ipsType_break', 'ipsContained', 'ipsSpacer_top', 'ipsSpacer_half'), array(), $truncateAttributes"}
]]>
{{endif}}
{{if $priceMayChange}}
{lang="price_from" sprintf="$price"}
{{else}}
{$price}
{{endif}}
{{if $class !== NULL}}{{endif}}
{{if $includePriceDescription and \IPS\Member::loggedIn()->language()->checkKeyExists('nexus_tax_explain_val')}}
{lang="nexus_tax_explain_val"}
{{endif}}]]>
{{endif}}
{{if $priceMayChange}}
{lang="price_from" sprintf="$discounted"}
{{else}}
{$discounted}
{{endif}}
{$original}
{{if $class !== NULL}}{{endif}}
{{if $includePriceDescription and \IPS\Member::loggedIn()->language()->checkKeyExists('nexus_tax_explain_val')}}
{lang="nexus_tax_explain_val"}
{{endif}}]]>
{lang="product_delete_blurb"}
{lang="product_delete_review"}
{lang="product_delete_review_desc"}
{{if $active}}
{{else}}
{{endif}}
{{if $expiredRenewable or $expredNonRenewable or $package->renew_options}}
{lang="product_count_active" pluralize="$active"}
{{else}}
{lang="product_count_purchases" pluralize="$active"}
{{endif}}
{{if $expiredRenewable or $expredNonRenewable}}
{{if $expiredRenewable}}
{{else}}
{{endif}}
{lang="product_count_expired_split" pluralize="$expiredRenewable, $expredNonRenewable"}
{{endif}}
{{if $canceledCanBeReactivated or $canceledCannotBeReactivated}}
{{if $canceledCanBeReactivated}}
{{else}}
{{endif}}
{lang="product_count_canceled_split" pluralize="$canceledCanBeReactivated, $canceledCannotBeReactivated"}
{{endif}}
{lang="product_delete_review_complete"}
{lang="product_delete_hide"}
{lang="product_delete_hide_desc"}
{{if $package->store}}
{{else}}
{{endif}}
{lang="product_delete_hide_1"}
{{if $package->reg}}
{{else}}
{{endif}}
{lang="product_delete_hide_2"}
{{if $upgradeTo}}
{{else}}
{{endif}}
{lang="product_delete_hide_3"}
]]>
htmlId}" data-controller="nexus.admin.store.productoptions" data-url="{url="app=nexus&module=store&controller=packages&do=productoptions&package={$package->id}"}">
{lang="p_stock_dynamic_fields"}
{lang="required"}
{lang="p_stock_dynamic_fields_desc"}
{lang="p_stock_dynamic_fields_noscript"}
]]>
{lang="cm_fields_modified"}
{{foreach $products as $product}}
{{endforeach}}
]]>
{{foreach $fields as $field}}
{$field->_title}
{{endforeach}}
{lang="p_stock"}
{lang="base_price_adjustment"}
{lang="base_price_adjustment_desc"}
{{if $renews}}
{lang="renew_price_adjustment"}
{lang="renew_price_adjustment_desc"}
{{endif}}
{{foreach $combinations as $k => $options}}
{{foreach $options as $option}}
{$option}
{{endforeach}}
{lang="or"}
{lang="unlimited"}
{{$values = isset( $existingValues[ $k ] ) ? json_decode( $existingValues[ $k ]['opt_base_price'], TRUE ) : array();}}
{{foreach \IPS\nexus\Money::currencies() as $currency}}
{$currency}
{{endforeach}}
{{if $renews}}
{{$values = isset( $existingValues[ $k ] ) ? json_decode( $existingValues[ $k ]['opt_renew_price'], TRUE ) : array();}}
{{foreach \IPS\nexus\Money::currencies() as $currency}}
{$currency}
{{endforeach}}
{{endif}}
{{endforeach}}
]]>
{{if $package->store or $package->reg}}
{{$stockLevel = $package->stockLevel();}}
{{if $stockLevel === NULL}}
{lang="product_purchasable"}
{{elseif $stockLevel}}
{lang="x_in_stock" pluralize="$stockLevel"}
{{else}}
{lang="x_in_stock" pluralize="$stockLevel"}
{{endif}}
{{else}}
{lang="product_not_purchasable"}
{{endif}}
{{if $package->show}}
{{if $package->allow_upgrading or $package->allow_downgrading}}
{{if !$package->allow_upgrading and $package->allow_downgrading}}{lang="product_downgradeable"}{{else}}{lang="product_upgradeable"}{{endif}}
{{else}}
{lang="product_not_upgradeable"}
{{endif}}
{{endif}}
_id}&filter=purchase_tab_active"}">
{{if $expired or $package->renew_options}}
{lang="product_count_active" pluralize="$active"}
{{else}}
{lang="product_count_purchases" pluralize="$active"}
{{endif}}
{{if $expired or $package->renew_options}}
_id}&filter=purchase_tab_expired"}">
{lang="product_count_expired" pluralize="$expired"}
{{endif}}
{{if $canceled}}
_id}&filter=purchase_tab_canceled"}">
{lang="product_count_canceled" pluralize="$canceled"}
{{endif}}
]]>
{lang="product_ba_warning_tax"}
]]>
_title}">
{{if $images = $item->images() and \count( $images )}}
{{$donePrimary = false;}}
{{foreach $images as $image}}
{{if !$donePrimary}}
{{$donePrimary = true;}}
{{endif}}
{{endforeach}}
{{endif}}
{$item->mapped('title')}
{$purchaseForm|raw}
]]>
{lang='sign_up'}: {lang="choose_product"}
{{if settings.nexus_reg_force}}
{lang="store_forced_purchase"}
{{else}}
{lang="store_optional_purchase"}
{{endif}}
{{if isset( $_SESSION['cart'] ) and \count( $_SESSION['cart'] )}}
{lang="continue_to_registration"}
{{endif}}
{{foreach $packages as $package}}
{template="packageBlock" group="store" params="$package, TRUE, TRUE, TRUE"}
{{endforeach}}
{{if !settings.nexus_reg_force}}
{lang="continue_without_purchasing"}
{{endif}}
]]>
url()}' {{if $item->isLastPage('reviews')}}data-lastPage{{endif}} data-feedID='product-{$item->id}-reviews' id='reviews'>
{{if $item->reviewForm()}}
{$item->reviewForm()|raw}
{{else}}
{{if $item->hasReviewed()}}
{{elseif \IPS\Member::loggedin()->restrict_post}}
{{if \IPS\Member::loggedIn()->restrict_post == -1}}
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment'"}
{{else}}
{template="reviewUnavailable" group="forms" location="front" app="core" params="'restricted_cannot_comment', \IPS\Member::loggedIn()->warnings(5,NULL,'rpa'), \IPS\Member::loggedIn()->restrict_post"}
{{endif}}
{{elseif \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
{template="reviewUnavailable" group="forms" location="front" app="core" params="'unacknowledged_warning_cannot_post', \IPS\Member::loggedIn()->warnings( 1, FALSE )"}
{{endif}}
{{endif}}
{{if $reviews = $item->reviews( NULL, NULL, NULL, 'desc', NULL, NULL, NULL, NULL, isset( \IPS\Request::i()->showDeleted ) ) AND \count( $reviews )}}
{{if !$item->hasReviewed()}} {{endif}}
{template="commentMultimodHeader" app="core" group="global" params="$item, '#reviews', 'review'"}
{{if $item->reviewPageCount() > 1}}
{$item->reviewPagination( array( 'tab', 'sort' ) )|raw}
{{endif}}
{{foreach $reviews as $review}}
{$review->html()|raw}
{{endforeach}}
{template="commentMultimod" app="core" group="global" params="$item, 'review'"}
{{if $item->reviewPageCount() > 1}}
{$item->reviewPagination( array( 'tab', 'sort' ) )|raw}
{{endif}}
{{elseif !$item->canReview()}}
{lang="no_reviews"}
{{endif}}
]]>
', ' '"}]]>
{lang="ps_start"}
{$purchase->start->localeDate()}
{{if $purchase->expire}}
{lang="ps_expire"}
{$purchase->expire->localeDate()}
{{endif}}
{{if $purchase->renewals and !$purchase->grouped_renewals}}
{lang="purchase_renewal_terms"}
{$purchase->renewals->toDisplay( $purchase->member )}
{{endif}}
{{if $purchase->billing_agreement AND !$purchase->billing_agreement->canceled}}
{lang="ps_billing_agreement"}
{$purchase->billing_agreement->gw_id}
{{endif}}
]]>
{lang="nexus_subs_member_message"}
{$form|raw}]]>
{$package->_title}
{$package->description}
]]>
{lang="nexus_subs_convert_message" sprintf="$package->_title"}
{$form|raw}]]>
package}}
{$subscription = $subscription->currentBlurb()}
{{endif}}]]>
{lang="nexus_subs_off_text"}
{lang="enable"}
]]>
url()}" target="_blank" rel='noopener'>{$package->_title}]]>
{{if $subscription->package->_image}}
package->_image->url )"}" )'>
{{endif}}
{lang="nexus_subs_subscriber" sprintf="$subscription->package->_title"}
{{endif}}]]>
id}-->
{{if $package->_image || $showImagePlaceholder}}
{{if $subscription and $subscription->package and $subscription->package->id === $package->id}}
{{endif}}
{{endif}}
{$package->_title}
{{if $priceInfo = $package->priceInfo() and $priceInfo['primaryPrice']}}
{template="packageBlockPrice" app="nexus" group="store" params="$priceInfo"}
{{else}}
{lang="nexus_sub_cost_unavailable"}
{{endif}}
{$package->description}
{{if $subscription AND !$subscription->cancelled }}
{{if $subscription->package and $subscription->purchase }}
{{$upgradeCost = $subscription->active ? $package->costToUpgrade( $subscription->package, \IPS\nexus\Customer::loggedIn() ) : NULL;}}
{{if $subscription->package->id === $package->id}}
{{if $subscription->purchase->expire and ( $canRenewUntil = $subscription->purchase->canRenewUntil( NULL,TRUE ) or ( $subscription->purchase->can_reactivate ) or ( $pendingInvoice = $subscription->purchase->invoice_pending and $pendingInvoice->status === $pendingInvoice::STATUS_PENDING ) or $subscription->purchase->canCancel())}}
{{endif}}
{{elseif $upgradeCost !== NULL}}
{{endif}}
{{endif}}
{{else}}
{{endif}}
]]>
id}&filter=nexus_subs_filter_active" csrf="true"}">{lang="nexus_sub_package_count_active" sprintf="$active"}
id}&filter=nexus_subs_filter_inactive" csrf="true"}">{lang="nexus_sub_package_count_inactive" sprintf="$inactive"}
{$price}
]]>
_image}}
{{$forcePlaceholders = TRUE;}}
{{break;}}
{{endif}}
{{endforeach}}
{{foreach $rows as $row}}
{template="row" params="$row, $table->activeSubscription, $forcePlaceholders" app="nexus" group="subscription"}
{{endforeach}}
{{endif}}]]>
{{if $active}}{lang="active"}{{else}}{lang="inactive"}{{endif}}]]>
{{if isset( \IPS\Request::i()->register ) and \IPS\Settings::i()->nexus_subs_register}}
{lang="nexus_sub_sign_up_title"}
{lang="nexus_sub_sign_up_desc"}
{{else}}
{lang="nexus_front_subscriptions"}
{{endif}}
{{if \count( \IPS\nexus\Money::currencies() ) > 1}}
{{$baseUrl = \IPS\Http\Url::internal('app=nexus&module=subscriptions&controller=subscriptions', 'front', 'nexus_subscriptions');}}
{{$memberCurrency = ( ( isset( \IPS\Request::i()->cookie['currency'] ) and \in_array( \IPS\Request::i()->cookie['currency'], \IPS\nexus\Money::currencies() ) ) ? \IPS\Request::i()->cookie['currency'] : \IPS\nexus\Customer::loggedIn()->defaultCurrency() );}}
{$memberCurrency}
{{endif}}
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
{{if \is_array( $rows ) AND \count( $rows )}}
{template="$table->rowsTemplate[1]" params="$table, $headers, $rows" object="$table->rowsTemplate[0]"}
{{else}}
{lang="nexus_subs_non_available"}
{{endif}}
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit, TRUE, $table->getPaginationKey()"}
]]>
isAjax()}}
{template="pageHeader" group="global" app="core" params="\IPS\Member::loggedIn()->language()->addToStack('create_new_request')"}
{{endif}}
{$form|raw}
]]>
_title}]]>
{{foreach range( 1, 5 ) as $i}}
= $i}}ipsRating_on{{endif}}'>
{{endforeach}}
{expression="nl2br( $rating['rating_note'] )"}
]]>
$v}}{$k}="{$v}"{{endforeach}} data-ipsForm>
{{foreach $hiddenValues as $k => $v}}
{{if \is_array($v)}}
{{foreach $v as $_k => $_v}}
{{endforeach}}
{{else}}
{{endif}}
{{endforeach}}
{{if $uploadField}}
{{endif}}
{{foreach $elements['streams'] as $input}}
{$input->html($form)|raw}
{{endforeach}}
]]>
]]>
name}[0]" class="cNexusTicketSort">
value ) AND $input->value[0] == 'lt'}} selected{{endif}}>{lang='lt'}
value ) or ( \is_array( $input->value ) AND $input->value[0] == 'gt' )}} selected{{endif}}>{lang='gt'}
{{$bestUnit = 'h';}}
value === NULL}}
value=""
data-jsdisable="true"
{{elseif \is_numeric( $input->value )}}
value="{expression="number_format( $input->value, mb_strlen( mb_substr( $input->value, mb_strpos( $input->value, '.' ) + 1 ) ), '.', '' )"}"
{{else}}
{{$numberValue = $input->value[1] * 3600; $bestUnit = \IPS\Helpers\Form\Interval::bestUnit( $numberValue );}}
value="{$numberValue}"
{{endif}}
class="ipsField_tiny"
min="0"
>
{lang="weeks"}
{lang="days"}
{lang="hours"}
{lang="minutes"}
{lang="seconds"}
{lang="ago"}
{lang="or"}
value}}checked aria-checked='true'{{endif}} aria-labelledby='{$input->name}_unlimited_label'>
{lang="support_stream_any_time"}
]]>
{{foreach array( 'r_started', 'r_last_reply', 'r_last_new_reply', 'r_last_staff_reply' ) as $k}}
{lang="$k"}
{{endforeach}}
{lang="more_than"}
{{foreach array( 'minutes', 'hours', 'days' ) as $k}}
{lang="$k"}
{{endforeach}}
{lang="ago"}
{lang="or"}
{lang="do_not_highlight_requests"} ]]>
pages <= 1}}ipsHide{{endif}}'>
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit"}
{{foreach $rows as $row}}
{{foreach range( 1, 5 ) as $i}}
= $i}}ipsRating_on{{endif}}'>
{{endforeach}}
{lang="performance_rated_by" sprintf="\IPS\Member::load( $row['rating_from'] )->name, \IPS\Member::load( $row['reply_member'] )->name"}
{{if $row['rating_note']}}{$row['rating_note']}{{else}}{lang="no_feedback"}{{endif}}
{{endforeach}}
pages <= 1}}class='ipsHide'{{endif}}>
{template="pagination" group="global" app="core" location="global" params="$table->baseUrl, $table->pages, $table->page, $table->limit"}
]]>
acpUrl()}" {{if $hovercard}}data-ipsHover data-ipsHover-target="{$request->acpUrl()->setQueryString( array( 'do' => 'hovercard' ) )}" data-ipsHover-width="750"{{endif}} data-role="supportLink">
{{if $request->unread()}}
{$request->title}
{{else}}
{$request->title}
{{endif}}
#{$request->id} ]]>
$v}}{$k}="{$v}"{{endforeach}} data-ipsForm>
{{foreach $hiddenValues as $k => $v}}
{{endforeach}}
{$elements['']['departments']->html()|raw}
{$elements['']['statuses']->html()|raw}
{lang="update"}
]]>
{lang="past_30_days"}
$stats['totalRepliesPrev']}}cNexusHistoryStat_positive{{elseif $stats['totalRepliesThis'] == $stats['totalRepliesPrev']}}cNexusHistoryStat_neutral{{else}}cNexusHistoryStat_negative{{endif}}'>
{number="$stats['totalRepliesThis']"}
{{if $stats['totalRepliesThis'] > $stats['totalRepliesPrev']}}
{{elseif $stats['totalRepliesThis'] == $stats['totalRepliesPrev']}}
{{else}}
{{endif}}
{lang="support_history_total_replies"}
$stats['customersHelpedPrev']}}cNexusHistoryStat_positive{{elseif $stats['customersHelpedThis'] == $stats['customersHelpedPrev']}}cNexusHistoryStat_neutral{{else}}cNexusHistoryStat_negative{{endif}}'>
{number="$stats['customersHelpedThis']"}
{{if $stats['customersHelpedThis'] > $stats['customersHelpedPrev']}}
{{elseif $stats['customersHelpedThis'] == $stats['customersHelpedPrev']}}
{{else}}
{{endif}}
{lang="support_history_customers"}
$stats['issuesResolvedPrev']}}cNexusHistoryStat_positive{{elseif $stats['issuesResolvedThis'] == $stats['issuesResolvedPrev']}}cNexusHistoryStat_neutral{{else}}cNexusHistoryStat_negative{{endif}}'>
{number="$stats['issuesResolvedThis']"}
{{if $stats['issuesResolvedThis'] > $stats['issuesResolvedPrev']}}
{{elseif $stats['issuesResolvedThis'] == $stats['issuesResolvedPrev']}}
{{else}}
{{endif}}
{lang="support_history_resolved"}
{{if settings.nexus_support_satisfaction}}
{{foreach range( 1, 5 ) as $i}}
{{if $i <= $stats['averageRatingThis']}}
{{elseif ( $i - 0.5 ) <= $stats['averageRatingThis']}}
{{else}}
{{endif}}
{{endforeach}}
$stats['averageRatingPrev']}}cNexusHistoryStat_positive{{elseif $stats['averageRatingThis'] == $stats['averageRatingPrev']}}cNexusHistoryStat_neutral{{else}}cNexusHistoryStat_negative{{endif}}'>
{{if $stats['averageRatingThis'] > $stats['averageRatingPrev']}}
{{elseif $stats['averageRatingThis'] == $stats['averageRatingPrev']}}
{{else}}
{{endif}}
{lang="average_rating"}
{{endif}}
{$chart|raw}
{{if \count( $iterator )}}
{{if trim( $pagination ) !== ''}}
{$pagination|raw}
{{endif}}
{{foreach $iterator as $reply}}
{{if $replyDate = $reply instanceof \IPS\nexus\Support\Reply ? \IPS\DateTime::ts( $reply->date ) : $reply->date}}
{{if mb_strpos( \IPS\DateTime::localeTimeFormat(), '%p' ) === FALSE}}
{expression="$replyDate->localeTime( FALSE )"}
{{else}}
{expression="$replyDate->strFormat( trim( str_replace( '%p', '', \IPS\DateTime::localeTimeFormat() ) ) )"}{expression="$replyDate->strFormat( '%p' )"}
{{endif}}
{{endif}}
{{if $reply instanceof \IPS\nexus\Support\Reply}}
{{if $reply->type == $reply::REPLY_HIDDEN}}
{{else}}
{{endif}}
{{else}}
{{if $reply->action === 'status'}}
{{elseif $reply->action === 'department'}}
{{elseif $reply->action === 'severity'}}
{{elseif $reply->action === 'purchase'}}
{{if $reply->new}}
{{$link = "{$reply->new->name} ";}}
{{else}}
{{endif}}
{{elseif $reply->action === 'staff'}}
{{if $reply->new}}
{{else}}
{{endif}}
{{elseif $reply->action === 'split_away'}}
{{elseif $reply->action === 'split_new'}}
{{endif}}
{{endif}}
{{if $reply instanceof \IPS\nexus\Support\Reply}}
{{try { $request = \IPS\nexus\Support\Request::loadAndCheckPerms( $reply->request ); } catch( \OutOfRangeException $e ) { $request = NULL; } }}
{{if $reply->type == $reply::REPLY_HIDDEN}}{lang="request_added_note_u"}{{else}}{lang="request_replied_u"}{{endif}}
{lang="support_history_to_req" sprintf="$reply->request"}
{{else}}
{{$request = $reply->request;}}
{{if $reply->action === 'status'}}
{lang="support_history_status_1"} {lang="support_history_status_2" sprintf="$reply->request->id"} {template="status" group="support" params="$reply->new"}
{{elseif $reply->action === 'department'}}
{lang="support_history_department_1"} {lang="support_history_department_2" sprintf="$reply->request->id, $reply->new ? $reply->new->_title : '?'"}
{{elseif $reply->action === 'severity'}}
{lang="support_history_severity_1"} {lang="support_history_severity_2" sprintf="$reply->request->id, $reply->new ? $reply->new->_title : '?'"}
{{elseif $reply->action === 'purchase'}}
{{if $reply->new}}
{lang="support_history_purchase_1"} {lang="support_history_purchase_2" sprintf="$reply->request->id, $reply->new->acpUrl(), $reply->new->name"}
{{else}}
{lang="support_history_no_purchase_1"} {lang="support_history_no_purchase_2" sprintf="$reply->request->id"}
{{endif}}
{{elseif $reply->action === 'staff'}}
{{if $reply->new}}
{lang="support_history_assigned_1"} {lang="support_history_assigned_2" sprintf="$reply->request->id, $reply->new->name"}
{{else}}
{lang="support_history_unassigned_1"} {lang="support_history_unassigned_2" sprintf="$reply->request->id"}
{{endif}}
{{elseif $reply->action === 'split_away'}}
{lang="support_history_split_away_1"} {lang="support_history_split_away_2" sprintf="$reply->request->id"}
{{elseif $reply->action === 'split_new'}}
{lang="support_history_split_new_1"} {lang="support_history_split_new_2" sprintf="$reply->request->id"}
{{endif}}
{{endif}}
{{if $request}}
{{if $reply instanceof \IPS\nexus\Support\Reply}}
{{if $request->severity and $request->severity->color != '000'}}
{$request->severity->_title}
{{endif}}
{lang="in_department" sprintf="$request->department->_title"}
{{if $request->staff}}
{lang="assigned_to_x" sprintf="$request->staff->name"}
{{endif}}
{{endif}}
{{endif}}
{{if $reply instanceof \IPS\nexus\Support\Reply}}
{$reply->truncated()|raw}
{{if $reply->type === $reply::REPLY_STAFF and settings.nexus_support_satisfaction and \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_ratings' and $reply->ratingData['rating_rating'])}}
{{foreach range( 1, 5 ) as $i}}
ratingData['rating_rating'] >= $i}}ipsRating_on{{endif}}'>
{{endforeach}}
{{if $reply->ratingData['rating_note'] and \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_ratings_feedback' )}}
id}"}" data-ipsDialog>{lang="customer_rating_nc"}
{{else}}
{lang="customer_rating_nc"}
{{endif}}
{{endif}}
{{endif}}
{{endforeach}}
{{if trim( $pagination ) !== ''}}
{$pagination|raw}
{{endif}}
{{else}}
{lang="no_results"}
{{endif}}
]]>
$v}}{$k}="{$v}"{{endforeach}} data-ipsForm id='elNoteForm_form'>
{{foreach $hiddenValues as $k => $v}}
{{if \is_array($v)}}
{{foreach $v as $_k => $_v}}
{{endforeach}}
{{else}}
{{endif}}
{{endforeach}}
{{if $uploadField}}
{{endif}}
{{if $elements['']['note']}}
{$elements['']['note']->html()|raw}
{{endif}}
]]>
{lang="$message"}
]]>
ratingData ) OR !$comment->ratingData['rating_rating']}}
$comment->id, 'do' => 'rate' ) )}' class='ipsPos_right' data-ipsDialog data-ipsDialog-remoteSubmit data-ipsDialog-flashMessage="{lang="thanks_for_your_feedback"}" data-ipsDialog-size='narrow' data-ipsDialog-title="{lang="rate_this_response"}">{lang="rate_this_response"}
{{else}}
{lang="you_rated_response"}
{{foreach range( 1, 5 ) as $i}}
{{endforeach}}
{{endif}}]]>
type} ipsBox">
{{if !$condensed}}
{{if \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_split' ) or \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_reply_delete' )}}
hasAcpRestriction( 'nexus', 'support', 'requests_split' ) and \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_reply_delete' )}}
data-actions="split delete"
title="{lang="split_or_delete"}"
{{elseif \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_split' )}}
data-actions="split"
title="{lang="split"}"
{{elseif \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_reply_delete' )}}
data-actions="delete"
title="{lang="delete"}"
{{endif}}
>
{{endif}}
{{if \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_reply_delete' )}}
id}" csrf="true"}" data-confirm data-ipsTooltip title='{lang="delete"}' class='ipsFaded ipsFaded_more ipsType_blendLinks ipsPos_right ipsType_normal'>
{{endif}}
{{endif}}
{{if $comment->type === $comment::REPLY_EMAIL}}
{$comment->email}
{{elseif $comment->type === $comment::REPLY_MEMBER or $comment->type === $comment::REPLY_ALTCONTACT}}
{$comment->author()->cm_name}
{{else}}
{$comment->author()->cm_name}
{{endif}}
{{if $comment->type == $comment::REPLY_HIDDEN}}
{lang="request_added_note"}
{{elseif $comment->date == $item->started}}
{lang="request_created"}
{{else}}
{lang="request_replied"}
{{endif}}
{datetime="$comment->date"}
{{if $comment->ip_address and member.hasAcpRestriction( 'core', 'members', 'membertools_ip' )}}
{$comment->ip_address}
{{endif}}
{{if $comment->cc}}
{lang="cc"}: {$comment->cc}
{{endif}}
{{if $comment->bcc}}
{lang="bcc"}: {$comment->cc}
{{endif}}
{{if $item->member and $comment->date == $item->started and $comment->type === $comment::REPLY_EMAIL}}
{lang="request_from_customer_email"}
{{endif}}
{{if $comment->type === $comment::REPLY_ALTCONTACT}}
{lang="request_from_alternative_contact" sprintf="$item->supportAuthor()->name()"}
{{endif}}
{{if $condensed}}
{$comment->truncated()|raw}
{{else}}
{$comment->content()|raw}
{{endif}}
{{if !$condensed and $comment->type === $comment::REPLY_STAFF and settings.nexus_support_satisfaction and \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_ratings' )}}
{{if $comment->ratingData AND $comment->ratingData['rating_rating']}}
{{if $comment->ratingData['rating_note'] and \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_ratings_feedback' )}}
id}"}" data-ipsDialog>{lang="customer_rating"}
{{else}}
{lang="customer_rating"}
{{endif}}
{{foreach range( 1, 5 ) as $i}}
{{endforeach}}
{{else}}
{lang="customer_has_not_rated"}
{{endif}}
{{endif}}
{{if $comment->type === $comment::REPLY_PENDING}}
{{endif}}
]]>
type} ipsComment ipsComment_parent' data-commentApp='nexus' data-commentType='support' data-commentID="{$comment->$idField}">
{{if $comment->author()}}
{template="userPhoto" group="global" app="core" params="$comment->author(), 'small'"}
{{else}}
{{endif}}
{{if $comment->type === $comment::REPLY_EMAIL}}
By Email
{{elseif $comment->type === $comment::REPLY_MEMBER or $comment->type === $comment::REPLY_ALTCONTACT}}
{{if $comment->author()->member_id === \IPS\Member::loggedIn()->member_id}}
{lang="you"}
{{else}}
{{endif}}
{{else}}
{$comment->author()->cm_name}
{{endif}}
{{if $comment->type === $comment::REPLY_MEMBER}}
{lang="reply_by__accountowner"}
{{elseif $comment->type === $comment::REPLY_ALTCONTACT}}
{lang="reply_by__altcontact"}
{{elseif $comment->type === $comment::REPLY_STAFF}}
{lang="reply_by__staff"}
{{endif}}
{{if $comment->type === $comment::REPLY_STAFF and settings.nexus_support_satisfaction}}
{template="ratingValue" group="support" params="$comment"}
{{endif}}
{datetime="$comment->date"}
{{if $comment->cc}}
{lang="cc"}: {$comment->cc}
{{endif}}
{{if $comment->bcc}}
{lang="bcc"}: {$comment->bcc}
{{endif}}
{$comment->content()|raw}
]]>
{{if isset( \IPS\Request::i()->pending ) and \IPS\Request::i()->pending}}
{lang="support_pending"}
{{endif}}
{{$purchase = $request->purchase;}}
{lang="request_purchase_inactive"}
{lang="request_purchase_inactive_optional"}
{lang="request_purchase_none"}
{lang="request_purchase_none_optional"}
{{if $purchase}}
{lang="associated_purchase"}
{{if $purchase->expire and !$purchase->cancelled}}
{{if $purchase->cancelled || !$purchase->active}}
{{else}}
{{endif}}
{{if $purchase->cancelled}}
{lang="purchase_canceled"}
{{elseif !$purchase->active}}
{lang="purchase_expired"}
{{else}}
{lang="purchase_active"}
{{endif}}
{{endif}}
{{endif}}
{{$order = isset( \IPS\Request::i()->order ) ? \IPS\Request::i()->order : ( isset( \IPS\Request::i()->cookie['support_replies_order'] ) ? \IPS\Request::i()->cookie['support_replies_order'] : 'desc' );}}
{{if $request->commentPageCount() > 1}}
{$request->commentPagination( array(), 'pagination', NULL, $request->acpUrl() )|raw}
{{endif}}
csrfKey"}">
{{foreach $request->repliesAndLog( $order ) as $comment}}
{{if $comment instanceof \IPS\nexus\Support\Reply}}
{$comment->html()|raw}
{{else}}
{{if $comment->action === 'status'}}
{lang="reply_action_status" sprintf="$comment->member->name, $comment->new ? $comment->new->_title : '?'"}
{{elseif $comment->action === 'department'}}
{lang="reply_action_moved" sprintf="$comment->member->name, $comment->new ? $comment->new->_title : '?'"}
{{elseif $comment->action === 'severity'}}
{lang="reply_action_severity" sprintf="$comment->member->name, $comment->new ? $comment->new->_title : '?'"}
{{elseif $comment->action === 'purchase'}}
{{if $comment->new}}
{lang="reply_action_associate" sprintf="$comment->member->name, $comment->new->acpUrl(), $comment->new->name"}
{{else}}
{lang="reply_action_unassociate" sprintf="$comment->member->name"}
{{endif}}
{{elseif $comment->action === 'staff'}}
{{if $comment->new}}
{lang="reply_action_assign" sprintf="$comment->member->name, $comment->new->name"}
{{else}}
{lang="reply_action_unassign" sprintf="$comment->member->name"}
{{endif}}
{{elseif $comment->action === 'split_away'}}
{{if $comment->new}}
{lang="reply_action_split_away_from" sprintf="$comment->member->name, $comment->new->acpUrl(), $comment->new->title"}
{{else}}
{lang="reply_action_split_away" sprintf="$comment->member->name"}
{{endif}}
{{elseif $comment->action === 'split_new'}}
{{if $comment->old}}
{lang="reply_action_split_new_to" sprintf="$comment->member->name, $comment->old->acpUrl(), $comment->old->title"}
{{else}}
{lang="reply_action_split_new" sprintf="$comment->member->name"}
{{endif}}
{{elseif $comment->action === 'previous_request'}}
{{if $comment->old}}
{lang="reply_action_previous_request" sprintf="$comment->old->acpUrl(), $comment->old->title"}
{{elseif $comment->new}}
{lang="reply_action_previous_request_new" sprintf="$comment->new->acpUrl(), $comment->new->title"}
{{else}}
{lang="reply_action_previous_request_none"}
{{endif}}
{{elseif $comment->action === 'autoresolve_warning'}}
{lang="reply_action_autoresolve_warning"}
{{elseif $comment->action === 'autoresolve'}}
{lang="reply_action_autoresolve" sprintf="$comment->new ? $comment->new->_title : '?'"}
{{elseif $comment->action === 'merge'}}
{lang="reply_action_merge" sprintf="$comment->member->name"}
{{endif}}
{datetime="$comment->date"}
{{endif}}
{{endforeach}}
{lang="split"}
{lang="delete"}
{lang="submit"}
{{if $request->commentPageCount() > 1}}
{$request->commentPagination( array(), 'pagination', NULL, $request->acpUrl() )|raw}
{{endif}}
{{$previous = $request->nextPrevious( 1 );}}
{{$next = $request->nextPrevious();}}
{{if $next or $previous}}
{{endif}}
]]>
{lang="support_responses"}
{{if $request->commentPageCount() > 1}}
{$request->commentPagination()|raw}
{{endif}}
{{foreach $request->comments( NULL, NULL, 'date', 'asc', NULL, FALSE ) as $reply}}
{$reply->html()|raw}
{{endforeach}}
{{if $request->commentPageCount() > 1}}
{$request->commentPagination()|raw}
{{endif}}
{{if $request->canComment()}}
{lang="respond_to_ticket"}
{$request->commentForm()|raw}
{{endif}}
]]>
{{foreach $actions as $action}}
{{if \count($action['menu']) > 1}}
$v}}data-{$k}="{$v}" {{endforeach}}{{endif}}>
{{else}}
{{endif}}
{$action['tooltip']}
{lang="$action['title']"}
{{if \count($action['menu']) > 1}}
{{else}}
{{endif}}
{{if isset( $action['menu'] )}}
{{endif}}
{{endforeach}}
]]>
{template="breadcrumb" app="core" location="admin" group="global"}
{$request->title}
#{$request->id} ({lang="edit"})
]]>
{{if \count( $overviews ) > 1}}
]]>
{lang="your_support_requests"}
{$table|raw}
]]>
{$request->status->_title}
{{if \count( \IPS\nexus\Support\Severity::roots() ) > 1}}
{$request->severity->_title}
{{endif}}
{$request->department->_title}
{{if $staff = $request->staff}}{$staff->name}{{else}}{lang="unassigned"}{{endif}}
]]>
{$stream->title} ({lang="change"})
{$form|raw}
{{if $stream->temporary}}
id}"}" data-ipsMenu id="elSaveStream">{lang="save_this_stream"}
{{elseif \is_int( $stream->id )}}
id}"}" data-action="editStream">{lang="edit_this_stream"}
{{endif}}
{template="requestsTable" group="support" params="$results, $pagination, $groupByDepartment, $sortBy, $sortDir, $tracked, $participatedIn, $honorSeverities"}
]]>
{$pagination|raw}
csrfKey"}">
{template="requestsTableResults" group="support" params="$results, $pagination, $groupByDepartment, $tracked, $participatedIn"}
]]>
id}"; }, \IPS\nexus\Support\Department::roots() ), array_map( function( $severity ) { return "severity_{$severity->id}"; }, \IPS\nexus\Support\Severity::roots() ), array_map( function( $status ) { return "status_{$status->id}"; }, \IPS\nexus\Support\Status::roots() ), array_map( function( $id ) { return "staff_{$id}"; }, array_keys( \IPS\nexus\Support\Request::staff() ) ), array( 'staff_0', 'delete' ) ) );}}
{{if !\count( $results )}}
{{if request.module === 'customers' && request.controller === 'view'}}
{lang="no_support_requests"}
{{else}}
{lang="motivate_title"}
{lang="motivate_desc"}
{{endif}}
{{else}}
{{if $full}}
{lang="request"}
{lang="r_status"}
{lang="r_staff"}
{lang="request_started_by"}
{lang="r_last_reply_by"}
{{endif}}
{{$lastDepartment = NULL;}}
{{foreach $results as $request}}
{{if $groupByDepartment and $request->department->id != $lastDepartment}}
{$request->department->_title}
{{$lastDepartment = $request->department->id;}}
{{endif}}
{{$color = ( $request->severity and $request->severity->color != '000' ) ? $request->severity->color : FALSE;}}
{{if $request->unread()}}
{{else}}
{{if array_key_exists( $request->id, $tracked )}}
{{elseif \in_array( $request->id, $participatedIn )}}
{{else}}
{{endif}}
{{endif}}
{{if $color}}
{template="severity" group="support" params="$request->severity" app="nexus"}
{{endif}}
{template="link" group="support" params="$request, TRUE" app="nexus"}
{{if !$groupByDepartment and $full}}
{lang="in_department" sprintf="$request->department->_title"}
{{endif}}
{{if !$groupByDepartment}}
{lang="in_department" sprintf="$request->department->_title"}
{{endif}}
{{if $request->staff}}
{{if !$groupByDepartment}}
{{endif}}
{lang="assigned_to_x" sprintf="$request->staff->name"}
{{endif}}
{lang="request_last_by"} {template="userLink" group="global" params="\IPS\Member::load( $request->last_reply_by )" app="nexus"} {datetime="$request->last_reply"}
{template="status" group="support" params="$request->status" app="nexus"}
{{if $request->staff}}
{$request->staff->name}
{{endif}}
{{if $request->author()->member_id}}
{template="userLink" group="global" params="$request->author()" app="nexus"}
{{else}}
{$request->email}
{{endif}}
{datetime="$request->started"}
{template="userLink" group="global" params="\IPS\Member::load( $request->last_reply_by )" app="nexus"}
{datetime="$request->last_reply"}
{{if $full}}
{{endif}}
{{endforeach}}
{{if $full}}
{{foreach \IPS\nexus\Support\Status::roots() as $status}}
{$status->_title}
{{endforeach}}
{{if \count( \IPS\nexus\Support\Severity::roots() ) > 1}}
{{foreach \IPS\nexus\Support\Severity::roots() as $severity}}
{$severity->_title}
{{endforeach}}
{{endif}}
{{foreach \IPS\nexus\Support\Department::roots() as $department}}
{$department->_title}
{{endforeach}}
{{foreach \IPS\nexus\Support\Request::staff() as $id => $name}}
{$name}
{{endforeach}}
{lang="unassigned"}
{lang="not_tracking"}
{lang="tracking_no_notify"}
{lang="tracking_notify"}
{{if \IPS\Member::loggedIn()->hasAcpRestriction( 'nexus', 'support', 'requests_delete' )}}
{lang="delete"}
{{endif}}
{lang="submit"}
{{endif}}
{$pagination|raw}
{{endif}}]]>
{lang="severities_desc"}
{lang="nexus_severities"}
{lang="nexus_severities_desc"}
{$table|raw}]]>
color}" data-ipsTooltip data-ipsTooltip-label="{$severity->_title}">{$severity->_title}]]>
$v}}{$k}="{$v}"{{endforeach}} data-ipsForm id='elSupportReplyForm'>
{{foreach $hiddenValues as $k => $v}}
{{if \is_array($v)}}
{{foreach $v as $_k => $_v}}
{{endforeach}}
{{else}}
{{endif}}
{{endforeach}}
{{if $uploadField}}
{{endif}}
{{if $elements['']['message']}}
{$elements['']['message']->html()|raw}
{{endif}}
{{$next = $request->nextPrevious();}}
{{$defaultAction = \IPS\nexus\modules\admin\support\request::defaultReplyAction();}}
]]>
color}}style="background-color: #{$status->color}"{{endif}} title="{$status->_title}" data-ipsTooltip data-ipsTooltip-label="{$status->_title}">{$status->_title}]]>
unread()}}ipsDataItem_unread{{endif}}">
{template="userPhoto" group="global" app="core" params="\IPS\Member::load( $row->last_reply_by ), 'small'"}
{$row->truncated()|raw}
{{if $row->purchase}}
{lang="request_is_for"} {$row->purchase->_title}
{{endif}}
{{endforeach}}]]>
({lang="from_x_ratings" pluralize="$count"})
{{else}}
{lang="no_ratings"}
{{endif}}]]>
item(), $row"}
{{endforeach}}]]>
{$chart|raw}
{lang="times_are_your_timezone"}
]]>
riskData )}}
{lang="braintree_risk_level"} {$response->riskData->decision}
{{endif}}
{{if isset( $response->paymentInstrumentType )}}
{{if $response->paymentInstrumentType === 'paypal_account'}}
{$response->paypalDetails->payerEmail} ({$response->paypalDetails->payerFirstName} {$response->paypalDetails->payerLastName})
{{if $response->paypalDetails->payerStatus}}
{lang="paypal_payer_status" sprintf=" $response->paypalDetails->payerStatus"}
{{endif}}
{{if $response->paypalDetails->sellerProtectionStatus}}
{lang="paypal_seller_protection_status" sprintf=" $response->paypalDetails->sellerProtectionStatus"}
{{endif}}
{{elseif $response->paymentInstrumentType === 'venmo_account'}}
{$response->venmoAccount['sourceDescription']}
{{elseif $response->paymentInstrumentType === 'credit_card'}}
{{if $response->creditCardDetails->cardType == 'Visa'}}
{{elseif $response->creditCardDetails->cardType == 'MasterCard'}}
{{elseif $response->creditCardDetails->cardType == 'Discover'}}
{{elseif $response->creditCardDetails->cardType == 'American Express'}}
{{elseif $response->creditCardDetails->cardType == 'JCB'}}
{{else}}
{{endif}}
····{$response->creditCardDetails->last4}
{lang="card_expires"} {$response->creditCardDetails->expirationDate}
{{if $response->creditCardDetails->cardholderName}}
{lang="card_holder_name"} {$response->creditCardDetails->cardholderName}
{{endif}}
{{if $response->creditCardDetails->countryOfIssuance and $response->creditCardDetails->countryOfIssuance !== 'Unknown'}}
{lang="card_origin"} {lang="country-{$response->creditCardDetails->countryOfIssuance}"}
{{endif}}
{{foreach array( 'cvvResponseCode', 'avsStreetAddressResponseCode', 'avsPostalCodeResponseCode' ) as $k}}
{{if $response->$k}}
{{if $response->$k === 'M'}}
{{elseif $response->$k === 'N'}}
{{else}}
{{endif}}
{lang="braintree_{$k}"}{lang="braintree_avscvv_{$response->$k}"}
{{endif}}
{{endforeach}}
{{if $response->threeDSecureInfo}}
{{if $response->threeDSecureInfo->liabilityShifted}}
{lang="braintree_3ds_pass"}
{{elseif $response->threeDSecureInfo->liabilityShiftPossible}}
{lang="braintree_3ds_fail"}
{{else}}
{lang="braintree_3ds_not_checked"}
{{endif}}
({lang="braintree_3ds_{$response->threeDSecureInfo->status}"})
{{else}}
{lang="braintree_3ds_not_checked"}
{{endif}}
{{elseif $response->paymentInstrumentType === 'apple_pay_card'}}
{lang="stripe_tokenization_apple_pay"}
{{if str_replace( 'Apple Pay - ', '', $response->applePayCardDetails->cardType ) == 'Visa'}}
{{elseif str_replace( 'Apple Pay - ', '', $response->applePayCardDetails->cardType ) == 'MasterCard'}}
{{elseif str_replace( 'Apple Pay - ', '', $response->applePayCardDetails->cardType ) == 'Discover'}}
{{elseif str_replace( 'Apple Pay - ', '', $response->applePayCardDetails->cardType ) == 'American Express'}}
{{elseif str_replace( 'Apple Pay - ', '', $response->applePayCardDetails->cardType ) == 'JCB'}}
{{else}}
{{endif}}
····{$response->applePayCardDetails->last4}
{lang="card_expires"} {expression="str_pad( $response->applePayCardDetails->expirationMonth, 2, '0', STR_PAD_LEFT )"}/{$response->applePayCardDetails->expirationYear}
{{if $response->applePayCardDetails->cardholderName}}
{lang="card_holder_name"} {$response->applePayCardDetails->cardholderName}
{{endif}}
{{if $response->applePayCardDetails->countryOfIssuance and $response->applePayCardDetails->countryOfIssuance !== 'Unknown'}}
{lang="card_origin"} {lang="country-{$response->applePayCardDetails->countryOfIssuance}"}
{{endif}}
{{foreach array( 'avsStreetAddressResponseCode', 'avsPostalCodeResponseCode' ) as $k}}
{{if $response->$k}}
{{if $response->$k === 'M'}}
{{elseif $response->$k === 'N'}}
{{else}}
{{endif}}
{lang="braintree_{$k}"}{lang="braintree_avscvv_{$response->$k}"}
{{endif}}
{{endforeach}}
{{elseif $response->paymentInstrumentType === 'android_pay_card'}}
{lang="stripe_tokenization_android_pay"}
{{if $response->androidPayCardDetails->cardType == 'Visa'}}
{{elseif $response->androidPayCardDetails->cardType == 'MasterCard'}}
{{elseif $response->androidPayCardDetails->cardType == 'Discover'}}
{{elseif $response->androidPayCardDetails->cardType == 'American Express'}}
{{elseif $response->androidPayCardDetails->cardType == 'JCB'}}
{{else}}
{{endif}}
····{$response->androidPayCardDetails->last4}
{lang="card_expires"} {expression="str_pad( $response->androidPayCardDetails->expirationMonth, 2, '0', STR_PAD_LEFT )"}/{$response->androidPayCardDetails->expirationYear}
{{if $response->androidPayCardDetails->countryOfIssuance and $response->androidPayCardDetails->countryOfIssuance !== 'Unknown'}}
{lang="card_origin"} {lang="country-{$response->applePayCardDetails->countryOfIssuance}"}
{{endif}}
{{foreach array( 'avsStreetAddressResponseCode', 'avsPostalCodeResponseCode' ) as $k}}
{{if $response->$k}}
{{if $response->$k === 'M'}}
{{elseif $response->$k === 'N'}}
{{else}}
{{endif}}
{lang="braintree_{$k}"}{lang="braintree_avscvv_{$response->$k}"}
{{endif}}
{{endforeach}}
{{endif}}
{{endif}}
{{if $error}}
{lang="braintree_details_error"}
{{endif}}]]>
{{if isset( $response->kind ) and $response->kind == \Braintree\Dispute::RETRIEVAL}}
{{else}}
{{endif}}
{{if isset( $response->kind ) and $response->kind == \Braintree\Dispute::RETRIEVAL}}
{lang="tstatus_dspd_inquiry_set"}
{{else}}
{lang="tstatus_dspd_set"}
{{endif}}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
{{if isset( $response->reason )}}
{lang="braintree_dispute_reason_{$response->reason}"}
{{endif}}
{{if isset( $response->status ) and \in_array( $response->status, array( \Braintree\Dispute::OPEN, \Braintree\Dispute::DISPUTED ) )}}
{{if isset( $response->kind ) and $response->kind == \Braintree\Dispute::RETRIEVAL}}
{lang="braintree_dispute_status_{$response->status}_r"}
{{else}}
{lang="braintree_dispute_status_{$response->status}"}
{{endif}}
{{endif}}
{{if $error}}
{lang="braintree_dispute_error"}
{{endif}}
{{if isset( $response->status ) and $response->status == \Braintree\Dispute::WON}}
{lang="transaction_dispute_won"}
{lang="transaction_dispute_won_desc"}
{{elseif isset( $response->status ) and \in_array( $response->status, array( \Braintree\Dispute::LOST, \Braintree\Dispute::ACCEPTED, \Braintree\Dispute::EXPIRED ) )}}
{lang="transaction_dispute_lost"}
{lang="transaction_dispute_lost_desc"}
{{endif}}
]]>
method->disputeData( $transaction, $log )}}
{$extraData|raw}
{{else}}
{lang="tstatus_dspd_set"}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
{{endif}}]]>
{lang="tstatus_fail_set"}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
{{if isset( $log['note'] ) and $log['note']}}
{lang="trans_extra_{$log['note']}"}
{{endif}}
{{if isset( $log['noteRaw'] ) and $log['noteRaw']}}
{$log['noteRaw']}
{{endif}}
]]>
{lang="tstatus_hold_set"}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
{{if isset( $log['note'] ) and $log['note']}}
{$log['note']}
{{endif}}
]]>
acpUrl()}">{lang="transaction_number" sprintf="$transaction->id"}]]>
{lang="tstatus_okay_set"}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{else}}
{lang="tstatus_okay_desc"}
{{endif}}
]]>
extra['verified'] )}}
{lang="paypal_payer_status" sprintf="$transaction->extra['verified']"}
{{endif}}]]>
{{if $log['to'] === 'credit'}}
{{else}}
{{endif}}
{{if $log['to'] === 'credit'}}
{lang="tstatus_credited"}
{{else}}
{lang="tstatus_prfd_set"}
{{endif}}
{{if isset( $log['amount'] )}}
{{if $transaction->amount->amount->compare( new \IPS\Math\Number( $log['amount'] ) ) !== 0}}
{money="$log['amount']" currency="$transaction->currency"}
{{endif}}
{{endif}}
{{if isset( $log['ref'] ) and $log['ref']}}
{$log['ref']}
{{endif}}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
]]>
{lang="tstatus_revw_set"}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
]]>
{{if $log['to'] === 'credit'}}
{lang="tstatus_credited"}
{{else}}
{lang="tstatus_rfnd_set"}
{{endif}}
{{if isset( $log['ref'] ) and $log['ref']}}
{$log['ref']}
{{endif}}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
]]>
{lang="tstatus_{$status}"}
]]>
{lang="stripe_risk_level" sprintf="$response['outcome']['risk_level']"}
{{endif}}
{{if isset( $response['source']['card'] )}}
{{if isset( $response['source']['card']['tokenization_method'] )}}
{{if $response['source']['card']['tokenization_method'] == 'apple_pay'}}
{lang="stripe_tokenization_apple_pay"}
{{elseif $response['source']['card']['tokenization_method'] == 'android_pay'}}
{lang="stripe_tokenization_android_pay"}
{{else}}
{lang="stripe_tokenization_other"} {$response['source']['card']['tokenization_method']}
{{endif}}
{{endif}}
{{if $response['source']['card']['brand'] == 'Visa' or $response['source']['card']['brand'] == 'visa'}}
{{elseif $response['source']['card']['brand'] == 'MasterCard' or $response['source']['card']['brand'] == 'mastercard'}}
{{elseif $response['source']['card']['brand'] == 'Discover' or $response['source']['card']['brand'] == 'discover'}}
{{elseif $response['source']['card']['brand'] == 'American Express' or $response['source']['card']['brand'] == 'amex'}}
{{elseif $response['source']['card']['brand'] == 'Diners Club' or $response['source']['card']['brand'] == 'diners'}}
{{elseif $response['source']['card']['brand'] == 'JCB' or $response['source']['card']['brand'] == 'jcb'}}
{{else}}
{{endif}}
····{$response['source']['card']['last4']}
{lang="card_expires"} {expression="str_pad( $response['source']['card']['exp_month'], 2, '0', STR_PAD_LEFT )"}/{$response['source']['card']['exp_year']}
{lang="card_origin"} {lang="country-{$response['source']['card']['country']}"}
{{foreach array( 'cvc_check', 'address_line1_check', 'address_zip_check' ) as $k}}
{{if $response['source']['card'][ $k ] == 'pass'}}
{lang="stripe_{$k}_pass"}
{{elseif $response['source']['card'][ $k ] == 'fail'}}
{lang="stripe_{$k}_fail"}
{{else}}
{{if $response['source']['card'][ $k ]}}{lang="stripe_{$k}_{$response['source']['card'][ $k ]}"}{{else}}{lang="stripe_{$k}_unchecked"}{{endif}}
{{endif}}
{{endforeach}}
{{if isset( $response['source']['three_d_secure'] )}}
{{if isset( $response['source']['three_d_secure']['authenticated'] ) and $response['source']['three_d_secure']['authenticated']}}
{lang="stripe_3ds_pass"}
{{else}}
{lang="stripe_3ds_fail"}
{{endif}}
{{elseif isset( $response['source']['card'] ) and isset( $response['source']['card']['three_d_secure'] )}}
{{if isset( $response['source']['card']['three_d_secure']['succeeded'] ) and $response['source']['card']['three_d_secure']['succeeded']}}
{lang="stripe_3ds_pass_version" sprintf="$response['source']['card']['three_d_secure']['version']"}
{{else}}
{lang="stripe_3ds_fail_version" sprintf="$response['source']['card']['three_d_secure']['version']"}
{{endif}}
{{else}}
{{if !isset( $response['card']['three_d_secure'] ) or $response['card']['three_d_secure'] == 'not_supported'}}
{lang="stripe_3ds_not_supported"}
{{else}}
{lang="stripe_3ds_not_checked"}
{{endif}}
{{endif}}
{{endif}}
{{if $error}}
{lang="stripe_details_error"}
{{endif}}]]>
{{if isset( $response['status'] ) and \in_array( $response['status'], array( 'warning_needs_response', 'warning_under_review', 'warning_closed', 'charge_refunded' ) )}}
{{else}}
{{endif}}
{{if isset( $response['status'] ) and \in_array( $response['status'], array( 'warning_needs_response', 'warning_under_review', 'warning_closed', 'charge_refunded' ) )}}
{lang="tstatus_dspd_inquiry_set"}
{{else}}
{lang="tstatus_dspd_set"}
{{endif}}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
{{if isset( $response['reason'] )}}
{lang="stripe_dispute_reason_{$response['reason']}"}
{{endif}}
{{if isset( $response['status'] ) and \in_array( $response['status'], array( 'needs_response', 'under_review', 'warning_needs_response', 'warning_under_review' ) )}}
{lang="stripe_dispute_status_{$response['status']}"}
{{endif}}
{{if $error}}
{lang="stripe_dispute_error"}
{{endif}}
{{if isset( $response['status'] ) and $response['status'] == 'won'}}
{lang="transaction_dispute_won"}
{lang="transaction_dispute_won_desc"}
{{if $transaction->status === $transaction::STATUS_DISPUTED}}
{{endif}}
{{elseif isset( $response['status'] ) and $response['status'] == 'warning_closed'}}
{lang="transaction_dispute_warning_closed"}
{lang="transaction_dispute_warning_closed_desc"}
{{elseif isset( $response['status'] ) and $response['status'] == 'lost'}}
{lang="transaction_dispute_lost"}
{lang="transaction_dispute_lost_desc"}
{{endif}}
]]>
{lang="tstatus_credited_undo"}
{{if isset( $log['amount'] )}}
{{if $transaction->amount->amount->compare( new \IPS\Math\Number( $log['amount'] ) ) !== 0}}
{money="$log['amount']" currency="$transaction->currency"}
{{endif}}
{{endif}}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
]]>
{lang="transaction_total"}
{$transaction->amount}
{{if $transaction->status === $transaction::STATUS_PART_REFUNDED}}
{{if $transaction->partial_refund->amount->isGreaterThanZero()}}
{lang="amount_refunded"}
{$transaction->partial_refund}
{{endif}}
{{if $transaction->credit->amount->isGreaterThanZero()}}
{lang="amount_credited"}
{$transaction->credit}
{{endif}}
{{endif}}
{{if $transaction->auth and \in_array( $transaction->status, array( \IPS\nexus\Transaction::STATUS_HELD, \IPS\nexus\Transaction::STATUS_REVIEW ) )}}
{lang="tstatus_{$transaction->status}_nc_desc"}
{{else}}
{lang="tstatus_{$transaction->status}_desc"}
{{endif}}
{{if isset( $transaction->extra['admin'] )}}
{lang="transaction_admin_manual" sprintf="\IPS\Member::load( $transaction->extra['admin'] )->name"}
{{endif}}
{{if $transaction->fraud}}
{lang="maxmind_title"}
{{if $errorMessage = $transaction->fraud->error()}}
{lang="error_from_maxmind"}
{$transaction->fraud->err}
{{else}}
{{if $warning = $transaction->fraud->warning()}}
{lang="warning_from_maxmind"}
{$transaction->fraud->err}
{{endif}}
{{endif}}
{{if $transaction->fraud->riskScore !== NULL}}
{$transaction->fraud->riskScore}%
{{else}}
{expression="round( $transaction->fraud->score * 10 )"}%
{{endif}}
{lang="possibility_of_fraud"}
{lang="checked_by_maxmind"}
{lang="maxmind_geo_ip"}
{{if $transaction->fraud->ip_latitude AND $transaction->fraud->ip_longitude}}
{{if \IPS\GeoLocation::enabled()}}
{{$map = \IPS\GeoLocation::getByLatLong( $transaction->fraud->ip_latitude, $transaction->fraud->ip_longitude )->map()->render( 600, 200 );}}
{$map|raw}
{{else}}
{$transaction->fraud->ip_latitude},{$transaction->fraud->ip_longitude}
{{endif}}
{{endif}}
{lang="maxmind_distance" sprintf="$transaction->fraud->distance"}
{{if $transaction->fraud->ip_accuracyRadius}}{lang="maxmind_ip_accuracyRadius" sprintf="$transaction->fraud->ip_accuracyRadius"}{{else}}{lang="maxmind_distance_estimated"}{{endif}}
fraud->ip_cityConf}}class='cTransactionFraud_geoInfo' title='{lang="maxmind_ip_accuracy" sprintf="$transaction->fraud->ip_cityConf"}' data-ipsTooltip{{endif}}>
{$transaction->fraud->ip_city}
{{if $transaction->fraud->ip_metroCode}}({$transaction->fraud->ip_metroCode}) {{endif}}
{{if $transaction->fraud->ip_regionName || $transaction->fraud->ip_region || $transaction->fraud->ip_postalCode}}
{{if $transaction->fraud->ip_regionName || $transaction->fraud->ip_region}}
fraud->ip_regionConf}}class='cTransactionFraud_geoInfo' title='{lang="maxmind_ip_accuracy" sprintf="$transaction->fraud->ip_regionConf"}' data-ipsTooltip{{endif}}>
{{if $transaction->fraud->ip_regionName}}{$transaction->fraud->ip_regionName}{{elseif $transaction->fraud->ip_region}}{$transaction->fraud->ip_region}{{endif}}
{{endif}}
{{if $transaction->fraud->ip_postalCode}}
fraud->ip_postalConf}}class='cTransactionFraud_geoInfo' title='{lang="maxmind_ip_accuracy" sprintf="$transaction->fraud->ip_postalConf"}' data-ipsTooltip{{endif}}>
{{if $transaction->fraud->ip_postalCode}}{$transaction->fraud->ip_postalCode}{{endif}}
{{endif}}
{{endif}}
{{if $transaction->fraud->ip_countryName || $transaction->fraud->countryCode}}
fraud->ip_countryConf}}class='cTransactionFraud_geoInfo' title='{lang="maxmind_ip_accuracy" sprintf="$transaction->fraud->ip_countryConf"}' data-ipsTooltip{{endif}}>
{{if $transaction->fraud->ip_countryName}}{$transaction->fraud->ip_countryName}{{elseif $transaction->fraud->countryCode}}{lang="country-{$transaction->fraud->countryCode}"}{{endif}}
{{endif}}
{{if $transaction->fraud->countryMatch == 'Yes'}}
{lang="maxmind_countryMatch_y"}
{{else}}
{lang="maxmind_countryMatch_n"}
{{endif}}
{{if $transaction->fraud->highRiskCountry == 'No'}}
{lang="maxmind_highRiskCountry_n"}
{{else}}
{lang="maxmind_highRiskCountry_y"}
{{endif}}
{lang="maxmind_ip"}
{$transaction->fraud->proxyScorePercentage()}%
{lang="maxmind_proxyScore"}
{lang="maxmind_proxyScore_desc"}
{{if $transaction->fraud->anonymousProxy == 'No'}}
{lang="maxmind_anonymousProxy_n"}
{{else}}
{lang="maxmind_anonymousProxy_y"}
{{endif}}
{{foreach array( 'isTransProxy', 'ip_corporateProxy' ) as $k}}
{{if $transaction->fraud->$k == 'No'}}
{lang="maxmind_{$k}_n"}
{{else}}
{lang="maxmind_{$k}_y"}
{{endif}}
{{endforeach}}
{{if $transaction->fraud->ip_isp}}
{lang="maxmind_ip_isp"}: {$transaction->fraud->ip_isp}
{{if $transaction->fraud->ip_org and $transaction->fraud->ip_org != $transaction->fraud->ip_isp}}
({$transaction->fraud->ip_org})
{{endif}}
{{endif}}
{{if $transaction->fraud->ip_userType}}
{lang="maxmind_ip_userType_{$transaction->fraud->ip_userType}"}
{{endif}}
{{if $transaction->fraud->ip_timeZone}}
{lang="maxmind_ip_timeZone"}: {$transaction->fraud->ip_timeZone}
{{endif}}
{{if $transaction->fraud->ip_netSpeedCell}}
{lang="maxmind_ip_netSpeedCell"}: {$transaction->fraud->ip_netSpeedCell}
{{endif}}
{{if $transaction->fraud->ip_domain}}
{lang="maxmind_ip_domain"}: {$transaction->fraud->ip_domain}
{{endif}}
{{if $transaction->fraud->ip_asnum}}
{lang="maxmind_ip_asnum"}: {$transaction->fraud->ip_asnum}
{{endif}}
{{if $transaction->fraud->binMatch !== 'NA' and $transaction->fraud->binMatch !== 'NotFound'}}
{lang="maxmind_card_issuer"}
{{if $transaction->fraud->binName}}
{$transaction->fraud->binName}
{{if $transaction->fraud->binCountry || $transaction->fraud->binPhone}}
{{endif}}
{{endif}}
{{if $transaction->fraud->binMatch == 'Yes'}}
{lang="maxmind_binMatch_y"}
{{else}}
{lang="maxmind_binMatch_n"}
{{endif}}
{{if $transaction->fraud->prepaid == 'Yes'}}
{lang="maxmind_binMatch_y"}
{{else}}
{lang="maxmind_binMatch_n"}
{{endif}}
{{endif}}
{lang="maxmind_customer_information"}
{{if $transaction->fraud->custPhoneInBillingLoc and $transaction->fraud->custPhoneInBillingLoc != 'NotFound'}}
{{if $transaction->fraud->custPhoneInBillingLoc == 'No'}}
{lang="maxmind_custPhoneInBillingLoc_n"}
{{else}}
{lang="maxmind_custPhoneInBillingLoc_y"}
{{endif}}
{{endif}}
{{if $transaction->fraud->cityPostalMatch}}
{{if $transaction->fraud->cityPostalMatch == 'No'}}
{lang="maxmind_cityPostalMatch_n"}
{{else}}
{lang="maxmind_cityPostalMatch_y"}
{{endif}}
{{endif}}
{{if $transaction->fraud->shipCityPostalMatch}}
{{if $transaction->fraud->shipCityPostalMatch == 'No'}}
{lang="maxmind_shipCityPostalMatch_n"}
{{else}}
{lang="maxmind_shipCityPostalMatch_y"}
{{endif}}
{{endif}}
{{if $transaction->fraud->shipForward and $transaction->fraud->shipForward != 'NA'}}
{{if $transaction->fraud->shipForward == 'No'}}
{lang="maxmind_shipForward_n"}
{{else}}
{lang="maxmind_shipForward_y"}
{{endif}}
{{endif}}
{{foreach array( 'freeMail', 'carderEmail' ) as $k}}
{{if $transaction->fraud->$k == 'No'}}
{lang="maxmind_{$k}_n"}
{{else}}
{lang="maxmind_{$k}_y"}
{{endif}}
{{endforeach}}
{{if $transaction->fraud->minfraud_version}}
{lang="maxmind_footer" sprintf="$transaction->fraud->service_level, $transaction->fraud->minfraud_version, $transaction->fraud->maxmindID"} ({lang="maxmind_queries" sprintf="$transaction->fraud->queriesRemaining"})
{{else}}
{lang="maxmind_footer_old"}
{{endif}}
{{if !$transaction->fraud->minfraud_version or version_compare( $transaction->fraud->minfraud_version, '1.3' ) === -1}}
{lang="maxmind_upgrade_version"}
{{endif}}
{{endif}}
{lang="transaction_history"}
{{if $transaction->method}}
{{if \in_array( $transaction->status, array( \IPS\nexus\Transaction::STATUS_PENDING, \IPS\nexus\Transaction::STATUS_WAITING ) )}}
{lang="transaction_method_pending" sprintf="$transaction->method->_title"}
{{else}}
{lang="transaction_method" sprintf="$transaction->method->_title"}
{{endif}}
{{else}}
{{if $transaction->method !== 0 }}
{lang="tstatus_okay_deleted"}
{{else}}
{lang="tstatus_okay_credit"}
{{endif}}
{{endif}}
{$transaction->date}
{{if $transaction->gw_id}}
{lang="payment_reference"}: {{if $transaction->method AND $url = $transaction->method->gatewayUrl( $transaction )}}{$transaction->gw_id} {{else}}{$transaction->gw_id}{{endif}}
{{endif}}
{{if $transaction->method and $extraData = $transaction->method->extraData( $transaction )}}
{$extraData|raw}
{{endif}}
{{if $transaction->billing_agreement}}
{lang="billing_agreement" sprintf="$transaction->billing_agreement->gw_id"}
{{endif}}
{{if $transaction->ip}}
ip}"}">{lang="transaction_ip" sprintf="$transaction->ip"}
{{endif}}
{{if $transaction->fraud_blocked}}
{lang="triggered_fraud_rule"}
{$transaction->fraud_blocked->name}
{{endif}}
{{foreach $transaction->history() as $log}}
{template="$log['s']" group="transactions" params="$transaction, $log"}
{{endforeach}}
{{if $transaction->member->member_id}}
{lang="transaction_customer"}
{{else}}
{lang="transaction_history"}
{{if $transaction->invoice}}
{{if isset( $transaction->invoice->guest_data['member']['name'] )}}
{$transaction->invoice->guest_data['member']['name']}
{{elseif isset( $transaction->invoice->guest_data['member']['cm_first_name'] )}}
{$transaction->invoice->guest_data['member']['cm_first_name']} {$transaction->invoice->guest_data['member']['cm_last_name']}
{{endif}}
{$transaction->invoice->guest_data['member']['email']}
{{else}}
{lang="guest"}
{{endif}}
{{endif}}
{{if $transaction->invoice}}
{lang="invoice_number" sprintf="$transaction->invoice->id"}
{{$summary = $transaction->invoice->summary();}}
{{foreach $summary['items'] as $item}}
{$item->name}{{if $item->quantity > 1}} x{$item->quantity}{{endif}}
{{if \count( $item->details )}}
{{foreach $item->details as $k => $v}}
{lang="nexus_pfield_{$k}"}: {$v}
{{endforeach}}
{{endif}}
{$item->linePrice()}
{{endforeach}}
{lang="subtotal"}
{$summary['subtotal']}
{{foreach $summary['shipping'] as $shipping}}
{$shipping->name}
{$shipping->price}
{{endforeach}}
{{foreach $summary['tax'] as $taxId => $tax}}
{lang="nexus_tax_{$taxId}"}
{{if $tax['type'] !== 'single'}}
{{if $tax['type'] === 'eu' and $transaction->invoice->billaddress->business and $transaction->invoice->billaddress->vat}}
({lang="tax_rate_eu"}: {expression="$tax['rate']*100"}%)
{{elseif $transaction->invoice->billaddress->business}}
({lang="tax_rate_business"}: {expression="$tax['rate']*100"}%)
{{else}}
({lang="tax_rate_consumer"}: {expression="$tax['rate']*100"}%)
{{endif}}
{{else}}
({expression="$tax['rate']*100"}%)
{{endif}}
{$tax['amount']}
{{endforeach}}
{lang="total"}
{$summary['total']}
{lang="invoice_view"}
{{if $transaction->invoice->billaddress || $transaction->invoice->shipaddress}}
{lang="invoice_addresses"}
{{if $transaction->invoice->billaddress}}
{{if \IPS\GeoLocation::enabled()}}
{$transaction->invoice->billaddress->map()->render( 350, 150 )|raw}
{{else}}
{{endif}}
{lang="billing_address"}
{$transaction->invoice->billaddress->toString(' ')|raw}
{{if isset( $transaction->invoice->billaddress->vat ) and $transaction->invoice->billaddress->vat}}
{lang="cm_checkout_vat_number"}: {template="vatNumber" group="global" params="$transaction->invoice->billaddress->vat"}
{{endif}}
{{endif}}
{{if $transaction->invoice->shipaddress}}
{{if \IPS\GeoLocation::enabled()}}
{$transaction->invoice->shipaddress->map()->render( 350, 150 )|raw}
{{else}}
{{endif}}
{lang="shipping_address"}
{$transaction->invoice->shipaddress->toString(' ')|raw}
{{endif}}
{{endif}}
{{else}}
{lang="trans_invoice_deleted"}
{{endif}}
]]>
{lang="tstatus_wait"}
{{if isset( $log['on'] ) and $log['on']}}
{expression="\IPS\DateTime::ts( $log['on'] )"}
{{if isset( $log['by'] ) and $log['by']}}
{lang="byline_nodate" sprintf="\IPS\Member::load( $log['by'] )->name"}
{{endif}}
{{endif}}
{{if isset( $log['note'] ) and $log['note']}}
{$log['note']}
{{endif}}
]]>
{lang="block_bestSellers"}
{{if $orientation == 'horizontal'}}