showPathAndSearch(): put HTML escaping right
[racktables] / wwwroot / inc / interface.php
index 4421eecc3ae6b003fd1bf941bf6697a9bd41c9e4..2b0382d84849b202d9af9e5859594ea33943e007 100644 (file)
@@ -5242,13 +5242,14 @@ function showPathAndSearch ($pageno, $tabno)
        {
                $self = __FUNCTION__;
                global $page;
+               global $sic;
                $path = array();
                $page_name = preg_replace ('/:.*/', '', $targetno);
                // Recursion breaks at first parentless page.
                if ($page_name == 'ipaddress')
                {
                        // case ipaddress is a universal v4/v6 page, it has two parents and requires special handling
-                       $ip_bin = ip_parse ($_REQUEST['ip']);
+                       $ip_bin = ip_parse ($sic['ip']);
                        $parent = (strlen ($ip_bin) == 16 ? 'ipv6net' : 'ipv4net');
                        $path = $self ($parent);
                        $path[] = $targetno;
@@ -5263,6 +5264,7 @@ function showPathAndSearch ($pageno, $tabno)
                return $path;
        }
        global $page, $tab;
+       global $sic;
        // Path.
        $path = getPath ($pageno);
        $items = array();
@@ -5334,7 +5336,9 @@ function showPathAndSearch ($pageno, $tabno)
        echo "<input type=hidden name=last_page value=$pageno>";
        echo "<input type=hidden name=last_tab value=$tabno>";
        // This input will be the first, if we don't add ports or addresses.
-       echo "<label>Search:<input type=text name=q size=20 value='".(isset ($_REQUEST['q']) ? htmlspecialchars ($_REQUEST['q'], ENT_QUOTES) : '')."'></label></form></div>";
+       echo '<label>Search:<input type=text name=q size=20 value="';
+       echo array_key_exists ('q', $sic) ? stringForTextInputValue ($sic['q']) : '';
+       echo '"></label></form></div>';
 
        // Path (breadcrumbs)
        echo implode(' : ', array_reverse ($items));