Admin Cemeteries Search

From TNG_Wiki
Revision as of 22:36, 8 October 2018 by Rmcrae (talk | contribs) (Added new mod templates, and boilerplate how to update cust_text.php to TNGv12 specs)

Jump to: navigation, search

Template:RobinV12 cust text update

Admin Cemeteries Search (formerly Admin Cemeteries List)
Summary Adds numerous controls to the Admin Cemeteries Search page to filter the search and include optional data in the results.
Mod Updated 5 Aug 2018
Download link
TNG 12.0
TNG 11.0
Download stats
Author(s) Robin Richmond
Homepage This page
Mod Support My Mod Support form or TNG Community Forums
Contact Developer My Mod Support form
Latest Mod &
Min TNG V 11.0 (probably lower)
Max TNG V at least 12.0
Files modified
admin_cemeteries.php, adminlib.php, css/genstyle.css, English cemetery_help.php, English cust_text.php;
Installs rrcemeteriessearch_ajx.php, rrcemeteriessearch_lib.php
Related Mods

Purpose of the Mod

This distinctly large and complex mod adds filtering, searching, and formatting options to the Admin >> Cemeteries >> Search page in order to produce what amounts to a variety of what I hope are a variety of useful reports.

Among other things, it

  • Uses checkboxes to control whether selected result table columns are displayed,
  • Can filter results through hierarchical drop-down location boxes,
  • Can filter results according to the number of headstones tied to a cemetery, or the number of burial events at the places associated with the cemetery.
  • Sorts the results table in several ways,
  • Controls which fields are searched by the search string,
  • Reveals which database fields are being searched,
  • Has location drop down boxes to allow the search to focus on a specific location

(BTW, I intended for this mod to have a run-time option option that turns off most of the new options, and allows you to do very simple standard-TNG searches. But at this point, that feature will have to wait for the next version of the mod.)

Mod Parameters

  1. Default value for the country selection box. ("USA")
  2. A list of fieldnames that set the initial state of checkboxes that determine whether optional fields (maplink, notes) are searched.
  3. A list of fieldnames that set the initial state of checkboxes that control whether optional data (notes, burials, headstones, geocodes] are displayed in the results table.
  4. A list of names that determine whether certain controls are shown on the search form at all.

Mod Conflicts

I don't know of any conflicts. This mod and its companion mod Cemetery Edit are the only published mods that affect the Cemeteries administration programs.

Related Mods

  1. My Cemetery Edit mod is closely related, and I recommend it as a companion to this mod. Still, these two mods are independent of each other. Cemetery Edit modifies the Cemetery Edit screen extensively, whereas this mod focuses on the Admin Cemeteries Search.
  2. This mod uses the Field Buttons mod, which displays small controls next to some form fields. However, it does not require that Field Buttons be installed. If Field Buttons is not installed, then the buttons simply do not appear.
  3. This mod generates information that can be used by Show Mod Names, but does not require that Show Mod Names be installed.

[Show Installation Details]


  • A working TNG installation.
  • An installed current version of the Mod Manager.
  • You should backup files listed in the panel on the right.


  1. Remove and delete previous version of this mod.
  2. Backup the files updated by this mod. They are listed in the panel at the upper right.
  3. Download the .zip file, Extract its .cfg file to the mods folder.
  4. Follow the normal automated installation for Mod Manager, as shown in the example Mod Manager - Installing Config Files.


  1. Try using the Mod Manager Remove capability
  2. Contact me through My Mod Support form.
[Hide Details]


BEFORE: An unmodified Admin Cemeteries Search page from TNGv9 - v11.
Cemetery admin list-before.png

Mod version 5 (TNGv9)

(Version still appears to work in TNGv11.1.1. It can can be downloaded from the Revision History section below.)

Mod Version 5

With the optional Associated Place column, I can now tell at a glance that the first two cemeteries on the page are not fully configured with an Associated Place.
Also note the new "Results per page" field and "Hide notes" checkbox. In each browser session, the Results per page value is initialized to the system-wide "Max Search Results" parameter from the General Settings/Miscellaneous screen. The value you enter only affects this screen, and is retained in a session cookie like the search string. Since cemetery notes can be fairly verbose, and can wind up scrunching the other fields, the user can use the "Hide Notes" checkbox (also retained in a session cookie) to suppress the Notes column.

Cemetery admin list-after1.png
Mod version 5/span> without the Notes column.
Cemetery admin list-after2.png

Mod version 8

(For TNGv11 and TNGv12)

