|
|
|
|
|
|
|
/_dev_membership/
/_dev_membership/
|
|
|
|
{"togglable_footerCTA":null,"togglable_memberCTA":null,"togglable_testCTA":null,"togglable_newslettercta":"on"}
{"togglable_footerCTA":null,"togglable_memberCTA":null,"togglable_testCTA":null,"togglable_newslettercta":"on"}
|
|
.fieldset
{
border: 1px solid hwb(356.13deg 19.61% 19.61% / 10%);
margin-bottom: 2rem;
padding-top: 3rem;
position: relative;
padding: 3rem 2rem 1rem;
}
.fieldset h4
{
background: #d90f31;
display: inline-block;
color: #fff;
padding: 10px 3rem;
position: absolute;
top: -20px;
left: -10px;
font-weight: 500;
}
.fieldset h4:after
{
position: absolute;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 0 9px 5px 0;
border-color: transparent #d90f31 transparent transparent;
bottom: -5px;
left: 1px;
}
addressform .formRow.formRow2Col {
flex-direction: column !important;
}
addressform input[type="text"],
addressform textarea
{
width: 100% !important;
}
fieldset h4 {
background: #720c1c;
color: #fff;
display: inline-block;
font-weight: 500;
left: -10px;
padding: 10px 3rem;
position: absolute;
top: -20px;
}
fieldset h4:after {
border-color: transparent #720c1c transparent transparent;
border-style: solid;
border-width: 0 9px 5px 0;
bottom: -5px;
content: "";
height: 0;
left: 1px;
position: absolute;
width: 0;
}
.template-productFlex label.s8-radiobutton-container input ~ .s8-radiobutton {
border: none;
}
span.template-selectedProduct {}
.counter {
bottom: 0;
position: absolute;
right: 0;
}
.counter .formRowCol1 {
display: none;
min-width: 100px;
width: auto;
}
.counter .formRowLabel {
color: #989898;
font-size: 2rem;
letter-spacing: 2px;
padding-top: 0.8rem;
text-transform: uppercase;
}
.counter .spinBox > input {
display: none !important;
}
.counter .spinBoxDown:before {
content: '-' !important;
}
.counter .spinBoxUp, .counter .spinBoxDown {
background: #720c1c;
bottom: 0;
color: #fff;
display: inline-block;
height: 2rem;
line-height: 2rem;
opacity: 1;
position: static;
right: 0;
text-align: center;
top: 0;
width: 2rem;
}
.counter .spinBoxUp:before, .counter .spinBoxDown:before {
border: 0 none;
content: '+';
font-size: 1.2rem;
height: 100%;
left: 0;
position: static;
top: 0;
transform: none;
width: 100%;
}
.template-productFlex {
align-items: center;
background: #333333;
color: #fff;
display: flex;
flex-direction: column;
justify-content: center;
min-height: 230px;
padding: 25px;
position: relative;
text-align: center;
}
.template-productFlex .s8-radiobutton-container {
opacity: 1 !important;
}
.template-productFlex .s8-radiobutton-container {
min-height: unset !important;
min-width: unset !important;
}
.template-productFlex input, .template-productFlex .s8-radiobutton-container {
border-radius: 0;
height: 100%;
left: 0;
opacity: 0;
position: absolute;
top: 0;
width: 100%;
}
.template-productFlex input[type="radio"]:checked ~ .s8-radiobutton::before {
background: #dc1836;
border-radius: 50px;
color: #ffffff;
content: "SELECTED";
display: block;
font-size: 11px;
height: auto;
letter-spacing: 1px;
opacity: 1;
padding: 1px 20px;
position: absolute;
right: 20px;
text-transform: uppercase;
top: 20px;
visibility: visible;
width: auto;
}
.s8-radiobuttongroup
{
display: block !important;
}
.template-productFlexContainer {
padding: 0;
margin: 0;
display: grid !important;
align-items: center;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-gap: 1.5rem;
}
select
{
width: 100% !important;
}
.product-price
{
font-size: 2rem;
}
.fieldset
{
border: 1px solid hwb(356.13deg 19.61% 19.61% / 10%);
margin-bottom: 2rem;
padding-top: 3rem;
position: relative;
padding: 3rem 2rem 1rem;
}
.fieldset h4
{
background: #d90f31;
display: inline-block;
color: #fff;
padding: 10px 3rem;
position: absolute;
top: -20px;
left: -10px;
font-weight: 500;
}
.fieldset h4:after
{
position: absolute;
content: "";
width: 0;
height: 0;
border-style: solid;
border-width: 0 9px 5px 0;
border-color: transparent #d90f31 transparent transparent;
bottom: -5px;
left: 1px;
}
addressform .formRow.formRow2Col {
flex-direction: column !important;
}
addressform input[type="text"],
addressform textarea
{
width: 100% !important;
}
fieldset h4 {
background: #720c1c;
color: #fff;
display: inline-block;
font-weight: 500;
left: -10px;
padding: 10px 3rem;
position: absolute;
top: -20px;
}
fieldset h4:after {
border-color: transparent #720c1c transparent transparent;
border-style: solid;
border-width: 0 9px 5px 0;
bottom: -5px;
content: "";
height: 0;
left: 1px;
position: absolute;
width: 0;
}
.template-productFlex label.s8-radiobutton-container input ~ .s8-radiobutton {
border: none;
}
span.template-selectedProduct {}
.counter {
bottom: 0;
position: absolute;
right: 0;
}
.counter .formRowCol1 {
display: none;
min-width: 100px;
width: auto;
}
.counter .formRowLabel {
color: #989898;
font-size: 2rem;
letter-spacing: 2px;
padding-top: 0.8rem;
text-transform: uppercase;
}
.counter .spinBox > input {
display: none !important;
}
.counter .spinBoxDown:before {
content: '-' !important;
}
.counter .spinBoxUp, .counter .spinBoxDown {
background: #720c1c;
bottom: 0;
color: #fff;
display: inline-block;
height: 2rem;
line-height: 2rem;
opacity: 1;
position: static;
right: 0;
text-align: center;
top: 0;
width: 2rem;
}
.counter .spinBoxUp:before, .counter .spinBoxDown:before {
border: 0 none;
content: '+';
font-size: 1.2rem;
height: 100%;
left: 0;
position: static;
top: 0;
transform: none;
width: 100%;
}
.template-productFlex {
align-items: center;
background: #333333;
color: #fff;
display: flex;
flex-direction: column;
justify-content: center;
min-height: 230px;
padding: 25px;
position: relative;
text-align: center;
}
.template-productFlex .s8-radiobutton-container {
opacity: 1 !important;
}
.template-productFlex .s8-radiobutton-container {
min-height: unset !important;
min-width: unset !important;
}
.template-productFlex input, .template-productFlex .s8-radiobutton-container {
border-radius: 0;
height: 100%;
left: 0;
opacity: 0;
position: absolute;
top: 0;
width: 100%;
}
.template-productFlex input[type="radio"]:checked ~ .s8-radiobutton::before {
background: #dc1836;
border-radius: 50px;
color: #ffffff;
content: "SELECTED";
display: block;
font-size: 11px;
height: auto;
letter-spacing: 1px;
opacity: 1;
padding: 1px 20px;
position: absolute;
right: 20px;
text-transform: uppercase;
top: 20px;
visibility: visible;
width: auto;
}
.s8-radiobuttongroup
{
display: block !important;
}
.template-productFlexContainer {
padding: 0;
margin: 0;
display: grid !important;
align-items: center;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-gap: 1.5rem;
}
select
{
width: 100% !important;
}
.product-price
{
font-size: 2rem;
}
|
|
|
|
<?php
function onFormSubmit($arrValues)
{
$arrContact['contact_first_name'] = $arrValues['contact_first_name'];
$arrContact['contact_last_name'] = $arrValues['contact_last_name'];
$arrContact['contact_email'] = $arrValues['contact_email'];
$arrContact['contact_password'] = $arrValues['contact_password'];
// save first contact
$iContactId = \Components\Customers\Contacts::save($arrContact);
\Components\Customers\Contacts::currentLoginViaContactId($iContactId);
if ($arrValues['product_id'] == 389)
{
$arrPartner = $arrValues['additional_contact_partner'];
$iPartnerContactId = \Components\Customers\Contacts::save($arrPartner);
if ($iPartnerContactId)
{
\Components\Customers\Contacts\Relationships::create($iContactId, $iPartnerContactId, 'I2I_Partner');
}
}
else if ($arrValues['product_id'] == 388)
{
$i = 1;
$strFormName = 'additional_contact_family_' . $i;
while (isset($arrValues[$strFormName]))
{
$arrFamilyContact = $arrValues[$strFormName];
$strRelationship = $arrFamilyContact['relationship_type_id'];
varDump($arrFamilyContact);
unset($arrFamilyContact['relationship_type_id']);
$iFamilyContactId = \Components\Customers\Contacts::save($arrFamilyContact);
if ($iFamilyContactId)
{
\Components\Customers\Contacts\Relationships::create($iContactId, $iFamilyContactId, $strRelationship);
}
$i++;
$strFormName = 'additional_contact_family_' . $i;
}
}
}
function createCounter($last)
{
return range(1, $last);
}
function updatePreferencesOnSubmit($arrValues, $iContactId = NULL)
{
if(!$iContactId)
{
$iContactId = \Components\Customers\Contacts::currentContactId(true);
}
}
function getRelationshipCategory($strType1, $strType2)
{
if($strType1 == 'Individual' && $strType2 == 'Individual')
{
return 'I2I';
}
if($strType1 == 'Individual' && $strType2 == 'Company')
{
return 'I2C';
}
if($strType1 == 'Company' && in_array($strType2, ['Individual', '']))
{
return 'I2C';
}
if($strType1 == 'Company' && $strType2 == 'Company')
{
return 'C2C';
}
return 'I2I';
}
function getContactType($arrContact)
{
if(!is_array($arrContact))
{
$arrContact = \Components\Customers\Contacts::get($arrContact);
}
if(isset($arrContact['contact_type']))
{
return $arrContact['contact_type'];
}
return null;
}
function renderRelationship($arrContact1, $arrContact2, $strRelationshipType)
{
if(!is_array($arrContact1))
{
$arrContact1 = \Components\Customers\Contacts::get($arrContact1);
}
if(!is_array($arrContact2))
{
$arrContact2 = \Components\Customers\Contacts::get($arrContact2);
}
$strContact1Name = \Components\Customers\Contacts::renderName($arrContact1);
$strContact2Name = \Components\Customers\Contacts::renderName($arrContact2);
$strRelationshipTitle = \Components\Customers\Contacts\Relationships\Types::getColumn($strRelationshipType, 'relationship_type_title');
if(strpos($strRelationshipType, "I2C") === 0 && $arrContact1['contact_type'] == 'Company')
{
return $strContact2Name . ' is ' . $strRelationshipTitle . ' of ' . $strContact1Name;
}
return $strContact1Name . ' is ' . $strRelationshipTitle . ' of ' . $strContact2Name;
}
function getRelationshipTypes($iContactId1, $arrContact2)
{
$strRelationshipCategory = getRelationshipCategory(getContactType($iContactId1), getContactType($arrContact2));
$arrRelationshipTypes = \Components\Customers\Contacts\Relationships\Types::getAllForRelationshipCategory($strRelationshipCategory);
foreach ($arrRelationshipTypes as &$arrRelationshipType)
{
$arrRelationshipType['relationship_type_title'] = renderRelationship($arrContact2, $iContactId1, $arrRelationshipType['relationship_type_id']);
}
//varDump($arrRelationshipTypes);
return $arrRelationshipTypes;
}
function createRelationship($arrValues)
{
foreach($arrValues as $strField => $strValue)
{
if(str_starts_with($strField, 'contact_'))
{
$arrContact[$strField] = $arrValues[$strField];
}
}
// Try to auto merge the contact with an existing one
\Components\Customers\Contacts::autoMerge($arrContact);
$iContactId1 = $arrContact['contact_id'];
$iContactId2 = \Components\Customers\Contacts::currentContactId(true);
$arrRelationship = [];
$arrRelationship['relationship_type_id'] = 'I2I_Partner';
$arrRelationship['contact_id_1'] = $iContactId1;
$arrRelationship['contact_id_2'] = $iContactId2;
$arrRelationship['contact1_can_edit_contact2'] = 1;
$arrRelationship['contact2_can_edit_contact1'] = 0;
\Components\Customers\Contacts\Relationships::save($arrRelationship);
}
?>
<?php
function onFormSubmit($arrValues)
{
$arrContact['contact_first_name'] = $arrValues['contact_first_name'];
$arrContact['contact_last_name'] = $arrValues['contact_last_name'];
$arrContact['contact_email'] = $arrValues['contact_email'];
$arrContact['contact_password'] = $arrValues['contact_password'];
// save first contact
$iContactId = \Components\Customers\Contacts::save($arrContact);
\Components\Customers\Contacts::currentLoginViaContactId($iContactId);
if ($arrValues['product_id'] == 389)
{
$arrPartner = $arrValues['additional_contact_partner'];
$iPartnerContactId = \Components\Customers\Contacts::save($arrPartner);
if ($iPartnerContactId)
{
\Components\Customers\Contacts\Relationships::create($iContactId, $iPartnerContactId, 'I2I_Partner');
}
}
else if ($arrValues['product_id'] == 388)
{
$i = 1;
$strFormName = 'additional_contact_family_' . $i;
while (isset($arrValues[$strFormName]))
{
$arrFamilyContact = $arrValues[$strFormName];
$strRelationship = $arrFamilyContact['relationship_type_id'];
varDump($arrFamilyContact);
unset($arrFamilyContact['relationship_type_id']);
$iFamilyContactId = \Components\Customers\Contacts::save($arrFamilyContact);
if ($iFamilyContactId)
{
\Components\Customers\Contacts\Relationships::create($iContactId, $iFamilyContactId, $strRelationship);
}
$i++;
$strFormName = 'additional_contact_family_' . $i;
}
}
}
function createCounter($last)
{
return range(1, $last);
}
function updatePreferencesOnSubmit($arrValues, $iContactId = NULL)
{
if(!$iContactId)
{
$iContactId = \Components\Customers\Contacts::currentContactId(true);
}
}
function getRelationshipCategory($strType1, $strType2)
{
if($strType1 == 'Individual' && $strType2 == 'Individual')
{
return 'I2I';
}
if($strType1 == 'Individual' && $strType2 == 'Company')
{
return 'I2C';
}
if($strType1 == 'Company' && in_array($strType2, ['Individual', '']))
{
return 'I2C';
}
if($strType1 == 'Company' && $strType2 == 'Company')
{
return 'C2C';
}
return 'I2I';
}
function getContactType($arrContact)
{
if(!is_array($arrContact))
{
$arrContact = \Components\Customers\Contacts::get($arrContact);
}
if(isset($arrContact['contact_type']))
{
return $arrContact['contact_type'];
}
return null;
}
function renderRelationship($arrContact1, $arrContact2, $strRelationshipType)
{
if(!is_array($arrContact1))
{
$arrContact1 = \Components\Customers\Contacts::get($arrContact1);
}
if(!is_array($arrContact2))
{
$arrContact2 = \Components\Customers\Contacts::get($arrContact2);
}
$strContact1Name = \Components\Customers\Contacts::renderName($arrContact1);
$strContact2Name = \Components\Customers\Contacts::renderName($arrContact2);
$strRelationshipTitle = \Components\Customers\Contacts\Relationships\Types::getColumn($strRelationshipType, 'relationship_type_title');
if(strpos($strRelationshipType, "I2C") === 0 && $arrContact1['contact_type'] == 'Company')
{
return $strContact2Name . ' is ' . $strRelationshipTitle . ' of ' . $strContact1Name;
}
return $strContact1Name . ' is ' . $strRelationshipTitle . ' of ' . $strContact2Name;
}
function getRelationshipTypes($iContactId1, $arrContact2)
{
$strRelationshipCategory = getRelationshipCategory(getContactType($iContactId1), getContactType($arrContact2));
$arrRelationshipTypes = \Components\Customers\Contacts\Relationships\Types::getAllForRelationshipCategory($strRelationshipCategory);
foreach ($arrRelationshipTypes as &$arrRelationshipType)
{
$arrRelationshipType['relationship_type_title'] = renderRelationship($arrContact2, $iContactId1, $arrRelationshipType['relationship_type_id']);
}
//varDump($arrRelationshipTypes);
return $arrRelationshipTypes;
}
function createRelationship($arrValues)
{
foreach($arrValues as $strField => $strValue)
{
if(str_starts_with($strField, 'contact_'))
{
$arrContact[$strField] = $arrValues[$strField];
}
}
// Try to auto merge the contact with an existing one
\Components\Customers\Contacts::autoMerge($arrContact);
$iContactId1 = $arrContact['contact_id'];
$iContactId2 = \Components\Customers\Contacts::currentContactId(true);
$arrRelationship = [];
$arrRelationship['relationship_type_id'] = 'I2I_Partner';
$arrRelationship['contact_id_1'] = $iContactId1;
$arrRelationship['contact_id_2'] = $iContactId2;
$arrRelationship['contact1_can_edit_contact2'] = 1;
$arrRelationship['contact2_can_edit_contact1'] = 0;
\Components\Customers\Contacts\Relationships::save($arrRelationship);
}
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|