/opt/cpanel/ea-wappspector/src/Matchers
Edit: /opt/cpanel/ea-wappspector/src/Matchers/WebPresenceBuilder.php (2016B)
fileExists($indexHtmlPath)) {
return new EmptyMatchResult();
}
$fileContent = $fs->read($indexHtmlPath);
$inspectorHelper = new InspectorHelper();
return $inspectorHelper->fileContentMatchesString(
$fileContent,
'/
/'
) || $this->fileContainsDOMStructure($fileContent)
? new MatchResult($path)
: new EmptyMatchResult();
}
private function fileContainsDOMStructure(string $fileContent): bool
{
$dom = new DOMDocument();
try {
libxml_use_internal_errors(true);
$domIsLoaded = $dom->loadHTML($fileContent);
libxml_clear_errors();
} catch (Throwable) {
return false;
}
if ($domIsLoaded === false) {
return false;
}
$xpath = new DOMXPath($dom);
// Find the
with id="page"
$pageDiv = $xpath->query("//div[@id='page']");
if ($pageDiv->length === 0) {
return false;
}
$pageNode = $pageDiv->item(0);
// Check for direct children with the required IDs
$watermarkDiv = $xpath->query("./div[@id='watermark']", $pageNode);
$layoutDiv = $xpath->query("./div[@id='layout']", $pageNode);
return $watermarkDiv->length > 0 && $layoutDiv->length > 0;
}
}