Mod version 8 Overview
Admin cemeteries search8-after1b.jpg


  1. Two new links in the inner menu
    • A drop-down menu that links to this Wiki article's description of the mod parameters, and to the Mod Parameter editor in Mod Manager.
    • A link to this visualization in this Wiki article.
  2. A new set of "Location" controls. Each place component (country, state, etc) has a smart selection box. They are "smart" in the sense that
    • They are populated with values based on the selected value for the next-higher-level jurisdiction.
    • If there is only one possible value - for instance, if Manning County is the only county in Idaho in this site's Cemeteries table - then that value is automatically selected, and the possible values for the next jurisdiction are populated based on that value.
    • When a state has been selected but no county has been selected, the County field is populated with that state's counties, and the Cities field is populated with all cities and their county. As a result, you can select a city without necessarily selecting its county first.
    • When a place component value is selected, that component is removed from the list of fields that are searched by the search string (#6).
  3. The search string has HTML placeholder text that tells you about characters that have special meaning to the search field (see a visualization below). The string also has "field buttons" (see the Field Buttons mod and a visualization below). The 'X' button clears the field.
  4. An information icon is a link to the portion of the Cemeteries help page that describes the changes to the Cemeteries search form - particularly the controls that follow the information icon.
  5. A dynamic list of the fields that are searched by the search key. When you select place component values (Country, state, etc.) from the drop-down menus, those fields are removed from this list.
  6. These two checkboxes indicate whether the corresponding fields are searched. The default values for the two checkboxes are controlled by a Mod Parameter. The field "maplink" - the URL of a cemetery map - is included because the native TNG code always searched it.
  7. The Results Per Page field, which defaults to the system-wide "Max Search Results" parameter value at the beginning of a browser session, and its attached field buttons.
  8. Checkboxes that determine whether certain columns are included in the search results. The default values of these boxes are determined by a Mod Parameter. Note that the "Notes" checkbox here controls whether the Notes are in the results table, whereas the "notes" checkbox just above (#6) determines whether the Notes field is searched. In the visualization, the Geocodes will be omitted, and the Associated Places and Notes will be included in the table. (A visualization below explains why "Associated Places" is plural).
  9. Two checkboxes determine whether the results will show the number of burials at a cemetery and/or the number of headstone photos associated with the cemetery. When either checkbox is selected, an additional set of controls appears next to them. Those additional controls are shown in another visualization below.
  10. If either of the counts (#9) is selected, you can sort the results by one of the counts (but not both). See the Sorting Results section of this article for more details.
  11. A drop-down selection list determines a second sort key order (after the count - if a count is selected). Again, see the Sorting Results section of this article for more details.
  12. The search parameters including the sort order, are listed just above the results table.
  13. The new "Place" column displays the cemetery's Associated Placename, and is displayed only if the Associated Places checkbox (#8) is selected. If the Geocodes checkbox (also #8) is selected, the geocodes for the Associate Place are displayed, too. The FindAGrave Cemetery hyperlinks in the Notes column are a result of the FindAGrave Links mod. I do not enter a full hyperlink in the Cemetery Notes field. Instead, I just enter a FindAGrame cemetery number in the format "CRid=nnn", and the FindAGrave Links mod converts "CRid=nnn" into a hyperlink to the correct FindAGrave cemetery page.
Mod version 8 Location Selection Controls
Admin cemeteries search8-after2b-placenav.jpg
  1. When a state is selected, but not a county, the City field becomes City and County, so you can select cities without having to select a county first. In this case, I have selected cemeteries in Washington County that are not in a city.
  2. The Location selected by the Location controls is shown in the list of search parameters.
  3. There would ordinarily be a "Location" column between the Cemetery column and the Associated Place column. But, given the selected location, all of the cemeteries in the results table have the same location. Since the location is now shown as a search parameter just above the results table, the Location column is omitted.
Mod version 8 Special Search String Characters
Admin cemeteries search-after3a-specialsearch.jpg

The screen clip above focuses on the search string field and its placeholder message that notes that caret, dollar sign, single quote, double quote, and space have special meanings.

  • The caret and dollar sign have the same meanings they have in regular expressions; that is
    • A caret at the beginning of the string (and only there) says that the string must occur at the beginning of a field.
    • A dollar sign 'at the end of the string (and only there) says that the string must occur at the beginning of a field.
    • A string that begins with ^ and ends with $ must match an entire field exactly.
  • In the Cemeteries Search, the space character changes the search strategy dramatically from the TNG norm. Just as in Google searches, a space here means "search for any of these words", but unlike Google, it also means "the words must all occur in the same field. The latter condition is driven by the fact that the Cemetery search searches several specific fields - the Cemetery Name field, the four location fields, and sometimes the maplink field and the notes field. With a search string such as such as "Bacon Cemetery", the search will look for "Bacon" and "Cemetery" in each field, but not necessarily adjacent to each other.
  • To do a normal substring search, as in Google searches, you can surround your search string with single quotes or double quotes.

Admin cemeteries search-after3b-specialsearch.jpg

  1. In the location controls, only the country has been selected.
  2. The search string is 'Bacon Cemetery' (without the quotes), meaning that the search will look for 'Bacon' and 'Cemetery' separately, but in the same field.
  3. 'Country' has been removed from the list of fieldnames being searched, because a specific value has been selected.
  4. In the search criteria above the search results table, the search string is shown broken into separate words, with a message saying how the search will be conducted.
  5. You can see in the search results that the words "Bacon" and "Cemetery" do not have to be adjacent to each other.
  6. The Burial count is shown in a column titled "Bur". That column is the first data column in the table because the Burial count is the primary sort field. If the Sort By Burial Count checkbox were not checked, the Burial Count column would be to the right of the location.
Mod version 8 Burial Count Controls
Admin cemeteries search-after4-burialcount.jpg

(In this screen clip, the blue numbers continue the numbering of new features from the earlier screen clip with numbers 1-14)

  1. In the location controls, the state of Iowa has been selected.
  2. The "Count burials" checkbox has been checked,
  3. (Blue number 15) Controls that set a criterion on the counts are visible because the "Count burials" checkbox was checked. There are three controls:
    • The checkbox that activates the criterion
    • The comparison operator, where "less than" has been selected, and
    • The value to which the count is compared, which has been set to 10. This is a number field that allows the user to use little arrows to increment or decrement the count.
  4. The Sort by Burial count checkbox has been activated by marking the Count Burials checkbox, and is selected.
  5. The "ASCending/DESCending" sort selection control has been set to "DESCending" for the Burial Count sort.
  6. The search and sort criteria just above the results table show the The Burial count is shown in a column titled "Bur". That column is the first data column in the table because the Burial count is the primary sort field. If the Sort By Burial Count checkbox were not checked, the Burial Count column would be far to the right.
  7. (Blue number 16) Because a partial location has been selected (Iowa, USA), the location column is called "Sub-location" and does not show the full location of the cemetery, but only the portion of the location that is within the selected location. Since the location search criterion is shown just above the results table, users can easily determine the full location if they forget the selected location.
Mod version 8 Showing the effect of two trees with the same Associated Place
Admin cemeteries search8-after5-twotrees.jpg
  1. The search string is "lake"
  2. The sort order "Country, State, County, City, Cemetery Name (as opposed to the first option, "Cemetery Name, City, County...) causes the location names to be expressed with Country first.
  3. The Search and sort options show that the sort order will be country first.
  4. Because the Location is the primary sort key, it is the first data column in the results table. Also, the country (USA) has already been selected, so it is not needed in the Location column, which shows location names with the state first, to be consistent with the sort order.

(The blue numbers continue the numbering of new features)

  1. The Geocodes column abbreviates both the column name and the data values. The superscript 1 refers to a footnote that explains the field contents.
  2. There are two significant aspects of the Associated Place data:
    1. Because the Geocodes column is displayed, the geocodes of the Associated Place are displayed, with the same rounding as in the Geocodes column.
    2. In the second result, there are two values for the Tree and geocodes, because the Associated Place occurs in two trees.
  3. The footnote associated the the Geocodes column explains which values are in the column, and notes the rounding of the latitude and longitude values.
Mod version 8 Field Buttons
Admin cemeteries search8-after6a-fieldbuttons.jpg

In the screen clip above, new feature 18 is the field buttons.

  • For the search string field:
    • The X button will clear the search string value.
    • The R button will restore the field to the value it had when the page was loaded.
  • For the Results per page field:
    • The R button, as above, will restore the field to the value it had when the page was loaded.
    • The D button will assign a default value to the field. In this case, the default value is the TNG system parameter "Max Search Results".
    • The A button will assign a value that means "All Items". In this case, that value is 'all'.

Field buttons are described further in the Field Button mod article. The Field Buttons mod is necessary to make the field buttons visible.

Buttons that would not change the value are shaded out, as shown below.
File:Admin cemeteries search8-afterb-fieldbuttons.jpg
In this screenclip, a search has been done with no search string, and with 30 Results per page. As a result:

  • For the search string field:
    • The X button is shaded out because there is no value to clear.
    • The R button is shaded out because we just loaded the page, and the field value is still in its initial state.
  • For the Results per page field:
    • The R button, as above, is shaded out because we just loaded the page.
    • The D button is shaded out because the the field already has the default value (the value of the TNG system parameter "Max Search Results").
    • The A button is visible because the value is not 'all'.

Sorting Results

The search form provides several ways to sort the query results. The native code always sorts the results by Cemetery name, and then City, County, State, and Country. As it turns out, however, the City, County, State, Country sequence that we use to express a location is not really a very good sort key. In almost all cases, when we want to sort burial placenames, we'd rather group the countries first, and then then states, counties, cities, and cemeteries. Therefore, an option to sort by Country, state, county, city, Cemetery has been added.

A third option is to sort by the Associated Place, in which, unlike Cemeteries, has the burial place name, the city, county, state, and country, all in one field.

The three location-related sort options are in a drop-down selection box.

When the user elects to include cemetery burial counts or headstone counts in the search results, either one of those counts (but not both) can also be a sort key, and is always the primary key.

In all, there are nine possible sort orders:

  • 3 options for the 'count' key: burial count, headstone count, or none

multiplied by

  • 3 options for the location sort key.

Files Modified

  1. admin_cemeteries.php - The Admin Cemeteries Search page, which is the target of almost all of the changes
  2. genstyle.css - Style rules that define minimum widths for some result table columns
  3. cemetery_help.php English - Modified fairly extensively to describe the new search form, to describe the meaning of TNG "Cemeteries" vs Burial Places. The help file also now links to two Wiki articles (including this one).
  4. admintext.php English - Around 50 new strings

Files Installed

  1. rradmincemeterysearch_ajx.php - An AJAX program that reads place jurisdiction values (i.e. a set of states, counties, or cities) that are appropriate for the selection that a user has made in a higher-level jurisdiction.
  2. rradmincemeterysearch_lib.php - A function library used by admin_cemeteries.php and the AJAX program listed just above. It actually has only one function, which is used by admin_cemeteries.php to populate the location drop-down boxes as the page is loaded, and by AJAX OnChange functions that invoke rradmincemeterysearch_ajx.php to populate lower-ordered location drop-down boxes when a selection is made in a higher-ordered location drop-down box. (See comments within rradmincemeterysearch_ajx.php for more details.)

Custom CSS

I really hate to add style rules to genstyle.css because

  • Other mods may already have added dozens of style rules to genstyle.css, and
  • The rules added by mods are generally needed by only one or two programs, and

So, this mod adds an embedded stylesheet to admin_cemeteries.php, and then re-positions it before the <link> tag that incorporates genstyle.css. Consequently, you can override these style rules just as you would any other style rules in genstyle.css, that is ,either by

  • Placing new rules at the bottom of genstyle.css, or
  • Adding new rules to your template's mytngstyle.css (in your template's css folder)

The style defined for admin_cemeteries.php by this mod are:

@media print {
	.rrnoprinter {display:none;} /* To suppress printing on a printer */
/* Drop-down div for the innermenu Options link */
#rroptionsdrop {z-index:100;
	padding:5px 0 5px 5px;
#rroptionsdrop div {
/* The first cell in each row of form layout tables contains field labels
   that should be aligned to the right to be close to the data field. */
.rrformlayout td {padding:2px 0;}
.rrformlayout td:first-child{
/* This class display a question mark or 'i' as a blue circled info button*/
.rrinfobutton {
	font-family: sans-serif;
	display: inline-block;
	vertical-align: middle; text-align: center;
	font-weight: bold;
	width: 1.8ex; height: 1.8ex;
	border: 2px solid blue; border-radius: 1em;
	color: blue;
/* Minimum widths for some columns in the results table */
.rracs-cem { min-width:120px; } /* Cemetery name */
.rracs-loc { min-width:120px; } /* Location - city, state, etc. */
.rracs-pla { min-width:200px; } /* Matching place from Places table */

Revision History

Mod Version TNG Version Date Note 12.0+ 8 May 2018 No functional changes; brought to TNGv12 specs 11.0 - 11.1.2+ 10 Feb 2017 No visible changes
  • All hyperlinks to the TNG Wiki use https
  • Removed a debugging statement that had been left in the code.
  • Added a "don't print on printer" class to the tab menu and innermenu, and the Action and Select columns of the results table.
  • Also no longer uses the external spreadsheet robinmods.css. Instead, the "don't print on printer" class is defined in an embedded stylesheet.
Admin Cemeteries Search v11.0.0.8 11.0 - 11.1.1+ 18 Sep 2017 Numerous changes:
  • Small changes
    1. Right-justifies the label column in the search form layout table.
    2. Applies a style class (rrnoprinter) to some elements on the Admin Cemeteries Search page so that they do not print.
    3. Removes dependencies on the DisplayModNames and Blue Info Button mods.ppl
  • The big change... added numerous controls to the search form to
    1. Enable new results table columns,
    2. Filter results in new ways,
    3. Sort the results table,
    4. Reveal which database fields are searched by the text search, and
    5. Control which fields are searched by the search string.

The controls are:

  • 3 checkboxes enable or disable 3 optional columns in the results table. The default checkbox status for each of the 3 checkboxes is controlled by a Mod Parameter
    1. Cemetery Notes (new)
    2. Associated Place (new) - Note that, in databases with more than one tree (and where the trees have separate Places lists), identical places in different tree can all be associated with one cemetery.
    3. Geocodes (which is displayed by the Pristine code).
  • 2 checkboxes enable burial counts and headstone counts, which are displayed in the same column.
  • 3 fields in the search table define a new filter on the results table that uses the new burial count and headstone count. These options are visible only if the Burials or Headstones count are enabled. They let the user specify things like "Omit cemeteries where the burial count < 10". The 3 fields are
    1. A checkbox that actives the filter,
    2. A <select> box of comparison operators,
    3. And a value for the comparison.
  • 2 checkboxes allow the results to be sorted by burial OR headstone counts. (The SQL code just can't handle sorting by both.) The checkboxes that enable sorting by burial count OR headstone count are always visible, but are disabled if the corresponding count checkbox is not checked.
  • A seleclooption box allows the user to sort the results by the Cemetery name, Cemetery location, or associated Burial Place (in combination with the Burial or Headstone count)
  • 2 controls specify whether the two sorting options are ascending or descending. These two controls are hyperlinks that toggle the displayed hyperlink text between '(ASC)' and '(DESC)'
  • 4 "smart" selection boxes focus the search by specifying values for Country, State, County, and City. They are "smart" in the sense that if Country=USA, then the States box only offers States in the USA, and if State=Iowa, then the County box only offers counties in Iowa, etc.
  • A control that is not a form field dynamically displays the list of fields that are searched by the text search. As country, state, county, and/or city values are selected by the location controls, those fields are removed from the list.
  • 2 checkboxes in the list of fields searched by the text search string controls whether two fields are searched:
    1. Maplink - the hyperlink to the Cemetery map or photo image, which was searched by the pristine code, and
    2. Notes, which were not searched by the pristine code
Admin Cemeteries List download 9.2.0 - 11.0 21 Mar 2016 Converts new lines to <br> tags in the notes field; Depends on [[Show Mod Names|Show Mod Name v2+]; Tested for TNGv11
Admin Cemeteries List 9.2.0 - 10.1 31 Dec 2014 Updated for conformance with v10.1; Changed the Geocode column to round the values to 3 decimal places, and eliminate the keywords.
Admin Cemeteries List v9.2.0.1 9.2.0 - 08 May 2014 Initial release.

Sites using this mod

If you download and install this mod, please add your site to the table below.

URL User Note Mod-Version TNG-Version User-language
Robin Richmond's Genealogy Database Robin Richmond Mod developer 11.1.2 English
MOTYER Family Genealogy John Mark Motyer Public site see here see here EN, DE, RU
Total Family History Scott Bennett Private Site (For right now) TNG 10.0.1 EN
Mitchell Families Online Roger Mitchell Very useful mod 10.0.3 EN
The Dutton's of Vermont Darrin Dutton 10.1.0 EN
Brady Family Tree in Western Australia Darryl Brady Public site 10.1.1 EN, DE
R G Strong Family Genealogy Russell Strong Public site 12.0.1 EN, DE, FR, NL
Wortelboer Genealogy Bernard Wortelboer Public site 11.0.0 NL, EN
Brabantse Genealogie Rob van Rij Public Site 11.0.1 EN,FR,NL
Woking Family History Pete Smee Secure site 11.1 EN
Cole / Tanner Family Tree David Cole Public/Private see here see here English