'); echo("\n"); /* */ try { $user = Util::securityGetCurrentUser(); if (isset($user)) { echo('getSafeFieldsAsJSON() . "]]>\n"); } else { echo("\n"); } } catch (Exception $ex) { die('Error! Error getting user info.'); } /* */ try { $sql = "SELECT * FROM vw_SiteXML WHERE SiteGUID=:SiteGUID LIMIT 1"; $stmt = $db->prepare($sql); $stmt->bindValue(':SiteGUID', $siteGUID, PDO::PARAM_INT); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_ASSOC); $attributes = ''; $regex = '/(^|\s)Site_([\S]+)/'; foreach ($row as $key => $val) { if (preg_match($regex, $key) > 0) { $key = preg_replace($regex, "$2", $key); if (isset($val)) $attributes .= ' ' . strtolower($key) . '="' . htmlspecialchars($val, ENT_XML1) . '"'; } } echo('\n"); } catch (Exception $ex) { die('Error! Error getting plan info.'); } /* */ try { $sql = "SELECT * FROM vw_SiteViewXML WHERE SiteGUID=:SiteGUID"; $stmt = $db->prepare($sql); $stmt->bindValue(':SiteGUID', $siteGUID, PDO::PARAM_INT); $stmt->execute(); $groupLastID = 0; $groupCurrentID = 0; $groupIsOpen = FALSE; $group2LastID = 0; $group2CurrentID = 0; $group2IsOpen = FALSE; echo("\n"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $groupCurrentID = $row['View_ID']; if ($groupCurrentID != $groupLastID && $groupIsOpen) { echo("\n"); $groupIsOpen = FALSE; } if (!$groupIsOpen) { $attributes = ''; $regex = '/(^|\s)View_([\S]+)/'; foreach ($row as $key => $val) { if (preg_match($regex, $key) > 0 && $key != 'View_Description') { $key = preg_replace($regex, "$2", $key); if (isset($val)) $attributes .= ' ' . strtolower($key) . '="' . htmlspecialchars($val, ENT_XML1) . '"'; } } if ($attributes) echo('\n"); if (!empty($row['View_Description'])) { echo("\n"); } $groupIsOpen = TRUE; } $groupLastID = $groupCurrentID; } if ($groupIsOpen) { echo("\n"); } echo("\n"); } catch (Exception $ex) { die('Error! Error getting views.'); } $CustomInputs = new CustomFields(); $CustomInputRecs = $CustomInputs->dbLoadFieldDefsBySiteGUID($siteGUID, TRUE); $AvailablePlanRecs = $CustomInputs->dbLoadAvailablePlansBySiteID($CustomInputs->SiteID); $AvailableStatusRecs = $CustomInputs->dbLoadAvailableLotStatusesBySiteID($CustomInputs->SiteID); $CustomDataRecs = $CustomInputs->dbLoadAllCustomDataBySiteID($CustomInputs->SiteID, TRUE); echo "\n"; foreach($CustomInputRecs AS $rec) { echo "\n"; } echo "\n"; /* */ try { //$sql = "SELECT * FROM vw_SiteOptionXML WHERE SiteGUID=:SiteGUID"; $sql = "SELECT `Site`.`SiteGUID` AS `SiteGUID`,concat(_utf8'og-', `SiteOptionGroup`.`OptionGroupID`) AS `OptionGroup_ID`, `SiteOptionGroup`.`OptionGroupDisplayName` AS `OptionGroup_DisplayName`, `SiteOptionGroup`.`ViewID` AS `OptionGroup_ViewID`,concat(_utf8'o-', `SiteOption`.`OptionID`) AS `Option_ID`, `SiteOption`.`OptionDisplayName` AS `Option_DisplayName`, `SiteOption`.`OptionData1` AS `Option_Data1`, `SiteOption`.`OptionData2` AS `Option_Data2`, `PlanOptionType`.`OptionTypeCode` AS `Option_TypeCode`, (select 1) AS `Option_Visible`, (select 1) AS `Option_Enabled`, (select 1) AS `Option_Selected`, `SiteOption`.`OptionTitle1` AS `Option_Title1`, `SiteOption`.`OptionText1` AS `Option_Text1`, CONCAT(_utf8'lgi-', `SiteOption`.`LegendItemID`) AS `Option_LegendItemID`, `SiteOption`.`OptionAvailablePlans` AS `Option_AvailablePlans`, `SiteOption`.`OptionSelectedPlanID` AS `Option_SelectedPlanID`, `SiteOption`.`OptionSavedPlanID` AS `Option_SavedPlanID`, `SiteOption`.`OptionLotPremium` AS `Option_LotPremium`, `ParentOption`.`OptionData1` AS `Option_ParentOption`, `SiteOption`.`OptionSelectedOrientation` AS `Option_SelectedOrientation`, `SiteOption`.`OptionSelectedExteriorOptionID` AS `Option_SelectedExteriorOptionID`, `SiteOption`.`OptionBuilderName` AS `Option_BuilderName` FROM `SiteOptionGroup` INNER JOIN `SiteView` ON `SiteOptionGroup`.`ViewID` = `SiteView`.`ViewID` AND `SiteView`.`ViewEnabled` = 1 INNER JOIN `Site` ON `SiteView`.`SiteID` = `Site`.`SiteID` LEFT JOIN `SiteOption` ON `SiteOptionGroup`.`OptionGroupID` = `SiteOption`.`OptionGroupID` LEFT JOIN `SiteOption` AS ParentOption ON `ParentOption`.`OptionID` = `SiteOption`.`OptionParentOptionID` LEFT JOIN `PlanOptionType` ON `SiteOption`.`OptionTypeID` = `PlanOptionType`.`OptionTypeID` LEFT JOIN `SavedPlan` ON `SiteOption`.`OptionSavedPlanID` = `SavedPlan`.`SavedPlanID` WHERE `Site`.`SiteGUID`=:siteGUID ORDER BY `Site`.`SiteGUID`, `SiteOptionGroup`.`OptionGroupDisplayOrder`, `SiteOptionGroup`.`OptionGroupDisplayName`, `SiteOptionGroup`.`OptionGroupID`, `SiteOption`.`OptionDisplayOrder`, `SiteOption`.`OptionDisplayName`;"; $stmt = $db->prepare($sql); $stmt->bindValue(':siteGUID', $siteGUID, PDO::PARAM_STR); $stmt->execute(); $groupLastID = 0; $groupCurrentID = 0; $groupIsOpen = FALSE; echo("\n"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $groupCurrentID = $row['OptionGroup_ID']; if ($groupCurrentID != $groupLastID && $groupIsOpen) { echo("\n"); $groupIsOpen = FALSE; } if (!$groupIsOpen) { $attributes = ''; $regex = '/(^|\s)OptionGroup_([\S]+)/'; foreach ($row as $key => $val) { if (preg_match($regex, $key) > 0) { $key = preg_replace($regex, "$2", $key); if (isset($val)) $attributes .= ' ' . strtolower($key) . '="' . htmlspecialchars($val, ENT_XML1) . '"'; } } if ($attributes) echo('\n"); $groupIsOpen = TRUE; } $attributes = ''; $regex = '/(^|\s)Option_([\S]+)/'; foreach ($row as $key => $val) { if (preg_match($regex, $key) > 0) { $key = preg_replace($regex, "$2", $key); if (isset($val)) $attributes .= ' ' . strtolower($key) . '="' . htmlspecialchars($val, ENT_XML1) . '"'; } } foreach($CustomDataRecs AS $rec) { if ($rec['CustomDataSiteOptionSVGID']==$row['Option_Data1']) { $val = $rec['CustomDataText']; $attributes .= ' ' . "CustomInput" . (int)$rec['CustomDataCustomFieldDefID'] . '="' . htmlspecialchars($val, ENT_XML1) . '"'; } } if ($attributes) echo('\n"); $groupLastID = $groupCurrentID; } if ($groupIsOpen) echo("\n"); echo("\n"); } catch (Exception $ex) { //debugging: echo($ex); die('Error! Error getting options.'); } /* */ try { $sql = "SELECT * FROM vw_SiteViewLegendXML WHERE SiteGUID=:SiteGUID"; $stmt = $db->prepare($sql); $stmt->bindValue(':SiteGUID', $siteGUID, PDO::PARAM_INT); $stmt->execute(); $legendLastID = 0; $legendCurrentID = 0; $legendIsOpen = FALSE; echo("\n"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $legendCurrentID = $row['Legend_ID']; if ($legendCurrentID != $legendLastID && $legendIsOpen) { echo("\n"); $legendIsOpen = FALSE; } if (!$legendIsOpen) { $attributes = ''; $regex = '/(^|\s)Legend_([\S]+)/'; foreach ($row as $key => $val) { if (preg_match($regex, $key) > 0) { $key = preg_replace($regex, "$2", $key); if (isset($val)) $attributes .= ' ' . strtolower($key) . '="' . htmlspecialchars($val, ENT_XML1) . '"'; } } if ($attributes) echo('\n"); $legendIsOpen = TRUE; } $attributes = ''; $regex = '/(^|\s)LegendItem_([\S]+)/'; foreach ($row as $key => $val) { if (preg_match($regex, $key) > 0) { $key = preg_replace($regex, "$2", $key); if (isset($val)) $attributes .= ' ' . strtolower($key) . '="' . htmlspecialchars($val, ENT_XML1) . '"'; } } if ($attributes) echo('\n"); $legendLastID = $legendCurrentID; } if ($legendIsOpen) echo("\n"); echo("\n"); } catch (Exception $ex) { die('Error! Error getting legends.'); } /* */ try { $sql = "SELECT * FROM vw_SiteAvailablePlansXML WHERE SiteGUID=:SiteGUID"; $stmt = $db->prepare($sql); $stmt->bindValue(':SiteGUID', $siteGUID, PDO::PARAM_INT); $stmt->execute(); $planLastID = 0; $planCurrentID = 0; $planIsOpen = FALSE; echo("\n"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $planCurrentID = $row['PlanID']; if ($planCurrentID != $planLastID && $planIsOpen) { // try { $sql2 = "SELECT SavedPlan.PlanID, SavedPlan.SavedPlanID, SavedPlan.SavedPlanCreateDate, SavedPlan.SavedPlanName, SavedPlan.SavedPlanGUID, SavedPlan.SavedPlanURLBase, CASE WHEN PlanOptionGroup.OptionGroupTypeID = 2 THEN SavedPlanOption.PlanOptionID ELSE NULL END AS SavedPlanExteriorID, SavedPlan.SavedPlanFlippedH FROM SavedPlan JOIN SavedPlanOption ON SavedPlan.PlanID=:planID AND SavedPlan.SavedPlanID = SavedPlanOption.SavedPlanID JOIN PlanOption on SavedPlanOption.PlanOptionID = PlanOption.OptionID JOIN PlanOptionGroup ON PlanOption.OptionGroupID = PlanOptionGroup.OptionGroupID GROUP BY SavedPlan.SavedPlanID ORDER BY SavedPlanCreateDate DESC;"; $stmt2 = $db->prepare($sql2); $stmt2->bindValue(':planID', $planLastID, PDO::PARAM_INT); $stmt2->execute(); while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)) { $attributes = ''; $regex = '/(^|\s)SavedPlan([\S]+)/'; foreach ($row2 as $key => $val) { if (preg_match($regex, $key) > 0) { $key = preg_replace($regex, "$2", $key); if (isset($val)) $attributes .= ' ' . strtolower($key) . '="' . htmlspecialchars($val, ENT_XML1) . '"' ; } } if ($attributes) echo("\n"); } } catch (Exception $ex) { //debugging: echo($ex); die('Error! Error getting savedplans.'); } echo("\n"); $planIsOpen = FALSE; } if (!$planIsOpen) { $attributes = ''; $regex = '/(^|\s)Plan([\S]+)/'; foreach ($row as $key => $val) { if (preg_match($regex, $key) > 0) { $key = preg_replace($regex, "$2", $key); if (isset($val)) $attributes .= ' ' . strtolower($key) . '="' . htmlspecialchars($val, ENT_XML1) . '"'; } } if ($attributes) { echo('\n"); $planIsOpen = TRUE; } } $planLastID = $planCurrentID; } if ($planIsOpen) echo("\n"); echo("\n"); } catch (Exception $ex) { die('Error! Error getting available plans.'); } /* */ try { $sql = "SELECT * FROM vw_SiteAvailableExteriorsXML WHERE SiteGUID=:SiteGUID"; $stmt = $db->prepare($sql); $stmt->bindValue(':SiteGUID', $siteGUID, PDO::PARAM_INT); $stmt->execute(); $optionLastID = 0; $optionCurrentID = 0; $exteriorIsOpen = FALSE; echo("\n"); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $optionCurrentID = $row['ExteriorOptionID']; if ($optionCurrentID != $optionLastID && $exteriorIsOpen) { echo("\n"); $exteriorIsOpen = FALSE; } if (!$exteriorIsOpen) { $attributes = ''; $regex = '/(^|\s)Exterior([\S]+)/'; foreach ($row as $key => $val) { if (preg_match($regex, $key) > 0) { $key = preg_replace($regex, "$2", $key); if (isset($val)) $attributes .= ' ' . strtolower($key) . '="' . htmlspecialchars($val, ENT_XML1) . '"'; } } if ($attributes) { echo('\n"); $exteriorIsOpen = TRUE; } } $optionLastID = $optionCurrentID; } if ($exteriorIsOpen) echo("\n"); echo("\n"); } catch (Exception $ex) { die('Error! Error getting available exteriors.'); } /* end xml root container element */ echo('');