| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752 |
- <script>
- // Define state tab index value
- var statesTab = 10;
- // Do not enforce state input client side
- var stateNotRequired = true;
- </script>
- {include file="orderforms/{$carttpl}/common.tpl"}
- <script type="text/javascript" src="{$BASE_PATH_JS}/StatesDropdown.js"></script>
- <script type="text/javascript" src="{$BASE_PATH_JS}/PasswordStrength.js"></script>
- <script>
- window.langPasswordStrength = "{$LANG.pwstrength}";
- window.langPasswordWeak = "{$LANG.pwstrengthweak}";
- window.langPasswordModerate = "{$LANG.pwstrengthmoderate}";
- window.langPasswordStrong = "{$LANG.pwstrengthstrong}";
- </script>
- <div class="row">
- <div class="col-md-12">
- <div class="already-registered {if $loggedin}w-hidden{/if}">
- <div class="float-right">
- <button type="button" class="btn btn-primary{if $loggedin || !$loggedin && $custtype eq "existing"} w-hidden{/if}" id="btnAlreadyRegistered">
- {$LANG.orderForm.alreadyRegistered}
- </button>
- <button type="button" class="btn btn-primary{if $loggedin || $custtype neq "existing"} w-hidden{/if}" id="btnNewUserSignup">
- {$LANG.orderForm.createAccount}
- </button>
- </div>
- <div class="clearfix"></div>
- </div>
- {if $errormessage}
- <div class="alert alert-danger checkout-error-feedback" role="alert">
- <p>{$LANG.orderForm.correctErrors}:</p>
- <ul>
- {$errormessage}
- </ul>
- </div>
- <div class="clearfix"></div>
- {/if}
- <form method="post" action="{$smarty.server.PHP_SELF}?a=checkout" name="orderfrm" id="frmCheckout">
- <input type="hidden" name="submit" value="true" />
- <input type="hidden" name="custtype" id="inputCustType" value="{$custtype}" />
-
- {if $custtype neq "new" && $loggedin}
- <div class="sub-heading">
- <span>
- {lang key='switchAccount.title'}
- </span>
- </div>
- <div id="containerExistingAccountSelect" class="row account-select-container">
- {foreach $accounts as $account}
- <div class="col-sm-{if $accounts->count() == 1}12{else}6{/if}">
- <div class="account{if $selectedAccountId == $account->id} active{/if}">
- <label class="radio-inline" for="account{$account->id}">
- <input id="account{$account->id}" class="account-select{if $account->isClosed || $account->noPermission || $inExpressCheckout} disabled{/if}" type="radio" name="account_id" value="{$account->id}"{if $account->isClosed || $account->noPermission || $inExpressCheckout} disabled="disabled"{/if}{if $selectedAccountId == $account->id} checked="checked"{/if}>
- <span class="address">
- <strong>
- {if $account->companyname}{$account->companyname}{else}{$account->fullName}{/if}
- </strong>
- {if $account->isClosed || $account->noPermission}
- <span class="label label-default">
- {if $account->isClosed}
- {lang key='closed'}
- {else}
- {lang key='noPermission'}
- {/if}
- </span>
- {elseif $account->currencyCode}
- <span class="label label-info">
- {$account->currencyCode}
- </span>
- {/if}
- <br>
- <span class="small">
- {$account->address1}{if $account->address2}, {$account->address2}{/if}<br>
- {if $account->city}{$account->city},{/if}
- {if $account->state} {$account->state},{/if}
- {if $account->postcode} {$account->postcode},{/if}
- {$account->countryName}
- </span>
- </span>
- </label>
- </div>
- </div>
- {/foreach}
- <div class="col-sm-12">
- <div class="account border-bottom{if !$selectedAccountId || !is_numeric($selectedAccountId)} active{/if}">
- <label class="radio-inline">
- <input class="account-select" type="radio" name="account_id" value="new"{if !$selectedAccountId || !is_numeric($selectedAccountId)} checked="checked"{/if}{if $inExpressCheckout} disabled="disabled" class="disabled"{/if}>
- {lang key='orderForm.createAccount'}
- </label>
- </div>
- </div>
- </div>
- {/if}
- <div id="containerExistingUserSignin"{if $loggedin || $custtype neq "existing"} class="w-hidden"{/if}>
- <div class="sub-heading">
- <span>{$LANG.orderForm.existingCustomerLogin}</span>
- </div>
-
- <div class="alert alert-danger w-hidden" id="existingLoginMessage">
- </div>
-
- <div class="TM-card">
- <div class="row">
- <div class="col-lg-5">
- <div class="form-group prepend-icon">
- <label for="inputLoginEmail" class="field-icon">
- <i class="fas fa-envelope"></i>
- </label>
- <input type="text" name="loginemail" id="inputLoginEmail" class="field form-control" placeholder="{$LANG.orderForm.emailAddress}" value="{$loginemail}">
- </div>
- </div>
- <div class="col-lg-5">
- <div class="form-group prepend-icon">
- <label for="inputLoginPassword" class="field-icon">
- <i class="fas fa-lock"></i>
- </label>
- <input type="password" name="loginpassword" id="inputLoginPassword" class="field form-control" placeholder="{$LANG.clientareapassword}">
- </div>
- </div>
- <div class="col-lg-2">
- <button type="button" id="btnExistingLogin" class="btn btn-primary btn-md btn-block mb-lg-0 mb-3">
- <span id="existingLoginButton">{lang key='login'}</span>
- <span id="existingLoginPleaseWait" class="w-hidden"><i class="fad fa-circle-notch fa-spin"></i></span>
- </button>
- </div>
- </div>
- </div>
- <div class="padding-all">
- {include file="orderforms/{$carttpl}/linkedaccounts.tpl" linkContext="checkout-existing"}
- </div>
- </div>
- <div id="containerNewUserSignup"{if $custtype === 'existing' || (is_numeric($selectedAccountId) && $selectedAccountId > 0) || ($loggedin && $accounts->count() > 0 && $selectedAccountId !== 'new')} class="w-hidden"{/if}>
- <div{if $loggedin} class="w-hidden"{/if}>
- <div class="padding-all">
- {include file="orderforms/{$carttpl}/linkedaccounts.tpl" linkContext="checkout-new"}
- </div>
- </div>
- <h4>{$LANG.orderForm.personalInformation}</h4>
- <div class="TM-card">
- <div class="row">
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputFirstName" class="field-icon">
- <i class="fas fa-user"></i>
- </label>
- <input type="text" name="firstname" id="inputFirstName" class="field form-control" placeholder="{$LANG.orderForm.firstName}" value="{$clientsdetails.firstname}" autofocus>
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputLastName" class="field-icon">
- <i class="fas fa-user"></i>
- </label>
- <input type="text" name="lastname" id="inputLastName" class="field form-control" placeholder="{$LANG.orderForm.lastName}" value="{$clientsdetails.lastname}">
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputEmail" class="field-icon">
- <i class="fas fa-envelope"></i>
- </label>
- <input type="email" name="email" id="inputEmail" class="field form-control" placeholder="{$LANG.orderForm.emailAddress}" value="{$clientsdetails.email}">
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputPhone" class="field-icon">
- <i class="fas fa-phone"></i>
- </label>
- <input type="tel" name="phonenumber" id="inputPhone" class="field form-control" placeholder="{$LANG.orderForm.phoneNumber}" value="{$clientsdetails.phonenumber}">
- </div>
- </div>
- </div>
- </div>
- <h4>{$LANG.orderForm.billingAddress}</h4>
- <div class="TM-card">
- <div class="row">
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputCompanyName" class="field-icon">
- <i class="fas fa-building"></i>
- </label>
- <input type="text" name="companyname" id="inputCompanyName" class="field form-control" placeholder="{$LANG.orderForm.companyName} ({$LANG.orderForm.optional})" value="{$clientsdetails.companyname}">
- </div>
- </div>
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputAddress1" class="field-icon">
- <i class="fas fa-building"></i>
- </label>
- <input type="text" name="address1" id="inputAddress1" class="field form-control" placeholder="{$LANG.orderForm.streetAddress}" value="{$clientsdetails.address1}">
- </div>
- </div>
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputAddress2" class="field-icon">
- <i class="fas fa-map-marker-alt"></i>
- </label>
- <input type="text" name="address2" id="inputAddress2" class="field form-control" placeholder="{$LANG.orderForm.streetAddress2}" value="{$clientsdetails.address2}">
- </div>
- </div>
- <div class="col-sm-4">
- <div class="form-group prepend-icon">
- <label for="inputCity" class="field-icon">
- <i class="fas fa-building"></i>
- </label>
- <input type="text" name="city" id="inputCity" class="field form-control" placeholder="{$LANG.orderForm.city}" value="{$clientsdetails.city}">
- </div>
- </div>
- <div class="col-sm-5">
- <div class="form-group prepend-icon">
- <label for="state" class="field-icon" id="inputStateIcon">
- <i class="fas fa-map-signs"></i>
- </label>
- <label for="stateinput" class="field-icon" id="inputStateIcon">
- <i class="fas fa-map-signs"></i>
- </label>
- <input type="text" name="state" id="inputState" class="field form-control" placeholder="{$LANG.orderForm.state}" value="{$clientsdetails.state}">
- </div>
- </div>
- <div class="col-sm-3">
- <div class="form-group prepend-icon">
- <label for="inputPostcode" class="field-icon">
- <i class="fas fa-certificate"></i>
- </label>
- <input type="text" name="postcode" id="inputPostcode" class="field form-control" placeholder="{$LANG.orderForm.postcode}" value="{$clientsdetails.postcode}">
- </div>
- </div>
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputCountry" class="field-icon" id="inputCountryIcon">
- <i class="fas fa-globe"></i>
- </label>
- <select name="country" id="inputCountry" class="field form-control">
- {foreach $countries as $countrycode => $countrylabel}
- <option value="{$countrycode}"{if (!$country && $countrycode == $defaultcountry) || $countrycode eq $country} selected{/if}>
- {$countrylabel}
- </option>
- {/foreach}
- </select>
- </div>
- </div>
- {if $showTaxIdField}
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputTaxId" class="field-icon">
- <i class="fas fa-building"></i>
- </label>
- <input type="text" name="tax_id" id="inputTaxId" class="field form-control" placeholder="{$taxLabel} ({$LANG.orderForm.optional})" value="{$clientsdetails.tax_id}">
- </div>
- </div>
- {/if}
- </div>
- </div>
- {if $customfields}
- <h4>{$LANG.orderadditionalrequiredinfo} <i><small class="text-muted">{lang key='orderForm.requiredField'}</small></i></h4>
- <div class="TM-card">
- <div class="row">
- {foreach from=$customfields key=num item=customfield}
- <div class="col-sm-12">
- <div class="form-group">
- {if $customfield.type eq 'tickbox'}
- <label class=checkbox-inline" for="customfield{$customfield.id}">
- {$customfield.input}
- {$customfield.name} {$customfield.required}
- </lable>
- {if $customfield.description}<span class="field-help-text">{$customfield.description}</span>{/if}
- {else}
- <label for="customfield{$customfield.id}">{$customfield.name} {$customfield.required}</label>
- {if $customfield.type eq "link"}
- <div class="input-group-prepend">
- <span class="input-group-text" id="customfield{$customfield.id}"><i class="fas fa-link"></i></span>
- {$customfield.input}
- </div>
- {else}
- {$customfield.input}
- {/if}
- {if $customfield.description}<span class="field-help-text">{$customfield.description}</span>{/if}
- {/if}
- </div>
- </div>
- {/foreach}
- </div>
- </div>
- {/if}
- </div>
- {if $domainsinorder}
- <h4>{$LANG.domainregistrantinfo}</h4>
- <div class="TM-card">
- <p class="small text-muted">{$LANG.orderForm.domainAlternativeContact}</p>
- <div class="row margin-bottom">
- <div class="col-sm-12">
- <select name="contact" id="inputDomainContact" class="field form-control">
- <option value="">{$LANG.usedefaultcontact}</option>
- {foreach $domaincontacts as $domcontact}
- <option value="{$domcontact.id}"{if $contact == $domcontact.id} selected{/if}>
- {$domcontact.name}
- </option>
- {/foreach}
- <option value="addingnew"{if $contact == "addingnew"} selected{/if}>
- {$LANG.clientareanavaddcontact}...
- </option>
- </select>
- </div>
- </div>
- </div>
- <div class="TM-card{if $contact neq "addingnew"} w-hidden{/if}">
- <div class="row" id="domainRegistrantInputFields">
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputDCFirstName" class="field-icon">
- <i class="fas fa-user"></i>
- </label>
- <input type="text" name="domaincontactfirstname" id="inputDCFirstName" class="field form-control" placeholder="{$LANG.orderForm.firstName}" value="{$domaincontact.firstname}">
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputDCLastName" class="field-icon">
- <i class="fas fa-user"></i>
- </label>
- <input type="text" name="domaincontactlastname" id="inputDCLastName" class="field form-control" placeholder="{$LANG.orderForm.lastName}" value="{$domaincontact.lastname}">
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputDCEmail" class="field-icon">
- <i class="fas fa-envelope"></i>
- </label>
- <input type="email" name="domaincontactemail" id="inputDCEmail" class="field form-control" placeholder="{$LANG.orderForm.emailAddress}" value="{$domaincontact.email}">
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputDCPhone" class="field-icon">
- <i class="fas fa-phone"></i>
- </label>
- <input type="tel" name="domaincontactphonenumber" id="inputDCPhone" class="field form-control" placeholder="{$LANG.orderForm.phoneNumber}" value="{$domaincontact.phonenumber}">
- </div>
- </div>
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputDCCompanyName" class="field-icon">
- <i class="fas fa-building"></i>
- </label>
- <input type="text" name="domaincontactcompanyname" id="inputDCCompanyName" class="field form-control" placeholder="{$LANG.orderForm.companyName} ({$LANG.orderForm.optional})" value="{$domaincontact.companyname}">
- </div>
- </div>
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputDCAddress1" class="field-icon">
- <i class="fas fa-building"></i>
- </label>
- <input type="text" name="domaincontactaddress1" id="inputDCAddress1" class="field form-control" placeholder="{$LANG.orderForm.streetAddress}" value="{$domaincontact.address1}">
- </div>
- </div>
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputDCAddress2" class="field-icon">
- <i class="fas fa-map-marker-alt"></i>
- </label>
- <input type="text" name="domaincontactaddress2" id="inputDCAddress2" class="field form-control" placeholder="{$LANG.orderForm.streetAddress2}" value="{$domaincontact.address2}">
- </div>
- </div>
- <div class="col-sm-4">
- <div class="form-group prepend-icon">
- <label for="inputDCCity" class="field-icon">
- <i class="fas fa-building"></i>
- </label>
- <input type="text" name="domaincontactcity" id="inputDCCity" class="field form-control" placeholder="{$LANG.orderForm.city}" value="{$domaincontact.city}">
- </div>
- </div>
- <div class="col-sm-5">
- <div class="form-group prepend-icon">
- <label for="inputDCState" class="field-icon">
- <i class="fas fa-map-signs"></i>
- </label>
- <input type="text" name="domaincontactstate" id="inputDCState" class="field form-control" placeholder="{$LANG.orderForm.state}" value="{$domaincontact.state}">
- </div>
- </div>
- <div class="col-sm-3">
- <div class="form-group prepend-icon">
- <label for="inputDCPostcode" class="field-icon">
- <i class="fas fa-certificate"></i>
- </label>
- <input type="text" name="domaincontactpostcode" id="inputDCPostcode" class="field form-control" placeholder="{$LANG.orderForm.postcode}" value="{$domaincontact.postcode}">
- </div>
- </div>
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputDCCountry" class="field-icon" id="inputCountryIcon">
- <i class="fas fa-globe"></i>
- </label>
- <select name="domaincontactcountry" id="inputDCCountry" class="field form-control">
- {foreach $countries as $countrycode => $countrylabel}
- <option value="{$countrycode}"{if (!$domaincontact.country && $countrycode == $defaultcountry) || $countrycode eq $domaincontact.country} selected{/if}>
- {$countrylabel}
- </option>
- {/foreach}
- </select>
- </div>
- </div>
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputDCTaxId" class="field-icon">
- <i class="fas fa-building"></i>
- </label>
- <input type="text" name="domaincontacttax_id" id="inputDCTaxId" class="field form-control" placeholder="{$taxLabel} ({$LANG.orderForm.optional})" value="{$domaincontact.tax_id}">
- </div>
- </div>
- </div>
- </div>
- {/if}
- {if !$loggedin}
- <div id="containerNewUserSecurity"{if (!$loggedin && $custtype eq "existing") || ($remote_auth_prelinked && !$securityquestions) } class="w-hidden"{/if}>
- <h4>{$LANG.orderForm.accountSecurity}</h4>
- <div class="TM-card">
- <div id="containerPassword" class="row{if $remote_auth_prelinked && $securityquestions} w-hidden{/if}">
- <div id="passwdFeedback" style="display: none;" class="alert alert-info text-center col-sm-12"></div>
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputNewPassword1" class="field-icon">
- <i class="fas fa-lock"></i>
- </label>
- <input type="password" name="password" id="inputNewPassword1" data-error-threshold="{$pwStrengthErrorThreshold}" data-warning-threshold="{$pwStrengthWarningThreshold}" class="field form-control" placeholder="{$LANG.clientareapassword}"{if $remote_auth_prelinked} value="{$password}"{/if}>
- </div>
- </div>
- <div class="col-sm-6">
- <div class="form-group prepend-icon">
- <label for="inputNewPassword2" class="field-icon">
- <i class="fas fa-lock"></i>
- </label>
- <input type="password" name="password2" id="inputNewPassword2" class="field form-control" placeholder="{$LANG.clientareaconfirmpassword}"{if $remote_auth_prelinked} value="{$password}"{/if}>
- </div>
- </div>
- <div class="col-sm-6">
- <button type="button" class="btn btn-default btn-sm generate-password" data-targetfields="inputNewPassword1,inputNewPassword2">
- {$LANG.generatePassword.btnLabel}
- </button>
- </div>
- <div class="col-sm-6">
- <div class="password-strength-meter">
- <div class="progress">
- <div class="progress-bar progress-bar-success progress-bar-striped" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" id="passwordStrengthMeterBar"></div>
- </div>
- <p class="text-center small text-muted" id="passwordStrengthTextLabel">{$LANG.pwstrength}: {$LANG.pwstrengthenter}</p>
- </div>
- </div>
- </div>
- </div>
-
-
- {if $securityquestions}
- <div class="TM-card">
- <div class="row">
- <div class="col-sm-12">
- <div class="form-group">
- <select name="securityqid" id="inputSecurityQId" class="field form-control">
- <option value="">{$LANG.clientareasecurityquestion}</option>
- {foreach $securityquestions as $question}
- <option value="{$question.id}"{if $question.id eq $securityqid} selected{/if}>
- {$question.question}
- </option>
- {/foreach}
- </select>
- </div>
- </div>
- <div class="col-sm-12">
- <div class="form-group prepend-icon">
- <label for="inputSecurityQAns" class="field-icon">
- <i class="fas fa-lock"></i>
- </label>
- <input type="password" name="securityqans" id="inputSecurityQAns" class="field form-control" placeholder="{$LANG.clientareasecurityanswer}">
- </div>
- </div>
- </div>
- </div>
- {/if}
- </div>
- {/if}
- {foreach $hookOutput as $output}
- <div style="margin:60px 0;">
- {$output}
- </div>
- {/foreach}
- <h4>{$LANG.orderForm.paymentDetails}</h4>
- <p class="small text-muted margin-bottom">{$LANG.orderForm.preferredPaymentMethod}</p>
- <div id="applyCreditContainer" class="apply-credit-container{if !$canUseCreditOnCheckout} w-hidden{/if}" data-apply-credit="{$applyCredit}">
- <div class="p-3 border rounded mb-3">
- <p class="fw-500 text-muted mb-1 small">{lang key='availcreditbal'}:</p>
- <span class="h2 fw-500 mt-0">{$creditBalance}</span>
- </div>
- <label class="radio">
- <input id="useCreditOnCheckout" type="radio" name="applycredit" value="1"{if $applyCredit} checked{/if}>
- <span id="spanFullCredit"{if !($creditBalance->toNumeric() >= $total->toNumeric())} class="w-hidden"{/if}>
- {lang key='cart.applyCreditAmountNoFurtherPayment' amount=$total}
- </span>
- <span id="spanUseCredit"{if $creditBalance->toNumeric() >= $total->toNumeric()} class="w-hidden"{/if}>
- {lang key='cart.applyCreditAmount' amount=$creditBalance}
- </span>
- </label>
- <label class="radio">
- <input id="skipCreditOnCheckout" type="radio" name="applycredit" value="0"{if !$applyCredit} checked{/if}>
- {lang key='cart.applyCreditSkip' amount=$creditBalance}
- </label>
- </div>
- {if !$inExpressCheckout}
- <div id="paymentGatewaysContainer" class="form-group">
- <div class="TM-card" id="cros-payment-gateway">
- {foreach $gateways as $gateway}
- <label class="radio-inline{if $selectedgateway eq $gateway.sysname} is-selected{/if}" id="lbl-{$gateway.sysname}" onclick="getApply('{$gateway.sysname}')">
- <span>
- <input type="radio" onclick="getApply(this.value)"
- name="paymentmethod"
- value="{$gateway.sysname}"
- data-payment-type="{$gateway.payment_type}"
- data-show-local="{$gateway.show_local_cards}"
- data-remote-inputs="{$gateway.uses_remote_inputs}"
- class="payment-methods{if $gateway.type eq "CC"} is-credit-card{/if}"
- {if $selectedgateway eq $gateway.sysname} checked{/if}
- />
- <span class="check-label">{$gateway.name}</span>
- </span>
- {assign var=gatewayIcon value=$gateway.sysname|lower|replace:" ":"-"}
- {if file_exists("templates/orderforms/{$carttpl}/img/gateways/{$gatewayIcon}.png")}
- <span class="check-icon">
- {if file_exists("templates/orderforms/{$carttpl}/img/gateways/overrides/{$gatewayIcon}.png")}
- <img src="templates/orderforms/{$carttpl}/img/gateways/overrides/{$gatewayIcon}.png" alt="{$gateway.name}" />
- {else}
- <img src="templates/orderforms/{$carttpl}/img/gateways/{$gatewayIcon}.png" alt="{$gateway.name}" />
- {/if}
- </span>
- {/if}
- </label>
- {/foreach}
- </div>
- </div>
- <div class="alert alert-danger text-center gateway-errors w-hidden"></div>
- <div class="clearfix"></div>
- <div class="cc-input-container{if $selectedgatewaytype neq "CC"} w-hidden{/if}" id="creditCardInputFields">
- {if $client}
- <div id="existingCardsContainer" class="existing-cc-grid">
- {include file="orderforms/{$carttpl}/includes/existing-paymethods.tpl"}
- </div>
- {/if}
- <div class="row cvv-input" id="existingCardInfo">
- <div class="col-lg-3 col-sm-4">
- <div class="form-group prepend-icon">
- <label for="inputCardCVV2" class="field-icon">
- <i class="fas fa-barcode"></i>
- </label>
- <div class="input-group">
- <input type="tel" name="cccvv" id="inputCardCVV2" class="field form-control" placeholder="{$LANG.creditcardcvvnumbershort}" autocomplete="cc-cvc">
- <span class="input-group-btn input-group-append">
- <button type="button" class="btn btn-default" data-toggle="popover" data-placement="bottom" data-content="<img src='{$BASE_PATH_IMG}/ccv.gif' width='210' />">
- ?
- </button>
- </span>
- </div>
- <span class="field-error-msg">{lang key="paymentMethodsManage.cvcNumberNotValid"}</span>
- </div>
- </div>
- </div>
- <ul>
- <li>
- <label class="radio-inline py-2 px-3 border rounded w-100">
- <input type="radio" name="ccinfo" value="new" id="new" {if !$client || $client->payMethods->count() === 0} checked="checked"{/if} />
- {lang key='creditcardenternewcard'}
- </label>
- </li>
- </ul>
- <div class="row" id="newCardInfo">
- <div id="cardNumberContainer" class="col-sm-6 new-card-container">
- <div class="form-group prepend-icon">
- <label for="inputCardNumber" class="field-icon">
- <i class="fas fa-credit-card"></i>
- </label>
- <input type="tel" name="ccnumber" id="inputCardNumber" class="form-control field cc-number-field" placeholder="{$LANG.orderForm.cardNumber}" autocomplete="cc-number" data-message-unsupported="{lang key='paymentMethodsManage.unsupportedCardType'}" data-message-invalid="{lang key='paymentMethodsManage.cardNumberNotValid'}" data-supported-cards="{$supportedCardTypes}" />
- <span class="field-error-msg"></span>
- </div>
- </div>
- <div class="col-sm-3 new-card-container">
- <div class="form-group prepend-icon">
- <label for="inputCardExpiry" class="field-icon">
- <i class="fas fa-calendar-alt"></i>
- </label>
- <input type="tel" name="ccexpirydate" id="inputCardExpiry" class="field form-control" placeholder="MM / YY{if $showccissuestart} ({$LANG.creditcardcardexpires}){/if}" autocomplete="cc-exp">
- <span class="field-error-msg">{lang key="paymentMethodsManage.expiryDateNotValid"}</span>
- </div>
- </div>
- <div class="col-sm-3" id="cvv-field-container">
- <div class="form-group prepend-icon">
- <label for="inputCardCVV" class="field-icon">
- <i class="fas fa-barcode"></i>
- </label>
- <div class="input-group">
- <input type="tel" name="cccvv" id="inputCardCVV" class="field form-control" placeholder="{$LANG.creditcardcvvnumbershort}" autocomplete="cc-cvc">
- <span class="input-group-btn input-group-append">
- <button type="button" class="btn btn-default" data-toggle="popover" data-placement="bottom" data-content="<img src='{$BASE_PATH_IMG}/ccv.gif' width='210' />">
- ?
- </button>
- </span><br>
- </div>
- <span class="field-error-msg">{lang key="paymentMethodsManage.cvcNumberNotValid"}</span>
- </div>
- </div>
- {if $showccissuestart}
- <div class="col-sm-3 col-sm-offset-6 new-card-container">
- <div class="form-group prepend-icon">
- <label for="inputCardStart" class="field-icon">
- <i class="far fa-calendar-check"></i>
- </label>
- <input type="tel" name="ccstartdate" id="inputCardStart" class="field form-control" placeholder="MM / YY ({$LANG.creditcardcardstart})" autocomplete="cc-exp">
- </div>
- </div>
- <div class="col-sm-3 new-card-container">
- <div class="form-group prepend-icon">
- <label for="inputCardIssue" class="field-icon">
- <i class="fas fa-asterisk"></i>
- </label>
- <input type="tel" name="ccissuenum" id="inputCardIssue" class="field form-control" placeholder="{$LANG.creditcardcardissuenum}">
- </div>
- </div>
- {/if}
- </div>
- <div id="newCardSaveSettings">
- <div class="row form-group new-card-container">
- <div id="inputDescriptionContainer" class="col-md-6">
- <div class="prepend-icon">
- <label for="inputDescription" class="field-icon">
- <i class="fas fa-pencil"></i>
- </label>
- <input type="text" class="field form-control" id="inputDescription" name="ccdescription" autocomplete="off" value="" placeholder="{$LANG.paymentMethods.descriptionInput} {$LANG.paymentMethodsManage.optional}" />
- </div>
- </div>
- {if $allowClientsToRemoveCards}
- <div id="inputNoStoreContainer" class="col-md-6" style="line-height: 32px;">
- <input type="hidden" name="nostore" value="1">
- <input type="checkbox" class="toggle-switch-success no-icheck" data-size="mini" checked="checked" name="nostore" id="inputNoStore" value="0" data-on-text="{lang key='yes'}" data-off-text="{lang key='no'}">
- <label for="inputNoStore" class="checkbox-inline no-padding">
-
- {$LANG.creditCardStore}
- </label>
- </div>
- {/if}
- </div>
- </div>
- </div>
- {else}
- {if $expressCheckoutOutput}
- {$expressCheckoutOutput}
- {else}
- <p align="center">
- {lang key='paymentPreApproved' gateway=$expressCheckoutGateway}
- </p>
- {/if}
- {/if}
- {if $shownotesfield}
- <h4>{$LANG.orderForm.additionalNotes}</h4>
- <div class="TM-card">
- <div class="row">
- <div class="col-sm-12">
- <div class="form-group">
- <textarea name="notes" class="field form-control" rows="4" placeholder="{$LANG.ordernotesdescription}">{$orderNotes}</textarea>
- </div>
- </div>
- </div>
- </div>
- {/if}
- {if $showMarketingEmailOptIn}
- <h4>{lang key='emailMarketing.joinOurMailingList'}</h4>
- <div class="TM-card">
- <p>{$marketingEmailOptInMessage}</p>
- <div class="panel panel-switch {if $marketingEmailOptIn} checked{/if}">
- <div class="panel-body">
- <span class="switch-label">{lang key='emailMarketing.joinOurMailingList'}:</span>
- <label class="switch switch--text">
- <input class="no-icheck switch__checkbox" type="checkbox" name="marketingoptin" value="1"{if $marketingEmailOptIn} checked{/if}>
- <span class="switch__container"><span class="switch__handle"></span></span>
- </label>
- </div>
- </div>
- </div>
- {/if}
- <div class="text-center">
- {if $accepttos}
- <p>
- <label class="checkbox-inline">
- <input type="checkbox" name="accepttos" id="accepttos" />
- {$LANG.ordertosagreement} <a href="{$tosurl}" target="_blank">{$LANG.ordertos}</a>
- </label>
- </p>
- {/if}
-
- {if $captcha}
- <div class="text-center margin-bottom">
- {include file="$template/includes/captcha.tpl"}
- </div>
- {/if}
- <button type="submit"
- id="btnCompleteOrder"
- class="margin-bottom btn btn-primary btn-lg disable-on-click spinner-on-click{if $captcha}{$captcha->getButtonClass($captchaForm)}{/if}"
- {if $cartitems==0}disabled="disabled"{/if}
- >
- {if $inExpressCheckout}{$LANG.confirmAndPay}{else}{$LANG.completeorder}{/if}
- <i class="fas fa-arrow-circle-right"></i>
- </button>
- </div>
- </form>
- </div>
- </div>
- <script type="text/javascript" src="{$BASE_PATH_JS}/jquery.payment.js"></script>
- <script>
- var hideCvcOnCheckoutForExistingCard = '{if $canUseCreditOnCheckout && $applyCredit && ($creditBalance->toNumeric() >= $total->toNumeric())}1{else}0{/if}';
- jQuery(document).ready(function() {
- jQuery('.existing-card').change('ifChecked', function (event) {
- $(this).closest(".card-item").toggleClass('selected', this.checked);
- });
- });
-
- </script>
- {include file="orderforms/$carttpl/recommendations-modal.tpl"}
|