setIcon("EyeOpen.svg"); $ViewSearchResultsButton->setSize(HtmlButton::SIZE_SMALL); $ViewSearchResultsButton->setLink("index.php?P=SearchResults&" . $Item->SearchParameters()->UrlParameterString()); $ViewSearchResultsButton->makeOpenNewTab(); return "

" . $Item->SearchParameters()->TextDescription() . "
" . $ViewSearchResultsButton->getHtml() . "

"; case "Enabled": return $Item->Enabled() ? "Yes" : "No"; case "Frequency": $Frequencies = [ 60 => "Hourly", 240 => "Every 4 Hours", 480 => "Every 8 Hours", 1440 => "Daily", 10080 => "Weekly", 0 => "Continuously", ]; if (isset($Frequencies[$Item->CheckFrequency()])) { return $Frequencies[$Item->CheckFrequency()]; } else { return $Item->CheckFrequency()." minutes"; } default: throw new Exception("Unexpected column in list (\"".$FieldId."\")."); } } # ----- SETUP ---------------------------------------------------------------- # verify that required incoming variables are set if (!isset($H_ListChecksum)) { throw new Exception("Variable \$H_ListChecksum not set."); } if (!isset($H_ItemsPerPage)) { throw new Exception("Variable \$H_ItemsPerPage not set."); } if (!isset($H_ItemCount)) { throw new Exception("Variable \$H_ItemCount not set."); } if (!isset($H_Items)) { throw new Exception("Variable \$H_Items not set."); } if (!isset($H_StartingIndex)) { throw new Exception("Variable \$H_StartingIndex not set."); } # set up links $BaseLink = "index.php?P=P_Rules_ListRules&CK=".$H_ListChecksum; $AddRuleLink = "index.php?P=P_Rules_EditRule&ID=NEW"; $RuleDisplayLink = "index.php?P=P_Rules_DisplayRule&ID=\$ID"; $RuleEditLink = "index.php?P=P_Rules_EditRule&ID=\$ID"; $RuleDeleteLink = "index.php?P=P_Rules_DeleteRule&ID=\$ID"; # set up fields to display $Fields = [ "Name" => [ "MaxLength" => 40, "DefaultSortField" => true, ], "Criteria" => [ "ValueFunction" => "Metavus\\getRuleAttribute", "AllowHTML" => true, ], "Frequency" => ["ValueFunction" => "Metavus\\getRuleAttribute"], "Enabled" => ["ValueFunction" => "Metavus\\getRuleAttribute"], ]; # create and configure list UI $ListUI = new ItemListUI($Fields); $ListUI->heading("Rule List"); $ListUI->itemsPerPage($H_ItemsPerPage); $ListUI->baseLink($BaseLink); $ListUI->addTopButton("Add New Rule", $AddRuleLink, "Plus.svg"); $ListUI->addActionButton("Edit", $RuleEditLink, "Pencil.svg"); $ListUI->addActionButton("Delete", $RuleDeleteLink, "Delete.svg"); # ----- DISPLAY -------------------------------------------------------------- $ListUI->display($H_Items, $H_ItemCount, $H_StartingIndex);