//-----------------------------------------------------------------------------------
if (cShowRelatedQueries) {
    for ($i = 0; $i < 10; $i++) {
        traceHide("cShowRelatedQueries=true");
        $relatedItem = getName($i);
        traceHide("relatedItem=" . $relatedItem);
        if ($relatedItem != "") {
            $relatedTitle = "Other Queries using " . $relatedItem;
            //Look for related enquiries, that is, where this user's query string variables
            // can be used in other adHocQuery records
            $relatedSelect = "SELECT m.menu_num, m.line_num, m.title, q.select_stmt" . " FROM queries q JOIN menus m ON m.main_query_num = q.query_num" . " WHERE q.select_stmt LIKE '%" . cParamDelimiter . $relatedItem . cParamDelimiter . "%'" . " AND m.hidden = 0" . " AND q.query_num <> " . $thisQuery . " AND (q.pre_select IS NULL OR q.pre_select = '')" . " AND EXISTS( SELECT * FROM menus mm WHERE mm.main_query_num = q.query_num GROUP BY mm.main_query_num" . " HAVING m.menu_num = MIN(mm.menu_num))" . " ORDER BY m.title";
            traceHide("relatedSelect=" . $relatedSelect);
            $adhocStmt = pdoQuery($relatedSelect, $connAdHoc);
            $numRecords = pdoRowCount($adhocStmt);
            traceHide($relatedSelect);
            traceHide($numRecords . " records");
            if ($numRecords > 0) {
                ?>
        <br/>
        <p class="ahTitleOtherLinks"><?php 
                echo $relatedTitle;
                ?>
 (<?php 
                echo $numRecords;
                ?>
 items)</p>
        <UL>
<?php 
            }
            foreach ($adhocStmt as $row) {
                $nextScript = hasAllParams(pdoData($row, "select_stmt")) ? "adHocQuery.php" : "adHocParam.php";
    $siteNum = $_REQUEST["sitenum"];
} else {
    if (isset($_SESSION["sitenum"])) {
        $siteNum = $_SESSION["sitenum"];
    } else {
        $siteNum = "1";
    }
}
$_SESSION["sitenum"] = $siteNum;
traceHide("sitenum=" . $siteNum);
if (isset($_REQUEST["nextmenu"])) {
    $nextMenu = $_REQUEST["nextmenu"];
} else {
    $nextMenu = "1";
}
traceHide("nextmenu=" . $nextMenu);
$sql = " SELECT menu_num, line_num, title, sub_menu_num, select_stmt" . " FROM menus" . " LEFT JOIN queries ON main_query_num = query_num" . " WHERE menu_num = " . $nextMenu . " AND hidden = 0" . " ORDER BY menu_num, line_num";
$adHocStmt = pdoQuery($sql, $connAdHoc);
$adHocRows = pdoFetch($adHocStmt);
?>
<HTML>
<HEAD>
<?php 
echo cHeaderComment;
?>
<TITLE>Ad Hoc Menu</TITLE>
<LINK REL="stylesheet" HREF=<?php 
echo cStylesheet;
?>
 TYPE="text/css" />
</HEAD>
} else {
    $nextMenu = "1";
}
traceHide("nextmenu=" . $nextMenu);
if (isset($_REQUEST["menu_num"])) {
    $MenuNum = $_REQUEST["menu_num"];
} else {
    $MenuNum = "1";
}
traceHide("menu_num=" . $MenuNum);
if (isset($_REQUEST["line_num"])) {
    $LineNum = $_REQUEST["line_num"];
} else {
    $LineNum = "1";
}
traceHide("line_num=" . $LineNum);
///////////////////
// start of updates
if (isset($_REQUEST['up'])) {
    $sql = "call sp_movemenu('u'," . $MenuNum . "," . $LineNum . ")";
    pdoQuery($sql, $connAdHoc);
}
if (isset($_REQUEST['down'])) {
    $sql = "call sp_movemenu('d'," . $MenuNum . "," . $LineNum . ")";
    pdoQuery($sql, $connAdHoc);
}
if (isset($_REQUEST['addm'])) {
    $sql = "call sp_addmenu(" . $MenuNum . ")";
    pdoQuery($sql, $connAdHoc);
}
if (isset($_REQUEST['addq'])) {
function registerTotalFieldName($storageArray, $offsetArray, $fieldName, $fieldNameOffset)
{
    for ($i = 0; $i < count($storageArray); $i++) {
        traceHide("storageArray[" . $i . "]=" . $storageArray[$i]);
        if ($storageArray[$i] == $fieldName) {
            $offsetArray[$i] = $fieldNameOffset;
            break;
        }
    }
    return $offsetArray;
}
echo pdoData($row, "title");
?>
</span>
</CENTER>
<?php 
traceHide($sql);
traceHide("menunum/linenum=" . $thisMenu . "/" . $thisLine);
$selectStmt = pdoData($row, "select_stmt");
if (queryHasParams($selectStmt)) {
    $paramStr = explode(cParamDelimiter, $selectStmt);
    //step through the parameters and create corresponding form inputs
    //these are called '_n', where n is their index within array
    //splitParamStrArray
    $formInputsStr = "";
    for ($i = 1; $i < count($paramStr); $i += 2) {
        traceHide("requestName=" . $paramStr[$i]);
        $formInputsStr = $formInputsStr . "<TR><TD class=\"ahParam\">" . $paramStr[$i] . "</TD>" . "<TD class=\"ahParam\"><INPUT TYPE=\"text\" NAME=\"" . $paramStr[$i] . "\" VALUE=\"" . requestValue($paramStr[$i]) . "\" class=\"text\"></TD><TD>&nbsp;</TD></TR>";
    }
}
pdoDisconnect($connAdHoc);
?>
<FORM ACTION="adHocQuery.php" NAME="InputForm" METHOD="POST">
<CENTER>
<TABLE cellpadding="2">
<?php 
echo $formInputsStr;
?>
<TR>
  <TD>&nbsp;</TD>
  <TD>&nbsp;</TD>
  <TD class="ahParam" valign="bottom">
$curLine = $_REQUEST["line_num"];
if (isset($_REQUEST['upd'])) {
    $sql = "call sp_updatemenu(" . $_REQUEST["parent_menu"] . ',' . $curMenu . ',' . $curLine . ',' . sqlLiteral($_REQUEST['title']) . ")";
    traceHide($sql);
    pdoQuery($sql, $connAdHoc);
    header("Location: adHocAdmin.php?nextmenu=" . $curMenu);
    exit;
}
$sql = " SELECT title" . " FROM menus" . " WHERE menu_num = " . $curMenu . " AND line_num = " . $curLine;
traceHide("main query=" . $sql);
//===================================================================================
//Get the menu record pertaining to this query
$adhocStmt = pdoQuery($sql, $connAdHoc);
$row = pdoFirstRow($adhocStmt);
$title = pdoData($row, 'title');
traceHide('Title: ' . $title);
//===================================================================================
//Get today's date
$pageDate = dateNow();
?>
<HTML>
<HEAD>
<?php 
echo cHeaderComment;
?>
<TITLE><?php 
echo $title;
?>
</TITLE>
<LINK REL="stylesheet" HREF=<?php 
echo cStylesheet;
    exit;
}
$sql = " SELECT q.query_num, title, q.heading_text AS heading, q.total_fields," . " q.link_field, q.select_stmt AS detail_select, q.pre_select, q.udb_num" . " FROM menus m" . " JOIN queries q ON m.main_query_num = q.query_num" . " WHERE m.menu_num = " . $curMenu . " AND m.line_num = " . $curLine;
traceHide("main query=" . $sql);
//===================================================================================
//Get the menu record pertaining to this query
$stmt = pdoQuery($sql, $connAdHoc);
$row = pdoFirstRow($stmt);
$title = pdoData($row, 'title');
$heading = pdoData($row, 'heading');
$preselect = pdoData($row, 'pre_select');
$linkfield = pdoData($row, 'link_field');
$totalfields = pdoData($row, 'total_fields');
$udbnum = pdoData($row, 'udb_num');
$detailSelect = pdoData($row, 'detail_select');
traceHide("Raw detailSelect=" . $detailSelect);
$curQuery = pdoData($row, "query_num");
pdoClose($stmt);
//===================================================================================
//Get today's date
$pageDate = dateNow();
?>
<HTML>
<HEAD>
<?php 
echo cHeaderComment;
?>
<TITLE><?php 
echo $title;
?>
</TITLE>