@@ -287,7 +287,7 @@ discard block |
||
| 287 | 287 | } |
| 288 | 288 | // Don't sublists short lists. |
| 289 | 289 | if ($count < $tree->getPreference('SUBLIST_TRIGGER_I')) { |
| 290 | - $falpha = ''; |
|
| 290 | + $falpha = ''; |
|
| 291 | 291 | } else { |
| 292 | 292 | $givn_initials = $this->givenAlpha($surname, $alpha, $show_marnm === 'yes', $families); |
| 293 | 293 | // Break long lists by initial letter of given name |
@@ -508,7 +508,7 @@ discard block |
||
| 508 | 508 | */ |
| 509 | 509 | private function allMedia(Tree $tree, string $folder, string $subfolders, string $sort, string $filter, string $form_type): array { |
| 510 | 510 | // All files in the folder, plus external files |
| 511 | - $sql = |
|
| 511 | + $sql = |
|
| 512 | 512 | "SELECT m_id AS xref, m_gedcom AS gedcom" . |
| 513 | 513 | " FROM `##media`" . |
| 514 | 514 | " JOIN `##media_file` USING (m_id, m_file)" . |
@@ -527,11 +527,11 @@ discard block |
||
| 527 | 527 | // Include / exclude subfolders (but always include external) |
| 528 | 528 | switch ($subfolders) { |
| 529 | 529 | case 'include': |
| 530 | - $sql .= " AND (multimedia_file_refn LIKE CONCAT(?, '%') $sql_external)"; |
|
| 530 | + $sql .= " AND (multimedia_file_refn LIKE CONCAT(?, '%') $sql_external)"; |
|
| 531 | 531 | $args[] = Database::escapeLike($folder); |
| 532 | 532 | break; |
| 533 | 533 | case 'exclude': |
| 534 | - $sql .= " AND (multimedia_file_refn LIKE CONCAT(?, '%') AND multimedia_file_refn NOT LIKE CONCAT(?, '%/%') $sql_external)"; |
|
| 534 | + $sql .= " AND (multimedia_file_refn LIKE CONCAT(?, '%') AND multimedia_file_refn NOT LIKE CONCAT(?, '%/%') $sql_external)"; |
|
| 535 | 535 | $args[] = Database::escapeLike($folder); |
| 536 | 536 | $args[] = Database::escapeLike($folder); |
| 537 | 537 | break; |
@@ -539,13 +539,13 @@ discard block |
||
| 539 | 539 | |
| 540 | 540 | // Apply search terms |
| 541 | 541 | if ($filter) { |
| 542 | - $sql .= " AND (SUBSTRING_INDEX(multimedia_file_refn, '/', -1) LIKE CONCAT('%', ?, '%') OR descriptive_title LIKE CONCAT('%', ?, '%'))"; |
|
| 542 | + $sql .= " AND (SUBSTRING_INDEX(multimedia_file_refn, '/', -1) LIKE CONCAT('%', ?, '%') OR descriptive_title LIKE CONCAT('%', ?, '%'))"; |
|
| 543 | 543 | $args[] = Database::escapeLike($filter); |
| 544 | 544 | $args[] = Database::escapeLike($filter); |
| 545 | 545 | } |
| 546 | 546 | |
| 547 | 547 | if ($form_type) { |
| 548 | - $sql .= " AND source_media_type = ?"; |
|
| 548 | + $sql .= " AND source_media_type = ?"; |
|
| 549 | 549 | $args[] = $form_type; |
| 550 | 550 | } |
| 551 | 551 | |
@@ -1457,7 +1457,7 @@ discard block |
||
| 1457 | 1457 | ]; |
| 1458 | 1458 | |
| 1459 | 1459 | foreach ($this->getAlphabetForLocale(WT_LOCALE) as $n => $letter) { |
| 1460 | - $sql .= " AND n_surn COLLATE :collate_" . $n . " NOT LIKE :letter_" . $n; |
|
| 1460 | + $sql .= " AND n_surn COLLATE :collate_" . $n . " NOT LIKE :letter_" . $n; |
|
| 1461 | 1461 | $args['collate_' . $n] = I18N::collation(); |
| 1462 | 1462 | $args['letter_' . $n] = $letter . '%'; |
| 1463 | 1463 | } |
@@ -1542,7 +1542,7 @@ discard block |
||
| 1542 | 1542 | ]; |
| 1543 | 1543 | |
| 1544 | 1544 | if ($surn) { |
| 1545 | - $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
| 1545 | + $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
| 1546 | 1546 | $args['collate_1'] = I18N::collation(); |
| 1547 | 1547 | $args['surn'] = $surn; |
| 1548 | 1548 | } elseif ($salpha === ',') { |
@@ -1593,7 +1593,7 @@ discard block |
||
| 1593 | 1593 | ]; |
| 1594 | 1594 | |
| 1595 | 1595 | if ($surn) { |
| 1596 | - $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
| 1596 | + $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
| 1597 | 1597 | $args['collate_1'] = I18N::collation(); |
| 1598 | 1598 | $args['surn'] = $surn; |
| 1599 | 1599 | } elseif ($salpha === ',') { |
@@ -1606,7 +1606,7 @@ discard block |
||
| 1606 | 1606 | // All surnames |
| 1607 | 1607 | $sql .= " AND n_surn NOT IN ('', '@N.N.')"; |
| 1608 | 1608 | } |
| 1609 | - $sql .= " GROUP BY n_surn COLLATE :collate_2, n_file) AS n2 ON (n1.n_surn = n2.n_surn COLLATE :collate_3 AND n1.n_file = n2.n_file)"; |
|
| 1609 | + $sql .= " GROUP BY n_surn COLLATE :collate_2, n_file) AS n2 ON (n1.n_surn = n2.n_surn COLLATE :collate_3 AND n1.n_file = n2.n_file)"; |
|
| 1610 | 1610 | $args['collate_2'] = I18N::collation(); |
| 1611 | 1611 | $args['collate_3'] = I18N::collation(); |
| 1612 | 1612 | |
@@ -1646,7 +1646,7 @@ discard block |
||
| 1646 | 1646 | ]; |
| 1647 | 1647 | |
| 1648 | 1648 | if ($surn) { |
| 1649 | - $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
| 1649 | + $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
| 1650 | 1650 | $args['collate_1'] = I18N::collation(); |
| 1651 | 1651 | $args['surn'] = $surn; |
| 1652 | 1652 | } elseif ($salpha === ',') { |
@@ -1663,7 +1663,7 @@ discard block |
||
| 1663 | 1663 | $sql .= " AND " . $this->getInitialSql('n_givn', $galpha); |
| 1664 | 1664 | } |
| 1665 | 1665 | |
| 1666 | - $sql .= " ORDER BY CASE n_surn WHEN '@N.N.' THEN 1 ELSE 0 END, n_surn COLLATE :collate_2, CASE n_givn WHEN '@P.N.' THEN 1 ELSE 0 END, n_givn COLLATE :collate_3"; |
|
| 1666 | + $sql .= " ORDER BY CASE n_surn WHEN '@N.N.' THEN 1 ELSE 0 END, n_surn COLLATE :collate_2, CASE n_givn WHEN '@P.N.' THEN 1 ELSE 0 END, n_givn COLLATE :collate_3"; |
|
| 1667 | 1667 | $args['collate_2'] = I18N::collation(); |
| 1668 | 1668 | $args['collate_3'] = I18N::collation(); |
| 1669 | 1669 | |
@@ -105,7 +105,7 @@ discard block |
||
| 105 | 105 | $recursion = (int) $request->get('recursion', '0'); |
| 106 | 106 | $ancestors = (bool) $request->get('ancestors', '0'); |
| 107 | 107 | |
| 108 | - $max_recursion = (int) $tree->getPreference('RELATIONSHIP_RECURSION', RelationshipsChartModule::DEFAULT_RECURSION); |
|
| 108 | + $max_recursion = (int) $tree->getPreference('RELATIONSHIP_RECURSION', RelationshipsChartModule::DEFAULT_RECURSION); |
|
| 109 | 109 | |
| 110 | 110 | $recursion = min($recursion, $max_recursion); |
| 111 | 111 | |
@@ -153,14 +153,14 @@ discard block |
||
| 153 | 153 | case 'sis': |
| 154 | 154 | case 'sib': |
| 155 | 155 | $table[$x + 1][$y] = '<div style="background:url(' . Theme::theme()->parameter('image-hline') . ') repeat-x center; width: 94px; text-align: center"><div class="hline-text" style="height: 32px;">' . Functions::getRelationshipNameFromPath($relationships[$n], Individual::getInstance($path[$n - 1], $tree), Individual::getInstance($path[$n + 1], $tree)) . '</div><div style="height: 32px;">' . FontAwesome::decorativeIcon('arrow-end') . '</div></div>'; |
| 156 | - $x += 2; |
|
| 156 | + $x += 2; |
|
| 157 | 157 | break; |
| 158 | 158 | case 'son': |
| 159 | 159 | case 'dau': |
| 160 | 160 | case 'chi': |
| 161 | 161 | if ($n > 2 && preg_match('/fat|mot|par/', $relationships[$n - 2])) { |
| 162 | 162 | $table[$x + 1][$y - 1] = '<div style="background:url(' . $diagonal2 . '); width: 64px; height: 64px; text-align: center;"><div style="height: 32px; text-align: end;">' . Functions::getRelationshipNameFromPath($relationships[$n], Individual::getInstance($path[$n - 1], $tree), Individual::getInstance($path[$n + 1], $tree)) . '</div><div style="height: 32px; text-align: start;">' . FontAwesome::decorativeIcon('arrow-down') . '</div></div>'; |
| 163 | - $x += 2; |
|
| 163 | + $x += 2; |
|
| 164 | 164 | } else { |
| 165 | 165 | $table[$x][$y - 1] = '<div style="background:url(' . Theme::theme() |
| 166 | 166 | ->parameter('image-vline') . ') repeat-y center; height: 64px; text-align: center;"><div class="vline-text" style="display: inline-block; width:50%; line-height: 64px;">' . Functions::getRelationshipNameFromPath($relationships[$n], Individual::getInstance($path[$n - 1], $tree), Individual::getInstance($path[$n + 1], $tree)) . '</div><div style="display: inline-block; width:50%; line-height: 64px;">' . FontAwesome::decorativeIcon('arrow-down') . '</div></div>'; |
@@ -172,7 +172,7 @@ discard block |
||
| 172 | 172 | case 'par': |
| 173 | 173 | if ($n > 2 && preg_match('/son|dau|chi/', $relationships[$n - 2])) { |
| 174 | 174 | $table[$x + 1][$y + 1] = '<div style="background:url(' . $diagonal1 . '); background-position: top right; width: 64px; height: 64px; text-align: center;"><div style="height: 32px; text-align: start;">' . Functions::getRelationshipNameFromPath($relationships[$n], Individual::getInstance($path[$n - 1], $tree), Individual::getInstance($path[$n + 1], $tree)) . '</div><div style="height: 32px; text-align: end;">' . FontAwesome::decorativeIcon('arrow-down') . '</div></div>'; |
| 175 | - $x += 2; |
|
| 175 | + $x += 2; |
|
| 176 | 176 | } else { |
| 177 | 177 | $table[$x][$y + 1] = '<div style="background:url(' . Theme::theme() |
| 178 | 178 | ->parameter('image-vline') . ') repeat-y center; height: 64px; text-align:center; "><div class="vline-text" style="display: inline-block; width: 50%; line-height: 32px;">' . Functions::getRelationshipNameFromPath($relationships[$n], Individual::getInstance($path[$n - 1], $tree), Individual::getInstance($path[$n + 1], $tree)) . '</div><div style="display: inline-block; width: 50%; line-height: 32px">' . FontAwesome::decorativeIcon('arrow-up') . '</div></div>'; |
@@ -10,13 +10,13 @@ |
||
| 10 | 10 | |
| 11 | 11 | <?php if ($media->isPendingDeletion()): ?> |
| 12 | 12 | <?php if (Auth::isModerator($media->getTree())): ?> |
| 13 | - <?= view('alerts/warning-dissmissible', ['alert' => /* I18N: %1$s is “accept”, %2$s is “reject”. These are links. */ I18N::translate( 'This media object has been deleted. You should review the deletion and then %1$s or %2$s it.', '<a href="#" class="alert-link" onclick="accept_changes(\'' . e($media->getXref()) . '\', \'' . e($media->getTree()->getName()) . '\');">' . I18N::translateContext('You should review the deletion and then accept or reject it.', 'accept') . '</a>', '<a href="#" class="alert-link" onclick="reject_changes(\'' . e($media->getXref()) . '\', \'' . e($media->getTree()->getName()) . '\');">' . I18N::translateContext('You should review the deletion and then accept or reject it.', 'reject') . '</a>') . ' ' . FunctionsPrint::helpLink('pending_changes')]) ?> |
|
| 13 | + <?= view('alerts/warning-dissmissible', ['alert' => /* I18N: %1$s is “accept”, %2$s is “reject”. These are links. */ I18N::translate('This media object has been deleted. You should review the deletion and then %1$s or %2$s it.', '<a href="#" class="alert-link" onclick="accept_changes(\'' . e($media->getXref()) . '\', \'' . e($media->getTree()->getName()) . '\');">' . I18N::translateContext('You should review the deletion and then accept or reject it.', 'accept') . '</a>', '<a href="#" class="alert-link" onclick="reject_changes(\'' . e($media->getXref()) . '\', \'' . e($media->getTree()->getName()) . '\');">' . I18N::translateContext('You should review the deletion and then accept or reject it.', 'reject') . '</a>') . ' ' . FunctionsPrint::helpLink('pending_changes')]) ?> |
|
| 14 | 14 | <?php elseif (Auth::isEditor($media->getTree())): ?> |
| 15 | 15 | <?= view('alerts/warning-dissmissible', ['alert' => I18N::translate('This media object has been deleted. The deletion will need to be reviewed by a moderator.') . ' ' . FunctionsPrint::helpLink('pending_changes')]) ?> |
| 16 | 16 | <?php endif ?> |
| 17 | 17 | <?php elseif ($media->isPendingAddition()): ?> |
| 18 | 18 | <?php if (Auth::isModerator($media->getTree())): ?> |
| 19 | - <?= view('alerts/warning-dissmissible', ['alert' => /* I18N: %1$s is “accept”, %2$s is “reject”. These are links. */ I18N::translate( 'This media object has been edited. You should review the changes and then %1$s or %2$s them.', '<a href="#" class="alert-link" onclick="accept_changes(\'' . e($media->getXref()) . '\', \'' . e($media->getTree()->getName()) . '\');">' . I18N::translateContext('You should review the changes and then accept or reject them.', 'accept') . '</a>', '<a href="#" class="alert-link" onclick="reject_changes(\'' . e($media->getXref()) . '\', \'' . e($media->getTree()->getName()) . '\');">' . I18N::translateContext('You should review the changes and then accept or reject them.', 'reject') . '</a>' ) . ' ' . FunctionsPrint::helpLink('pending_changes')]) ?> |
|
| 19 | + <?= view('alerts/warning-dissmissible', ['alert' => /* I18N: %1$s is “accept”, %2$s is “reject”. These are links. */ I18N::translate('This media object has been edited. You should review the changes and then %1$s or %2$s them.', '<a href="#" class="alert-link" onclick="accept_changes(\'' . e($media->getXref()) . '\', \'' . e($media->getTree()->getName()) . '\');">' . I18N::translateContext('You should review the changes and then accept or reject them.', 'accept') . '</a>', '<a href="#" class="alert-link" onclick="reject_changes(\'' . e($media->getXref()) . '\', \'' . e($media->getTree()->getName()) . '\');">' . I18N::translateContext('You should review the changes and then accept or reject them.', 'reject') . '</a>') . ' ' . FunctionsPrint::helpLink('pending_changes')]) ?> |
|
| 20 | 20 | <?php elseif (Auth::isEditor($media->getTree())): ?> |
| 21 | 21 | <?= view('alerts/warning-dissmissible', ['alert' => I18N::translate('This media object has been edited. The changes need to be reviewed by a moderator.') . ' ' . FunctionsPrint::helpLink('pending_changes')]) ?> |
| 22 | 22 | <?php endif ?> |
@@ -603,7 +603,7 @@ discard block |
||
| 603 | 603 | |
| 604 | 604 | foreach ($search_terms as $n => $q) { |
| 605 | 605 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
| 606 | - $sql .= " AND f_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 606 | + $sql .= " AND f_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 607 | 607 | $args['collate_' . $n] = I18N::collation(); |
| 608 | 608 | $args['query_' . $n] = Database::escapeLike($q); |
| 609 | 609 | } |
@@ -650,7 +650,7 @@ discard block |
||
| 650 | 650 | * @return Family[] |
| 651 | 651 | */ |
| 652 | 652 | private function searchFamilyNames(array $search_terms, array $search_trees): array { |
| 653 | - $sql = |
|
| 653 | + $sql = |
|
| 654 | 654 | "SELECT DISTINCT f_id AS xref, f_file AS gedcom_id, f_gedcom AS gedcom" . |
| 655 | 655 | " FROM `##families`" . |
| 656 | 656 | " LEFT JOIN `##name` husb ON f_husb = husb.n_id AND f_file = husb.n_file" . |
@@ -659,7 +659,7 @@ discard block |
||
| 659 | 659 | $args = []; |
| 660 | 660 | |
| 661 | 661 | foreach ($search_terms as $n => $q) { |
| 662 | - $sql .= " AND (husb.n_full COLLATE :husb_collate_" . $n . " LIKE CONCAT('%', :husb_query_" . $n . ", '%') OR wife.n_full COLLATE :wife_collate_" . $n . " LIKE CONCAT('%', :wife_query_" . $n . ", '%'))"; |
|
| 662 | + $sql .= " AND (husb.n_full COLLATE :husb_collate_" . $n . " LIKE CONCAT('%', :husb_query_" . $n . ", '%') OR wife.n_full COLLATE :wife_collate_" . $n . " LIKE CONCAT('%', :wife_query_" . $n . ", '%'))"; |
|
| 663 | 663 | $args['husb_collate_' . $n] = I18N::collation(); |
| 664 | 664 | $args['husb_query_' . $n] = Database::escapeLike($q); |
| 665 | 665 | $args['wife_collate_' . $n] = I18N::collation(); |
@@ -710,7 +710,7 @@ discard block |
||
| 710 | 710 | |
| 711 | 711 | foreach ($search_terms as $n => $q) { |
| 712 | 712 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
| 713 | - $sql .= " AND i_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 713 | + $sql .= " AND i_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 714 | 714 | $args['collate_' . $n] = I18N::collation(); |
| 715 | 715 | $args['query_' . $n] = Database::escapeLike($q); |
| 716 | 716 | } |
@@ -855,7 +855,7 @@ discard block |
||
| 855 | 855 | } |
| 856 | 856 | |
| 857 | 857 | // Add the where clause |
| 858 | - $sql .= " WHERE ind.i_file=?"; |
|
| 858 | + $sql .= " WHERE ind.i_file=?"; |
|
| 859 | 859 | $bind[] = $this->tree()->getTreeId(); |
| 860 | 860 | |
| 861 | 861 | foreach ($fields as $field_name => $field_value) { |
@@ -866,15 +866,15 @@ discard block |
||
| 866 | 866 | case 'GIVN': |
| 867 | 867 | switch ($modifiers[$field_name]) { |
| 868 | 868 | case 'EXACT': |
| 869 | - $sql .= " AND i_n.n_givn=?"; |
|
| 869 | + $sql .= " AND i_n.n_givn=?"; |
|
| 870 | 870 | $bind[] = $field_value; |
| 871 | 871 | break; |
| 872 | 872 | case 'BEGINS': |
| 873 | - $sql .= " AND i_n.n_givn LIKE CONCAT(?, '%')"; |
|
| 873 | + $sql .= " AND i_n.n_givn LIKE CONCAT(?, '%')"; |
|
| 874 | 874 | $bind[] = $field_value; |
| 875 | 875 | break; |
| 876 | 876 | case 'CONTAINS': |
| 877 | - $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
| 877 | + $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
| 878 | 878 | $bind[] = $field_value; |
| 879 | 879 | break; |
| 880 | 880 | case 'SDX_STD': |
@@ -888,7 +888,7 @@ discard block |
||
| 888 | 888 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
| 889 | 889 | } else { |
| 890 | 890 | // No phonetic content? Use a substring match |
| 891 | - $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
| 891 | + $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
| 892 | 892 | $bind[] = $field_value; |
| 893 | 893 | } |
| 894 | 894 | break; |
@@ -904,7 +904,7 @@ discard block |
||
| 904 | 904 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
| 905 | 905 | } else { |
| 906 | 906 | // No phonetic content? Use a substring match |
| 907 | - $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
| 907 | + $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
| 908 | 908 | $bind[] = $field_value; |
| 909 | 909 | } |
| 910 | 910 | break; |
@@ -913,15 +913,15 @@ discard block |
||
| 913 | 913 | case 'SURN': |
| 914 | 914 | switch ($modifiers[$field_name]) { |
| 915 | 915 | case 'EXACT': |
| 916 | - $sql .= " AND i_n.n_surname=?"; |
|
| 916 | + $sql .= " AND i_n.n_surname=?"; |
|
| 917 | 917 | $bind[] = $field_value; |
| 918 | 918 | break; |
| 919 | 919 | case 'BEGINS': |
| 920 | - $sql .= " AND i_n.n_surname LIKE CONCAT(?, '%')"; |
|
| 920 | + $sql .= " AND i_n.n_surname LIKE CONCAT(?, '%')"; |
|
| 921 | 921 | $bind[] = $field_value; |
| 922 | 922 | break; |
| 923 | 923 | case 'CONTAINS': |
| 924 | - $sql .= " AND i_n.n_surname LIKE CONCAT('%', ?, '%')"; |
|
| 924 | + $sql .= " AND i_n.n_surname LIKE CONCAT('%', ?, '%')"; |
|
| 925 | 925 | $bind[] = $field_value; |
| 926 | 926 | break; |
| 927 | 927 | case 'SDX_STD': |
@@ -935,7 +935,7 @@ discard block |
||
| 935 | 935 | $sql .= " AND (" . implode(' OR ', $sdx) . ")"; |
| 936 | 936 | } else { |
| 937 | 937 | // No phonetic content? Use a substring match |
| 938 | - $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
| 938 | + $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
| 939 | 939 | $bind[] = $field_value; |
| 940 | 940 | } |
| 941 | 941 | break; |
@@ -952,7 +952,7 @@ discard block |
||
| 952 | 952 | break; |
| 953 | 953 | } else { |
| 954 | 954 | // No phonetic content? Use a substring match |
| 955 | - $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
| 955 | + $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
| 956 | 956 | $bind[] = $field_value; |
| 957 | 957 | } |
| 958 | 958 | } |
@@ -961,7 +961,7 @@ discard block |
||
| 961 | 961 | case '_MARNM': |
| 962 | 962 | case '_HEB': |
| 963 | 963 | case '_AKA': |
| 964 | - $sql .= " AND i_n.n_type=? AND i_n.n_full LIKE CONCAT('%', ?, '%')"; |
|
| 964 | + $sql .= " AND i_n.n_type=? AND i_n.n_full LIKE CONCAT('%', ?, '%')"; |
|
| 965 | 965 | $bind[] = $parts[1]; |
| 966 | 966 | $bind[] = $field_value; |
| 967 | 967 | break; |
@@ -971,7 +971,7 @@ discard block |
||
| 971 | 971 | $date = new Date($field_value); |
| 972 | 972 | if ($date->isOK()) { |
| 973 | 973 | $delta = 365 * ($modifiers[$field_name] ?? 0); |
| 974 | - $sql .= " AND i_d.d_fact=? AND i_d.d_julianday1>=? AND i_d.d_julianday2<=?"; |
|
| 974 | + $sql .= " AND i_d.d_fact=? AND i_d.d_julianday1>=? AND i_d.d_julianday2<=?"; |
|
| 975 | 975 | $bind[] = $parts[0]; |
| 976 | 976 | $bind[] = $date->minimumJulianDay() - $delta; |
| 977 | 977 | $bind[] = $date->maximumJulianDay() + $delta; |
@@ -981,7 +981,7 @@ discard block |
||
| 981 | 981 | $date = new Date($field_value); |
| 982 | 982 | if ($date->isOK()) { |
| 983 | 983 | $delta = 365 * $modifiers[$field_name]; |
| 984 | - $sql .= " AND f_d.d_fact=? AND f_d.d_julianday1>=? AND f_d.d_julianday2<=?"; |
|
| 984 | + $sql .= " AND f_d.d_fact=? AND f_d.d_julianday1>=? AND f_d.d_julianday2<=?"; |
|
| 985 | 985 | $bind[] = $parts[1]; |
| 986 | 986 | $bind[] = $date->minimumJulianDay() - $delta; |
| 987 | 987 | $bind[] = $date->maximumJulianDay() + $delta; |
@@ -989,12 +989,12 @@ discard block |
||
| 989 | 989 | } elseif ($parts[1] === 'PLAC') { |
| 990 | 990 | // *:PLAC |
| 991 | 991 | // SQL can only link a place to a person/family, not to an event. |
| 992 | - $sql .= " AND i_p.place LIKE CONCAT('%', ?, '%')"; |
|
| 992 | + $sql .= " AND i_p.place LIKE CONCAT('%', ?, '%')"; |
|
| 993 | 993 | $bind[] = $field_value; |
| 994 | 994 | } elseif ($parts[0] === 'FAMS' && $parts[2] === 'PLAC') { |
| 995 | 995 | // FAMS:*:PLAC |
| 996 | 996 | // SQL can only link a place to a person/family, not to an event. |
| 997 | - $sql .= " AND f_p.place LIKE CONCAT('%', ?, '%')"; |
|
| 997 | + $sql .= " AND f_p.place LIKE CONCAT('%', ?, '%')"; |
|
| 998 | 998 | $bind[] = $field_value; |
| 999 | 999 | } elseif ($parts[0] === 'FAMC' && $parts[2] === 'NAME') { |
| 1000 | 1000 | $table = $parts[1] === 'HUSB' ? 'f_n' : 'm_n'; |
@@ -1003,15 +1003,15 @@ discard block |
||
| 1003 | 1003 | case 'GIVN': |
| 1004 | 1004 | switch ($modifiers[$field_name]) { |
| 1005 | 1005 | case 'EXACT': |
| 1006 | - $sql .= " AND {$table}.n_givn=?"; |
|
| 1006 | + $sql .= " AND {$table}.n_givn=?"; |
|
| 1007 | 1007 | $bind[] = $field_value; |
| 1008 | 1008 | break; |
| 1009 | 1009 | case 'BEGINS': |
| 1010 | - $sql .= " AND {$table}.n_givn LIKE CONCAT(?, '%')"; |
|
| 1010 | + $sql .= " AND {$table}.n_givn LIKE CONCAT(?, '%')"; |
|
| 1011 | 1011 | $bind[] = $field_value; |
| 1012 | 1012 | break; |
| 1013 | 1013 | case 'CONTAINS': |
| 1014 | - $sql .= " AND {$table}.n_givn LIKE CONCAT('%', ?, '%')"; |
|
| 1014 | + $sql .= " AND {$table}.n_givn LIKE CONCAT('%', ?, '%')"; |
|
| 1015 | 1015 | $bind[] = $field_value; |
| 1016 | 1016 | break; |
| 1017 | 1017 | case 'SDX_STD': |
@@ -1025,7 +1025,7 @@ discard block |
||
| 1025 | 1025 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
| 1026 | 1026 | } else { |
| 1027 | 1027 | // No phonetic content? Use a substring match |
| 1028 | - $sql .= " AND {$table}.n_givn = LIKE CONCAT('%', ?, '%')"; |
|
| 1028 | + $sql .= " AND {$table}.n_givn = LIKE CONCAT('%', ?, '%')"; |
|
| 1029 | 1029 | $bind[] = $field_value; |
| 1030 | 1030 | } |
| 1031 | 1031 | break; |
@@ -1042,7 +1042,7 @@ discard block |
||
| 1042 | 1042 | break; |
| 1043 | 1043 | } else { |
| 1044 | 1044 | // No phonetic content? Use a substring match |
| 1045 | - $sql .= " AND {$table}.n_givn = LIKE CONCAT('%', ?, '%')"; |
|
| 1045 | + $sql .= " AND {$table}.n_givn = LIKE CONCAT('%', ?, '%')"; |
|
| 1046 | 1046 | $bind[] = $field_value; |
| 1047 | 1047 | } |
| 1048 | 1048 | } |
@@ -1050,15 +1050,15 @@ discard block |
||
| 1050 | 1050 | case 'SURN': |
| 1051 | 1051 | switch ($modifiers[$field_name]) { |
| 1052 | 1052 | case 'EXACT': |
| 1053 | - $sql .= " AND {$table}.n_surname=?"; |
|
| 1053 | + $sql .= " AND {$table}.n_surname=?"; |
|
| 1054 | 1054 | $bind[] = $field_value; |
| 1055 | 1055 | break; |
| 1056 | 1056 | case 'BEGINS': |
| 1057 | - $sql .= " AND {$table}.n_surname LIKE CONCAT(?, '%')"; |
|
| 1057 | + $sql .= " AND {$table}.n_surname LIKE CONCAT(?, '%')"; |
|
| 1058 | 1058 | $bind[] = $field_value; |
| 1059 | 1059 | break; |
| 1060 | 1060 | case 'CONTAINS': |
| 1061 | - $sql .= " AND {$table}.n_surname LIKE CONCAT('%', ?, '%')"; |
|
| 1061 | + $sql .= " AND {$table}.n_surname LIKE CONCAT('%', ?, '%')"; |
|
| 1062 | 1062 | $bind[] = $field_value; |
| 1063 | 1063 | break; |
| 1064 | 1064 | case 'SDX_STD': |
@@ -1072,7 +1072,7 @@ discard block |
||
| 1072 | 1072 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
| 1073 | 1073 | } else { |
| 1074 | 1074 | // No phonetic content? Use a substring match |
| 1075 | - $sql .= " AND {$table}.n_surn = LIKE CONCAT('%', ?, '%')"; |
|
| 1075 | + $sql .= " AND {$table}.n_surn = LIKE CONCAT('%', ?, '%')"; |
|
| 1076 | 1076 | $bind[] = $field_value; |
| 1077 | 1077 | } |
| 1078 | 1078 | break; |
@@ -1088,7 +1088,7 @@ discard block |
||
| 1088 | 1088 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
| 1089 | 1089 | } else { |
| 1090 | 1090 | // No phonetic content? Use a substring match |
| 1091 | - $sql .= " AND {$table}.n_surn = LIKE CONCAT('%', ?, '%')"; |
|
| 1091 | + $sql .= " AND {$table}.n_surn = LIKE CONCAT('%', ?, '%')"; |
|
| 1092 | 1092 | $bind[] = $field_value; |
| 1093 | 1093 | } |
| 1094 | 1094 | break; |
@@ -1097,17 +1097,17 @@ discard block |
||
| 1097 | 1097 | } |
| 1098 | 1098 | } elseif ($parts[0] === 'FAMS') { |
| 1099 | 1099 | // e.g. searches for occupation, religion, note, etc. |
| 1100 | - $sql .= " AND fam.f_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
| 1100 | + $sql .= " AND fam.f_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
| 1101 | 1101 | $bind[] = $parts[1]; |
| 1102 | 1102 | $bind[] = $field_value; |
| 1103 | 1103 | } elseif ($parts[1] === 'TYPE') { |
| 1104 | 1104 | // e.g. FACT:TYPE or EVEN:TYPE |
| 1105 | - $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n1 ', ?, '.*(\n[2-9] .*)*\n2 TYPE .*', ?)"; |
|
| 1105 | + $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n1 ', ?, '.*(\n[2-9] .*)*\n2 TYPE .*', ?)"; |
|
| 1106 | 1106 | $bind[] = $parts[0]; |
| 1107 | 1107 | $bind[] = $field_value; |
| 1108 | 1108 | } else { |
| 1109 | 1109 | // e.g. searches for occupation, religion, note, etc. |
| 1110 | - $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
| 1110 | + $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
| 1111 | 1111 | $bind[] = $parts[0]; |
| 1112 | 1112 | $bind[] = $field_value; |
| 1113 | 1113 | } |
@@ -1185,7 +1185,7 @@ discard block |
||
| 1185 | 1185 | $sql .= ")"; |
| 1186 | 1186 | |
| 1187 | 1187 | if ($givn_sdx !== '') { |
| 1188 | - $sql .= " AND ("; |
|
| 1188 | + $sql .= " AND ("; |
|
| 1189 | 1189 | $givn_sdx = explode(':', $givn_sdx); |
| 1190 | 1190 | foreach ($givn_sdx as $n => $sdx) { |
| 1191 | 1191 | $sql .= $n > 0 ? " OR " : ""; |
@@ -1203,7 +1203,7 @@ discard block |
||
| 1203 | 1203 | } |
| 1204 | 1204 | |
| 1205 | 1205 | if ($surn_sdx !== '') { |
| 1206 | - $sql .= " AND ("; |
|
| 1206 | + $sql .= " AND ("; |
|
| 1207 | 1207 | $surn_sdx = explode(':', $surn_sdx); |
| 1208 | 1208 | foreach ($surn_sdx as $n => $sdx) { |
| 1209 | 1209 | $sql .= $n ? " OR " : ""; |
@@ -1221,7 +1221,7 @@ discard block |
||
| 1221 | 1221 | } |
| 1222 | 1222 | |
| 1223 | 1223 | if ($plac_sdx !== '') { |
| 1224 | - $sql .= " AND ("; |
|
| 1224 | + $sql .= " AND ("; |
|
| 1225 | 1225 | $plac_sdx = explode(':', $plac_sdx); |
| 1226 | 1226 | foreach ($plac_sdx as $n => $sdx) { |
| 1227 | 1227 | $sql .= $n ? " OR " : ""; |
@@ -1267,7 +1267,7 @@ discard block |
||
| 1267 | 1267 | |
| 1268 | 1268 | foreach ($search_terms as $n => $q) { |
| 1269 | 1269 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
| 1270 | - $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 1270 | + $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 1271 | 1271 | $args['collate_' . $n] = I18N::collation(); |
| 1272 | 1272 | $args['query_' . $n] = Database::escapeLike($q); |
| 1273 | 1273 | } |
@@ -1322,7 +1322,7 @@ discard block |
||
| 1322 | 1322 | |
| 1323 | 1323 | foreach ($search_terms as $n => $q) { |
| 1324 | 1324 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
| 1325 | - $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 1325 | + $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 1326 | 1326 | $args['collate_' . $n] = I18N::collation(); |
| 1327 | 1327 | $args['query_' . $n] = Database::escapeLike($q); |
| 1328 | 1328 | } |
@@ -1377,7 +1377,7 @@ discard block |
||
| 1377 | 1377 | |
| 1378 | 1378 | foreach ($search_terms as $n => $q) { |
| 1379 | 1379 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
| 1380 | - $sql .= " AND s_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 1380 | + $sql .= " AND s_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
| 1381 | 1381 | $args['collate_' . $n] = I18N::collation(); |
| 1382 | 1382 | $args['query_' . $n] = Database::escapeLike($q); |
| 1383 | 1383 | } |
@@ -170,7 +170,7 @@ |
||
| 170 | 170 | echo '<table cellspacing="0" cellpadding="0" border="0" >'; |
| 171 | 171 | foreach ($children as $i => $child) { |
| 172 | 172 | echo '<tr><td>'; |
| 173 | - $kids = $this->printDescendency($child, $generation + 1); |
|
| 173 | + $kids = $this->printDescendency($child, $generation + 1); |
|
| 174 | 174 | $numkids += $kids; |
| 175 | 175 | echo '</td>'; |
| 176 | 176 | // Print the lines |
@@ -1595,7 +1595,7 @@ |
||
| 1595 | 1595 | * @return Menu |
| 1596 | 1596 | */ |
| 1597 | 1597 | public function menuListsPlaces() { |
| 1598 | - return new Menu(I18N::translate('Place hierarchy'), e(Html::url('placelist.php' ,['ged' => $this->tree->getName()])), 'menu-list-plac', ['rel' => 'nofollow']); |
|
| 1598 | + return new Menu(I18N::translate('Place hierarchy'), e(Html::url('placelist.php', ['ged' => $this->tree->getName()])), 'menu-list-plac', ['rel' => 'nofollow']); |
|
| 1599 | 1599 | } |
| 1600 | 1600 | |
| 1601 | 1601 | /** |
@@ -29,7 +29,7 @@ |
||
| 29 | 29 | </div> |
| 30 | 30 | <div id="card-tree-content-<?= $managed_tree->getTreeId() ?>" class="collapse<?= $managed_tree == $tree || $managed_tree->getPreference('imported') === '0' ? ' show' : '' ?>" role="tabpanel" aria-labelledby="panel-tree-header-<?= $managed_tree->getTreeId() ?>"> |
| 31 | 31 | <div class="card-body"> |
| 32 | - <?php $importing = Database::prepare( "SELECT 1 FROM `##gedcom_chunk` WHERE gedcom_id = ? AND imported = '0' LIMIT 1" )->execute([$managed_tree->getTreeId()])->fetchOne() ?> |
|
| 32 | + <?php $importing = Database::prepare("SELECT 1 FROM `##gedcom_chunk` WHERE gedcom_id = ? AND imported = '0' LIMIT 1")->execute([$managed_tree->getTreeId()])->fetchOne() ?> |
|
| 33 | 33 | <?php if ($importing): ?> |
| 34 | 34 | <div id="import<?= $managed_tree->getTreeId() ?>" class="col-xs-12"> |
| 35 | 35 | <div class="progress"> |
@@ -58,7 +58,7 @@ |
||
| 58 | 58 | return new RedirectResponse(route('admin-trees')); |
| 59 | 59 | } |
| 60 | 60 | |
| 61 | - return $this->viewResponse('errors/no-tree-access', [ 'title' => '' ]); |
|
| 61 | + return $this->viewResponse('errors/no-tree-access', ['title' => '']); |
|
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | /** |
@@ -169,7 +169,7 @@ discard block |
||
| 169 | 169 | $args = []; |
| 170 | 170 | |
| 171 | 171 | if ($search) { |
| 172 | - $sql_select .= " AND (user_name LIKE CONCAT('%', :search_1, '%') OR real_name LIKE CONCAT('%', :search_2, '%') OR email LIKE CONCAT('%', :search_3, '%'))"; |
|
| 172 | + $sql_select .= " AND (user_name LIKE CONCAT('%', :search_1, '%') OR real_name LIKE CONCAT('%', :search_2, '%') OR email LIKE CONCAT('%', :search_3, '%'))"; |
|
| 173 | 173 | $args['search_1'] = $search; |
| 174 | 174 | $args['search_2'] = $search; |
| 175 | 175 | $args['search_3'] = $search; |
@@ -198,7 +198,7 @@ discard block |
||
| 198 | 198 | |
| 199 | 199 | if ($length) { |
| 200 | 200 | $user->setPreference('admin_users_page_size', $length); |
| 201 | - $sql_select .= " LIMIT :limit OFFSET :offset"; |
|
| 201 | + $sql_select .= " LIMIT :limit OFFSET :offset"; |
|
| 202 | 202 | $args['limit'] = $length; |
| 203 | 203 | $args['offset'] = $start; |
| 204 | 204 | } |