From TNG_Wiki
Jump to navigation Jump to search

Ambox notice.png The latest version of this mod uses the guidelines for TNG v12+ cust_text.php files. If you are using TNGv12+, and any cust_text.php file in this mod is marked with a Bad Target error, you need to update your cust_text.php files before you can install this mod. [Show instructions]

If you upgraded to TNGv12+, and did not update your cust_text.php files as instructed in the upgrade readme script, then you must use the TNG Mod Manager to update them. To do so:

  1. Go to Mod Manager, and select its "Recommended Updates" tab.
    (If the "Recommended Updates" tab is not visible, then go to the Mod Manager Options tab, select "Display Settings", and turn on the "Recommended Updates" tab.)
  2. Click the "Update" button in the "Recommended Updates" tab.
    Installed mods do not interfere with the update, and if you already have (or think you may have) run this update, it will not hurt for you to run it again.

[See details in the TNGv12 Change Impacts Article][Hide the instructions]

TNG 13.0
TNG 12.0

Restricted Downloads of Comments are restricted to logged in users. If you do not have a user account on the TNG Wiki use the Request Account link to request a user account Restricted
Caution If you are having trouble downloading with the Google Chrome browser, try using try right-click and select Open in new Window, then F5, or use another browser Caution

Summary Adds an event for commenting
Mod Updated 22 Sep 2020
Download link for
TNG 13.0
TNG 12.0
TNG 11.0
Download stats Downloads
Author(s) Erik Hoppe
Homepage Comments (this page)
Mod Support TNG Community Forums: TNG Specific - Code Discussion - Addons
Contact Developer
Latest Mod - -
Min TNG V 11.1.2
Max TNG V 13.0 (Tested in 13.0)
Files modified
Related Mods
Author of TNG Colouring Book
Mods by me: At my user page.

Purpose of the mod

An event Comments is added to

  • getperson.php (if not living or private)
  • familygroup.php (if not living or private)
  • placesearch.php
  • showmedia.php (if not living or private)

for visitors to read and add comments to the subject.
A new page is added that lists all pages with comments - link in the Find menu.
The Find menu link signals when a new comment is added to the list.
Database tables are handled in Utilities as usual (back-up, restore etc)

Visualization of this mod

If there are comments (one in this case), this is what the not logged in Guest sees.

User hoppehoppe is logged in

User hoppehoppe writes a comment. Note how to include a link

The result. The link is active.
The author of the last comment may edit it while it is the last (not Guests).

If Guests are allowed to post, a Captcha and/or Admin Approval can be activated.
The captcha is only displayed until a first post is submitted, during the visit (session-cookie).
The IP is always included in the Admin mail for Guests. It is not stored anywhere else so you really shoudn't turn the "Guest-mails" off.

The Administrator receives a mail w/ link to the comment and may Approve (if option is on) or Delete it.

The Administrator may delete any comment.

The Find menu link shows when a new comment is added to the listpage (not Guests).

The list of pages with comments.
There are New comments since the user visited this page the last time.


This mod was developed by Erik Hoppe.
See all my mods at my Wiki user page.


Credits go to dlcole, Ken and Katryne for your invaluable tests, help, suggestions, advice and patience. Thanks!
Many thanks also to the v.2 Testers/Translators:
Dutch: Renze P
French: Katryne
German: JPB


TNG version: 11.1.2
  • A working TNG installation.
  • A backup of all affected files (see the list below)
  • An installed current version of the Mod Manager (is already included in TNG v10)

Known Conflicts

TNG version: 12.0.0
  • The Move Notes Above Map mod must be UN-installed while this mod is installed or uninstalled.

It can be installed after this mod is installed or uninstalled.

Robin Richmond's mods Regroup Person Profile and Placesearch More Info must be UN-installed while this mod is installed or uninstalled.
They can be re-installed after this mod is installed or uninstalled.

Templates #6, #8, #19 (may apply to other 3rd party templates as well):
To install the mod under templates #6, #8 or #19 with database update (first time install or selected upgrade) you have to:

  • Switch to another template
  • Install the mod completely including the database tables
  • Switch back to your prefered template.

