function SLAM_makeDashboardSearchHTML($config, $db, $user, $request) { /* Generates the different stages of a multi-category search */ $categories = array_keys($request->categories); /* restrict tables to only those that are specified in the config */ $tables = array_intersect($db->tables, array_keys($config->categories)); $s = "<form name='selectSearchCategories' action='" . $request->makeRequestURL($config, array('category' => array()), true) . "&d_status=select' method='POST'>\n"; $s .= "<div id='dashboardSearchContainer'>\n"; if (!$_REQUEST['d_status'] == 'select') { $s .= SLAM_makeButtonHTML('Multi-category search', "onClick=\"toggleHideBodyId('dashboardSearchReveal')\"", false); } // else // $s.=SLAM_makeButtonHTML('Cancel',"onClick=\"hideBodyId('searchContainer')\"",false); $s .= "<div id='dashboardSearchReveal' style='display:none'>\n"; $s .= "<select name='cat[]' multiple='true'>\n"; foreach ($tables as $category) { $s .= in_array($category, $categories) ? "<option value='{$category}' selected='true'>{$category}</option>\n" : "<option value='{$category}'>{$category}</option>\n"; } $s .= "</select>"; $s .= "<br /><input type='submit' name='action' value='Select' />\n"; $s .= "</div>\n"; $s .= "</div>\n"; $s .= "</form>\n"; if ($_REQUEST['d_status'] == 'select' || !empty($request->search)) { /* make a temporary result containing just the structures of the requested tables */ $result = new SLAMresult(); $result->getStructures($config, $db, $user, $request); $s .= SLAM_makeSearchBoxHTML($config, $db, $user, $request, $result); } return $s; }
$request->location = 'dash'; $content = SLAM_dropAssetTags($config, $db, $user, $request); break; default: break; } /* determine and/or set the current state (location) of the user */ switch ($request->location) { case 'none': break; case 'list': if (!$result) { $result = new SLAMresult($config, $db, $user, $request); } if (!$content) { $content .= SLAM_makeSearchBoxHTML($config, $db, $user, $request, $result); $content .= SLAM_makeAssetListHTML($config, $db, $user, $request, $result); } break; case 'dash': default: $request->location = 'dash'; if (!$result) { $result = SLAM_getDashboardResult($config, $db, $user, $request); } if (!$content) { $content .= SLAM_makeDashboardHTML($config, $db, $user, $request, $result); $content .= SLAM_makeDashboardSearchHTML($config, $db, $user, $request); $content .= SLAM_makeDashboardListHTML($config, $db, $user, $request, $result); } break;