STR, // done 'reporter' => STR, // done 'pcv_select' => STR, // done 'severity' => INT, // done 'priority' => INT, // done 'status' => INT, // done 'resolution' => INT, // done 'assignedto' => INT, // done 'date' => INT) // done ); // ------------------------------------------------------------------- // parse out our product/component/version $vars['pcv'] = parse_pcv_select($vars['pcv_select']); // ------------------------------------------------------------------- // handle keywords if ($vars['summary']) { $keywords = preg_split('#\s+#', $vars['summary']); foreach ($keywords AS $word) { if (strlen($word) < SEARCH_WORD_MIN) { continue; } if (MODE_ALL) { $querybuild['where']['text'] .= " +$word"; } else { $querybuild['where']['text'] .= " $word"; } } $temp = trim($querybuild['where']['text']); if (MODE_ALL OR MODE_RAW) { // do some operations for those who use str boolean operators $querybuild['where']['text'] = "AND MATCH (bug.summary, comment.comment) AGAINST ('$temp' IN BOOLEAN MODE)"; } else { $querybuild['where']['text'] = "AND MATCH (bug.summary, comment.comment) AGAINST ('$temp')"; } } // ------------------------------------------------------------------- // reporter if ($vars['reporter']) { // force email or name?? make a distinction? // more elegant way to do this? probably $user = $DB_sql->query_first("SELECT * FROM user WHERE email = '$vars[reporter]' OR MATCH (displayname) AGAINST ('$vars[reporter]')"); if ($user['userid']) { $querybuild['where']['reporter'] = "AND bug.userid = $user[userid] OR comment.userid = $user[userid]"; } } // ------------------------------------------------------------------- // product/component/version stuff if (is_array($vars['pcv'])) { $querybuild['where']['pcv'] = "AND bug.productid = {$vars['pcv']['product']} AND bug.componentid = {$vars['pcv']['component']} AND bug.versionid = {$vars['pcv']['version']}"; } // ------------------------------------------------------------------- // severity, priority, status, resolution, assignedto // severity if ($vars['severity']) { $querybuild['where']['severity'] = "AND bug.severity = $vars[severity]"; } // priority if ($vars['priority']) { $querybuild['where']['priority'] = "AND bug.priority = $vars[priority]"; } // status if ($vars['status']) { $querybuild['where']['status'] = "AND bug.status = $vars[status]"; } // resolution if ($vars['resolution']) { $querybuild['where']['resolution'] = "AND bug.resolution = $vars[resolution]"; } // assignment if ($vars['assignedto']) { $querybuild['where']['assignedto'] = "AND bug.assignedto = $vars[assignedto]"; } // ------------------------------------------------------------------- // date if ($vars['date']) { // now - (seconds/day * number of days) $dateline = time() - ($vars['date'] * 3600); $querybuild['where']['date'] = "AND bug.dateline >= $dateline"; } print_r($querybuild); } // ################################################################### if ($_REQUEST['do'] == 'search') { $pcv_select = construct_pcv_select('radio', '--'); $blankselect = ''; $select['severity'] = $blankselect; foreach ($bugsys->datastore['severity'] AS $severity) { $value = $severity['severityid']; $label = $severity['severity']; eval('$select[severity] .= "' . $tpl->fetch('selectoption') . '";'); } $select['priority'] = $blankselect; foreach ($bugsys->datastore['priority'] AS $priority) { $value = $priority['priorityid']; $label = $priority['priority']; eval('$select[priority] .= "' . $tpl->fetch('selectoption') . '";'); } $select['status'] = $blankselect; foreach ($bugsys->datastore['status'] AS $status) { $value = $status['statusid']; $label = $status['status']; eval('$select[status] .= "' . $tpl->fetch('selectoption') . '";'); } $select['resolution'] = $blankselect; foreach ($bugsys->datastore['resolution'] AS $resolution) { $value = $resolution['resolutionid']; $label = $resolution['resolution']; eval('$select[resolution] .= "' . $tpl->fetch('selectoption') . '";'); } $select['dev'] = $blankselect; foreach ($bugsys->datastore['assignto'] AS $dev) { $value = $dev['userid']; $label = construct_user_display($dev, false); eval('$select[dev] .= "' . $tpl->fetch('selectoption') . '";'); } eval('$tpl->flush("' . $tpl->fetch('search') . '");'); } /*=====================================================================*\ || ################################################################### || # $HeadURL$ || # $Id$ || ################################################################### \*=====================================================================*/ ?>