@@ -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 | } |