@@ -145,7 +145,7 @@ discard block |
||
145 | 145 | $this->pageh = $tmpw; |
146 | 146 | } |
147 | 147 | // Store the pagewidth without margins |
148 | - $this->noMarginWidth = (int)($this->pagew - $this->leftmargin - $this->rightmargin); |
|
148 | + $this->noMarginWidth = (int) ($this->pagew - $this->leftmargin - $this->rightmargin); |
|
149 | 149 | // If RTL |
150 | 150 | if ($this->rtl) { |
151 | 151 | $this->alignRTL = 'right'; |
@@ -727,14 +727,14 @@ discard block |
||
727 | 727 | public function textWrap($str, $width): string |
728 | 728 | { |
729 | 729 | // Calculate the line width |
730 | - $lw = (int)($width / ($this->getCurrentStyleHeight() / 2)); |
|
730 | + $lw = (int) ($width / ($this->getCurrentStyleHeight() / 2)); |
|
731 | 731 | // Wordwrap each line |
732 | 732 | $lines = explode("\n", $str); |
733 | 733 | // Line Feed counter |
734 | 734 | $lfct = count($lines); |
735 | 735 | $wraptext = ''; |
736 | 736 | foreach ($lines as $line) { |
737 | - $wtext = FunctionsRtl::utf8WordWrap($line, $lw, "\n", true); |
|
737 | + $wtext = FunctionsRtl::utf8WordWrap($line, $lw, "\n", true); |
|
738 | 738 | $wraptext .= $wtext; |
739 | 739 | // Add a new line as long as it’s not the last line |
740 | 740 | if ($lfct > 1) { |
@@ -141,7 +141,7 @@ discard block |
||
141 | 141 | */ |
142 | 142 | private function getPersonalFacts(Individual $individual): array |
143 | 143 | { |
144 | - $facts = $individual->getFacts(); |
|
144 | + $facts = $individual->getFacts(); |
|
145 | 145 | foreach ($individual->getSpouseFamilies() as $family) { |
146 | 146 | $facts = array_merge($facts, $family->getFacts()); |
147 | 147 | // Add birth of children from this family to the facts array |
@@ -215,7 +215,7 @@ discard block |
||
215 | 215 | 'provider' => 'openstreetmap', |
216 | 216 | 'style' => 'mapnik', |
217 | 217 | ]; |
218 | - self::$map_providers = [ |
|
218 | + self::$map_providers = [ |
|
219 | 219 | 'openstreetmap' => [ |
220 | 220 | 'name' => 'OpenStreetMap', |
221 | 221 | 'styles' => ['mapnik' => 'Mapnik'], |
@@ -123,7 +123,7 @@ discard block |
||
123 | 123 | // Dead people... |
124 | 124 | if ($this->tree->getPreference('SHOW_DEAD_PEOPLE') >= $access_level && $this->isDead()) { |
125 | 125 | $keep_alive = false; |
126 | - $KEEP_ALIVE_YEARS_BIRTH = (int)$this->tree->getPreference('KEEP_ALIVE_YEARS_BIRTH'); |
|
126 | + $KEEP_ALIVE_YEARS_BIRTH = (int) $this->tree->getPreference('KEEP_ALIVE_YEARS_BIRTH'); |
|
127 | 127 | if ($KEEP_ALIVE_YEARS_BIRTH) { |
128 | 128 | preg_match_all('/\n1 (?:' . WT_EVENTS_BIRT . ').*(?:\n[2-9].*)*(?:\n2 DATE (.+))/', $this->gedcom, $matches, PREG_SET_ORDER); |
129 | 129 | foreach ($matches as $match) { |
@@ -134,7 +134,7 @@ discard block |
||
134 | 134 | } |
135 | 135 | } |
136 | 136 | } |
137 | - $KEEP_ALIVE_YEARS_DEATH = (int)$this->tree->getPreference('KEEP_ALIVE_YEARS_DEATH'); |
|
137 | + $KEEP_ALIVE_YEARS_DEATH = (int) $this->tree->getPreference('KEEP_ALIVE_YEARS_DEATH'); |
|
138 | 138 | if ($KEEP_ALIVE_YEARS_DEATH) { |
139 | 139 | preg_match_all('/\n1 (?:' . WT_EVENTS_DEAT . ').*(?:\n[2-9].*)*(?:\n2 DATE (.+))/', $this->gedcom, $matches, PREG_SET_ORDER); |
140 | 140 | foreach ($matches as $match) { |
@@ -150,7 +150,7 @@ discard block |
||
150 | 150 | } |
151 | 151 | } |
152 | 152 | // Consider relationship privacy (unless an admin is applying download restrictions) |
153 | - $user_path_length = (int)$this->tree->getUserPreference(Auth::user(), 'RELATIONSHIP_PATH_LENGTH'); |
|
153 | + $user_path_length = (int) $this->tree->getUserPreference(Auth::user(), 'RELATIONSHIP_PATH_LENGTH'); |
|
154 | 154 | $gedcomid = $this->tree->getUserPreference(Auth::user(), 'gedcomid'); |
155 | 155 | if ($gedcomid !== '' && $user_path_length > 0) { |
156 | 156 | return self::isRelated($this, $user_path_length); |
@@ -322,7 +322,7 @@ discard block |
||
322 | 322 | */ |
323 | 323 | public function isDead(): bool |
324 | 324 | { |
325 | - $MAX_ALIVE_AGE = (int)$this->tree->getPreference('MAX_ALIVE_AGE'); |
|
325 | + $MAX_ALIVE_AGE = (int) $this->tree->getPreference('MAX_ALIVE_AGE'); |
|
326 | 326 | |
327 | 327 | // "1 DEAT Y" or "1 DEAT/2 DATE" or "1 DEAT/2 PLAC" |
328 | 328 | if (preg_match('/\n1 (?:' . WT_EVENTS_DEAT . ')(?: Y|(?:\n[2-9].+)*\n2 (DATE|PLAC) )/', $this->gedcom)) { |
@@ -711,7 +711,7 @@ discard block |
||
711 | 711 | if ($min && $max) { |
712 | 712 | $gregorian_calendar = new GregorianCalendar(); |
713 | 713 | |
714 | - list($year) = $gregorian_calendar->jdToYmd((int)((max($min) + min($max)) / 2)); |
|
714 | + list($year) = $gregorian_calendar->jdToYmd((int) ((max($min) + min($max)) / 2)); |
|
715 | 715 | $this->estimated_birth_date = new Date('EST ' . $year); |
716 | 716 | } else { |
717 | 717 | $this->estimated_birth_date = new Date(''); // always return a date object |
@@ -738,7 +738,7 @@ discard block |
||
738 | 738 | } |
739 | 739 | if ($this->estimated_death_date === null) { |
740 | 740 | if ($this->getEstimatedBirthDate()->minimumJulianDay()) { |
741 | - $max_alive_age = (int)$this->tree->getPreference('MAX_ALIVE_AGE'); |
|
741 | + $max_alive_age = (int) $this->tree->getPreference('MAX_ALIVE_AGE'); |
|
742 | 742 | $this->estimated_death_date = $this->getEstimatedBirthDate()->addYears($max_alive_age, 'BEF'); |
743 | 743 | } else { |
744 | 744 | $this->estimated_death_date = new Date(''); // always return a date object |
@@ -1106,7 +1106,7 @@ discard block |
||
1106 | 1106 | if ($display) { |
1107 | 1107 | $txt .= ' style="display:' . $display . '"'; |
1108 | 1108 | } |
1109 | - $txt .= '>'; |
|
1109 | + $txt .= '>'; |
|
1110 | 1110 | $husb = $fam->getHusband(); |
1111 | 1111 | if ($husb) { |
1112 | 1112 | // Temporarily reset the 'prefered' display name, as we always |
@@ -1173,7 +1173,7 @@ discard block |
||
1173 | 1173 | // Extract the structured name parts - use for "sortable" names and indexes |
1174 | 1174 | //////////////////////////////////////////////////////////////////////////// |
1175 | 1175 | |
1176 | - $sublevel = 1 + (int)$gedcom[0]; |
|
1176 | + $sublevel = 1 + (int) $gedcom[0]; |
|
1177 | 1177 | $NPFX = preg_match("/\n{$sublevel} NPFX (.+)/", $gedcom, $match) ? $match[1] : ''; |
1178 | 1178 | $GIVN = preg_match("/\n{$sublevel} GIVN (.+)/", $gedcom, $match) ? $match[1] : ''; |
1179 | 1179 | $SURN = preg_match("/\n{$sublevel} SURN (.+)/", $gedcom, $match) ? $match[1] : ''; |
@@ -214,7 +214,7 @@ discard block |
||
214 | 214 | { |
215 | 215 | if ($analytics_id) { |
216 | 216 | // Add extra dimensions (i.e. filtering categories) |
217 | - $dimensions = (object)[ |
|
217 | + $dimensions = (object) [ |
|
218 | 218 | 'dimension1' => $this->tree ? $this->tree->getName() : '-', |
219 | 219 | 'dimension2' => $this->tree ? Auth::accessLevel($this->tree) : '-', |
220 | 220 | ]; |
@@ -276,7 +276,7 @@ discard block |
||
276 | 276 | if ($project_id && $security_id) { |
277 | 277 | return |
278 | 278 | '<script>' . |
279 | - 'var sc_project=' . (int)$project_id . ',sc_invisible=1,sc_security="' . $security_id . |
|
279 | + 'var sc_project=' . (int) $project_id . ',sc_invisible=1,sc_security="' . $security_id . |
|
280 | 280 | '",scJsHost = (("https:"===document.location.protocol)?"https://secure.":"http://www.");' . |
281 | 281 | 'document.write("<sc"+"ript src=\'"+scJsHost+"statcounter.com/counter/counter.js\'></"+"script>");' . |
282 | 282 | '</script>'; |
@@ -1798,7 +1798,7 @@ discard block |
||
1798 | 1798 | public function menuSearchPhonetic(): Menu |
1799 | 1799 | { |
1800 | 1800 | /* I18N: search using “sounds like”, rather than exact spelling */ |
1801 | - return new Menu(I18N::translate('Phonetic search'), route('search-phonetic', ['ged' => $this->tree->getName(), 'action' => 'soundex',]), 'menu-search-soundex', ['rel' => 'nofollow']); |
|
1801 | + return new Menu(I18N::translate('Phonetic search'), route('search-phonetic', ['ged' => $this->tree->getName(), 'action' => 'soundex', ]), 'menu-search-soundex', ['rel' => 'nofollow']); |
|
1802 | 1802 | } |
1803 | 1803 | |
1804 | 1804 | /** |
@@ -227,7 +227,7 @@ |
||
227 | 227 | return $this->defaultAccessLevel(); |
228 | 228 | } |
229 | 229 | |
230 | - return (int)$access_level; |
|
230 | + return (int) $access_level; |
|
231 | 231 | } |
232 | 232 | |
233 | 233 | /** |
@@ -38,6 +38,6 @@ |
||
38 | 38 | return ''; |
39 | 39 | } |
40 | 40 | |
41 | - return (string)Date::getAge($individual->getEstimatedBirthDate(), $this->date(), 0); |
|
41 | + return (string) Date::getAge($individual->getEstimatedBirthDate(), $this->date(), 0); |
|
42 | 42 | } |
43 | 43 | } |
@@ -43,6 +43,6 @@ |
||
43 | 43 | $years -= $years % 5; |
44 | 44 | } |
45 | 45 | |
46 | - return (string)$years; |
|
46 | + return (string) $years; |
|
47 | 47 | } |
48 | 48 | } |
@@ -48,6 +48,6 @@ |
||
48 | 48 | return ''; |
49 | 49 | } |
50 | 50 | |
51 | - return (string)Date::getAge($marriage_date, $this->date(), 0); |
|
51 | + return (string) Date::getAge($marriage_date, $this->date(), 0); |
|
52 | 52 | } |
53 | 53 | } |
@@ -163,11 +163,11 @@ discard block |
||
163 | 163 | $query = $request->get('query', ''); |
164 | 164 | |
165 | 165 | // What type of records to search? |
166 | - $search_individuals = (bool)$request->get('search_individuals'); |
|
167 | - $search_families = (bool)$request->get('search_families'); |
|
168 | - $search_repositories = (bool)$request->get('search_repositories'); |
|
169 | - $search_sources = (bool)$request->get('search_sources'); |
|
170 | - $search_notes = (bool)$request->get('search_notes'); |
|
166 | + $search_individuals = (bool) $request->get('search_individuals'); |
|
167 | + $search_families = (bool) $request->get('search_families'); |
|
168 | + $search_repositories = (bool) $request->get('search_repositories'); |
|
169 | + $search_sources = (bool) $request->get('search_sources'); |
|
170 | + $search_notes = (bool) $request->get('search_notes'); |
|
171 | 171 | |
172 | 172 | // Default to individuals only |
173 | 173 | if (!$search_individuals && !$search_families && !$search_repositories && !$search_sources && !$search_notes) { |
@@ -184,7 +184,7 @@ discard block |
||
184 | 184 | $all_trees = [$tree]; |
185 | 185 | } |
186 | 186 | |
187 | - $search_tree_names = (array)$request->get('search_trees', []); |
|
187 | + $search_tree_names = (array) $request->get('search_trees', []); |
|
188 | 188 | |
189 | 189 | $search_trees = array_filter($all_trees, function (Tree $tree) use ($search_tree_names): bool { |
190 | 190 | return in_array($tree->getName(), $search_tree_names); |
@@ -290,7 +290,7 @@ discard block |
||
290 | 290 | $all_trees = [$tree]; |
291 | 291 | } |
292 | 292 | |
293 | - $search_tree_names = (array)$request->get('search_trees', []); |
|
293 | + $search_tree_names = (array) $request->get('search_trees', []); |
|
294 | 294 | |
295 | 295 | $search_trees = array_filter($all_trees, function (Tree $tree) use ($search_tree_names): bool { |
296 | 296 | return in_array($tree->getName(), $search_tree_names); |
@@ -640,7 +640,7 @@ discard block |
||
640 | 640 | |
641 | 641 | foreach ($search_terms as $n => $q) { |
642 | 642 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
643 | - $sql .= " AND f_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
643 | + $sql .= " AND f_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
644 | 644 | $args['collate_' . $n] = I18N::collation(); |
645 | 645 | $args['query_' . $n] = Database::escapeLike($q); |
646 | 646 | } |
@@ -688,7 +688,7 @@ discard block |
||
688 | 688 | */ |
689 | 689 | private function searchFamilyNames(array $search_terms, array $search_trees): array |
690 | 690 | { |
691 | - $sql = |
|
691 | + $sql = |
|
692 | 692 | "SELECT DISTINCT f_id AS xref, f_file AS gedcom_id, f_gedcom AS gedcom" . |
693 | 693 | " FROM `##families`" . |
694 | 694 | " LEFT JOIN `##name` husb ON f_husb = husb.n_id AND f_file = husb.n_file" . |
@@ -697,7 +697,7 @@ discard block |
||
697 | 697 | $args = []; |
698 | 698 | |
699 | 699 | foreach ($search_terms as $n => $q) { |
700 | - $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 . ", '%'))"; |
|
700 | + $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 . ", '%'))"; |
|
701 | 701 | $args['husb_collate_' . $n] = I18N::collation(); |
702 | 702 | $args['husb_query_' . $n] = Database::escapeLike($q); |
703 | 703 | $args['wife_collate_' . $n] = I18N::collation(); |
@@ -749,7 +749,7 @@ discard block |
||
749 | 749 | |
750 | 750 | foreach ($search_terms as $n => $q) { |
751 | 751 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
752 | - $sql .= " AND i_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
752 | + $sql .= " AND i_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
753 | 753 | $args['collate_' . $n] = I18N::collation(); |
754 | 754 | $args['query_' . $n] = Database::escapeLike($q); |
755 | 755 | } |
@@ -896,7 +896,7 @@ discard block |
||
896 | 896 | } |
897 | 897 | |
898 | 898 | // Add the where clause |
899 | - $sql .= " WHERE ind.i_file=?"; |
|
899 | + $sql .= " WHERE ind.i_file=?"; |
|
900 | 900 | $bind[] = $tree->getTreeId(); |
901 | 901 | |
902 | 902 | foreach ($fields as $field_name => $field_value) { |
@@ -907,15 +907,15 @@ discard block |
||
907 | 907 | case 'GIVN': |
908 | 908 | switch ($modifiers[$field_name]) { |
909 | 909 | case 'EXACT': |
910 | - $sql .= " AND i_n.n_givn=?"; |
|
910 | + $sql .= " AND i_n.n_givn=?"; |
|
911 | 911 | $bind[] = $field_value; |
912 | 912 | break; |
913 | 913 | case 'BEGINS': |
914 | - $sql .= " AND i_n.n_givn LIKE CONCAT(?, '%')"; |
|
914 | + $sql .= " AND i_n.n_givn LIKE CONCAT(?, '%')"; |
|
915 | 915 | $bind[] = $field_value; |
916 | 916 | break; |
917 | 917 | case 'CONTAINS': |
918 | - $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
918 | + $sql .= " AND i_n.n_givn 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_givn LIKE CONCAT('%', ?, '%')"; |
|
932 | + $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
933 | 933 | $bind[] = $field_value; |
934 | 934 | } |
935 | 935 | break; |
@@ -945,7 +945,7 @@ discard block |
||
945 | 945 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
946 | 946 | } else { |
947 | 947 | // No phonetic content? Use a substring match |
948 | - $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
948 | + $sql .= " AND i_n.n_givn LIKE CONCAT('%', ?, '%')"; |
|
949 | 949 | $bind[] = $field_value; |
950 | 950 | } |
951 | 951 | break; |
@@ -954,15 +954,15 @@ discard block |
||
954 | 954 | case 'SURN': |
955 | 955 | switch ($modifiers[$field_name]) { |
956 | 956 | case 'EXACT': |
957 | - $sql .= " AND i_n.n_surname=?"; |
|
957 | + $sql .= " AND i_n.n_surname=?"; |
|
958 | 958 | $bind[] = $field_value; |
959 | 959 | break; |
960 | 960 | case 'BEGINS': |
961 | - $sql .= " AND i_n.n_surname LIKE CONCAT(?, '%')"; |
|
961 | + $sql .= " AND i_n.n_surname LIKE CONCAT(?, '%')"; |
|
962 | 962 | $bind[] = $field_value; |
963 | 963 | break; |
964 | 964 | case 'CONTAINS': |
965 | - $sql .= " AND i_n.n_surname LIKE CONCAT('%', ?, '%')"; |
|
965 | + $sql .= " AND i_n.n_surname LIKE CONCAT('%', ?, '%')"; |
|
966 | 966 | $bind[] = $field_value; |
967 | 967 | break; |
968 | 968 | case 'SDX_STD': |
@@ -976,7 +976,7 @@ discard block |
||
976 | 976 | $sql .= " AND (" . implode(' OR ', $sdx) . ")"; |
977 | 977 | } else { |
978 | 978 | // No phonetic content? Use a substring match |
979 | - $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
979 | + $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
980 | 980 | $bind[] = $field_value; |
981 | 981 | } |
982 | 982 | break; |
@@ -994,7 +994,7 @@ discard block |
||
994 | 994 | } |
995 | 995 | |
996 | 996 | // No phonetic content? Use a substring match |
997 | - $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
997 | + $sql .= " AND i_n.n_surn LIKE CONCAT('%', ?, '%')"; |
|
998 | 998 | $bind[] = $field_value; |
999 | 999 | } |
1000 | 1000 | break; |
@@ -1002,7 +1002,7 @@ discard block |
||
1002 | 1002 | case '_MARNM': |
1003 | 1003 | case '_HEB': |
1004 | 1004 | case '_AKA': |
1005 | - $sql .= " AND i_n.n_type=? AND i_n.n_full LIKE CONCAT('%', ?, '%')"; |
|
1005 | + $sql .= " AND i_n.n_type=? AND i_n.n_full LIKE CONCAT('%', ?, '%')"; |
|
1006 | 1006 | $bind[] = $parts[1]; |
1007 | 1007 | $bind[] = $field_value; |
1008 | 1008 | break; |
@@ -1012,7 +1012,7 @@ discard block |
||
1012 | 1012 | $date = new Date($field_value); |
1013 | 1013 | if ($date->isOK()) { |
1014 | 1014 | $delta = 365 * ($modifiers[$field_name] ?? 0); |
1015 | - $sql .= " AND i_d.d_fact=? AND i_d.d_julianday1>=? AND i_d.d_julianday2<=?"; |
|
1015 | + $sql .= " AND i_d.d_fact=? AND i_d.d_julianday1>=? AND i_d.d_julianday2<=?"; |
|
1016 | 1016 | $bind[] = $parts[0]; |
1017 | 1017 | $bind[] = $date->minimumJulianDay() - $delta; |
1018 | 1018 | $bind[] = $date->maximumJulianDay() + $delta; |
@@ -1022,7 +1022,7 @@ discard block |
||
1022 | 1022 | $date = new Date($field_value); |
1023 | 1023 | if ($date->isOK()) { |
1024 | 1024 | $delta = 365 * $modifiers[$field_name]; |
1025 | - $sql .= " AND f_d.d_fact=? AND f_d.d_julianday1>=? AND f_d.d_julianday2<=?"; |
|
1025 | + $sql .= " AND f_d.d_fact=? AND f_d.d_julianday1>=? AND f_d.d_julianday2<=?"; |
|
1026 | 1026 | $bind[] = $parts[1]; |
1027 | 1027 | $bind[] = $date->minimumJulianDay() - $delta; |
1028 | 1028 | $bind[] = $date->maximumJulianDay() + $delta; |
@@ -1030,12 +1030,12 @@ discard block |
||
1030 | 1030 | } elseif ($parts[1] === 'PLAC') { |
1031 | 1031 | // *:PLAC |
1032 | 1032 | // SQL can only link a place to a person/family, not to an event. |
1033 | - $sql .= " AND i_p.place LIKE CONCAT('%', ?, '%')"; |
|
1033 | + $sql .= " AND i_p.place LIKE CONCAT('%', ?, '%')"; |
|
1034 | 1034 | $bind[] = $field_value; |
1035 | 1035 | } elseif ($parts[0] === 'FAMS' && $parts[2] === 'PLAC') { |
1036 | 1036 | // FAMS:*:PLAC |
1037 | 1037 | // SQL can only link a place to a person/family, not to an event. |
1038 | - $sql .= " AND f_p.place LIKE CONCAT('%', ?, '%')"; |
|
1038 | + $sql .= " AND f_p.place LIKE CONCAT('%', ?, '%')"; |
|
1039 | 1039 | $bind[] = $field_value; |
1040 | 1040 | } elseif ($parts[0] === 'FAMC' && $parts[2] === 'NAME') { |
1041 | 1041 | $table = $parts[1] === 'HUSB' ? 'f_n' : 'm_n'; |
@@ -1044,15 +1044,15 @@ discard block |
||
1044 | 1044 | case 'GIVN': |
1045 | 1045 | switch ($modifiers[$field_name]) { |
1046 | 1046 | case 'EXACT': |
1047 | - $sql .= " AND {$table}.n_givn=?"; |
|
1047 | + $sql .= " AND {$table}.n_givn=?"; |
|
1048 | 1048 | $bind[] = $field_value; |
1049 | 1049 | break; |
1050 | 1050 | case 'BEGINS': |
1051 | - $sql .= " AND {$table}.n_givn LIKE CONCAT(?, '%')"; |
|
1051 | + $sql .= " AND {$table}.n_givn LIKE CONCAT(?, '%')"; |
|
1052 | 1052 | $bind[] = $field_value; |
1053 | 1053 | break; |
1054 | 1054 | case 'CONTAINS': |
1055 | - $sql .= " AND {$table}.n_givn LIKE CONCAT('%', ?, '%')"; |
|
1055 | + $sql .= " AND {$table}.n_givn 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_givn LIKE CONCAT('%', ?, '%')"; |
|
1069 | + $sql .= " AND {$table}.n_givn LIKE CONCAT('%', ?, '%')"; |
|
1070 | 1070 | $bind[] = $field_value; |
1071 | 1071 | } |
1072 | 1072 | break; |
@@ -1084,22 +1084,22 @@ discard block |
||
1084 | 1084 | } |
1085 | 1085 | |
1086 | 1086 | // No phonetic content? Use a substring match |
1087 | - $sql .= " AND {$table}.n_givn LIKE CONCAT('%', ?, '%')"; |
|
1087 | + $sql .= " AND {$table}.n_givn LIKE CONCAT('%', ?, '%')"; |
|
1088 | 1088 | $bind[] = $field_value; |
1089 | 1089 | } |
1090 | 1090 | break; |
1091 | 1091 | case 'SURN': |
1092 | 1092 | switch ($modifiers[$field_name]) { |
1093 | 1093 | case 'EXACT': |
1094 | - $sql .= " AND {$table}.n_surname=?"; |
|
1094 | + $sql .= " AND {$table}.n_surname=?"; |
|
1095 | 1095 | $bind[] = $field_value; |
1096 | 1096 | break; |
1097 | 1097 | case 'BEGINS': |
1098 | - $sql .= " AND {$table}.n_surname LIKE CONCAT(?, '%')"; |
|
1098 | + $sql .= " AND {$table}.n_surname LIKE CONCAT(?, '%')"; |
|
1099 | 1099 | $bind[] = $field_value; |
1100 | 1100 | break; |
1101 | 1101 | case 'CONTAINS': |
1102 | - $sql .= " AND {$table}.n_surname LIKE CONCAT('%', ?, '%')"; |
|
1102 | + $sql .= " AND {$table}.n_surname LIKE CONCAT('%', ?, '%')"; |
|
1103 | 1103 | $bind[] = $field_value; |
1104 | 1104 | break; |
1105 | 1105 | case 'SDX_STD': |
@@ -1113,7 +1113,7 @@ discard block |
||
1113 | 1113 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
1114 | 1114 | } else { |
1115 | 1115 | // No phonetic content? Use a substring match |
1116 | - $sql .= " AND {$table}.n_surn LIKE CONCAT('%', ?, '%')"; |
|
1116 | + $sql .= " AND {$table}.n_surn LIKE CONCAT('%', ?, '%')"; |
|
1117 | 1117 | $bind[] = $field_value; |
1118 | 1118 | } |
1119 | 1119 | break; |
@@ -1129,7 +1129,7 @@ discard block |
||
1129 | 1129 | $sql .= ' AND (' . implode(' OR ', $sdx) . ')'; |
1130 | 1130 | } else { |
1131 | 1131 | // No phonetic content? Use a substring match |
1132 | - $sql .= " AND {$table}.n_surn LIKE CONCAT('%', ?, '%')"; |
|
1132 | + $sql .= " AND {$table}.n_surn LIKE CONCAT('%', ?, '%')"; |
|
1133 | 1133 | $bind[] = $field_value; |
1134 | 1134 | } |
1135 | 1135 | break; |
@@ -1138,17 +1138,17 @@ discard block |
||
1138 | 1138 | } |
1139 | 1139 | } elseif ($parts[0] === 'FAMS') { |
1140 | 1140 | // e.g. searches for occupation, religion, note, etc. |
1141 | - $sql .= " AND fam.f_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
1141 | + $sql .= " AND fam.f_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
1142 | 1142 | $bind[] = $parts[1]; |
1143 | 1143 | $bind[] = $field_value; |
1144 | 1144 | } elseif ($parts[1] === 'TYPE') { |
1145 | 1145 | // e.g. FACT:TYPE or EVEN:TYPE |
1146 | - $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n1 ', ?, '.*(\n[2-9] .*)*\n2 TYPE .*', ?)"; |
|
1146 | + $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n1 ', ?, '.*(\n[2-9] .*)*\n2 TYPE .*', ?)"; |
|
1147 | 1147 | $bind[] = $parts[0]; |
1148 | 1148 | $bind[] = $field_value; |
1149 | 1149 | } else { |
1150 | 1150 | // e.g. searches for occupation, religion, note, etc. |
1151 | - $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
1151 | + $sql .= " AND ind.i_gedcom REGEXP CONCAT('\n[0-9] ', ?, '(.*\n[0-9] CONT)* [^\n]*', ?)"; |
|
1152 | 1152 | $bind[] = $parts[0]; |
1153 | 1153 | $bind[] = $field_value; |
1154 | 1154 | } |
@@ -1227,7 +1227,7 @@ discard block |
||
1227 | 1227 | $sql .= ")"; |
1228 | 1228 | |
1229 | 1229 | if ($givn_sdx !== '') { |
1230 | - $sql .= " AND ("; |
|
1230 | + $sql .= " AND ("; |
|
1231 | 1231 | $givn_sdx = explode(':', $givn_sdx); |
1232 | 1232 | foreach ($givn_sdx as $n => $sdx) { |
1233 | 1233 | $sql .= $n > 0 ? " OR " : ""; |
@@ -1245,7 +1245,7 @@ discard block |
||
1245 | 1245 | } |
1246 | 1246 | |
1247 | 1247 | if ($surn_sdx !== '') { |
1248 | - $sql .= " AND ("; |
|
1248 | + $sql .= " AND ("; |
|
1249 | 1249 | $surn_sdx = explode(':', $surn_sdx); |
1250 | 1250 | foreach ($surn_sdx as $n => $sdx) { |
1251 | 1251 | $sql .= $n ? " OR " : ""; |
@@ -1263,7 +1263,7 @@ discard block |
||
1263 | 1263 | } |
1264 | 1264 | |
1265 | 1265 | if ($plac_sdx !== '') { |
1266 | - $sql .= " AND ("; |
|
1266 | + $sql .= " AND ("; |
|
1267 | 1267 | $plac_sdx = explode(':', $plac_sdx); |
1268 | 1268 | foreach ($plac_sdx as $n => $sdx) { |
1269 | 1269 | $sql .= $n ? " OR " : ""; |
@@ -1310,7 +1310,7 @@ discard block |
||
1310 | 1310 | |
1311 | 1311 | foreach ($search_terms as $n => $q) { |
1312 | 1312 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
1313 | - $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1313 | + $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1314 | 1314 | $args['collate_' . $n] = I18N::collation(); |
1315 | 1315 | $args['query_' . $n] = Database::escapeLike($q); |
1316 | 1316 | } |
@@ -1366,7 +1366,7 @@ discard block |
||
1366 | 1366 | |
1367 | 1367 | foreach ($search_terms as $n => $q) { |
1368 | 1368 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
1369 | - $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1369 | + $sql .= " AND o_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1370 | 1370 | $args['collate_' . $n] = I18N::collation(); |
1371 | 1371 | $args['query_' . $n] = Database::escapeLike($q); |
1372 | 1372 | } |
@@ -1422,7 +1422,7 @@ discard block |
||
1422 | 1422 | |
1423 | 1423 | foreach ($search_terms as $n => $q) { |
1424 | 1424 | $queryregex[] = preg_quote(I18N::strtoupper($q), '/'); |
1425 | - $sql .= " AND s_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1425 | + $sql .= " AND s_gedcom COLLATE :collate_" . $n . " LIKE CONCAT('%', :query_" . $n . ", '%')"; |
|
1426 | 1426 | $args['collate_' . $n] = I18N::collation(); |
1427 | 1427 | $args['query_' . $n] = Database::escapeLike($q); |
1428 | 1428 | } |