@@ -173,7 +173,7 @@ |
||
| 173 | 173 | /** @var Tree $tree */ |
| 174 | 174 | $tree = $request->attributes->get('tree'); |
| 175 | 175 | |
| 176 | - $q = $request->get('q'); |
|
| 176 | + $q = $request->get('q'); |
|
| 177 | 177 | $instance = $request->get('instance'); |
| 178 | 178 | $treeview = new TreeView($instance); |
| 179 | 179 | |
@@ -158,7 +158,7 @@ |
||
| 158 | 158 | DebugBar::addThrowable($ex); |
| 159 | 159 | |
| 160 | 160 | // The module has been deleted or is broken? Disable it. |
| 161 | - Log::addConfigurationLog("Module {$module_name} is missing or broken - disabling it. " . $ex->getMessage(), null); |
|
| 161 | + Log::addConfigurationLog("module {$module_name} is missing or broken - disabling it. " . $ex->getMessage(), null); |
|
| 162 | 162 | Database::prepare( |
| 163 | 163 | "UPDATE `##module` SET status = 'disabled' WHERE module_name = :module_name" |
| 164 | 164 | )->execute([ |
@@ -322,8 +322,8 @@ |
||
| 322 | 322 | $default_locale = new LocaleEnUs; |
| 323 | 323 | try { |
| 324 | 324 | // @TODO, when no language is requested by the user (e.g. search engines), we should use |
| 325 | - // the tree's default language. However, we currently initialise languages before trees, |
|
| 326 | - // so there is no tree available for us to use. |
|
| 325 | + // the tree's default language. However, we currently initialise languages before trees, |
|
| 326 | + // so there is no tree available for us to use. |
|
| 327 | 327 | } catch (\Exception $ex) { |
| 328 | 328 | DebugBar::addThrowable($ex); |
| 329 | 329 | } |
@@ -39,7 +39,7 @@ |
||
| 39 | 39 | 'level' => 2, |
| 40 | 40 | 'full_citations' => $tree->getPreference('FULL_SOURCES'), |
| 41 | 41 | 'tree' => $tree, |
| 42 | - ]); } |
|
| 42 | + ]); } |
|
| 43 | 43 | if ($level1type !== 'OBJE') { |
| 44 | 44 | if ($tree->getPreference('MEDIA_UPLOAD') >= Auth::accessLevel($tree)) { |
| 45 | 45 | echo view('cards/add-media-object', [ |
@@ -763,7 +763,7 @@ |
||
| 763 | 763 | // Inline sources can't be edited. Attempting to save one will convert it |
| 764 | 764 | // into a link, and delete it. |
| 765 | 765 | // e.g. "1 SOUR my source" becomes "1 SOUR @my source@" which does not exist. |
| 766 | - echo FontAwesome::linkIcon('edit', I18N::translate('Edit'), ['class' => 'btn btn-link', 'href' => route('edit-fact', ['xref' => $parent->getXref(), 'fact_id' => $fact->getFactId(), 'ged' => $tree->getName()])]); |
|
| 766 | + echo FontAwesome::linkIcon('edit', I18N::translate('Edit'), ['class' => 'btn btn-link', 'href' => route('edit-fact', ['xref' => $parent->getXref(), 'fact_id' => $fact->getFactId(), 'ged' => $tree->getName()])]); |
|
| 767 | 767 | echo FontAwesome::linkIcon('copy', I18N::translate('Copy'), ['class' => 'btn btn-link', 'href' => '#', 'onclick' => 'return copy_fact("' . e($tree->getName()) . '", "' . e($parent->getXref()) . '", "' . $fact->getFactId() . '");']); |
| 768 | 768 | } |
| 769 | 769 | echo FontAwesome::linkIcon('delete', I18N::translate('Delete'), ['class' => 'btn btn-link', 'href' => '#', 'onclick' => 'return delete_fact("' . I18N::translate('Are you sure you want to delete this fact?') . '", "' . e($tree->getName()) . '", "' . e($parent->getXref()) . '", "' . $fact->getFactId() . '");']); |
@@ -183,7 +183,7 @@ |
||
| 183 | 183 | // The sub-records should be deleted. |
| 184 | 184 | if ($this->tag[$j] === 'SOUR' && ($this->text[$j] === '@@' || $this->text[$j] === '')) { |
| 185 | 185 | $this->text[$j] = ''; |
| 186 | - $k = $j + 1; |
|
| 186 | + $k = $j + 1; |
|
| 187 | 187 | while (($k < count($this->glevels)) && ($this->glevels[$k] > $this->glevels[$j])) { |
| 188 | 188 | $this->text[$k] = ''; |
| 189 | 189 | $k++; |
@@ -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)); |