booking form category show fix
This commit is contained in:
@@ -59,37 +59,72 @@
|
|||||||
<div class="serviceCol serviceCheckCol"></div>
|
<div class="serviceCol serviceCheckCol"></div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
$prevousCategory = '';
|
function canon_cat($s) {
|
||||||
|
$s = html_entity_decode((string)$s, ENT_QUOTES | ENT_HTML5, 'UTF-8');
|
||||||
|
$s = strip_tags($s); // removes "<p class=" junk etc.
|
||||||
|
return trim($s); // removes trailing/leading spaces
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($services) && count($services) > 0) {
|
||||||
|
|
||||||
|
// Build groups in first-seen order
|
||||||
|
$groups = []; // label => [items]
|
||||||
|
$order = []; // labels in order of first appearance
|
||||||
|
|
||||||
if(is_array($services)){
|
|
||||||
foreach ($services as $serviceItem) {
|
foreach ($services as $serviceItem) {
|
||||||
if($serviceItem->service_category != $prevousCategory){
|
$label = canon_cat($serviceItem->service_category ?? '');
|
||||||
|
if ($label === '') $label = 'Other';
|
||||||
|
|
||||||
|
if (!isset($groups[$label])) {
|
||||||
|
$groups[$label] = [];
|
||||||
|
$order[] = $label;
|
||||||
|
}
|
||||||
|
$groups[$label][] = $serviceItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Render
|
||||||
|
foreach ($order as $label) {
|
||||||
?>
|
?>
|
||||||
<div class="serviceRow">
|
<div class="serviceRow">
|
||||||
<div class="serviceCol" style="width: 100%">
|
<div class="serviceCol" style="width: 100%">
|
||||||
<h4><?php echo $serviceItem->service_category;?></h4>
|
<h4><?php echo $label; ?></h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
foreach ($groups[$label] as $serviceItem) {
|
||||||
|
?>
|
||||||
|
<div class="serviceRow">
|
||||||
|
<div class="serviceCol serviceNameCol" id="serviceName_<?php echo $serviceItem->service_id; ?>">
|
||||||
|
<?php echo $serviceItem->service_name; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol">
|
||||||
|
<input type="time" class="serviceTime" id="time_<?php echo $serviceItem->service_id; ?>" value="<?php echo $serviceItem->service_time; ?>"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol servicePriceCol" id="servicePrice_<?php echo $serviceItem->service_id; ?>">
|
||||||
|
<?php echo $serviceItem->service_price; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol serviceInfoCol">
|
||||||
|
<div class="serviceInfoIcon">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
<div class="serviceInfoLabel"><?php echo $serviceItem->service_description; ?></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol serviceCheckCol">
|
||||||
|
<input type="hidden" name="service_<?php echo $serviceItem->service_id; ?>" value="0"/>
|
||||||
|
<input type="checkbox"
|
||||||
|
class="service <?php echo $serviceItem->serv_cat_slug; ?>"
|
||||||
|
id="<?php echo $serviceItem->service_id; ?>"
|
||||||
|
name="service_<?php echo $serviceItem->service_id; ?>"
|
||||||
|
value="1"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
<div class="serviceRow">
|
|
||||||
<div class="serviceCol serviceNameCol" id="serviceName_<?php echo $serviceItem->service_id;?>"><?php echo $serviceItem->service_name;?></div>
|
|
||||||
<div class="serviceCol"><input type="time" class="serviceTime" id="time_<?php echo $serviceItem->service_id;?>" value="<?php echo $serviceItem->service_time;?>"/></div>
|
|
||||||
<div class="serviceCol servicePriceCol" id="servicePrice_<?php echo $serviceItem->service_id;?>"><?php echo $serviceItem->service_price;?></div>
|
|
||||||
<div class="serviceCol serviceInfoCol">
|
|
||||||
<div class="serviceInfoIcon">
|
|
||||||
<i class="fas fa-info-circle"></i><div class="serviceInfoLabel"><?php echo $serviceItem->service_description;?></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="serviceCol serviceCheckCol">
|
|
||||||
<input type="hidden" name="service_<?php echo $serviceItem->service_id;?>" value="0"/>
|
|
||||||
|
|
||||||
<input type="checkbox" class="service <?php echo $serviceItem->serv_cat_slug;?>" id="<?php echo $serviceItem->service_id;?>" name="service_<?php echo $serviceItem->service_id;?>" value="1"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
$prevousCategory = $serviceItem->service_category;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -59,36 +59,72 @@
|
|||||||
<div class="serviceCol serviceCheckCol"></div>
|
<div class="serviceCol serviceCheckCol"></div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
$prevousCategory = '';
|
function canon_cat($s) {
|
||||||
|
$s = html_entity_decode((string)$s, ENT_QUOTES | ENT_HTML5, 'UTF-8');
|
||||||
|
$s = strip_tags($s); // removes "<p class=" junk etc.
|
||||||
|
return trim($s); // removes trailing/leading spaces
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($services) && count($services) > 0) {
|
||||||
|
|
||||||
|
// Build groups in first-seen order
|
||||||
|
$groups = []; // label => [items]
|
||||||
|
$order = []; // labels in order of first appearance
|
||||||
|
|
||||||
if(is_array($services)){
|
|
||||||
foreach ($services as $serviceItem) {
|
foreach ($services as $serviceItem) {
|
||||||
if($serviceItem->service_category != $prevousCategory){
|
$label = canon_cat($serviceItem->service_category ?? '');
|
||||||
|
if ($label === '') $label = 'Other';
|
||||||
|
|
||||||
|
if (!isset($groups[$label])) {
|
||||||
|
$groups[$label] = [];
|
||||||
|
$order[] = $label;
|
||||||
|
}
|
||||||
|
$groups[$label][] = $serviceItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Render
|
||||||
|
foreach ($order as $label) {
|
||||||
?>
|
?>
|
||||||
<div class="serviceRow">
|
<div class="serviceRow">
|
||||||
<div class="serviceCol" style="width: 100%">
|
<div class="serviceCol" style="width: 100%">
|
||||||
<h4><?php echo $serviceItem->service_category;?></h4>
|
<h4><?php echo $label; ?></h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
foreach ($groups[$label] as $serviceItem) {
|
||||||
|
?>
|
||||||
|
<div class="serviceRow">
|
||||||
|
<div class="serviceCol serviceNameCol" id="serviceName_<?php echo $serviceItem->service_id; ?>">
|
||||||
|
<?php echo $serviceItem->service_name; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol">
|
||||||
|
<input type="time" class="serviceTime" id="time_<?php echo $serviceItem->service_id; ?>" value="<?php echo $serviceItem->service_time; ?>"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol servicePriceCol" id="servicePrice_<?php echo $serviceItem->service_id; ?>">
|
||||||
|
<?php echo $serviceItem->service_price; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol serviceInfoCol">
|
||||||
|
<div class="serviceInfoIcon">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
<div class="serviceInfoLabel"><?php echo $serviceItem->service_description; ?></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol serviceCheckCol">
|
||||||
|
<input type="hidden" name="service_<?php echo $serviceItem->service_id; ?>" value="0"/>
|
||||||
|
<input type="checkbox"
|
||||||
|
class="service <?php echo $serviceItem->serv_cat_slug; ?>"
|
||||||
|
id="<?php echo $serviceItem->service_id; ?>"
|
||||||
|
name="service_<?php echo $serviceItem->service_id; ?>"
|
||||||
|
value="1"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
<div class="serviceRow">
|
|
||||||
<div class="serviceCol serviceNameCol" id="serviceName_<?php echo $serviceItem->service_id;?>"><?php echo $serviceItem->service_name;?></div>
|
|
||||||
<div class="serviceCol"><input type="time" class="serviceTime" id="time_<?php echo $serviceItem->service_id;?>" value="<?php echo $serviceItem->service_time;?>"/></div>
|
|
||||||
<div class="serviceCol servicePriceCol" id="servicePrice_<?php echo $serviceItem->service_id;?>"><?php echo $serviceItem->service_price;?></div>
|
|
||||||
<div class="serviceCol serviceInfoCol">
|
|
||||||
<div class="serviceInfoIcon">
|
|
||||||
<i class="fas fa-info-circle"></i><div class="serviceInfoLabel"><?php echo $serviceItem->service_description;?></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="serviceCol serviceCheckCol">
|
|
||||||
<input type="hidden" name="service_<?php echo $serviceItem->service_id;?>" value="0"/>
|
|
||||||
<input type="checkbox" class="service <?php echo $serviceItem->serv_cat_slug;?>" id="<?php echo $serviceItem->service_id;?>" name="service_<?php echo $serviceItem->service_id;?>" value="1"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
$prevousCategory = $serviceItem->service_category;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -59,37 +59,72 @@
|
|||||||
<div class="serviceCol serviceCheckCol"></div>
|
<div class="serviceCol serviceCheckCol"></div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
$prevousCategory = '';
|
function canon_cat($s) {
|
||||||
|
$s = html_entity_decode((string)$s, ENT_QUOTES | ENT_HTML5, 'UTF-8');
|
||||||
|
$s = strip_tags($s); // removes "<p class=" junk etc.
|
||||||
|
return trim($s); // removes trailing/leading spaces
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_array($services) && count($services) > 0) {
|
||||||
|
|
||||||
|
// Build groups in first-seen order
|
||||||
|
$groups = []; // label => [items]
|
||||||
|
$order = []; // labels in order of first appearance
|
||||||
|
|
||||||
if(is_array($services)){
|
|
||||||
foreach ($services as $serviceItem) {
|
foreach ($services as $serviceItem) {
|
||||||
if($serviceItem->service_category != $prevousCategory){
|
$label = canon_cat($serviceItem->service_category ?? '');
|
||||||
|
if ($label === '') $label = 'Other';
|
||||||
|
|
||||||
|
if (!isset($groups[$label])) {
|
||||||
|
$groups[$label] = [];
|
||||||
|
$order[] = $label;
|
||||||
|
}
|
||||||
|
$groups[$label][] = $serviceItem;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Render
|
||||||
|
foreach ($order as $label) {
|
||||||
?>
|
?>
|
||||||
<div class="serviceRow">
|
<div class="serviceRow">
|
||||||
<div class="serviceCol" style="width: 100%">
|
<div class="serviceCol" style="width: 100%">
|
||||||
<h4><?php echo $serviceItem->service_category;?></h4>
|
<h4><?php echo $label; ?></h4>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
foreach ($groups[$label] as $serviceItem) {
|
||||||
|
?>
|
||||||
|
<div class="serviceRow">
|
||||||
|
<div class="serviceCol serviceNameCol" id="serviceName_<?php echo $serviceItem->service_id; ?>">
|
||||||
|
<?php echo $serviceItem->service_name; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol">
|
||||||
|
<input type="time" class="serviceTime" id="time_<?php echo $serviceItem->service_id; ?>" value="<?php echo $serviceItem->service_time; ?>"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol servicePriceCol" id="servicePrice_<?php echo $serviceItem->service_id; ?>">
|
||||||
|
<?php echo $serviceItem->service_price; ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol serviceInfoCol">
|
||||||
|
<div class="serviceInfoIcon">
|
||||||
|
<i class="fas fa-info-circle"></i>
|
||||||
|
<div class="serviceInfoLabel"><?php echo $serviceItem->service_description; ?></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="serviceCol serviceCheckCol">
|
||||||
|
<input type="hidden" name="service_<?php echo $serviceItem->service_id; ?>" value="0"/>
|
||||||
|
<input type="checkbox"
|
||||||
|
class="service <?php echo $serviceItem->serv_cat_slug; ?>"
|
||||||
|
id="<?php echo $serviceItem->service_id; ?>"
|
||||||
|
name="service_<?php echo $serviceItem->service_id; ?>"
|
||||||
|
value="1"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
<div class="serviceRow">
|
|
||||||
<div class="serviceCol serviceNameCol" id="serviceName_<?php echo $serviceItem->service_id;?>"><?php echo $serviceItem->service_name;?></div>
|
|
||||||
<div class="serviceCol"><input type="time" class="serviceTime" id="time_<?php echo $serviceItem->service_id;?>" value="<?php echo $serviceItem->service_time;?>"/></div>
|
|
||||||
<div class="serviceCol servicePriceCol" id="servicePrice_<?php echo $serviceItem->service_id;?>"><?php echo $serviceItem->service_price;?></div>
|
|
||||||
<div class="serviceCol serviceInfoCol">
|
|
||||||
<div class="serviceInfoIcon">
|
|
||||||
<i class="fas fa-info-circle"></i><div class="serviceInfoLabel"><?php echo $serviceItem->service_description;?></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="serviceCol serviceCheckCol">
|
|
||||||
<input type="hidden" name="service_<?php echo $serviceItem->service_id;?>" value="0"/>
|
|
||||||
|
|
||||||
<input type="checkbox" class="service <?php echo $serviceItem->serv_cat_slug;?>" id="<?php echo $serviceItem->service_id;?>" name="service_<?php echo $serviceItem->service_id;?>" value="1"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
$prevousCategory = $serviceItem->service_category;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|||||||
Reference in New Issue
Block a user