include_once 'include/File.php'; include_once 'include/Category.php'; include_once 'config.inc'; set_time_limit(60); db_open(); if (1 || $_REQUEST["submit"]) { htmldb_set_hilight_words(array($_REQUEST["term"])); $disk_by_tag = fetchDisksByCriteria("tag = '" . $_REQUEST["term"] . "'"); if (db_num_rows($disk_by_tag) == 0) { unset($disk_by_tag); } if ($_REQUEST["what"] == "disk") { saveSearchParams($_SERVER['PHP_SELF'], array('what', 'tag_pattern', 'tag', 'term')); $term = convertWildcards($_REQUEST['term']); $tag = convertWildcards($_REQUEST['tag_pattern']); $disks = fetchDisksByCriteria("tag LIKE '{$tag}' AND (title LIKE '%{$term}%' OR label LIKE '%{$term}%')"); if (db_num_rows($disks) == 0) { unset($disks); } else { $ids = getDiskIdsFromDbRes($disks); $category_map = getDiskCategories($ids); } } if ($_REQUEST["what"] == "file") { saveSearchParams($_SERVER['PHP_SELF'], array('what', 'tag_pattern', 'tag', 'term')); $term = convertWildcards($_REQUEST["term"]); $crit = "(Filename LIKE '%{$term}%' OR BetterName LIKE '%{$term}%')"; if (isset($_REQUEST["tag_pattern"])) { $tag = convertWildcards($_REQUEST['tag_pattern']); $crit .= " AND disk.tag LIKE '{$tag}'"; }
if ($_REQUEST['category1'] == -1) { $left_join = 'LEFT JOIN category_map_disk ON disk.id=category_map_disk.obj_id'; } $crit .= make_category_criteria($_REQUEST['category1'], $_REQUEST['category_not1']); $crit .= make_category_criteria($_REQUEST['category2'], $_REQUEST['category_not2']); $crit .= make_category_criteria($_REQUEST['category3'], $_REQUEST['category_not3']); $crit .= make_category_criteria($_REQUEST['category4'], $_REQUEST['category_not4']); $sort = array(); if (isset($_REQUEST["group_by_disk"])) { $sort[] = 'Tag'; } if ($_REQUEST['sort'] == 'name') { $sort[] = 'Filename'; } else { $sort[] = 'no'; } $t1 = getmicrotime(); $disks = fetchDisksByCriteria($crit, $left_join); $searchTime = getmicrotime() - $t1; if (db_num_rows($disks) == 0) { unset($disks); } else { $t1 = getmicrotime(); $ids = getDiskIdsFromDbRes($disks); $category_map = getDiskCategories($ids); $categoryTime = getmicrotime() - $t1; } include 'search_disks.php_html'; exit; } include 'search_adv_disk.php_html';