@@ -596,7 +596,7 @@ discard block |
||
596 | 596 | |
597 | 597 | foreach ($search_terms as $n => $q) { |
598 | 598 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
599 | - $sql .= " AND f_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
599 | + $sql .= " AND f_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
600 | 600 | $args['collate_' . $n] = I18N::collation(); |
601 | 601 | $args['query_' . $n] = Database::escapeLike($q); |
602 | 602 | } |
@@ -643,7 +643,7 @@ discard block |
||
643 | 643 | * @return Family[] |
644 | 644 | */ |
645 | 645 | private function searchFamilyNames(array $search_terms, array $search_trees): array { |
646 | - $sql = |
|
646 | + $sql = |
|
647 | 647 | "SELECT DISTINCT f_id AS xref, f_file AS gedcom_id, f_gedcom AS gedcom" . |
648 | 648 | " FROM `##families`" . |
649 | 649 | " LEFT JOIN `##name` husb ON f_husb = husb.n_id AND f_file = husb.n_file" . |
@@ -652,7 +652,7 @@ discard block |
||
652 | 652 | $args = []; |
653 | 653 | |
654 | 654 | foreach ($search_terms as $n => $q) { |
655 | - $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 . ", '%'))"; |
|
655 | + $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 . ", '%'))"; |
|
656 | 656 | $args['husb_collate_' . $n] = I18N::collation(); |
657 | 657 | $args['husb_query_' . $n] = Database::escapeLike($q); |
658 | 658 | $args['wife_collate_' . $n] = I18N::collation(); |
@@ -703,7 +703,7 @@ discard block |
||
703 | 703 | |
704 | 704 | foreach ($search_terms as $n => $q) { |
705 | 705 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
706 | - $sql .= " AND i_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
706 | + $sql .= " AND i_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
707 | 707 | $args['collate_' . $n] = I18N::collation(); |
708 | 708 | $args['query_' . $n] = Database::escapeLike($q); |
709 | 709 | } |
@@ -849,7 +849,7 @@ discard block |
||
849 | 849 | } |
850 | 850 | |
851 | 851 | // Add the where clause |
852 | - $sql .= " WHERE ind.i_file=?"; |
|
852 | + $sql .= " WHERE ind.i_file=?"; |
|
853 | 853 | $bind[] = $tree->getTreeId(); |
854 | 854 | |
855 | 855 | foreach ($fields as $field_name => $field_value) { |
@@ -860,15 +860,15 @@ discard block |
||
860 | 860 | case 'GIVN': |
861 | 861 | switch ($modifiers[$field_name]) { |
862 | 862 | case 'EXACT': |
863 | - $sql .= " AND i_n.n_givn=?"; |
|
863 | + $sql .= " AND i_n.n_givn=?"; |
|
864 | 864 | $bind[] = $field_value; |
865 | 865 | break; |
866 | 866 | case 'BEGINS': |
867 | - $sql .= " AND i_n.n_givn LIKE CONCAT(?, '%')"; |
|
867 | + $sql .= " AND i_n.n_givn LIKE CONCAT(?, '%')"; |
|
868 | 868 | $bind[] = $field_value; |
869 | 869 | break; |
870 | 870 | case 'CONTAINS': |
871 | - $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
871 | + $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
872 | 872 | $bind[] = $field_value; |
873 | 873 | break; |
874 | 874 | case 'SDX_STD': |
@@ -882,7 +882,7 @@ discard block |
||
882 | 882 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
883 | 883 | } else { |
884 | 884 | // No phonetic content? Use a substring match |
885 | - $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
885 | + $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
886 | 886 | $bind[] = $field_value; |
887 | 887 | } |
888 | 888 | break; |
@@ -898,7 +898,7 @@ discard block |
||
898 | 898 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
899 | 899 | } else { |
900 | 900 | // No phonetic content? Use a substring match |
901 | - $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
901 | + $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
902 | 902 | $bind[] = $field_value; |
903 | 903 | } |
904 | 904 | break; |
@@ -907,15 +907,15 @@ discard block |
||
907 | 907 | case 'SURN': |
908 | 908 | switch ($modifiers[$field_name]) { |
909 | 909 | case 'EXACT': |
910 | - $sql .= " AND i_n.n_surname=?"; |
|
910 | + $sql .= " AND i_n.n_surname=?"; |
|
911 | 911 | $bind[] = $field_value; |
912 | 912 | break; |
913 | 913 | case 'BEGINS': |
914 | - $sql .= " AND i_n.n_surname LIKE CONCAT(?, '%')"; |
|
914 | + $sql .= " AND i_n.n_surname LIKE CONCAT(?, '%')"; |
|
915 | 915 | $bind[] = $field_value; |
916 | 916 | break; |
917 | 917 | case 'CONTAINS': |
918 | - $sql .= " AND i_n.n_surname LIKE CONCAT('%', ?, '%')"; |
|
918 | + $sql .= " AND i_n.n_surname LIKE CONCAT('%', ?, '%')"; |
|
919 | 919 | $bind[] = $field_value; |
920 | 920 | break; |
921 | 921 | case 'SDX_STD': |
@@ -929,7 +929,7 @@ discard block |
||
929 | 929 | $sql .= " AND (" . implode(' OR ', $sdx) . ")"; |
930 | 930 | } else { |
931 | 931 | // No phonetic content? Use a substring match |
932 | - $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
932 | + $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
933 | 933 | $bind[] = $field_value; |
934 | 934 | } |
935 | 935 | break; |
@@ -946,7 +946,7 @@ discard block |
||
946 | 946 | break; |
947 | 947 | } else { |
948 | 948 | // No phonetic content? Use a substring match |
949 | - $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
949 | + $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
950 | 950 | $bind[] = $field_value; |
951 | 951 | } |
952 | 952 | } |
@@ -955,7 +955,7 @@ discard block |
||
955 | 955 | case '_MARNM': |
956 | 956 | case '_HEB': |
957 | 957 | case '_AKA': |
958 | - $sql .= " AND i_n.n_type=? AND i_n.n_full LIKE CONCAT('%', ?, '%')"; |
|
958 | + $sql .= " AND i_n.n_type=? AND i_n.n_full LIKE CONCAT('%', ?, '%')"; |
|
959 | 959 | $bind[] = $parts[1]; |
960 | 960 | $bind[] = $field_value; |
961 | 961 | break; |
@@ -965,7 +965,7 @@ discard block |
||
965 | 965 | $date = new Date($field_value); |
966 | 966 | if ($date->isOK()) { |
967 | 967 | $delta = 365 * ($modifiers[$field_name] ?? 0); |
968 | - $sql .= " AND i_d.d_fact=? AND i_d.d_julianday1>=? AND i_d.d_julianday2<=?"; |
|
968 | + $sql .= " AND i_d.d_fact=? AND i_d.d_julianday1>=? AND i_d.d_julianday2<=?"; |
|
969 | 969 | $bind[] = $parts[0]; |
970 | 970 | $bind[] = $date->minimumJulianDay() - $delta; |
971 | 971 | $bind[] = $date->maximumJulianDay() + $delta; |
@@ -975,7 +975,7 @@ discard block |
||
975 | 975 | $date = new Date($field_value); |
976 | 976 | if ($date->isOK()) { |
977 | 977 | $delta = 365 * $modifiers[$field_name]; |
978 | - $sql .= " AND f_d.d_fact=? AND f_d.d_julianday1>=? AND f_d.d_julianday2<=?"; |
|
978 | + $sql .= " AND f_d.d_fact=? AND f_d.d_julianday1>=? AND f_d.d_julianday2<=?"; |
|
979 | 979 | $bind[] = $parts[1]; |
980 | 980 | $bind[] = $date->minimumJulianDay() - $delta; |
981 | 981 | $bind[] = $date->maximumJulianDay() + $delta; |
@@ -983,12 +983,12 @@ discard block |
||
983 | 983 | } elseif ($parts[1] === 'PLAC') { |
984 | 984 | // *:PLAC |
985 | 985 | // SQL can only link a place to a person/family, not to an event. |
986 | - $sql .= " AND i_p.place LIKE CONCAT('%', ?, '%')"; |
|
986 | + $sql .= " AND i_p.place LIKE CONCAT('%', ?, '%')"; |
|
987 | 987 | $bind[] = $field_value; |
988 | 988 | } elseif ($parts[0] === 'FAMS' && $parts[2] === 'PLAC') { |
989 | 989 | // FAMS:*:PLAC |
990 | 990 | // SQL can only link a place to a person/family, not to an event. |
991 | - $sql .= " AND f_p.place LIKE CONCAT('%', ?, '%')"; |
|
991 | + $sql .= " AND f_p.place LIKE CONCAT('%', ?, '%')"; |
|
992 | 992 | $bind[] = $field_value; |
993 | 993 | } elseif ($parts[0] === 'FAMC' && $parts[2] === 'NAME') { |
994 | 994 | $table = $parts[1] === 'HUSB' ? 'f_n' : 'm_n'; |
@@ -997,15 +997,15 @@ discard block |
||
997 | 997 | case 'GIVN': |
998 | 998 | switch ($modifiers[$field_name]) { |
999 | 999 | case 'EXACT': |
1000 | - $sql .= " AND {$table}.n_givn=?"; |
|
1000 | + $sql .= " AND {$table}.n_givn=?"; |
|
1001 | 1001 | $bind[] = $field_value; |
1002 | 1002 | break; |
1003 | 1003 | case 'BEGINS': |
1004 | - $sql .= " AND {$table}.n_givn LIKE CONCAT(?, '%')"; |
|
1004 | + $sql .= " AND {$table}.n_givn LIKE CONCAT(?, '%')"; |
|
1005 | 1005 | $bind[] = $field_value; |
1006 | 1006 | break; |
1007 | 1007 | case 'CONTAINS': |
1008 | - $sql .= " AND {$table}.n_givn LIKE CONCAT('%', ?, '%')"; |
|
1008 | + $sql .= " AND {$table}.n_givn LIKE CONCAT('%', ?, '%')"; |
|
1009 | 1009 | $bind[] = $field_value; |
1010 | 1010 | break; |
1011 | 1011 | case 'SDX_STD': |
@@ -1019,7 +1019,7 @@ discard block |
||
1019 | 1019 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
1020 | 1020 | } else { |
1021 | 1021 | // No phonetic content? Use a substring match |
1022 | - $sql .= " AND {$table}.n_givn = LIKE CONCAT('%', ?, '%')"; |
|
1022 | + $sql .= " AND {$table}.n_givn = LIKE CONCAT('%', ?, '%')"; |
|
1023 | 1023 | $bind[] = $field_value; |
1024 | 1024 | } |
1025 | 1025 | break; |
@@ -1036,7 +1036,7 @@ discard block |
||
1036 | 1036 | break; |
1037 | 1037 | } else { |
1038 | 1038 | // No phonetic content? Use a substring match |
1039 | - $sql .= " AND {$table}.n_givn = LIKE CONCAT('%', ?, '%')"; |
|
1039 | + $sql .= " AND {$table}.n_givn = LIKE CONCAT('%', ?, '%')"; |
|
1040 | 1040 | $bind[] = $field_value; |
1041 | 1041 | } |
1042 | 1042 | } |
@@ -1044,15 +1044,15 @@ discard block |
||
1044 | 1044 | case 'SURN': |
1045 | 1045 | switch ($modifiers[$field_name]) { |
1046 | 1046 | case 'EXACT': |
1047 | - $sql .= " AND {$table}.n_surname=?"; |
|
1047 | + $sql .= " AND {$table}.n_surname=?"; |
|
1048 | 1048 | $bind[] = $field_value; |
1049 | 1049 | break; |
1050 | 1050 | case 'BEGINS': |
1051 | - $sql .= " AND {$table}.n_surname LIKE CONCAT(?, '%')"; |
|
1051 | + $sql .= " AND {$table}.n_surname LIKE CONCAT(?, '%')"; |
|
1052 | 1052 | $bind[] = $field_value; |
1053 | 1053 | break; |
1054 | 1054 | case 'CONTAINS': |
1055 | - $sql .= " AND {$table}.n_surname LIKE CONCAT('%', ?, '%')"; |
|
1055 | + $sql .= " AND {$table}.n_surname LIKE CONCAT('%', ?, '%')"; |
|
1056 | 1056 | $bind[] = $field_value; |
1057 | 1057 | break; |
1058 | 1058 | case 'SDX_STD': |
@@ -1066,7 +1066,7 @@ discard block |
||
1066 | 1066 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
1067 | 1067 | } else { |
1068 | 1068 | // No phonetic content? Use a substring match |
1069 | - $sql .= " AND {$table}.n_surn = LIKE CONCAT('%', ?, '%')"; |
|
1069 | + $sql .= " AND {$table}.n_surn = LIKE CONCAT('%', ?, '%')"; |
|
1070 | 1070 | $bind[] = $field_value; |
1071 | 1071 | } |
1072 | 1072 | break; |
@@ -1082,7 +1082,7 @@ discard block |
||
1082 | 1082 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
1083 | 1083 | } else { |
1084 | 1084 | // No phonetic content? Use a substring match |
1085 | - $sql .= " AND {$table}.n_surn = LIKE CONCAT('%', ?, '%')"; |
|
1085 | + $sql .= " AND {$table}.n_surn = LIKE CONCAT('%', ?, '%')"; |
|
1086 | 1086 | $bind[] = $field_value; |
1087 | 1087 | } |
1088 | 1088 | break; |
@@ -1091,17 +1091,17 @@ discard block |
||
1091 | 1091 | } |
1092 | 1092 | } elseif ($parts[0] === 'FAMS') { |
1093 | 1093 | // e.g. searches for occupation, religion, note, etc. |
1094 | - $sql .= " AND fam.f_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
1094 | + $sql .= " AND fam.f_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
1095 | 1095 | $bind[] = $parts[1]; |
1096 | 1096 | $bind[] = $field_value; |
1097 | 1097 | } elseif ($parts[1] === 'TYPE') { |
1098 | 1098 | // e.g. FACT:TYPE or EVEN:TYPE |
1099 | - $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n1 ', ?, '.*(\n[2-9] .*)*\n2 TYPE .*', ?)"; |
|
1099 | + $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n1 ', ?, '.*(\n[2-9] .*)*\n2 TYPE .*', ?)"; |
|
1100 | 1100 | $bind[] = $parts[0]; |
1101 | 1101 | $bind[] = $field_value; |
1102 | 1102 | } else { |
1103 | 1103 | // e.g. searches for occupation, religion, note, etc. |
1104 | - $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
1104 | + $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
1105 | 1105 | $bind[] = $parts[0]; |
1106 | 1106 | $bind[] = $field_value; |
1107 | 1107 | } |
@@ -1179,7 +1179,7 @@ discard block |
||
1179 | 1179 | $sql .= ")"; |
1180 | 1180 | |
1181 | 1181 | if ($givn_sdx !== '') { |
1182 | - $sql .= " AND ("; |
|
1182 | + $sql .= " AND ("; |
|
1183 | 1183 | $givn_sdx = explode(':', $givn_sdx); |
1184 | 1184 | foreach ($givn_sdx as $n => $sdx) { |
1185 | 1185 | $sql .= $n > 0 ? " OR " : ""; |
@@ -1197,7 +1197,7 @@ discard block |
||
1197 | 1197 | } |
1198 | 1198 | |
1199 | 1199 | if ($surn_sdx !== '') { |
1200 | - $sql .= " AND ("; |
|
1200 | + $sql .= " AND ("; |
|
1201 | 1201 | $surn_sdx = explode(':', $surn_sdx); |
1202 | 1202 | foreach ($surn_sdx as $n => $sdx) { |
1203 | 1203 | $sql .= $n ? " OR " : ""; |
@@ -1215,7 +1215,7 @@ discard block |
||
1215 | 1215 | } |
1216 | 1216 | |
1217 | 1217 | if ($plac_sdx !== '') { |
1218 | - $sql .= " AND ("; |
|
1218 | + $sql .= " AND ("; |
|
1219 | 1219 | $plac_sdx = explode(':', $plac_sdx); |
1220 | 1220 | foreach ($plac_sdx as $n => $sdx) { |
1221 | 1221 | $sql .= $n ? " OR " : ""; |
@@ -1261,7 +1261,7 @@ discard block |
||
1261 | 1261 | |
1262 | 1262 | foreach ($search_terms as $n => $q) { |
1263 | 1263 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
1264 | - $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1264 | + $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1265 | 1265 | $args['collate_' . $n] = I18N::collation(); |
1266 | 1266 | $args['query_' . $n] = Database::escapeLike($q); |
1267 | 1267 | } |
@@ -1316,7 +1316,7 @@ discard block |
||
1316 | 1316 | |
1317 | 1317 | foreach ($search_terms as $n => $q) { |
1318 | 1318 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
1319 | - $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1319 | + $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1320 | 1320 | $args['collate_' . $n] = I18N::collation(); |
1321 | 1321 | $args['query_' . $n] = Database::escapeLike($q); |
1322 | 1322 | } |
@@ -1371,7 +1371,7 @@ discard block |
||
1371 | 1371 | |
1372 | 1372 | foreach ($search_terms as $n => $q) { |
1373 | 1373 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
1374 | - $sql .= " AND s_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1374 | + $sql .= " AND s_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1375 | 1375 | $args['collate_' . $n] = I18N::collation(); |
1376 | 1376 | $args['query_' . $n] = Database::escapeLike($q); |
1377 | 1377 | } |
@@ -286,7 +286,7 @@ discard block |
||
286 | 286 | } |
287 | 287 | // Don't sublists short lists. |
288 | 288 | if ($count < $tree->getPreference('SUBLIST_TRIGGER_I')) { |
289 | - $falpha = ''; |
|
289 | + $falpha = ''; |
|
290 | 290 | } else { |
291 | 291 | $givn_initials = $this->givenAlpha($tree, $surname, $alpha, $show_marnm === 'yes', $families); |
292 | 292 | // Break long lists by initial letter of given name |
@@ -513,7 +513,7 @@ discard block |
||
513 | 513 | */ |
514 | 514 | private function allMedia(Tree $tree, string $folder, string $subfolders, string $sort, string $filter, string $form_type): array { |
515 | 515 | // All files in the folder, plus external files |
516 | - $sql = |
|
516 | + $sql = |
|
517 | 517 | "SELECT m_id AS xref, m_gedcom AS gedcom" . |
518 | 518 | " FROM `##media`" . |
519 | 519 | " JOIN `##media_file` USING (m_id, m_file)" . |
@@ -532,11 +532,11 @@ discard block |
||
532 | 532 | // Include / exclude subfolders (but always include external) |
533 | 533 | switch ($subfolders) { |
534 | 534 | case 'include': |
535 | - $sql .= " AND (multimedia_file_refn LIKE CONCAT(?, '%') $sql_external)"; |
|
535 | + $sql .= " AND (multimedia_file_refn LIKE CONCAT(?, '%') $sql_external)"; |
|
536 | 536 | $args[] = Database::escapeLike($folder); |
537 | 537 | break; |
538 | 538 | case 'exclude': |
539 | - $sql .= " AND (multimedia_file_refn LIKE CONCAT(?, '%') AND multimedia_file_refn NOT LIKE CONCAT(?, '%/%') $sql_external)"; |
|
539 | + $sql .= " AND (multimedia_file_refn LIKE CONCAT(?, '%') AND multimedia_file_refn NOT LIKE CONCAT(?, '%/%') $sql_external)"; |
|
540 | 540 | $args[] = Database::escapeLike($folder); |
541 | 541 | $args[] = Database::escapeLike($folder); |
542 | 542 | break; |
@@ -544,13 +544,13 @@ discard block |
||
544 | 544 | |
545 | 545 | // Apply search terms |
546 | 546 | if ($filter) { |
547 | - $sql .= " AND (SUBSTRING_INDEX(multimedia_file_refn, '/', -1) LIKE CONCAT('%', ?, '%') OR descriptive_title LIKE CONCAT('%', ?, '%'))"; |
|
547 | + $sql .= " AND (SUBSTRING_INDEX(multimedia_file_refn, '/', -1) LIKE CONCAT('%', ?, '%') OR descriptive_title LIKE CONCAT('%', ?, '%'))"; |
|
548 | 548 | $args[] = Database::escapeLike($filter); |
549 | 549 | $args[] = Database::escapeLike($filter); |
550 | 550 | } |
551 | 551 | |
552 | 552 | if ($form_type) { |
553 | - $sql .= " AND source_media_type = ?"; |
|
553 | + $sql .= " AND source_media_type = ?"; |
|
554 | 554 | $args[] = $form_type; |
555 | 555 | } |
556 | 556 | |
@@ -1463,7 +1463,7 @@ discard block |
||
1463 | 1463 | ]; |
1464 | 1464 | |
1465 | 1465 | foreach ($this->getAlphabetForLocale(WT_LOCALE) as $n => $letter) { |
1466 | - $sql .= " AND n_surn COLLATE :collate_" . $n . " NOT LIKE :letter_" . $n; |
|
1466 | + $sql .= " AND n_surn COLLATE :collate_" . $n . " NOT LIKE :letter_" . $n; |
|
1467 | 1467 | $args['collate_' . $n] = I18N::collation(); |
1468 | 1468 | $args['letter_' . $n] = $letter . '%'; |
1469 | 1469 | } |
@@ -1549,7 +1549,7 @@ discard block |
||
1549 | 1549 | ]; |
1550 | 1550 | |
1551 | 1551 | if ($surn) { |
1552 | - $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
1552 | + $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
1553 | 1553 | $args['collate_1'] = I18N::collation(); |
1554 | 1554 | $args['surn'] = $surn; |
1555 | 1555 | } elseif ($salpha === ',') { |
@@ -1601,7 +1601,7 @@ discard block |
||
1601 | 1601 | ]; |
1602 | 1602 | |
1603 | 1603 | if ($surn) { |
1604 | - $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
1604 | + $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
1605 | 1605 | $args['collate_1'] = I18N::collation(); |
1606 | 1606 | $args['surn'] = $surn; |
1607 | 1607 | } elseif ($salpha === ',') { |
@@ -1614,7 +1614,7 @@ discard block |
||
1614 | 1614 | // All surnames |
1615 | 1615 | $sql .= " AND n_surn NOT IN ('', '@N.N.')"; |
1616 | 1616 | } |
1617 | - $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)"; |
|
1617 | + $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)"; |
|
1618 | 1618 | $args['collate_2'] = I18N::collation(); |
1619 | 1619 | $args['collate_3'] = I18N::collation(); |
1620 | 1620 | |
@@ -1655,7 +1655,7 @@ discard block |
||
1655 | 1655 | ]; |
1656 | 1656 | |
1657 | 1657 | if ($surn) { |
1658 | - $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
1658 | + $sql .= " AND n_surn COLLATE :collate_1 = :surn"; |
|
1659 | 1659 | $args['collate_1'] = I18N::collation(); |
1660 | 1660 | $args['surn'] = $surn; |
1661 | 1661 | } elseif ($salpha === ',') { |
@@ -1672,7 +1672,7 @@ discard block |
||
1672 | 1672 | $sql .= " AND " . $this->getInitialSql('n_givn', $galpha); |
1673 | 1673 | } |
1674 | 1674 | |
1675 | - $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"; |
|
1675 | + $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"; |
|
1676 | 1676 | $args['collate_2'] = I18N::collation(); |
1677 | 1677 | $args['collate_3'] = I18N::collation(); |
1678 | 1678 |
@@ -933,7 +933,7 @@ |
||
933 | 933 | } |
934 | 934 | |
935 | 935 | if ($type !== 'CONT') { |
936 | - self::$tags[] = $type; |
|
936 | + self::$tags[] = $type; |
|
937 | 937 | $subrecord = $level . ' ' . $type . ' ' . $text; |
938 | 938 | if ($inSource && $type === 'DATE') { |
939 | 939 | echo self::addSimpleTag($tree, $subrecord, '', GedcomTag::getLabel($label, $record)); |
@@ -237,7 +237,7 @@ discard block |
||
237 | 237 | |
238 | 238 | // Create a source, to indicate the source of the data. |
239 | 239 | $filetext .= "0 @WEBTREES@ SOUR\n1 TITL " . WT_BASE_URL . "\n"; |
240 | - $author = User::find($tree->getPreference('CONTACT_EMAIL')); |
|
240 | + $author = User::find($tree->getPreference('CONTACT_EMAIL')); |
|
241 | 241 | if ($author !== null) { |
242 | 242 | $filetext .= '1 AUTH ' . $author->getRealName() . "\n"; |
243 | 243 | } |
@@ -614,7 +614,7 @@ discard block |
||
614 | 614 | |
615 | 615 | $xref = $request->get('xref'); |
616 | 616 | |
617 | - $media = Media::getInstance($xref, $tree); |
|
617 | + $media = Media::getInstance($xref, $tree); |
|
618 | 618 | |
619 | 619 | if ($media === null) { |
620 | 620 | throw new MediaNotFoundException; |
@@ -655,7 +655,7 @@ discard block |
||
655 | 655 | /** @var Tree $tree */ |
656 | 656 | $tree = $request->attributes->get('tree'); |
657 | 657 | |
658 | - $xref = $request->get('xref'); |
|
658 | + $xref = $request->get('xref'); |
|
659 | 659 | |
660 | 660 | $media = Media::getInstance($xref, $tree); |
661 | 661 | |
@@ -679,7 +679,7 @@ discard block |
||
679 | 679 | |
680 | 680 | $xref = $request->get('xref'); |
681 | 681 | |
682 | - $note = Note::getInstance($xref, $tree); |
|
682 | + $note = Note::getInstance($xref, $tree); |
|
683 | 683 | |
684 | 684 | if ($note === null) { |
685 | 685 | throw new NoteNotFoundException; |
@@ -720,7 +720,7 @@ discard block |
||
720 | 720 | /** @var Tree $tree */ |
721 | 721 | $tree = $request->attributes->get('tree'); |
722 | 722 | |
723 | - $xref = $request->get('xref'); |
|
723 | + $xref = $request->get('xref'); |
|
724 | 724 | |
725 | 725 | $note = Note::getInstance($xref, $tree); |
726 | 726 | |
@@ -744,7 +744,7 @@ discard block |
||
744 | 744 | |
745 | 745 | $xref = $request->get('xref'); |
746 | 746 | |
747 | - $repository = Repository::getInstance($xref, $tree); |
|
747 | + $repository = Repository::getInstance($xref, $tree); |
|
748 | 748 | |
749 | 749 | if ($repository === null) { |
750 | 750 | throw new RepositoryNotFoundException; |
@@ -785,7 +785,7 @@ discard block |
||
785 | 785 | /** @var Tree $tree */ |
786 | 786 | $tree = $request->attributes->get('tree'); |
787 | 787 | |
788 | - $xref = $request->get('xref'); |
|
788 | + $xref = $request->get('xref'); |
|
789 | 789 | |
790 | 790 | $repository = Repository::getInstance($xref, $tree); |
791 | 791 | |
@@ -809,7 +809,7 @@ discard block |
||
809 | 809 | |
810 | 810 | $xref = $request->get('xref'); |
811 | 811 | |
812 | - $source = Source::getInstance($xref, $tree); |
|
812 | + $source = Source::getInstance($xref, $tree); |
|
813 | 813 | |
814 | 814 | if ($source === null) { |
815 | 815 | throw new SourceNotFoundException; |
@@ -895,7 +895,7 @@ discard block |
||
895 | 895 | $records = array_filter($records); |
896 | 896 | |
897 | 897 | // Group and sort. |
898 | - uasort($records, function(GedcomRecord $x, GedcomRecord $y) { |
|
898 | + uasort($records, function (GedcomRecord $x, GedcomRecord $y) { |
|
899 | 899 | return $x::RECORD_TYPE <=> $y::RECORD_TYPE ?: GedcomRecord::compare($x, $y); |
900 | 900 | }); |
901 | 901 |