new SetOfCriteria('RLO', $rlo, array("Risks/Liabilities/Obligations")), 'roots' => new SetOfCriteria('roots', $roots, array("Root Key Managemnt")), 'privacy' => new SetOfCriteria('privacy', $privacy, array("Privacy Policy")), 'security' => new SetOfCriteria('security', $security, array("Security Manual")), 'oophaga' => new SetOfCriteria('oophaga', $oophaga, array("Oophaga Hardware")), 'RA' => new SetOfCriteria('RA', $ra, array("Registration Authorities (Assurance)")), 'dispute' => new SetOfCriteria('dispute', $dispute, array("Dispute Resolution (Arbitration)")), 'pingtest' => new SetOfCriteria('pingtest', $pingtest, array("Ping Testing of Domains/Emails")), 'A' => new SetOfCriteria('A', $A, array('DRC A', 'Documentation')), 'B' => new SetOfCriteria('B', $B, array('DRC B - Public Access')), 'C' => new SetOfCriteria('C', $C, array('DRC C - Operational Review')), ); } /* * @return array of SetOfCriteria, indexed by name. */ function &getCriteriaSelections() { global $_all_selections; if (false === $_all_selections) _makeCriteriaSelections(); return $_all_selections; } /* * @return array of SetOfCriteria, indexed by name. */ function &getSelectionSubset($name) { global $rlo, $roots, $privacy, $security, $oophaga, $dispute, $pingtest, $ra, $A, $B, $C; switch ($name) { case "static": $s = array( 'RLO' => new SetOfCriteria('RLO', $rlo, array("Risks/Liabilities/Obligations")), 'roots' => new SetOfCriteria('roots', $roots, array("Root Key Managemnt")), 'privacy' => new SetOfCriteria('privacy', $privacy, array("Privacy Policy")), 'security' => new SetOfCriteria('security', $security, array("Security Manual")), 'oophaga' => new SetOfCriteria('oophaga', $oophaga, array("Oophaga Hardware")), 'RA' => new SetOfCriteria('RA', $ra, array("Registration Authorities (Assurance)")), 'dispute' => new SetOfCriteria('dispute', $dispute, array("Dispute Resolution (Arbitration)")), 'pingtest' => new SetOfCriteria('pingtest', $pingtest, array("Ping Testing of Domains/Emails")), ); break; case "drc": $s = array( 'A' => new SetOfCriteria('A', $A, array('DRC A - Documentation')), 'B' => new SetOfCriteria('B', $B, array('DRC B - Public Access')), 'C' => new SetOfCriteria('C', $C, array('DRC C - Operational Review')), ); break; case "marks": $fail = preg_replace('/\+[34]/', '+2', getMarkHtml('fail')); $pass = preg_replace('/\+[34]/', '+2', getMarkHtml('pass')); $q = preg_replace('/\+[34]/', '+2', getMarkHtml('q')); $policy = getMarkHtml('policy'); $draft = getMarkHtml('draft'); $wip = preg_replace('/\+[34]/', '+2', getMarkHtml('wip')); $change = getMarkHtml('change'); $warning = getMarkHtml('warning'); $s = array( 'pass' => new SetOfCriteria('pass', false, array("All those that are marked $pass")), 'fail' => new SetOfCriteria('fail', false, array("All those that are marked $fail")), 'other' => new SetOfCriteria('other', false, array("not marked 'pass' or fail'")), 'policy' => new SetOfCriteria('policy', false, array("document is in POLICY status $policy")), 'wip' => new SetOfCriteria('wip', false, array("document is work-in-progress only $wip")), 'draft' => new SetOfCriteria('draft', false, array("document is in DRAFT status $draft")), 'change' => new SetOfCriteria('change', false, array("a change is required $change")), 'warning' => new SetOfCriteria('warning', false, array("this area raises questions, watch carefully $warning")), ); break; default: exit(" what is $name as a SelectionSubset?"); } return $s; } // http://www.danshort.com/HTMLentities/index.php?w=dingb $_mark_html = array( 'fail' => '', 'pass' => '', 'q' => '?? ', 'wip' => '', 'draft' => '', 'policy' => '', 'change' => ' Δ ', 'warning' => ' δ ', 'unknown' => ' ??? ', ); function &getMarkArray() { global $_mark_html; return $_mark_html; } function getMarkHtml($mark) { global $_mark_html; if (array_key_exists($mark, $_mark_html)) return $_mark_html[$mark]; else return $_mark_html['unknown']; } $_group_names = array( 'RLO' => $rlo, 'roots' => $roots, 'privacy' => $privacy, 'RA' => $ra, 'security' => $security, 'oophaga' => $oophaga, 'dispute' => $dispute, 'pingtest' => $pingtest, 'A' => $A, 'B' => $B, 'C' => $C, ); /* * @return array of SetOfCriteria, indexed by name, filtered by names */ function &getNamedGroup($group) { global $_group_names; if (array_key_exists($group, $_group_names)) { $gp = $_group_names[$group]; return $gp; } $gp = array(); return $gp; } /* * @return array of SetOfCriteria, indexed by name, filtered by names */ function &getGroups($groups) { $all = array(); foreach ($groups as $i => $group) { // echo "filter /$i/ => !$group! ...
\n"; $selection = getNamedGroup($group); // echo count($selection) . " ...
\n"; $all = array_merge($all, $selection); } $uniq = array_unique($all); return $uniq; } /* * @return array of SetOfCriteria, indexed by name, filtered by names function &getSetsByNames($groups) { $filtered = array(); foreach ($groups as $i => $group) { // echo "filter /$i/ => !$group! ...
\n"; $selection = getOneSetByName $selection = $all[$group]; if (!$selection) continue; $filtered[$group] = $selection; } return $filtered; } */ /* * @return array of SetOfCriteria, indexed by name, filtered by names function &filterSetsByNames($names) { $all = getCriteriaSelections(); $filtered = array(); foreach ($names as $i => $name) { // echo "filter /$i/ => !$name! ...
\n"; $selection = $all[$name]; if (!$selection) continue; $filtered[$name] = $selection; } return $filtered; } */ /* * @arg array of SetOfCriteria * @return new SetOfCriteria, with name of 'merge' */ function &mergeCriteriaSets($sets) { $merged = array(); $names = array(); foreach ($sets as $i => $set) { $names[] = $set->getName(); $selection = $set->getSetAsStrings(); $merged = array_merge($merged, $selection); } $mergedSet = new SetOfCriteria('merge', $merged, $names); return $mergedSet; } ?>