summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Roach <fisharebest@gmail.com>2017-01-13 07:36:26 +0000
committerGreg Roach <fisharebest@gmail.com>2017-01-13 07:53:42 +0000
commit564ae2d7821e40d23a34164b35b213506f3b0344 (patch)
tree22b8fc74555f418dbe688e14a44c76aff940c0ba
parent0d4fbeaea5cc982a07c00bc5c8fb2ea9f122c716 (diff)
downloadwebtrees-564ae2d7821e40d23a34164b35b213506f3b0344.tar.gz
webtrees-564ae2d7821e40d23a34164b35b213506f3b0344.tar.bz2
webtrees-564ae2d7821e40d23a34164b35b213506f3b0344.zip
Merge minor changes from develop branch
-rw-r--r--app/Controller/AncestryController.php2
-rw-r--r--app/Controller/BaseController.php2
-rw-r--r--app/Controller/BranchesController.php4
-rw-r--r--app/Controller/FamilyBookController.php2
-rw-r--r--app/Controller/HourglassController.php20
-rw-r--r--app/Controller/SearchController.php6
-rw-r--r--app/Functions/FunctionsEdit.php2
-rw-r--r--app/Functions/FunctionsPrint.php10
-rw-r--r--app/Functions/FunctionsPrintFacts.php24
-rw-r--r--app/Functions/FunctionsPrintLists.php132
-rw-r--r--app/Module/BatchUpdateModule.php36
-rw-r--r--app/Module/CensusAssistantModule.php32
-rw-r--r--app/Module/ChartsBlockModule.php10
-rw-r--r--app/Module/CkeditorModule.php2
-rw-r--r--app/Module/DescendancyModule.php14
-rw-r--r--app/Module/FamiliesSidebarModule.php20
-rw-r--r--app/Module/FamilyNavigatorModule.php36
-rw-r--r--app/Module/FamilyTreeFavoritesModule.php6
-rw-r--r--app/Module/FamilyTreeNewsModule.php2
-rw-r--r--app/Module/FamilyTreeStatisticsModule.php78
-rw-r--r--app/Module/FrequentlyAskedQuestionsModule.php37
21 files changed, 238 insertions, 239 deletions
diff --git a/app/Controller/AncestryController.php b/app/Controller/AncestryController.php
index 831b985162..0fa50f153a 100644
--- a/app/Controller/AncestryController.php
+++ b/app/Controller/AncestryController.php
@@ -45,7 +45,7 @@ class AncestryController extends ChartController {
// Extract form parameters
$this->show_cousins = Filter::getInteger('show_cousins', 0, 1);
- $this->chart_style = Filter::getInteger('chart_style', 0, 3);
+ $this->chart_style = Filter::get('chart_style', '[0123]', '0');
$this->generations = Filter::getInteger('PEDIGREE_GENERATIONS', 2, $WT_TREE->getPreference('MAX_PEDIGREE_GENERATIONS'), $WT_TREE->getPreference('DEFAULT_PEDIGREE_GENERATIONS'));
if ($this->root && $this->root->canShowName()) {
diff --git a/app/Controller/BaseController.php b/app/Controller/BaseController.php
index 80e6f8fbe5..0896c9b3da 100644
--- a/app/Controller/BaseController.php
+++ b/app/Controller/BaseController.php
@@ -57,7 +57,7 @@ class BaseController {
/**
* Make a list of inline Javascript, so we can render them in the footer
- * NOTE: there is no need to use "jQuery(document).ready(function(){...})", etc.
+ * NOTE: there is no need to use "$(document).ready(function(){...})", etc.
* as this Javascript won’t be inserted until the very end of the page.
*
* @param string $script
diff --git a/app/Controller/BranchesController.php b/app/Controller/BranchesController.php
index 5dbab675eb..c698a54411 100644
--- a/app/Controller/BranchesController.php
+++ b/app/Controller/BranchesController.php
@@ -256,9 +256,9 @@ class BranchesController extends PageController {
if ($marriage_year) {
$fam_html .= ' <a href="' . $family->getHtmlUrl() . '" title="' . strip_tags($family->getMarriageDate()->display()) . '"><i class="icon-rings"></i>' . $marriage_year . '</a>';
} elseif ($family->getFirstFact('MARR')) {
- $fam_html .= ' <a href="' . $family->getHtmlUrl() . '" title="' . GedcomTag::getLabel('MARR') . '"><i class="icon-rings"></i></a>';
+ $fam_html .= ' <a href="' . $family->getHtmlUrl() . '" title="' . I18N::translate('Marriage') . '"><i class="icon-rings"></i></a>';
} elseif ($family->getFirstFact('_NMR')) {
- $fam_html .= ' <a href="' . $family->getHtmlUrl() . '" title="' . GedcomTag::getLabel('_NMR') . '"><i class="icon-rings"></i></a>';
+ $fam_html .= ' <a href="' . $family->getHtmlUrl() . '" title="' . I18N::translate('Not married') . '"><i class="icon-rings"></i></a>';
}
$fam_html .= ' ' . $spouse->getSexImage() . '<a class="' . $sosa_class . '" href="' . $spouse->getHtmlUrl() . '">' . $spouse->getFullName() . '</a> ' . $spouse->getLifeSpan() . ' ' . $sosa_html;
}
diff --git a/app/Controller/FamilyBookController.php b/app/Controller/FamilyBookController.php
index be0de0b542..48583c6fbd 100644
--- a/app/Controller/FamilyBookController.php
+++ b/app/Controller/FamilyBookController.php
@@ -49,7 +49,7 @@ class FamilyBookController extends ChartController {
parent::__construct();
// Extract the request parameters
- $this->show_spouse = Filter::getInteger('show_spouse', 0, 1);
+ $this->show_spouse = Filter::get('show_spouse', '[01]', '0');
$this->descent = Filter::getInteger('descent', 0, 9, 5);
$this->generations = Filter::getInteger('generations', 2, $WT_TREE->getPreference('MAX_DESCENDANCY_GENERATIONS'), 2);
diff --git a/app/Controller/HourglassController.php b/app/Controller/HourglassController.php
index eae4b02bcf..f89394b32c 100644
--- a/app/Controller/HourglassController.php
+++ b/app/Controller/HourglassController.php
@@ -413,30 +413,30 @@ class HourglassController extends ChartController {
$js = "
var WT_HOURGLASS_CHART = (function() {
function sizeLines() {
- jQuery('.tvertline').each(function(i,e) {
+ $('.tvertline').each(function(i,e) {
var pid = e.id.split('_').pop();
- e.style.height = Math.abs(jQuery('#table_' + pid)[0].offsetHeight - (jQuery('#table2_' + pid)[0].offsetTop + {$this->bhalfheight}+5)) + 'px';
+ e.style.height = Math.abs($('#table_' + pid)[0].offsetHeight - ($('#table2_' + pid)[0].offsetTop + {$this->bhalfheight}+5)) + 'px';
});
- jQuery('.bvertline').each(function(i,e) {
+ $('.bvertline').each(function(i,e) {
var pid = e.id.split('_').pop();
- e.style.height = jQuery('#table_' + pid)[0].offsetTop + jQuery('#table2_' + pid)[0].offsetTop + {$this->bhalfheight}+5 + 'px';
+ e.style.height = $('#table_' + pid)[0].offsetTop + $('#table2_' + pid)[0].offsetTop + {$this->bhalfheight}+5 + 'px';
});
- jQuery('.pvline').each(function(i,e) {
- var el = jQuery(e);
+ $('.pvline').each(function(i,e) {
+ var el = $(e);
el.height(Math.floor(el.parent().height()/2));
});
}
- jQuery('#childarrow').on('click', '.icon-darrow', function(e) {
+ $('#childarrow').on('click', '.icon-darrow', function(e) {
e.preventDefault();
- jQuery('#childbox').slideToggle('fast');
+ $('#childbox').slideToggle('fast');
})
- jQuery('.hourglassChart').on('click', '.icon-larrow, .icon-rarrow', function(e){
+ $('.hourglassChart').on('click', '.icon-larrow, .icon-rarrow', function(e){
e.preventDefault();
e.stopPropagation();
- var self = jQuery(this),
+ var self = $(this),
parms = self.data('parms').split('-'),
id = self.attr('href');
jQuery('#td_'+id).load('hourglass_ajax.php?rootid='+ id +'&generations=1&type='+parms[0]+'&show_full='+(parseInt(parms[1]) ? 1:0) +'&show_spouse='+(parseInt(parms[2]) ? 1:0), function(){
diff --git a/app/Controller/SearchController.php b/app/Controller/SearchController.php
index 0f25c8b532..50c870932b 100644
--- a/app/Controller/SearchController.php
+++ b/app/Controller/SearchController.php
@@ -509,9 +509,9 @@ class SearchController extends PageController {
public function printResults() {
if ($this->action !== 'replace' && ($this->query || $this->firstname || $this->lastname || $this->place)) {
if ($this->myindilist || $this->myfamlist || $this->mysourcelist || $this->mynotelist) {
- $this->addInlineJavascript('jQuery("#search-result-tabs").tabs();');
- $this->addInlineJavascript('jQuery("#search-result-tabs").css("visibility", "visible");');
- $this->addInlineJavascript('jQuery(".loading-image").css("display", "none");');
+ $this->addInlineJavascript('$("#search-result-tabs").tabs();');
+ $this->addInlineJavascript('$("#search-result-tabs").css("visibility", "visible");');
+ $this->addInlineJavascript('$(".loading-image").css("display", "none");');
echo '<br>';
echo '<div class="loading-image"></div>';
echo '<div id="search-result-tabs"><ul>';
diff --git a/app/Functions/FunctionsEdit.php b/app/Functions/FunctionsEdit.php
index 8a23b1ea67..ea41b34a69 100644
--- a/app/Functions/FunctionsEdit.php
+++ b/app/Functions/FunctionsEdit.php
@@ -789,7 +789,7 @@ class FunctionsEdit {
if ($fact === 'PLAC') {
echo '<div id="', $element_id, '_pop" style="display: inline;">';
echo FunctionsPrint::printSpecialCharacterLink($element_id), ' ', FunctionsPrint::printFindPlaceLink($element_id);
- echo '<span onclick="jQuery(\'tr[id^=', $upperlevel, '_LATI],tr[id^=', $upperlevel, '_LONG],tr[id^=LATI],tr[id^=LONG]\').toggle(\'fast\'); return false;" class="icon-target" title="', GedcomTag::getLabel('LATI'), ' / ', GedcomTag::getLabel('LONG'), '"></span>';
+ echo '<span onclick="$(\'tr[id^=', $upperlevel, '_LATI],tr[id^=', $upperlevel, '_LONG],tr[id^=LATI],tr[id^=LONG]\').toggle(\'fast\'); return false;" class="icon-target" title="', I18N::translate('Latitude'), ' / ', I18N::translate('Longitude'), '"></span>';
echo '</div>';
if (Module::getModuleByName('places_assistant')) {
\PlacesAssistantModule::setup_place_subfields($element_id);
diff --git a/app/Functions/FunctionsPrint.php b/app/Functions/FunctionsPrint.php
index 474ee83608..206aff3c7d 100644
--- a/app/Functions/FunctionsPrint.php
+++ b/app/Functions/FunctionsPrint.php
@@ -414,7 +414,7 @@ class FunctionsPrint {
$html .= I18N::translate('yes');
}
// print gedcom ages
- foreach ([GedcomTag::getLabel('AGE') => $fact_age, GedcomTag::getLabel('HUSB') => $husb_age, GedcomTag::getLabel('WIFE') => $wife_age] as $label => $age) {
+ foreach ([I18N::translate('Age') => $fact_age, I18N::translate('Husband') => $husb_age, I18N::translate('Wife') => $wife_age] as $label => $age) {
if ($age != '') {
$html .= ' <span class="label">' . $label . ':</span> <span class="age">' . FunctionsDate::getAgeAtEvent($age) . '</span>';
}
@@ -455,13 +455,13 @@ class FunctionsPrint {
$cts = preg_match('/\d LATI (.*)/', $placerec, $match);
if ($cts > 0) {
$map_lati = $match[1];
- $html .= '<br><span class="label">' . GedcomTag::getLabel('LATI') . ': </span>' . $map_lati;
+ $html .= '<br><span class="label">' . I18N::translate('Latitude') . ': </span>' . $map_lati;
}
$map_long = '';
$cts = preg_match('/\d LONG (.*)/', $placerec, $match);
if ($cts > 0) {
$map_long = $match[1];
- $html .= ' <span class="label">' . GedcomTag::getLabel('LONG') . ': </span>' . $map_long;
+ $html .= ' <span class="label">' . I18N::translate('Longitude') . ': </span>' . $map_long;
}
if ($map_lati && $map_long) {
$map_lati = trim(strtr($map_lati, 'NSEW,�', ' - -. ')); // S5,6789 ==> -5.6789
@@ -549,7 +549,7 @@ class FunctionsPrint {
$newRow = false;
echo '<tr class="noprint"><td class="descriptionbox">';
echo I18N::translate('Add from clipboard'), '</td>';
- echo '<td class="optionbox wrap"><form method="get" name="newFromClipboard" action="?" onsubmit="return false;">';
+ echo '<td class="optionbox wrap"><form name="newFromClipboard" onsubmit="return false;">';
echo '<select id="newClipboardFact">';
}
echo '<option value="', Filter::escapeHtml($fact_id), '">', GedcomTag::getLabel($fact['fact']);
@@ -614,7 +614,7 @@ class FunctionsPrint {
echo I18N::translate('Fact or event');
echo '</td>';
echo '<td class="optionbox wrap">';
- echo '<form method="get" name="newfactform" action="?" onsubmit="return false;">';
+ echo '<form name="newfactform" onsubmit="return false;">';
echo '<select id="newfact" name="newfact">';
echo '<option value="" disabled selected>' . I18N::translate('&lt;select&gt;') . '</option>';
foreach ($translated_addfacts as $fact => $fact_name) {
diff --git a/app/Functions/FunctionsPrintFacts.php b/app/Functions/FunctionsPrintFacts.php
index 900c546a78..f52eb9958d 100644
--- a/app/Functions/FunctionsPrintFacts.php
+++ b/app/Functions/FunctionsPrintFacts.php
@@ -173,33 +173,33 @@ class FunctionsPrintFacts {
?>
<a
href="#"
- title="<?php echo I18N::translate('Edit'); ?>"
- onclick="return edit_record('<?php echo $parent->getXref(); ?>', '<?php echo $fact->getFactId(); ?>');"
- ><?php echo $label; ?></a>
+ title="<?= I18N::translate('Edit') ?>"
+ onclick="return edit_record('<?= $parent->getXref() ?>', '<?= $fact->getFactId() ?>');"
+ ><?= $label ?></a>
<div class="editfacts">
<div class="editlink">
<a
href="#"
- title="<?php echo I18N::translate('Edit'); ?>"
+ title="<?= I18N::translate('Edit') ?>"
class="editicon"
- onclick="return edit_record('<?php echo $parent->getXref(); ?>', '<?php echo $fact->getFactId(); ?>');"
- ><span class="link_text"><?php echo I18N::translate('Edit'); ?></span></a>
+ onclick="return edit_record('<?= $parent->getXref() ?>', '<?= $fact->getFactId() ?>');"
+ ><span class="link_text"><?= I18N::translate('Edit') ?></span></a>
</div>
<div class="copylink">
<a
href="#"
- title="<?php echo I18N::translate('Copy'); ?>"
+ title="<?= I18N::translate('Copy') ?>"
class="copyicon"
- onclick="return copy_fact('<?php echo $parent->getXref(); ?>', '<?php echo $fact->getFactId(); ?>');"
- ><span class="link_text"><?php echo I18N::translate('Copy'); ?></span></a>
+ onclick="return copy_fact('<?= $parent->getXref() ?>', '<?= $fact->getFactId() ?>');"
+ ><span class="link_text"><?= I18N::translate('Copy') ?></span></a>
</div>
<div class="deletelink">
<a
href="#"
- title="<?php echo I18N::translate('Delete'); ?>"
+ title="<?= I18N::translate('Delete') ?>"
class="deleteicon"
- onclick="return delete_fact('<?php echo I18N::translate('Are you sure you want to delete this fact?'); ?>', '<?php echo $parent->getXref(); ?>', '<?php echo $fact->getFactId(); ?>');"
- ><span class="link_text"><?php echo I18N::translate('Delete'); ?></span></a>
+ onclick="return delete_fact('<?= I18N::translate('Are you sure you want to delete this fact?') ?>', '<?= $parent->getXref() ?>', '<?= $fact->getFactId() ?>');"
+ ><span class="link_text"><?= I18N::translate('Delete') ?></span></a>
</div>
</div>
<?php
diff --git a/app/Functions/FunctionsPrintLists.php b/app/Functions/FunctionsPrintLists.php
index 73e4a16e39..436cf31dc4 100644
--- a/app/Functions/FunctionsPrintLists.php
+++ b/app/Functions/FunctionsPrintLists.php
@@ -83,7 +83,7 @@ class FunctionsPrintLists {
->addInlineJavascript('
jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
- jQuery("#' . $table_id . '").dataTable( {
+ $("#' . $table_id . '").dataTable( {
dom: \'<"H"<"filtersH_' . $table_id . '">T<"dt-clear">pf<"dt-clear">irl>t<"F"pl<"dt-clear"><"filtersF_' . $table_id . '">>\',
' . I18N::datatablesI18N() . ',
jQueryUI: true,
@@ -113,24 +113,24 @@ class FunctionsPrintLists {
pagingType: "full_numbers"
});
- jQuery("#' . $table_id . '")
+ $("#' . $table_id . '")
/* Hide/show parents */
.on("click", ".btn-toggle-parents", function() {
- jQuery(this).toggleClass("ui-state-active");
- jQuery(".parents", jQuery(this).closest("table").DataTable().rows().nodes()).slideToggle();
+ $(this).toggleClass("ui-state-active");
+ $(".parents", $(this).closest("table").DataTable().rows().nodes()).slideToggle();
})
/* Hide/show statistics */
.on("click", ".btn-toggle-statistics", function() {
- jQuery(this).toggleClass("ui-state-active");
- jQuery("#indi_list_table-charts_' . $table_id . '").slideToggle();
+ $(this).toggleClass("ui-state-active");
+ $("#indi_list_table-charts_' . $table_id . '").slideToggle();
})
/* Filter buttons in table header */
.on("click", "button[data-filter-column]", function() {
- var btn = jQuery(this);
+ var btn = $(this);
// De-activate the other buttons in this button group
btn.siblings().removeClass("ui-state-active");
// Apply (or clear) this filter
- var col = jQuery("#' . $table_id . '").DataTable().column(btn.data("filter-column"));
+ var col = $("#' . $table_id . '").DataTable().column(btn.data("filter-column"));
if (btn.hasClass("ui-state-active")) {
btn.removeClass("ui-state-active");
col.search("").draw();
@@ -140,8 +140,8 @@ class FunctionsPrintLists {
}
});
- jQuery(".indi-list").css("visibility", "visible");
- jQuery(".loading-image").css("display", "none");
+ $(".indi-list").css("visibility", "visible");
+ $(".loading-image").css("display", "none");
');
$stats = new Stats($WT_TREE);
@@ -224,7 +224,7 @@ class FunctionsPrintLists {
title="' . I18N::translate('Show individuals who died more than 100 years ago.') . '"
type="button"
>
- ' . GedcomTag::getLabel('DEAT') . '&gt;100
+ ' . I18N::translate('Death') . '&gt;100
</button>
<button
class="ui-state-default"
@@ -233,7 +233,7 @@ class FunctionsPrintLists {
title="' . I18N::translate('Show individuals who died within the last 100 years.') . '"
type="button"
>
- ' . GedcomTag::getLabel('DEAT') . '&lt;=100
+ ' . I18N::translate('Death') . '&lt;=100
</button>
</div>
<div class="btn-group">
@@ -244,7 +244,7 @@ class FunctionsPrintLists {
title="' . I18N::translate('Show individuals born more than 100 years ago.') . '"
type="button"
>
- ' . GedcomTag::getLabel('BIRT') . '&gt;100
+ ' . I18N::translate('Birth') . '&gt;100
</button>
<button
class="ui-state-default"
@@ -253,7 +253,7 @@ class FunctionsPrintLists {
title="' . I18N::translate('Show individuals born within the last 100 years.') . '"
type="button"
>
- ' . GedcomTag::getLabel('BIRT') . '&lt;=100
+ ' . I18N::translate('Birth') . '&lt;=100
</button>
</div>
<div class="btn-group">
@@ -280,18 +280,18 @@ class FunctionsPrintLists {
</th>
</tr>
<tr>
- <th>' . GedcomTag::getLabel('GIVN') . '</th>
- <th>' . GedcomTag::getLabel('SURN') . '</th>
+ <th>' . I18N::translate('Given names') . '</th>
+ <th>' . I18N::translate('Surname') . '</th>
<th>' . /* I18N: Abbreviation for “Sosa-Stradonitz number”. This is an individual’s surname, so may need transliterating into non-latin alphabets. */ I18N::translate('Sosa') . '</th>
- <th>' . GedcomTag::getLabel('BIRT') . '</th>
+ <th>' . I18N::translate('Birth') . '</th>
<th><i class="icon-reminder" title="' . I18N::translate('Anniversary') . '"></i></th>
- <th>' . GedcomTag::getLabel('PLAC') . '</th>
+ <th>' . I18N::translate('Place') . '</th>
<th><i class="icon-children" title="' . I18N::translate('Children') . '"></i></th>
- <th>' . GedcomTag::getLabel('DEAT') . '</th>
+ <th>' . I18N::translate('Death') . '</th>
<th><i class="icon-reminder" title="' . I18N::translate('Anniversary') . '"></i></th>
- <th>' . GedcomTag::getLabel('AGE') . '</th>
- <th>' . GedcomTag::getLabel('PLAC') . '</th>
- <th>' . GedcomTag::getLabel('CHAN') . '</th>
+ <th>' . I18N::translate('Age') . '</th>
+ <th>' . I18N::translate('Place') . '</th>
+ <th>' . I18N::translate('Last change') . '</th>
<th hidden></th>
<th hidden></th>
<th hidden></th>
@@ -526,7 +526,7 @@ class FunctionsPrintLists {
->addInlineJavascript('
jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
- jQuery("#' . $table_id . '").dataTable( {
+ $("#' . $table_id . '").dataTable( {
dom: \'<"H"<"filtersH_' . $table_id . '"><"dt-clear">pf<"dt-clear">irl>t<"F"pl<"dt-clear"><"filtersF_' . $table_id . '">>\',
' . I18N::datatablesI18N() . ',
jQueryUI: true,
@@ -554,16 +554,16 @@ class FunctionsPrintLists {
pagingType: "full_numbers"
});
- jQuery("#' . $table_id . '")
+ $("#' . $table_id . '")
/* Hide/show parents */
.on("click", ".btn-toggle-parents", function() {
- jQuery(this).toggleClass("ui-state-active");
- jQuery(".parents", jQuery(this).closest("table").DataTable().rows().nodes()).slideToggle();
+ $(this).toggleClass("ui-state-active");
+ $(".parents", $(this).closest("table").DataTable().rows().nodes()).slideToggle();
})
/* Hide/show statistics */
.on("click", ".btn-toggle-statistics", function() {
- jQuery(this).toggleClass("ui-state-active");
- jQuery("#fam_list_table-charts_' . $table_id . '").slideToggle();
+ $(this).toggleClass("ui-state-active");
+ $("#fam_list_table-charts_' . $table_id . '").slideToggle();
})
/* Filter buttons in table header */
.on("click", "button[data-filter-column]", function() {
@@ -571,7 +571,7 @@ class FunctionsPrintLists {
// De-activate the other buttons in this button group
btn.siblings().removeClass("ui-state-active");
// Apply (or clear) this filter
- var col = jQuery("#' . $table_id . '").DataTable().column(btn.data("filter-column"));
+ var col = $("#' . $table_id . '").DataTable().column(btn.data("filter-column"));
if (btn.hasClass("ui-state-active")) {
btn.removeClass("ui-state-active");
col.search("").draw();
@@ -581,8 +581,8 @@ class FunctionsPrintLists {
}
});
- jQuery(".fam-list").css("visibility", "visible");
- jQuery(".loading-image").css("display", "none");
+ $(".fam-list").css("visibility", "visible");
+ $(".loading-image").css("display", "none");
');
$stats = new Stats($WT_TREE);
@@ -674,7 +674,7 @@ class FunctionsPrintLists {
class="ui-state-default"
title="' . I18N::translate('Show couples with an unknown marriage date.') . '"
>
- ' . GedcomTag::getLabel('MARR') . '
+ ' . I18N::translate('Marriage') . '
</button>
<button
type="button"
@@ -683,7 +683,7 @@ class FunctionsPrintLists {
class="ui-state-default"
title="' . I18N::translate('Show couples who married more than 100 years ago.') . '"
>
- ' . GedcomTag::getLabel('MARR') . '&gt;100
+ ' . I18N::translate('Marriage') . '&gt;100
</button>
<button
type="button"
@@ -692,7 +692,7 @@ class FunctionsPrintLists {
class="ui-state-default"
title="' . I18N::translate('Show couples who married within the last 100 years.') . '"
>
- ' . GedcomTag::getLabel('MARR') . '&lt;=100
+ ' . I18N::translate('Marriage') . '&lt;=100
</button>
<button
type="button"
@@ -701,7 +701,7 @@ class FunctionsPrintLists {
class="ui-state-default"
title="' . I18N::translate('Show divorced couples.') . '"
>
- ' . GedcomTag::getLabel('DIV') . '
+ ' . I18N::translate('Divorce') . '
</button>
<button
type="button"
@@ -717,17 +717,17 @@ class FunctionsPrintLists {
</th>
</tr>
<tr>
- <th>' . GedcomTag::getLabel('GIVN') . '</th>
- <th>' . GedcomTag::getLabel('SURN') . '</th>
- <th>' . GedcomTag::getLabel('AGE') . '</th>
- <th>' . GedcomTag::getLabel('GIVN') . '</th>
- <th>' . GedcomTag::getLabel('SURN') . '</th>
- <th>' . GedcomTag::getLabel('AGE') . '</th>
- <th>' . GedcomTag::getLabel('MARR') . '</th>
+ <th>' . I18N::translate('Given names') . '</th>
+ <th>' . I18N::translate('Surname') . '</th>
+ <th>' . I18N::translate('Age') . '</th>
+ <th>' . I18N::translate('Given names') . '</th>
+ <th>' . I18N::translate('Surname') . '</th>
+ <th>' . I18N::translate('Age') . '</th>
+ <th>' . I18N::translate('Marriage') . '</th>
<th><i class="icon-reminder" title="' . I18N::translate('Anniversary') . '"></i></th>
- <th>' . GedcomTag::getLabel('PLAC') . '</th>
+ <th>' . I18N::translate('Place') . '</th>
<th><i class="icon-children" title="' . I18N::translate('Children') . '"></i></th>
- <th>' . GedcomTag::getLabel('CHAN') . '</th>
+ <th>' . I18N::translate('Last change') . '</th>
<th hidden></th>
<th hidden></th>
<th hidden></th>
@@ -1011,7 +1011,7 @@ class FunctionsPrintLists {
->addInlineJavascript('
jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
- jQuery("#' . $table_id . '").dataTable( {
+ $("#' . $table_id . '").dataTable( {
dom: \'<"H"pf<"dt-clear">irl>t<"F"pl>\',
' . I18N::datatablesI18N() . ',
jQueryUI: true,
@@ -1030,20 +1030,20 @@ class FunctionsPrintLists {
displayLength: 20,
pagingType: "full_numbers"
});
- jQuery(".source-list").css("visibility", "visible");
- jQuery(".loading-image").css("display", "none");
+ $(".source-list").css("visibility", "visible");
+ $(".loading-image").css("display", "none");
');
$html .= '<div class="loading-image"></div>';
$html .= '<div class="source-list">';
$html .= '<table id="' . $table_id . '"><thead><tr>';
- $html .= '<th>' . GedcomTag::getLabel('TITL') . '</th>';
- $html .= '<th>' . GedcomTag::getLabel('AUTH') . '</th>';
+ $html .= '<th>' . I18N::translate('Title') . '</th>';
+ $html .= '<th>' . I18N::translate('Author') . '</th>';
$html .= '<th>' . I18N::translate('Individuals') . '</th>';
$html .= '<th>' . I18N::translate('Families') . '</th>';
$html .= '<th>' . I18N::translate('Media objects') . '</th>';
$html .= '<th>' . I18N::translate('Shared notes') . '</th>';
- $html .= '<th>' . GedcomTag::getLabel('CHAN') . '</th>';
+ $html .= '<th>' . I18N::translate('Last change') . '</th>';
$html .= '<th>' . I18N::translate('Delete') . '</th>';
$html .= '</tr></thead>';
$html .= '<tbody>';
@@ -1138,7 +1138,7 @@ class FunctionsPrintLists {
->addInlineJavascript('
jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
- jQuery("#' . $table_id . '").dataTable({
+ $("#' . $table_id . '").dataTable({
dom: \'<"H"pf<"dt-clear">irl>t<"F"pl>\',
' . I18N::datatablesI18N() . ',
jQueryUI: true,
@@ -1156,19 +1156,19 @@ class FunctionsPrintLists {
displayLength: 20,
pagingType: "full_numbers"
});
- jQuery(".note-list").css("visibility", "visible");
- jQuery(".loading-image").css("display", "none");
+ $(".note-list").css("visibility", "visible");
+ $(".loading-image").css("display", "none");
');
$html .= '<div class="loading-image"></div>';
$html .= '<div class="note-list">';
$html .= '<table id="' . $table_id . '"><thead><tr>';
- $html .= '<th>' . GedcomTag::getLabel('TITL') . '</th>';
+ $html .= '<th>' . I18N::translate('Title') . '</th>';
$html .= '<th>' . I18N::translate('Individuals') . '</th>';
$html .= '<th>' . I18N::translate('Families') . '</th>';
$html .= '<th>' . I18N::translate('Media objects') . '</th>';
$html .= '<th>' . I18N::translate('Sources') . '</th>';
- $html .= '<th>' . GedcomTag::getLabel('CHAN') . '</th>';
+ $html .= '<th>' . I18N::translate('Last change') . '</th>';
$html .= '<th>' . I18N::translate('Delete') . '</th>';
$html .= '</tr></thead>';
$html .= '<tbody>';
@@ -1235,7 +1235,7 @@ class FunctionsPrintLists {
->addInlineJavascript('
jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
- jQuery("#' . $table_id . '").dataTable({
+ $("#' . $table_id . '").dataTable({
dom: \'<"H"pf<"dt-clear">irl>t<"F"pl>\',
' . I18N::datatablesI18N() . ',
jQueryUI: true,
@@ -1250,8 +1250,8 @@ class FunctionsPrintLists {
displayLength: 20,
pagingType: "full_numbers"
});
- jQuery(".repo-list").css("visibility", "visible");
- jQuery(".loading-image").css("display", "none");
+ $(".repo-list").css("visibility", "visible");
+ $(".loading-image").css("display", "none");
');
$html .= '<div class="loading-image"></div>';
@@ -1259,7 +1259,7 @@ class FunctionsPrintLists {
$html .= '<table id="' . $table_id . '"><thead><tr>';
$html .= '<th>' . I18N::translate('Repository name') . '</th>';
$html .= '<th>' . I18N::translate('Sources') . '</th>';
- $html .= '<th>' . GedcomTag::getLabel('CHAN') . '</th>';
+ $html .= '<th>' . I18N::translate('Last change') . '</th>';
$html .= '<th>' . I18N::translate('Delete') . '</th>';
$html .= '</tr></thead>';
$html .= '<tbody>';
@@ -1321,7 +1321,7 @@ class FunctionsPrintLists {
->addInlineJavascript('
jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
- jQuery("#' . $table_id . '").dataTable({
+ $("#' . $table_id . '").dataTable({
dom: \'<"H"pf<"dt-clear">irl>t<"F"pl>\',
' . I18N::datatablesI18N() . ',
jQueryUI: true,
@@ -1338,19 +1338,19 @@ class FunctionsPrintLists {
displayLength: 20,
pagingType: "full_numbers"
});
- jQuery(".media-list").css("visibility", "visible");
- jQuery(".loading-image").css("display", "none");
+ $(".media-list").css("visibility", "visible");
+ $(".loading-image").css("display", "none");
');
$html .= '<div class="loading-image"></div>';
$html .= '<div class="media-list">';
$html .= '<table id="' . $table_id . '"><thead><tr>';
$html .= '<th>' . I18N::translate('Media') . '</th>';
- $html .= '<th>' . GedcomTag::getLabel('TITL') . '</th>';
+ $html .= '<th>' . I18N::translate('Title') . '</th>';
$html .= '<th>' . I18N::translate('Individuals') . '</th>';
$html .= '<th>' . I18N::translate('Families') . '</th>';
$html .= '<th>' . I18N::translate('Sources') . '</th>';
- $html .= '<th>' . GedcomTag::getLabel('CHAN') . '</th>';
+ $html .= '<th>' . I18N::translate('Last change') . '</th>';
$html .= '</tr></thead>';
$html .= '<tbody>';
@@ -1437,7 +1437,7 @@ class FunctionsPrintLists {
'<table class="surname-list">' .
'<thead>' .
'<tr>' .
- '<th>' . GedcomTag::getLabel('SURN') . '</th>' .
+ '<th>' . I18N::translate('Surname') . '</th>' .
'<th>' . $col_heading . '</th>' .
'</tr>' .
'</thead>';
@@ -1626,7 +1626,7 @@ class FunctionsPrintLists {
->addInlineJavascript('
jQuery.fn.dataTableExt.oSort["text-asc"] = textCompareAsc;
jQuery.fn.dataTableExt.oSort["text-desc"] = textCompareDesc;
- jQuery("#' . $table_id . '").dataTable({
+ $("#' . $table_id . '").dataTable({
dom: "t",
' . I18N::datatablesI18N() . ',
autoWidth: false,
diff --git a/app/Module/BatchUpdateModule.php b/app/Module/BatchUpdateModule.php
index 46bdafad4e..6a83719cab 100644
--- a/app/Module/BatchUpdateModule.php
+++ b/app/Module/BatchUpdateModule.php
@@ -212,26 +212,26 @@ class BatchUpdateModule extends AbstractModule implements ModuleConfigInterface
<select class="form-control" name="plugin" onchange="reset_reload();">
<?php if (!$this->plugin): ?>
<option value="" selected></option>
- <?php endif; ?>
+ <?php endif ?>
<?php foreach ($this->plugins as $class => $plugin): ?>
- <option value="<?php echo $class ?>" <?php echo $this->plugin == $class ? 'selected' : ''; ?>><?php echo $plugin->getName(); ?></option>
- <?php endforeach; ?>
+ <option value="<?= $class ?>" <?= $this->plugin == $class ? 'selected' : '' ?>><?= $plugin->getName() ?></option>
+ <?php endforeach ?>
</select>
<?php if ($this->PLUGIN): ?>
- <p class="small text-muted"><?php echo $this->PLUGIN->getDescription() ?></p>
- <?php endif; ?>
+ <p class="small text-muted"><?= $this->PLUGIN->getDescription() ?></p>
+ <?php endif ?>
</div>
</div>
<?php if (!Auth::user()->getPreference('auto_accept')): ?>
<div class="alert alert-danger">
- <?php echo I18N::translate('Your user account does not have “automatically accept changes” enabled. You will only be able to change one record at a time.'); ?>
+ <?= I18N::translate('Your user account does not have “automatically accept changes” enabled. You will only be able to change one record at a time.') ?>
</div>
- <?php endif; ?>
+ <?php endif ?>
<?php // If a plugin is selected, display the details ?>
<?php if ($this->PLUGIN): ?>
- <?php echo $this->PLUGIN->getOptionsForm(); ?>
+ <?= $this->PLUGIN->getOptionsForm() ?>
<?php if (substr($this->action, -4) == '_all'): ?>
<?php // Reset - otherwise we might "undo all changes", which refreshes the ?>
<?php // page, which makes them all again! ?>
@@ -241,24 +241,24 @@ class BatchUpdateModule extends AbstractModule implements ModuleConfigInterface
<div id="batch_update2" class="col-sm-12">
<?php if ($this->curr_xref): ?>
<?php // Create an object, so we can get the latest version of the name. ?>
- <?php $this->record = GedcomRecord::getInstance($this->curr_xref, $WT_TREE); ?>
+ <?php $this->record = GedcomRecord::getInstance($this->curr_xref, $WT_TREE) ?>
<div class="form-group">
- <?php echo self::createSubmitButton(I18N::translate('previous'), $this->prev_xref) ?>
- <?php echo self::createSubmitButton(I18N::translate('next'), $this->next_xref) ?>
+ <?= self::createSubmitButton(I18N::translate('previous'), $this->prev_xref) ?>
+ <?= self::createSubmitButton(I18N::translate('next'), $this->next_xref) ?>
</div>
<div class="form-group">
- <a class="lead" href="<?php echo $this->record->getHtmlUrl(); ?>"><?php echo $this->record->getFullName(); ?></a>
- <?php echo $this->PLUGIN->getActionPreview($this->record); ?>
+ <a class="lead" href="<?= $this->record->getHtmlUrl() ?>"><?= $this->record->getFullName() ?></a>
+ <?= $this->PLUGIN->getActionPreview($this->record) ?>
</div>
<div class="form-group">
- <?php echo implode(' ', $this->PLUGIN->getActionButtons($this->curr_xref, $this->record)); ?>
+ <?= implode(' ', $this->PLUGIN->getActionButtons($this->curr_xref, $this->record)) ?>
</div>
<?php else: ?>
- <div class="alert alert-info"><?php echo I18N::translate('Nothing found.'); ?></div>
- <?php endif; ?>
+ <div class="alert alert-info"><?= I18N::translate('Nothing found.') ?></div>
+ <?php endif ?>
</div>
- <?php endif; ?>
- <?php endif; ?>
+ <?php endif ?>
+ <?php endif ?>
</form>
<?php
}
diff --git a/app/Module/CensusAssistantModule.php b/app/Module/CensusAssistantModule.php
index 51dcdf1170..4b9b5deac3 100644
--- a/app/Module/CensusAssistantModule.php
+++ b/app/Module/CensusAssistantModule.php
@@ -166,7 +166,7 @@ class CensusAssistantModule extends AbstractModule {
button = "";
}
if (frm.filter.value.length < 2 && button !== "all") {
- alert("<?php echo I18N::translate('Please enter more than one character.'); ?>");
+ alert("<?= I18N::translate('Please enter more than one character.') ?>");
frm.filter.focus();
return false;
}
@@ -207,7 +207,7 @@ class CensusAssistantModule extends AbstractModule {
'" . $indi->getBirthPlace() . "'); return false;\">
<b>" . $indi->getFullName() . '</b>&nbsp;&nbsp;&nbsp;';
- $born = GedcomTag::getLabel('BIRT');
+ $born = I18N::translate('Birth');
echo '</span><br><span class="list_item">', $born, ' ', $indi->getBirthYear(), '&nbsp;&nbsp;&nbsp;', $indi->getBirthPlace(), '</span></a></li>';
echo '<hr>';
}
@@ -249,7 +249,7 @@ class CensusAssistantModule extends AbstractModule {
function insertId() {
if (window.opener.document.getElementById('addlinkQueue')) {
// alert('Please move this alert window and examine the contents of the pop-up window, then click OK')
- window.opener.insertRowToTable('<?php echo $record->getXref(); ?>', '<?php echo htmlspecialchars($record->getFullName()); ?>', '<?php echo $headjs; ?>');
+ window.opener.insertRowToTable('<?= $record->getXref() ?>', '<?= htmlspecialchars($record->getFullName()) ?>', '<?= $headjs ?>');
window.close();
}
}
@@ -259,7 +259,7 @@ class CensusAssistantModule extends AbstractModule {
?>
<script>
function insertId() {
- window.opener.alert('<?php echo $iid2; ?> - <?php echo I18N::translate('Not a valid individual, family, or source ID'); ?>');
+ window.opener.alert('<?= $iid2 ?> - <?= I18N::translate('Not a valid individual, family, or source ID') ?>');
window.close();
}
</script>
@@ -438,19 +438,19 @@ class CensusAssistantModule extends AbstractModule {
?>
<tr>
<td class="optionbox">
- <?php echo $menu->getMenu(); ?>
+ <?= $menu->getMenu() ?>
</td>
<td class="facts_value nowrap">
- <a href="#" onclick="return appendCensusRow('<?php echo Filter::escapeJs(self::censusTableRow($census, $spouse, $head)); ?>');">
- <?php echo $spouse->getFullName(); ?>
+ <a href="#" onclick="return appendCensusRow('<?= Filter::escapeJs(self::censusTableRow($census, $spouse, $head)) ?>');">
+ <?= $spouse->getFullName() ?>
</a>
</td>
<td class="facts_value">
<?php if ($head !== $spouse): ?>
- <a href="edit_interface.php?action=addnewnote_assisted&amp;noteid=newnote&amp;xref=<?php echo $spouse->getXref(); ?>&amp;gedcom=<?php echo $spouse->getTree()->getNameUrl(); ?>&amp;census=<?php echo get_class($census); ?>">
- <?php echo $headImg2; ?>
+ <a href="edit_interface.php?action=addnewnote_assisted&amp;noteid=newnote&amp;xref=<?= $spouse->getXref() ?>&amp;gedcom=<?= $spouse->getTree()->getNameUrl() ?>&amp;census=<?= get_class($census) ?>">
+ <?= $headImg2 ?>
</a>
- <?php endif; ?>
+ <?php endif ?>
</td>
</tr>
<?php
@@ -488,19 +488,19 @@ class CensusAssistantModule extends AbstractModule {
?>
<tr>
<td class="optionbox">
- <?php echo $menu->getMenu(); ?>
+ <?= $menu->getMenu() ?>
</td>
<td class="facts_value">
- <a href="#" onclick="return appendCensusRow('<?php echo Filter::escapeJs(self::censusTableRow($census, $child, $head)); ?>');">
- <?php echo $child->getFullName(); ?>
+ <a href="#" onclick="return appendCensusRow('<?= Filter::escapeJs(self::censusTableRow($census, $child, $head)) ?>');">
+ <?= $child->getFullName() ?>
</a>
</td>
<td class="facts_value">
<?php if ($head !== $child): ?>
- <a href="edit_interface.php?action=addnewnote_assisted&amp;noteid=newnote&amp;xref=<?php echo $child->getXref(); ?>&amp;gedcom=<?php echo $child->getTree()->getNameUrl(); ?>&amp;census=<?php echo get_class($census); ?>">
- <?php echo $headImg2; ?>
+ <a href="edit_interface.php?action=addnewnote_assisted&amp;noteid=newnote&amp;xref=<?= $child->getXref() ?>&amp;gedcom=<?= $child->getTree()->getNameUrl() ?>&amp;census=<?= get_class($census) ?>">
+ <?= $headImg2 ?>
</a>
- <?php endif; ?>
+ <?php endif ?>
</td>
</tr>
<?php
diff --git a/app/Module/ChartsBlockModule.php b/app/Module/ChartsBlockModule.php
index cc7a38d5db..35cf7459a4 100644
--- a/app/Module/ChartsBlockModule.php
+++ b/app/Module/ChartsBlockModule.php
@@ -128,7 +128,7 @@ class ChartsBlockModule extends AbstractModule implements ModuleBlockInterface {
$title .= I18N::translate('Interactive tree of %s', $person->getFullName());
$mod = new InteractiveTreeModule(WT_MODULES_DIR . 'tree');
$tv = new TreeView;
- $content .= '<script>jQuery("head").append(\'<link rel="stylesheet" href="' . $mod->css() . '" type="text/css" />\');</script>';
+ $content .= '<script>$("head").append(\'<link rel="stylesheet" href="' . $mod->css() . '" type="text/css" />\');</script>';
$content .= '<script src="' . $mod->js() . '"></script>';
list($html, $js) = $tv->drawViewport($person, 2);
$content .= $html . '<script>' . $js . '</script>';
@@ -195,7 +195,7 @@ class ChartsBlockModule extends AbstractModule implements ModuleBlockInterface {
?>
<tr>
<td class="descriptionbox wrap width33">
- <?php echo I18N::translate('Chart type'); ?>
+ <?= I18N::translate('Chart type') ?>
</td>
<td class="optionbox">
<?php echo FunctionsEdit::selectEditControl('type', $charts, null, $type); ?>
@@ -203,7 +203,7 @@ class ChartsBlockModule extends AbstractModule implements ModuleBlockInterface {
</tr>
<tr>
<td class="descriptionbox wrap width33">
- <?php echo I18N::translate('Show details'); ?>
+ <?= I18N::translate('Show details') ?>
</td>
<td class="optionbox">
<?php echo FunctionsEdit::editFieldYesNo('details', $details); ?>
@@ -212,11 +212,11 @@ class ChartsBlockModule extends AbstractModule implements ModuleBlockInterface {
<tr>
<td class="descriptionbox wrap width33">
<label for="pid">
- <?php echo I18N::translate('Individual'); ?>
+ <?= I18N::translate('Individual') ?>
</label>
</td>
<td class="optionbox">
- <input data-autocomplete-type="INDI" type="text" name="pid" id="pid" value="<?php echo $pid; ?>" size="5">
+ <input data-autocomplete-type="INDI" type="text" name="pid" id="pid" value="<?= $pid ?>" size="5">
<?php
echo FunctionsPrint::printFindIndividualLink('pid');
$root = Individual::getInstance($pid, $WT_TREE);
diff --git a/app/Module/CkeditorModule.php b/app/Module/CkeditorModule.php
index 8e3d01082f..b658562ed7 100644
--- a/app/Module/CkeditorModule.php
+++ b/app/Module/CkeditorModule.php
@@ -56,7 +56,7 @@ class CkeditorModule extends AbstractModule {
->addInlineJavascript('CKEDITOR.config.extraAllowedContent =
"area[shape,coords,href,target,alt,title];map[name];img[usemap];*[class,style]";')
// Activate the editor
- ->addInlineJavascript('jQuery(".html-edit").ckeditor(function(config){config.removePlugins = "forms";}, {
+ ->addInlineJavascript('$(".html-edit").ckeditor(function(config){config.removePlugins = "forms";}, {
language: "' . strtolower(WT_LOCALE) . '"
});');
}
diff --git a/app/Module/DescendancyModule.php b/app/Module/DescendancyModule.php
index 01a005eac4..635fc0c91c 100644
--- a/app/Module/DescendancyModule.php
+++ b/app/Module/DescendancyModule.php
@@ -91,22 +91,22 @@ class DescendancyModule extends AbstractModule implements ModuleSidebarInterface
$controller->addInlineJavascript('
function dsearchQ() {
- var query = jQuery("#sb_desc_name").val();
+ var query = $("#sb_desc_name").val();
if (query.length>1) {
- jQuery("#sb_desc_content").load("module.php?mod=' . $this->getName() . '&mod_action=search&search="+query);
+ $("#sb_desc_content").load("module.php?mod=' . $this->getName() . '&mod_action=search&search="+query);
}
}
- jQuery("#sb_desc_name").focus(function(){this.select();});
- jQuery("#sb_desc_name").blur(function(){if (this.value=="") this.value="' . I18N::translate('Search') . '";});
+ $("#sb_desc_name").focus(function(){this.select();});
+ $("#sb_desc_name").blur(function(){if (this.value=="") this.value="' . I18N::translate('Search') . '";});
var dtimerid = null;
- jQuery("#sb_desc_name").keyup(function(e) {
+ $("#sb_desc_name").keyup(function(e) {
if (dtimerid) window.clearTimeout(dtimerid);
dtimerid = window.setTimeout("dsearchQ()", 500);
});
- jQuery("#sb_desc_content").on("click", ".sb_desc_indi", function() {
- var self = jQuery(this),
+ $("#sb_desc_content").on("click", ".sb_desc_indi", function() {
+ var self = $(this),
state = self.children(".plusminus"),
target = self.siblings("div");
if(state.hasClass("icon-plus")) {
diff --git a/app/Module/FamiliesSidebarModule.php b/app/Module/FamiliesSidebarModule.php
index c7de2bac90..cdfd00f3b4 100644
--- a/app/Module/FamiliesSidebarModule.php
+++ b/app/Module/FamiliesSidebarModule.php
@@ -99,23 +99,23 @@ class FamiliesSidebarModule extends AbstractModule implements ModuleSidebarInter
var famloadedNames = new Array();
function fsearchQ() {
- var query = jQuery("#sb_fam_name").val();
+ var query = $("#sb_fam_name").val();
if (query.length>1) {
- jQuery("#sb_fam_content").load("module.php?mod=' . $this->getName() . '&mod_action=ajax&search="+query);
+ $("#sb_fam_content").load("module.php?mod=' . $this->getName() . '&mod_action=ajax&search="+query);
}
}
var famtimerid = null;
- jQuery("#sb_fam_name").keyup(function(e) {
+ $("#sb_fam_name").keyup(function(e) {
if (famtimerid) window.clearTimeout(famtimerid);
famtimerid = window.setTimeout("fsearchQ()", 500);
});
- jQuery("#sb_content_families").on("click", ".sb_fam_letter", function() {
- jQuery("#sb_fam_content").load(this.href);
+ $("#sb_content_families").on("click", ".sb_fam_letter", function() {
+ $("#sb_fam_content").load(this.href);
return false;
});
- jQuery("#sb_content_families").on("click", ".sb_fam_surname", function() {
- var element = jQuery(this);
+ $("#sb_content_families").on("click", ".sb_fam_surname", function() {
+ var element = $(this);
var surname = element.data("surname");
var alpha = element.data("alpha");
@@ -124,7 +124,7 @@ class FamiliesSidebarModule extends AbstractModule implements ModuleSidebarInter
url: "module.php?mod=' . $this->getName() . '&mod_action=ajax&alpha=" + encodeURIComponent(alpha) + "&surname=" + encodeURIComponent(surname),
cache: false,
success: function(html) {
- jQuery("div.name_tree_div", element.closest("li"))
+ $("div.name_tree_div", element.closest("li"))
.html(html)
.show("fast")
.css("list-style-image", "url(' . Theme::theme()->parameter('image-minus') . ')");
@@ -133,12 +133,12 @@ class FamiliesSidebarModule extends AbstractModule implements ModuleSidebarInter
});
} else if (famloadedNames[surname]==1) {
famloadedNames[surname]=2;
- jQuery("div.name_tree_div", jQuery(this).closest("li"))
+ $("div.name_tree_div", $(this).closest("li"))
.show()
.css("list-style-image", "url(' . Theme::theme()->parameter('image-minus') . ')");
} else {
famloadedNames[surname]=1;
- jQuery("div.name_tree_div", jQuery(this).closest("li"))
+ $("div.name_tree_div", $(this).closest("li"))
.hide("fast")
.css("list-style-image", "url(' . Theme::theme()->parameter('image-plus') . ')");
}
diff --git a/app/Module/FamilyNavigatorModule.php b/app/Module/FamilyNavigatorModule.php
index f9374a5d83..ea6ccf1f99 100644
--- a/app/Module/FamilyNavigatorModule.php
+++ b/app/Module/FamilyNavigatorModule.php
@@ -63,12 +63,12 @@ class FamilyNavigatorModule extends AbstractModule implements ModuleSidebarInter
global $controller;
$controller->addInlineJavascript('
- jQuery("#sb_family_nav_content")
+ $("#sb_family_nav_content")
.on("click", ".flyout a", function() {
return false;
})
.on("click", ".flyout3", function() {
- window.location.href = jQuery(this).data("href");
+ window.location.href = $(this).data("href");
return false;
});
');
@@ -116,8 +116,8 @@ class FamilyNavigatorModule extends AbstractModule implements ModuleSidebarInter
?>
<tr>
<td class="center" colspan="2">
- <a class="famnav_title" href="<?php echo $family->getHtmlUrl(); ?>">
- <?php echo $title; ?>
+ <a class="famnav_title" href="<?= $family->getHtmlUrl() ?>">
+ <?= $title ?>
</a>
</td>
</tr>
@@ -129,19 +129,19 @@ class FamilyNavigatorModule extends AbstractModule implements ModuleSidebarInter
?>
<tr>
<td class="facts_label">
- <?php echo $menu->getMenu(); ?>
+ <?= $menu->getMenu() ?>
</td>
- <td class="center <?php echo $controller->getPersonStyle($spouse); ?> nam">
+ <td class="center <?= $controller->getPersonStyle($spouse) ?> nam">
<?php if ($spouse->canShow()): ?>
- <a class="famnav_link" href="<?php echo $spouse->getHtmlUrl(); ?>">
- <?php echo $spouse->getFullName(); ?>
+ <a class="famnav_link" href="<?= $spouse->getHtmlUrl() ?>">
+ <?= $spouse->getFullName() ?>
</a>
<div class="font9">
- <?php echo $spouse->getLifeSpan(); ?>
+ <?= $spouse->getLifeSpan() ?>
</div>
<?php else: ?>
- <?php echo $spouse->getFullName(); ?>
- <?php endif; ?>
+ <?= $spouse->getFullName() ?>
+ <?php endif ?>
</td>
</tr>
<?php
@@ -154,19 +154,19 @@ class FamilyNavigatorModule extends AbstractModule implements ModuleSidebarInter
?>
<tr>
<td class="facts_label">
- <?php echo $menu->getMenu(); ?>
+ <?= $menu->getMenu() ?>
</td>
- <td class="center <?php echo $controller->getPersonStyle($child); ?> nam">
+ <td class="center <?= $controller->getPersonStyle($child) ?> nam">
<?php if ($child->canShow()): ?>
- <a class="famnav_link" href="<?php echo $child->getHtmlUrl(); ?>">
- <?php echo $child->getFullName(); ?>
+ <a class="famnav_link" href="<?= $child->getHtmlUrl() ?>">
+ <?= $child->getFullName() ?>
</a>
<div class="font9">
- <?php echo $child->getLifeSpan(); ?>
+ <?= $child->getLifeSpan() ?>
</div>
<?php else: ?>
- <?php echo $child->getFullName(); ?>
- <?php endif; ?>
+ <?= $child->getFullName() ?>
+ <?php endif ?>
</td>
</tr>
<?php
diff --git a/app/Module/FamilyTreeFavoritesModule.php b/app/Module/FamilyTreeFavoritesModule.php
index 9d5e6d5dd3..bdd55c805f 100644
--- a/app/Module/FamilyTreeFavoritesModule.php
+++ b/app/Module/FamilyTreeFavoritesModule.php
@@ -203,12 +203,12 @@ class FamilyTreeFavoritesModule extends AbstractModule implements ModuleBlockInt
$content .= '<a href="#" onclick="return expand_layer(\'add_fav' . $uniqueID . '\');">' . I18N::translate('Add a favorite') . '<i id="add_fav' . $uniqueID . '_img" class="icon-plus"></i></a>';
$content .= '</div>';
$content .= '<div id="add_fav' . $uniqueID . '" style="display: none;">';
- $content .= '<form name="addfavform" method="get" action="index.php">';
+ $content .= '<form name="addfavform" action="index.php">';
$content .= '<input type="hidden" name="action" value="addfav">';
$content .= '<input type="hidden" name="ctype" value="' . $ctype . '">';
$content .= '<input type="hidden" name="ged" value="' . $WT_TREE->getNameHtml() . '">';
$content .= '<div class="add_fav_ref">';
- $content .= '<input type="radio" name="fav_category" value="record" checked onclick="jQuery(\'#gid' . $uniqueID . '\').removeAttr(\'disabled\'); jQuery(\'#url, #favtitle\').attr(\'disabled\',\'disabled\').val(\'\');">';
+ $content .= '<input type="radio" name="fav_category" value="record" checked onclick="$(\'#gid' . $uniqueID . '\').removeAttr(\'disabled\'); $(\'#url, #favtitle\').attr(\'disabled\',\'disabled\').val(\'\');">';
$content .= '<label for="gid' . $uniqueID . '">' . I18N::translate('Enter an individual, family, or source ID') . '</label>';
$content .= '<input class="pedigree_form" data-autocomplete-type="IFSRO" type="text" name="gid" id="gid' . $uniqueID . '" size="5" value="">';
$content .= ' ' . FunctionsPrint::printFindIndividualLink('gid' . $uniqueID);
@@ -219,7 +219,7 @@ class FamilyTreeFavoritesModule extends AbstractModule implements ModuleBlockInt
$content .= ' ' . FunctionsPrint::printFindMediaLink('gid' . $uniqueID);
$content .= '</div>';
$content .= '<div class="add_fav_url">';
- $content .= '<input type="radio" name="fav_category" value="url" onclick="jQuery(\'#url, #favtitle\').removeAttr(\'disabled\'); jQuery(\'#gid' . $uniqueID . '\').attr(\'disabled\',\'disabled\').val(\'\');">';
+ $content .= '<input type="radio" name="fav_category" value="url" onclick="$(\'#url, #favtitle\').removeAttr(\'disabled\'); $(\'#gid' . $uniqueID . '\').attr(\'disabled\',\'disabled\').val(\'\');">';
$content .= '<input type="text" name="url" id="url" size="20" value="" placeholder="' . GedcomTag::getLabel('URL') . '" disabled> ';
$content .= '<input type="text" name="favtitle" id="favtitle" size="20" value="" placeholder="' . I18N::translate('Title') . '" disabled>';
$content .= '<p>' . I18N::translate('Enter an optional note about this favorite') . '</p>';
diff --git a/app/Module/FamilyTreeNewsModule.php b/app/Module/FamilyTreeNewsModule.php
index 2c035a2d7e..542915991f 100644
--- a/app/Module/FamilyTreeNewsModule.php
+++ b/app/Module/FamilyTreeNewsModule.php
@@ -134,7 +134,7 @@ class FamilyTreeNewsModule extends AbstractModule implements ModuleBlockInterfac
if (Auth::isManager($WT_TREE)) {
$content .= ' | ';
}
- $content .= '<a href="#" onclick="jQuery(\'#' . $id . '\').load(\'index.php?ctype=gedcom&amp;ged=' . $WT_TREE->getNameUrl() . '&amp;block_id=' . $block_id . '&amp;action=ajax&amp;more_news=' . ($more_news + 1) . '\'); return false;">' . I18N::translate('More news articles') . '</a>';
+ $content .= '<a href="#" onclick="$(\'#' . $id . '\').load(\'index.php?ctype=gedcom&amp;ged=' . $WT_TREE->getNameUrl() . '&amp;block_id=' . $block_id . '&amp;action=ajax&amp;more_news=' . ($more_news + 1) . '\'); return false;">' . I18N::translate('More news articles') . '</a>';
}
if ($template) {
diff --git a/app/Module/FamilyTreeStatisticsModule.php b/app/Module/FamilyTreeStatisticsModule.php
index 00309f6df6..559e0b1a7f 100644
--- a/app/Module/FamilyTreeStatisticsModule.php
+++ b/app/Module/FamilyTreeStatisticsModule.php
@@ -293,16 +293,16 @@ class FamilyTreeStatisticsModule extends AbstractModule implements ModuleBlockIn
<tr>
<td class="descriptionbox wrap width33">
<label for="show-last-update">
- <?php echo /* I18N: label for yes/no option */ I18N::translate('Show date of last update') ?>
+ <?= /* I18N: label for yes/no option */ I18N::translate('Show date of last update') ?>
</label>
</td>
<td class="optionbox">
- <input type="checkbox" value="yes" id="show-last-update" name="show_last_update" <?php echo $show_last_update ? 'checked' : ''; ?>>
+ <input type="checkbox" value="yes" id="show-last-update" name="show_last_update" <?= $show_last_update ? 'checked' : '' ?>>
</td>
</tr>
<tr>
<td class="descriptionbox wrap width33">
- <?php echo I18N::translate('Statistics'); ?>
+ <?= I18N::translate('Statistics') ?>
</td>
<td class="optionbox">
<table>
@@ -310,112 +310,112 @@ class FamilyTreeStatisticsModule extends AbstractModule implements ModuleBlockIn
<tr>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_indi" <?php echo $stat_indi ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Individuals'); ?>
+ <input type="checkbox" value="yes" name="stat_indi" <?= $stat_indi ? 'checked' : '' ?>>
+ <?= I18N::translate('Individuals') ?>
</label>
</td>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_first_birth" <?php echo $stat_first_birth ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Earliest birth year'); ?>
+ <input type="checkbox" value="yes" name="stat_first_birth" <?= $stat_first_birth ? 'checked' : '' ?>>
+ <?= I18N::translate('Earliest birth year') ?>
</label>
</td>
</tr>
<tr>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_surname" <?php echo $stat_surname ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Total surnames'); ?>
+ <input type="checkbox" value="yes" name="stat_surname" <?= $stat_surname ? 'checked' : '' ?>>
+ <?= I18N::translate('Total surnames') ?>
</label>
</td>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_last_birth" <?php echo $stat_last_birth ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Latest birth year'); ?>
+ <input type="checkbox" value="yes" name="stat_last_birth" <?= $stat_last_birth ? 'checked' : '' ?>>
+ <?= I18N::translate('Latest birth year') ?>
</label>
</td>
</tr>
<tr>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_fam" <?php echo $stat_fam ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Families'); ?>
+ <input type="checkbox" value="yes" name="stat_fam" <?= $stat_fam ? 'checked' : '' ?>>
+ <?= I18N::translate('Families') ?>
</label>
</td>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_first_death" <?php echo $stat_first_death ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Earliest death year'); ?>
+ <input type="checkbox" value="yes" name="stat_first_death" <?= $stat_first_death ? 'checked' : '' ?>>
+ <?= I18N::translate('Earliest death year') ?>
</label>
</td>
</tr>
<tr>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_sour" <?php echo $stat_sour ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Sources'); ?>
+ <input type="checkbox" value="yes" name="stat_sour" <?= $stat_sour ? 'checked' : '' ?>>
+ <?= I18N::translate('Sources') ?>
</label>
</td>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_last_death" <?php echo $stat_last_death ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Latest death year'); ?>
+ <input type="checkbox" value="yes" name="stat_last_death" <?= $stat_last_death ? 'checked' : '' ?>>
+ <?= I18N::translate('Latest death year') ?>
</label>
</td>
</tr>
<tr>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_media" <?php echo $stat_media ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Media objects'); ?>
+ <input type="checkbox" value="yes" name="stat_media" <?= $stat_media ? 'checked' : '' ?>>
+ <?= I18N::translate('Media objects') ?>
</label>
</td>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_long_life" <?php echo $stat_long_life ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Individual who lived the longest'); ?>
+ <input type="checkbox" value="yes" name="stat_long_life" <?= $stat_long_life ? 'checked' : '' ?>>
+ <?= I18N::translate('Individual who lived the longest') ?>
</label>
</td>
</tr>
<tr>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_repo" <?php echo $stat_repo ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Repositories'); ?>
+ <input type="checkbox" value="yes" name="stat_repo" <?= $stat_repo ? 'checked' : '' ?>>
+ <?= I18N::translate('Repositories') ?>
</label>
</td>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_avg_life" <?php echo $stat_avg_life ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Average age at death'); ?>
+ <input type="checkbox" value="yes" name="stat_avg_life" <?= $stat_avg_life ? 'checked' : '' ?>>
+ <?= I18N::translate('Average age at death') ?>
</label>
</td>
</tr>
<tr>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_events" <?php echo $stat_events ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Total events'); ?>
+ <input type="checkbox" value="yes" name="stat_events" <?= $stat_events ? 'checked' : '' ?>>
+ <?= I18N::translate('Total events') ?>
</label>
</td>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_most_chil" <?php echo $stat_most_chil ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Family with the most children'); ?>
+ <input type="checkbox" value="yes" name="stat_most_chil" <?= $stat_most_chil ? 'checked' : '' ?>>
+ <?= I18N::translate('Family with the most children') ?>
</label>
</td>
</tr>
<tr>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_users" <?php echo $stat_users ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Total users'); ?>
+ <input type="checkbox" value="yes" name="stat_users" <?= $stat_users ? 'checked' : '' ?>>
+ <?= I18N::translate('Total users') ?>
</label>
</td>
<td>
<label>
- <input type="checkbox" value="yes" name="stat_avg_chil" <?php echo $stat_avg_chil ? 'checked' : ''; ?>>
- <?php echo I18N::translate('Average number of children per family'); ?>
+ <input type="checkbox" value="yes" name="stat_avg_chil" <?= $stat_avg_chil ? 'checked' : '' ?>>
+ <?= I18N::translate('Average number of children per family') ?>
</label>
</td>
</tr>
@@ -426,17 +426,17 @@ class FamilyTreeStatisticsModule extends AbstractModule implements ModuleBlockIn
<tr>
<td class="descriptionbox wrap width33">
<label for="show-common-surnames">
- <?php echo I18N::translate('Most common surnames') ?>
+ <?= I18N::translate('Most common surnames') ?>
</label>
</td>
<td class="optionbox">
- <input type="checkbox" value="yes" id="show-common-surnames" name="show_common_surnames" <?php echo $show_common_surnames ? 'checked' : ''; ?>>
+ <input type="checkbox" value="yes" id="show-common-surnames" name="show_common_surnames" <?= $show_common_surnames ? 'checked' : '' ?>>
</td>
</tr>
<tr>
<td class="descriptionbox wrap width33">
<label for="number-of-surnames">
- <?php echo /* I18N: ... to show in a list */ I18N::translate('Number of surnames') ?>
+ <?= /* I18N: ... to show in a list */ I18N::translate('Number of surnames') ?>
</label>
</td>
<td class="optionbox">
@@ -447,7 +447,7 @@ class FamilyTreeStatisticsModule extends AbstractModule implements ModuleBlockIn
pattern="[1-9][0-9]*"
required
type="text"
- value="<?php echo Filter::escapeHtml($number_of_surnames); ?>"
+ value="<?= Filter::escapeHtml($number_of_surnames) ?>"
>
</td>
</tr>
diff --git a/app/Module/FrequentlyAskedQuestionsModule.php b/app/Module/FrequentlyAskedQuestionsModule.php
index b444163234..2eb78074d7 100644
--- a/app/Module/FrequentlyAskedQuestionsModule.php
+++ b/app/Module/FrequentlyAskedQuestionsModule.php
@@ -172,55 +172,54 @@ class FrequentlyAskedQuestionsModule extends AbstractModule implements ModuleMen
<div class="form-group">
<label for="header" class="col-sm-3 control-label">
- <?php echo I18N::translate('Question'); ?>
+ <?= I18N::translate('Question') ?>
</label>
<div class="col-sm-9">
<input type="text" class="form-control" name="header" id="header"
- value="<?php echo Filter::escapeHtml($header); ?>">
+ value="<?= Filter::escapeHtml($header) ?>">
</div>
</div>
<div class="form-group">
<label for="faqbody" class="col-sm-3 control-label">
- <?php echo I18N::translate('Answer'); ?>
+ <?= I18N::translate('Answer') ?>
</label>
<div class="col-sm-9">
- <textarea name="faqbody" id="faqbody" class="form-control html-edit"
- rows="10"><?php echo Filter::escapeHtml($faqbody); ?></textarea>
+ <textarea name="faqbody" id="faqbody" class="form-control html-edit" rows="10"><?= Filter::escapeHtml($faqbody) ?></textarea>
</div>
</div>
<div class="form-group">
<label for="xref" class="col-sm-3 control-label">
- <?php echo /* I18N: Label for a configuration option */ I18N::translate('Show this block for which languages'); ?>
+ <?= /* I18N: Label for a configuration option */ I18N::translate('Show this block for which languages') ?>
</label>
<div class="col-sm-9">
- <?php echo FunctionsEdit::editLanguageCheckboxes('lang', explode(',', $this->getBlockSetting($block_id, 'languages'))); ?>
+ <?= FunctionsEdit::editLanguageCheckboxes('lang', explode(',', $this->getBlockSetting($block_id, 'languages'))) ?>
</div>
</div>
<div class="form-group">
<label for="block_order" class="col-sm-3 control-label">
- <?php echo I18N::translate('Sort order'); ?>
+ <?= I18N::translate('Sort order') ?>
</label>
<div class="col-sm-9">
- <input type="text" name="block_order" id="block_order" class="form-control" value="<?php echo $block_order; ?>">
+ <input type="text" name="block_order" id="block_order" class="form-control" value="<?= $block_order ?>">
</div>
</div>
<div class="form-group">
<label for="gedcom_id" class="col-sm-3 control-label">
- <?php echo I18N::translate('Family tree'); ?>
+ <?= I18N::translate('Family tree') ?>
</label>
<div class="col-sm-9">
<?php echo FunctionsEdit::selectEditControl('gedcom_id', Tree::getIdList(), I18N::translate('All'), $gedcom_id, 'class="form-control"'); ?>
<p class="small text-muted">
- <?php echo /* I18N: FAQ = “Frequently Asked Question” */ I18N::translate('An FAQ can be displayed on just one of the family trees, or on all the family trees.'); ?>
+ <?= /* I18N: FAQ = “Frequently Asked Question” */ I18N::translate('An FAQ can be displayed on just one of the family trees, or on all the family trees.') ?>
</p>
</div>
</div>
@@ -229,7 +228,7 @@ class FrequentlyAskedQuestionsModule extends AbstractModule implements ModuleMen
<div class="col-sm-offset-3 col-sm-9">
<button type="submit" class="btn btn-primary">
<i class="fa fa-check"></i>
- <?php echo I18N::translate('save'); ?>
+ <?= I18N::translate('save') ?>
</button>
</div>
</div>
@@ -441,26 +440,26 @@ class FrequentlyAskedQuestionsModule extends AbstractModule implements ModuleMen
</ol>
<h2><?php echo $controller->getPageTitle(); ?></h2>
<p>
- <?php echo /* I18N: FAQ = “Frequently Asked Question” */ I18N::translate('FAQs are lists of questions and answers, which allow you to explain the site’s rules, policies, and procedures to your visitors. Questions are typically concerned with privacy, copyright, user-accounts, unsuitable content, requirement for source-citations, etc.'); ?>
- <?php echo I18N::translate('You may use HTML to format the answer and to add links to other websites.'); ?>
+ <?= /* I18N: FAQ = “Frequently Asked Question” */ I18N::translate('FAQs are lists of questions and answers, which allow you to explain the site’s rules, policies, and procedures to your visitors. Questions are typically concerned with privacy, copyright, user-accounts, unsuitable content, requirement for source-citations, etc.') ?>
+ <?= I18N::translate('You may use HTML to format the answer and to add links to other websites.') ?>
</p>
<p>
<form class="form form-inline">
<label for="ged" class="sr-only">
- <?php echo I18N::translate('Family tree'); ?>
+ <?= I18N::translate('Family tree') ?>
</label>
- <input type="hidden" name="mod" value="<?php echo $this->getName(); ?>">
+ <input type="hidden" name="mod" value="<?= $this->getName() ?>">
<input type="hidden" name="mod_action" value="admin_config">
<?php echo FunctionsEdit::selectEditControl('ged', Tree::getNameList(), null, $WT_TREE->getName(), 'class="form-control"'); ?>
- <input type="submit" class="btn btn-primary" value="<?php echo I18N::translate('show'); ?>">
+ <input type="submit" class="btn btn-primary" value="<?= I18N::translate('show') ?>">
</form>
</p>
<p>
- <a href="module.php?mod=<?php echo $this->getName(); ?>&amp;mod_action=admin_edit" class="btn btn-default">
+ <a href="module.php?mod=<?= $this->getName() ?>&amp;mod_action=admin_edit" class="btn btn-default">
<i class="fa fa-plus"></i>
- <?php echo /* I18N: FAQ = “Frequently Asked Question” */ I18N::translate('Add an FAQ'); ?>
+ <?= /* I18N: FAQ = “Frequently Asked Question” */ I18N::translate('Add an FAQ') ?>
</a>
</p>