public function parent_item() { if ($this->_parent === NULL) { $parent_itnum = GetParent($this->alias, $requested_itnum, $this->collection_path); if ($parent_itnum != -1) { $this->_parent = new CompoundObject($this->alias, $parent_itnum); } } return $this->_parent; }
if (isset($_SERVER["QUERY_STRING"])) { $arglist = $_SERVER["QUERY_STRING"]; $p = strpos($arglist, ",", 0); if ($p > 0) { $alias = substr($arglist, 0, $p); $ptr = substr($arglist, $p + 1); $rc = dmGetCollectionParameters($alias, $name, $path); if ($rc >= 0) { $rc2 = dmGetItemInfo($alias, $ptr, $buf); if ($rc2 > 0) { $find = GetXMLField("find", $buf); $ext = GetFileExt($find); if ($ext == "cpd") { $link = "/seeking_michigan/discover_item_viewer.php?CISOROOT=" . $alias . "&CISOPTR=" . $ptr; } else { $rc3 = GetParent($alias, $ptr, $path); if ($rc3 >= 0) { $link = "/seeking_michigan/discover_item_viewer.php?CISOROOT=" . $alias . "&CISOPTR=" . $rc3 . "&CISOSHOW=" . $ptr; } else { $link = "/seeking_michigan/discover_item_viewer.php?CISOROOT=" . $alias . "&CISOPTR=" . $ptr; } } print "<html>\n"; print "<head>\n"; print "<title>Redirect URL</title>\n"; $line = '<META HTTP-EQUIV="Refresh" CONTENT="0; URL=' . $link . '">' . "\n"; print "{$line}"; print "</head>\n"; print "<body>\n"; print "</body>\n"; print "</html>\n";
$show_all = isset($_GET["show_all"]) ? $_GET["show_all"] : false; $printable = false; if (isset($_GET['search'])) { $seek_search_params = $_GET['search']; $encoded_seek_search_params = urlencode($seek_search_params); } else { if (isset($_POST['search'])) { $seek_search_params = $_POST['search']; $encoded_seek_search_params = urlencode($seek_search_params); } } $search_position = isset($_GET['search_position']) ? $_GET['search_position'] : 0; $parent_item = get_item($alias, $requested_itnum); $parent_filetype = GetFileExt($parent_item['structure'][$parent_item['index']["FIND"][0]]["value"]); dmGetCollectionParameters($alias, $collection_name, $collection_path); $parent_object_ptr = GetParent($alias, $requested_itnum, $collection_path); if ($parent_object_ptr != -1) { $parent_itnum = $parent_object_ptr; include "discover/comp_obj_scr.php"; $isthisCompoundObject = true; $display_item = $current_item; $itnum = $display_item['ptr']; $print_item = $display_item; } else { if ($parent_filetype == 'cpd') { $parent_itnum = $requested_itnum; include "discover/comp_obj_scr.php"; $isthisCompoundObject = true; $display_item = $current_item; $itnum = $display_item['ptr']; $printable = true;
function &dmQuery43($alias, $searchstring, $field, $sortby, $maxrecs, $start, &$total, $suppress = 0, $docptr = -1) { $record = array(); $pathmap = array(); $n = 0; $numsearchfields = count($searchstring); if ($numsearchfields == 0 && count($alias) != 1) { /* can only browse one collection */ $total = 0; } else { if (count($alias) == 0) { print "Error, no collections specified<br>\n"; exit; } $catlist =& dmGetCollectionList(); for ($i = 0; $i < count($catlist); $i++) { $pathmap[$catlist[$i]["alias"]] = $catlist[$i]["path"]; } if ($alias[0] == "all") { $dblist = $catlist[0]["alias"]; for ($i = 1; $i < count($catlist); $i++) { $dblist = $dblist . " " . $catlist[$i]["alias"]; } } else { $dblist = $alias[0]; for ($i = 1; $i < count($alias); $i++) { $dblist = $dblist . " " . $alias[$i]; } } if (count($sortby) == 0) { $sortlist = ""; } else { $sortlist = $sortby[0]; for ($i = 1; $i < count($sortby); $i++) { $sortlist = $sortlist . " " . $sortby[$i]; } } for ($i = 0; $i < 4; $i++) { $fieldmap[$i] = -1; } $multimode = 0; for ($i = 0; $i < $numsearchfields; $i++) { $searchstring[$i]["string"] = strtr($searchstring[$i]["string"], "`~!@#\$%^&-_+={}[]|;:<>,.?/", " "); if ($searchstring[$i]["field"] == "CISOSEARCHALL") { $multimode = 1; // $searchstring[$i]["string"] = strtolower($searchstring[$i]["string"]); } if (trim($searchstring[$i]["string"]) != "") { if ($searchstring[$i]["mode"] == "all") { $fieldmap[0] = $i; } elseif ($searchstring[$i]["mode"] == "exact") { $fieldmap[1] = $i; } elseif ($searchstring[$i]["mode"] == "any") { $fieldmap[2] = $i; } elseif ($searchstring[$i]["mode"] == "none") { $fieldmap[3] = $i; } } } $searchlist = ""; if ($multimode == 1) { /* Search across all fields */ if ($fieldmap[1] >= 0) { $searchlist = "(" . $searchstring[$fieldmap[1]]["string"] . ")"; } if ($fieldmap[0] >= 0) { if ($searchlist != "") { $searchlist = $searchlist . " and "; } $searchlist = $searchlist . "(" . AddOperator($searchstring[$fieldmap[0]]["string"], "and") . ")"; } if ($fieldmap[2] >= 0) { if ($searchlist != "") { $searchlist = $searchlist . " and "; } $searchlist = $searchlist . "(" . AddOperator($searchstring[$fieldmap[2]]["string"], "or") . ")"; } if ($fieldmap[3] >= 0) { if ($searchlist != "") { $searchlist = $searchlist . " not "; } else { $searchlist = "not "; } $searchlist = $searchlist . "(" . AddOperator($searchstring[$fieldmap[3]]["string"], "or") . ")"; } } else { /* Selected fields */ for ($i = 0; $i < $numsearchfields; $i++) { if (trim($searchstring[$i]["string"]) != "") { if ($searchstring[$i]["mode"] == "all") { $searchlist = $searchlist . $searchstring[$i]["field"] . "=" . AddOperator($searchstring[$i]["string"], "and") . "\n"; } elseif ($searchstring[$i]["mode"] == "exact") { $searchlist = $searchlist . $searchstring[$i]["field"] . "=" . $searchstring[$i]["string"] . "\n"; } elseif ($searchstring[$i]["mode"] == "any") { $searchlist = $searchlist . $searchstring[$i]["field"] . "=" . AddOperator($searchstring[$i]["string"], "or") . "\n"; } elseif ($searchstring[$i]["mode"] == "none") { $searchlist = $searchlist . $searchstring[$i]["field"] . "=not " . AddOperator($searchstring[$i]["string"], "or") . "\n"; } } } } if (!extension_loaded('DmSearch')) { if (strtoupper(substr(PHP_OS, 0, 3) == 'WIN')) { dl('php_dmsearchmod.dll'); } else { dl('dmsearch.so'); } } $dmid = dmGetUser(); if (isset($_SERVER["REMOTE_ADDR"])) { $remote_addr = $_SERVER["REMOTE_ADDR"]; } else { $remote_addr = ""; } if ($suppress == 1) { $multimode = $multimode + 20; } $result = dmsearch($dblist, $searchlist, $multimode, $docptr, $start, $maxrecs, $sortlist, $dmid, $remote_addr); if (substr($result, 0, 1) == "0") { $total = 0; $n = 0; $temp = strtok($result, "\n"); $p1 = strpos($temp, " "); if ($p1 != FALSE) { $p2 = strpos($temp, " ", $p1 + 1); if ($p2 != FALSE) { $total = (int) trim(substr($temp, $p2 + 1)); } } while (($temp = strtok("\n")) != FALSE) { $p1 = strpos($temp, " "); $p2 = strpos($temp, " ", $p1 + 1); $record[$n]["collection"] = trim(substr($temp, 0, $p1)); $record[$n]["pointer"] = trim(substr($temp, $p1 + 1, $p2 - $p1 - 1)); $record[$n]["filetype"] = trim(substr($temp, $p2 + 1)); $record[$n]["parentobject"] = GetParent($record[$n]["collection"], $record[$n]["pointer"], $pathmap[$record[$n]["collection"]]); $n++; } } else { /* Error */ $total = 0; } } /* Check if there are any metadata fields to return */ if (count($field) > 0) { for ($i = 0; $i < count($record); $i++) { dmGetItemInfo($record[$i]["collection"], $record[$i]["pointer"], $data); if (!($parser = xml_parser_create())) { print "Error creating XML parser<br>"; exit; } xml_parse_into_struct($parser, $data, $structure, $index); xml_parser_free($parser); for ($j = 0; $j < count($field); $j++) { $tag = strtoupper($field[$j]); if (array_key_exists($tag, $index)) { if (array_key_exists("value", $structure[$index[$tag][0]])) { $record[$i][$field[$j]] = $structure[$index[$tag][0]]["value"]; } else { $record[$i][$field[$j]] = ""; } } else { $record[$i][$field[$j]] = ""; } } } } return $record; }