GetQueryString($props); echo "" . $title . ""; } try { $req = new SOURCERequest(); } catch (ADEIException $e) { $req = new REQUEST(); $nodata = 1; } */ $flags = REQUEST::NEED_INFO|CACHE::TABLE_INFO|CACHE::LEVEL_INFO|CACHE::NEED_REQUESTS; if (isset($_GET['caching_problems'])) $flags |= CACHEDB::SKIP_OK|CACHEDB::SKIP_MISSING|REQUEST::NEED_ITEMINFO; else $flags |= CACHE::FIND_BROKEN|REQUEST::LIST_WILDCARDED|REQUEST::PREFER_EXACTINFO; if (isset($_GET['item_info'])) $flags |= REQUEST::NEED_ITEMINFO; if (isset($_GET['reader_info'])) $flags |= REQUEST::NEED_READERINFO; $cache = new CACHEDB(); if (($_GET['filter'])&&($flags&CACHE::FIND_BROKEN)) { $list = array_merge( $cache->GetCacheList(false, CACHE::FIND_BROKEN), $cache->GetCacheList($_GET['filter'], $flags) ); } else $list = $cache->GetCacheList(false, $flags); usort($list, create_function('$a,$b', 'return strcasecmp( $a["db_server"] . "__" . $a["db_name"] . "__" . $a["db_group"], $b["db_server"] . "__" . $b["db_name"] . "__" . $b["db_group"] );')); ?>
" onClick="javascript:doDrop()"/> " onClick="javascript:doDropToday()"/> " onClick="javascript:doRewidth()"/> $info['first'])) { $sum['first'] = $info['first']; } } if (is_numeric($info['last'])) { if (($sum['last'] === false)||($sum['last'] < $info['last'])) { $sum['last'] = $info['last']; } } if (is_numeric($info['dbsize'])) { $sum['dbsize'] += $info['dbsize']; } } if ((isset($_GET['source_info']))||(isset($_GET['filter']))) { $sources = array(); $source_info = array( 'tables' => array(), 'groups' => array(), 'first' => false, 'last' => false, 'dbsize' => 0 ); $servers = array(); $server_info = array( 'tables' => array(), 'databases' => array(), 'groups' => array(), 'first' => false, 'last' => false, 'dbsize' => 0 ); $unknown = array( 'tables' => array(), 'databases' => array(), 'groups' => array(), 'first' => false, 'last' => false, 'dbsize' => 0 ); $groups = array(); foreach ($list as $id => &$info) { if ((!isset($info['db_server']))||(!isset($info['db_name']))||(!isset($info['db_group']))) { array_push($unknown['tables'], $info['postfix']); sumarize_info($unknown, $info['info']); } else { $server = $info['db_server']; $source = $info['db_server'] . "__" . $info['db_name']; $group = $info['db_server'] . "__" . $info['db_name'] . "__" . $info['db_group']; if (!isset($sources[$source])) $sources[$source] = $source_info; if (!isset($servers[$server])) $servers[$server] = $server_info; array_push($servers[$server]['databases'], $source); array_push($sources[$source]['tables'], $info['postfix']); array_push($sources[$source]['groups'], $group); $groups[$group] = $id; sumarize_info($sources[$source], $info['info']); } } foreach ($servers as $server => &$srv) { $srv['databases'] = array_unique($srv['databases']); foreach ($srv['databases'] as $db) { array_splice($servers[$server]['groups'], -1, 0, $sources[$db]['groups']); array_splice($servers[$server]['tables'], -1, 0, $sources[$db]['tables']); sumarize_info($servers[$server], $sources[$db]); } } if ($unknown['tables']) { $servers['_unknown_'] = &$unknown; } if (isset($_GET['filter'])) { $filter = $_GET['filter']; $pos = strpos($filter, "__"); if ($pos === false) { $filter_server = $filter; $filter_source = false; $tables = &$servers[$filter]['tables']; } else { $filter_server = substr($filter, 0, $pos); $filter_source = $filter; $tables = &$sources[$filter]['tables']; } } else { $filter_server = false; $filter_source = false; } $extra_props = 0; $info_props = "source_info&group_info&table_info"; $all_info_props = "$info_props&item_info&reader_info"; if (isset($_GET["item_info"])) { $extra_props++; $info_props .= "&item_info"; } if (isset($_GET["reader_info"])) { $extra_props++; $info_props .= "&reader_info"; } if ($extra_props == 2) $extended_mode = true; else $extended_mode = false; if (isset($_GET['source_info'])) { foreach ($servers as $server => &$srv) { if (isset($_GET['group_info'])&&(($filter_server === false)||($filter_server == $server))) $show_mark = true; else $show_mark = false; $i = 0; do { $grp0 = $groups[$srv['groups'][$i++]]; } while ((is_numeric($grp0))&&(!$list[$grp0]['req'])); ?>
>