Uninstalling is no problem in this respect.


  1. Click on the download link, shown in the summary in the upper right corner of the page.
  2. Un-zip the file and open the folder. You will find a .cfg file and a new folder inside.
  3. Move/copy/FTP the .cfg file and the accompanying folder to the mods folder of your TNG system.
  4. Follow the normal automated installation for Mod Manager, as shown in the example Mod Manager - Installing Config Files to install the mod.
  5. Make the Database Update to finish the installation:
    • First time install: Click the Create Comments Database Tables button
    • Update from v .0 or .1: Click the Update Comments Database Tables button

In the event of a problem

Modmanager Edit Options

  • Public reading: GUESTS can read posted comments (def = false = No)
  • Public posting: GUESTS can post comments (def = false = No)
  • Captcha: Show captcha for GUEST when adding first comment (def = true = Yes)
  • Approval: GUESTS' posts must be approved by the Administrator (def = true = Yes)
  • Approval: USERS' posts must be approved by the Administrator (def = false = No)
  • Event: Always show the Comments event (def = false = No)
  • Admin Mail: Admin receives mails for GUEST-posted comments (def = true = Yes)
  • Admin Mail: Admin receives mails for USER-posted commenta (def = true = Yes)
  • Page-select: Include the Comments event in getperson.php (def = true = Yes)
  • Page-select: Include the Comments event in familygroup.php (def = true = Yes)
  • Page-select: Include the Comments event in placesearch.php (def = true = Yes)
  • Page-select: Include the Comments event in showmedia.php (def = true = Yes)

Language Support

Supported languages, if present, other than English:

Custom Text Additions

The config file includes the English language custom text.
There are French and Swedish translations if they are present in your TNG system.
For other languages you can modify the config file to add the custom text or manually add to whatever language you like.

(English custom text for reference)

$text['commentWrote'] = " wrote";
$text['commentMsg'] = "Comments";
$text['commentNotext'] = "There are no comments yet...";
$text['commentClick'] = "Write a comment!";
$text['commentUse'] = "Please don't use for changes/corrections (use the Suggest tab instead).";
$text['commentAddNew'] = "A new comment from";
$text['commentChars'] = "<b>You can NOT use the characters ";
$text['commentOr'] = " or ";
$text['commentNoreplace'] = "</b> They are deleted and not replaced.";
$text['commentPostbutt'] = "Add your comment!";
$text['commentError1'] = "No comment!";
$text['commentHeader'] = "Pages with comment(s)";
$text['commentPersID'] = "ID";
$text['commentPersPlace'] = "Name (link = new win/tab)";
$text['commentSubmitter'] = "By";
$text['commentAdded'] = "Added";
$text['commentNumb'] = "#";
$text['commentDelete'] = "Delete";
$admtext['commentsvisits'] = "Comments read";
$admtext['commentPage'] = "Comments";
$text['commentPage'] = "Comments"; // admtext is not global
$text['commentNew'] = "New";
$text['commentNewChar'] = "<b>  !</b>";
$text['commentNewMail'] = "New Comment posted";
$text['commentDatabase'] = "Database";
$text['commentMail'] = "Mail";
$text['commentErrorinsert'] = " error on Insert Comment";
$text['commentErrorupdate'] = " error on Update Comment";
$text['commentErrordelete'] = " error on Delete Comment";
$text['commentErrorapprove'] = " error on Approve Comment";
$text['commentAlertadmin'] = "Please alert the Administrator. Thank You.";
$text['commentRegarding'] = "Regarding ";
$text['commentReldel'] = "Reload page to Delete";
$text['commentGuest'] = "guest";
$text['commentGuestinput'] = "Your name/signature here please.";
$text['commentSelect'] = "<b>Just this once:</b><br/>Please mark the bird so we know that you are not a spam-robot.";
$text['commentNoSelect'] = "Please select the bird to add a comment.";
$text['commentWrongSelect'] = "You selected the wrong image. Please try again.";
$text['commentError2'] = "Please enter your name or signature.";
$text['commentIPwarning'] = "<b>Note!</b> Your IP-address (".$_SERVER['REMOTE_ADDR'].") is sent with the form.";
$text['commentApprovewait'] = "Your comment will be added when it has been approved by the administrator.";
$text['commentApprove'] = "Approve";