Server: Extended Info', 1)">Mark, ', 0)">Unmark

"; } } if (($filter_server === false)||(($filter_server == $server)&&($filter_source === false))) { echo translate("First record: %s", date("r", $srv['first'])) . "
"; echo translate("Last record: %s", date("r", $srv['last'])) . "
"; echo translate("Database Size: %s", dsPrintSize($srv['dbsize'])); } if ($srv['databases']) echo "

Databases:
"; else echo ", " . translate("%u groups", sizeof($srv['tables'])) . "
"; foreach ($srv['databases'] as $source) { $db = &$sources[$source]; echo "" . substr(strstr($source, "__"),2) . ": "; echo translate("%u groups", sizeof($db['groups'])); if (($filter_source === false)||($filter_source == $source)) { echo ", " . dsPrintSize($db['dbsize']) . ", "; echo date("r", $db['first']) . " - " . date("r", $db['last']); } $show_mark_here = (($show_mark)&&(($filter_source === false)||($filter_source == $source))); if ((!$extended_mode)||($show_mark)) echo " ("; if (!$extended_mode) { echo "Extended Info"; if ($show_mark_here) echo ", "; } if ($show_mark_here) { ?>', 1)">Mark, ', 0)">Unmark"; }?>

Tables: cache* ()

"; if ($info['incomplete']) { echo translate("Status") . ": " . translate("Broken") ."" . "
"; } if ($info['req']) { echo translate("Active: yes") . "
"; if ($info['disconnected']) { echo translate("Mode: disconnected") . "
"; } else if ($info['wildcarded']) { echo translate("Mode: wildcarded") . "
"; } } else if ($info['disconnected']) { echo translate("Active: unknown"); echo " (" . translate("The data source is disconnected at the moment") . ")"; echo "
"; } else { echo translate("Active: no"); if (($info['server'])&&($info['database'])&&($info['group'])) { // strange should not be } else if (($info['server'])&&($info['database'])) { echo " (" . translate("The loggroup is not present any more") . ")"; } else if ($info['server']) { echo " (" . translate("The database is not present any more") . ")"; } else { echo " (" . translate("The data source is not present in active configuration") . ")"; } echo "
"; } if ($info['error']) { echo translate("Error: %s", $info['error']); echo "
"; } if ($info['reader']) { echo translate("Reader: %s", $info['reader']) . "
"; } if ($info['server']) { echo translate("Server: %s", $info['server']) . "
"; } if ($info['database']) { echo translate("Database: %s", $info['database']) . "
"; } if ($info['group']) { echo translate("LogGroup: %s", $info['group']) . "
"; } echo "
"; if (isset($info['get_extended_cache_info_time'])) { echo translate("Cache Query Time: %s s", $info['get_extended_cache_info_time']); if ($info['get_extended_cache_info_time'] > 1) echo " [SLOW]"; echo "
"; } if (isset($info['query_time'])) { echo translate("Source Query Time: %s s", $info['query_time']); if ($info['query_time'] > 1) echo " [SLOW]"; echo "
"; } if (isset($info['info']['dbsize'])) { echo translate("Cache Size: %s", dsPrintSize($info['info']['dbsize'])) . "
"; } if (isset($info['info']['records'])||isset($info['records'])) { if (!isset($info['records'])) echo translate("Number of records: %s (CACHE-only)", $info['info']['records']); else if (!isset($info['info']['records'])) echo translate("Number of records: %s (READER-only)", $info['records']); else if (abs($info['records'] - $info['info']['records']) < 100) echo translate("Number of records: %s (IN SYNC)", $info['info']['records']); else echo translate("Number of records: %s (CACHE) %s (READER) --- Wild guess with MySQL/ADEIDB", $info['info']['records'], $info['records']); echo "
"; } if (isset($info['info']['width'])) { echo translate("Number of items: %s", $info['info']['width']); if (is_array($info['info']['items'])) { $reader_width = sizeof($info['info']['items']); if (($reader_width)&&($reader_width != $info['info']['width'])) { echo " (CACHE), $reader_width (READER)"; echo " [ " . translate("Resize") . " ]"; } } echo "
"; } if ($info['info']['outdated']) { echo translate("Table version: outdated, needs update") . "
"; } if (isset($info['info']['ns'])) { if ($info['info']['ns']) { echo translate("Subsecond precision: yes") . "
"; } else { echo translate("Subsecond precision: no") . "
"; } } if ((isset($info['info']['first'])&&isset($info['info']['last']))||(isset($info['first'])&&isset($info['last']))) { if (ceil($info['first']) == ceil($info['info']['first'])) echo translate("First record (ALL) : %s", print_date($info['info']['first'])) . "
"; else if (!isset($info['first'])) { if (isset($_GET['reader_info'])) echo translate("First record (CACHE-only) : %s", print_date($info['info']['first'])) . "
"; else echo translate("First record (CACHE) : %s", print_date($info['info']['first'])) . "
"; } else if (!isset($info['info']['first'])) echo translate("First record (READER-only): %s", print_date($info['first'])) . "
"; else { echo translate("First record (CACHE) : %s", print_date($info['info']['first'])) . "
"; echo translate("First record (READER): %s", print_date($info['first'])) . "
"; } if (floor($info['last']) == floor($info['info']['last'])) echo translate("Last record (ALL) : %s", print_date($info['info']['last'])) . "
"; else if (!isset($info['last'])) { if (isset($_GET['reader_info'])) echo translate("Last record (CACHE-only) : %s", print_date($info['info']['last'])) . "
"; else echo translate("Last record (CACHE) : %s", print_date($info['info']['last'])) . "
"; } else if (!isset($info['info']['last'])) echo translate("Last record (READER-only): %s", print_date($info['last'])) . "
"; else { echo translate("Last record (CACHE) : %s", print_date($info['info']['last'])) . "
"; echo translate("Last record (READER): %s", print_date($info['last'])) . "
"; } } if ($info['info']['tables']) { echo translate("Resolutions:"); foreach (array_keys($info['info']['tables']) as $res) { echo " $res"; } echo "
"; if (isset($_GET['table_info'])) { echo "
"; echo translate("Extended Table Info:") . "
"; foreach ($info['info']['tables'] as $res => $tblinfo) { $output = false; echo ""; } echo "
 " . sprintf("% 5u", $res) . ":"; if ($tblinfo['dbsize']) { if ($output) echo ", "; else $output = true; echo dsPrintSize($tblinfo['dbsize']); } if ($tblinfo['records']) { if ($output) echo ", "; else $output = true; echo translate("%s records", $tblinfo['records']); } if (($tblinfo['first'])&&($tblinfo['last'])) { if ($output) echo ", "; else $output = true; echo date("c", $tblinfo['first']) . ' - ' . date("c", $tblinfo['last']+$res); $output = true; } echo "
"; } if ((isset($_GET['item_info']))&&(is_array($info['info']['items']))) { echo "
"; echo translate("Extended Item Info:") . "
"; foreach ($info['info']['items'] as $id => $iinfo) { echo ""; } echo "
 " . sprintf("% 3u", $id) . ":"; echo $iinfo['name']; echo "
"; } } // print_r($info); ?>

"; ?>