$text['commentPagetitle'] = "List of Comments";
// NOTE: Use _only_ PLAIN A-Z here! No accented or umlauted letters. (Used in the browser tab)

$text['commentDelcom'] = "Do you really want to DELETE this comment?\\n\\nWARNING! This can not be undone!";
// NOTE: Use _only_ PLAIN A-Z here! No accented or umlauted letters. (Used in a JavaScript-box)

$text['commentApproveadmin'] = "AWAITS APPROVAL!";
// NOTE: Use _only_ PLAIN A-Z here! No accented or umlauted letters. (Used in Admin mails)

Explanation for the limitations in the last three texts:
If your (private) .cfg serves only one character set and you save it in that same set, this is not a problem for you.
The distributed .cfg serves two character sets (UTF-8 and ANSI), therefore HTML-entities have to be used for umlauted and accented letters, for example
&auml; = ä, &eacute; = é etc, otherwise strange characters will be displayed in one of the two character sets.
JavaScript boxes, Browser tabs (Page title) and mails are not HTML-elements and therefore HTML-entities can't be used.

Uninstalling the mod

If you want to completely Remove (uninstall) this mod and all its tables, you should

  1. click the Uninstall button.
  2. click the Remove Comments Database Tables buttons.
  3. click the Delete button to delete the config file and its folder from the mods folder.

Revision History

Version Date Description
v13.0.0.2a 22 Sep 2020 Updated for TNG v13.0
v12.0.1.2a 16 May 2020 Apostrophes in names were not handled correctly (Thanks to Marc Irish and omalleyashe for the alert)
(v.1 was never public)
14 Sep 2018 The list-page is MOVED to the FIND-menu! (A more natural place, right?)
Many additions and Edit options, such as Public reading and writing, Dutch and German translations (thanks Renze and JPB!) and more.
14 Sep 2018 Introduction

Sites using this mod

If you download and install this mod, you can support it by adding your TNG site to this table:

URL User Note Mod-Version TNG-Version User-language
Andersson, Hoppe, Sahlin, Thorell Erik Hoppe Mod author Private version 11.1.2 SE, GB, DE
Family tree of Marcin & Emilia Senderski Marcin Senderski Only home page is public 13.0.4 EN, PL
The Cole / Tanner Family Tree David Cole Public/Private see here see here EN, DE, FR, ES, NL Renze Petersohn Public/Private 12.0.1 NL, UK, DE
MyMispoche Genealogy Carlton Brooks Public and Private 12.0.1 EN
Gambrillfamilytree Bobby Gambrill Public 12.0.3 EN
Kemp(e) Family History Andrew Kemp Public see here see here EN
Lathrope Family Genealogy S Sharpe Public 13.0.4, EN
Joseph Oran Holtz Genealogy Pages Jim Holt Private See Here See Here EN
Braymen / Munderloh ChrisB Public / Private 13.1.2 EN

TNG Modules Impacted

The following TNG Modules are modified, and should be backed up prior to installing this mod:

  • getperson.php
  • familygroup.php
  • placesearch.php
  • showmedia.php
  • genlib.php
  • customconfig.php
  • admin_genconfig.php
  • admin_utilities.php
  • admin_backup.php
  • admin_optimize.php
  • admin_restore.php

The custom texts will be added to these files, which should also be backed up prior to installing this mod:

  • languages/English/cust_text.php
  • languages/English-UTF8/cust_text.php
  • languages/Dutch/cust_text.php - if present
  • languages/Dutch-UTF8/cust_text.php - if present
  • languages/French/cust_text.php - if present
  • languages/French-UTF8/cust_text.php - if present
  • languages/German/cust_text.php - if present
  • languages/German-UTF8/cust_text.php - if present
  • languages/Swedish/cust_text.php - if present
  • languages/Swedish-UTF8/cust_text.php - if present