@@ -164,7 +164,7 @@ discard block |
||
164 | 164 | /** |
165 | 165 | * @param list<int> $parent_place_ids |
166 | 166 | */ |
167 | - public function deleteUnusedLocations(int|null $parent_location_id, array $parent_place_ids): void |
|
167 | + public function deleteUnusedLocations(int | null $parent_location_id, array $parent_place_ids): void |
|
168 | 168 | { |
169 | 169 | if ($parent_location_id === null) { |
170 | 170 | $location_query = DB::table('place_location') |
@@ -199,7 +199,7 @@ discard block |
||
199 | 199 | * |
200 | 200 | * @return Collection<int,object{id:int,key:string,place:string,latitude:float|null,longitude:float|null,child_count:int,no_coord:int}> |
201 | 201 | */ |
202 | - public function getPlaceListLocation(int|null $parent_id): Collection |
|
202 | + public function getPlaceListLocation(int | null $parent_id): Collection |
|
203 | 203 | { |
204 | 204 | $expression = |
205 | 205 | DB::prefix('p1') . '.place IS NOT NULL AND ' . DB::prefix('p1') . 'p1.latitude IS NULL OR ' . |
@@ -248,7 +248,7 @@ discard block |
||
248 | 248 | 'child_count' => (int) $row->child_count, |
249 | 249 | 'no_coord' => (int) $row->no_coord, |
250 | 250 | ]) |
251 | - ->sort(static fn (object $x, object $y): int => I18N::comparator()($x->place, $y->place)); |
|
251 | + ->sort(static fn (object $x, object $y) : int => I18N::comparator()($x->place, $y->place)); |
|
252 | 252 | } |
253 | 253 | |
254 | 254 | public function writeLatitude(float $latitude): string |
@@ -126,7 +126,7 @@ discard block |
||
126 | 126 | ->where('wife_name.n_type', '<>', '_MARNM'); |
127 | 127 | }); |
128 | 128 | |
129 | - $field = new Expression('COALESCE(' . DB::prefix('husb_name') . ".n_full, '') || COALESCE(" . DB::prefix('wife_name') . ".n_full, '')"); |
|
129 | + $field = new Expression('COALESCE(' . DB::prefix('husb_name') . ".n_full, '') || COALESCE(" . DB::prefix('wife_name') . ".n_full, '')"); |
|
130 | 130 | |
131 | 131 | $this->whereTrees($query, 'f_file', $trees); |
132 | 132 | $this->whereSearch($query, $field, $search); |
@@ -1068,7 +1068,7 @@ discard block |
||
1068 | 1068 | * @param Expression<string>|string $column |
1069 | 1069 | * @param array<string> $search_terms |
1070 | 1070 | */ |
1071 | - private function whereSearch(Builder $query, Expression|string $column, array $search_terms): void |
|
1071 | + private function whereSearch(Builder $query, Expression | string $column, array $search_terms): void |
|
1072 | 1072 | { |
1073 | 1073 | foreach ($search_terms as $search_term) { |
1074 | 1074 | $query->where($column, DB::iLike(), '%' . addcslashes($search_term, '\\%_') . '%'); |
@@ -323,7 +323,7 @@ |
||
323 | 323 | { |
324 | 324 | return Registry::cache()->file()->remember('whois-asn-' . $asn, function () use ($asn): array { |
325 | 325 | $ranges = $this->network_service->findIpRangesForAsn($asn); |
326 | - $mapper = static fn (string $range): RangeInterface|null => Factory::parseRangeString($range); |
|
326 | + $mapper = static fn (string $range): RangeInterface | null => Factory::parseRangeString($range); |
|
327 | 327 | $ranges = array_map($mapper, $ranges); |
328 | 328 | |
329 | 329 | return array_filter($ranges); |
@@ -57,52 +57,52 @@ |
||
57 | 57 | * Instead, the list from version 1.26 is copied here. |
58 | 58 | */ |
59 | 59 | public const array AI_ROBOTS = [ |
60 | - 'AI2Bot', |
|
61 | - 'Ai2Bot-Dolma', |
|
62 | - 'Amazonbot', |
|
63 | - 'anthropic-ai', |
|
64 | - 'Applebot', |
|
65 | - 'Applebot-Extended', |
|
66 | - 'Brightbot 1.0', |
|
67 | - 'Bytespider', |
|
68 | - 'CCBot', |
|
69 | - 'ChatGPT-User', |
|
70 | - 'Claude-Web', |
|
71 | - 'ClaudeBot', |
|
72 | - 'cohere-ai', |
|
73 | - 'cohere-training-data-crawler', |
|
74 | - 'Crawlspace', |
|
75 | - 'Diffbot', |
|
76 | - 'DuckAssistBot', |
|
77 | - 'FacebookBot', |
|
78 | - 'FriendlyCrawler', |
|
79 | - 'Google-Extended', |
|
80 | - 'GoogleOther', |
|
81 | - 'GoogleOther-Image', |
|
82 | - 'GoogleOther-Video', |
|
83 | - 'GPTBot', |
|
84 | - 'iaskspider/2.0', |
|
85 | - 'ICC-Crawler', |
|
86 | - 'ImagesiftBot', |
|
87 | - 'img2dataset', |
|
88 | - 'ISSCyberRiskCrawler', |
|
89 | - 'Kangaroo Bot', |
|
90 | - 'meta-externalagent', |
|
91 | - 'meta-externalfetcher', |
|
92 | - 'OAI-SearchBot', |
|
93 | - 'omgili', |
|
94 | - 'omgilibot', |
|
95 | - 'PanguBot', |
|
96 | - 'PerplexityBot', |
|
97 | - 'PetalBot', |
|
98 | - 'Scrapy', |
|
99 | - 'SemrushBot-OCOB', |
|
100 | - 'SemrushBot-SWA', |
|
101 | - 'Sidetrade indexer bot', |
|
102 | - 'Timpibot', |
|
103 | - 'VelenPublicWebCrawler', |
|
104 | - 'Webzio-Extended', |
|
105 | - 'YouBot', |
|
60 | + 'AI2Bot', |
|
61 | + 'Ai2Bot-Dolma', |
|
62 | + 'Amazonbot', |
|
63 | + 'anthropic-ai', |
|
64 | + 'Applebot', |
|
65 | + 'Applebot-Extended', |
|
66 | + 'Brightbot 1.0', |
|
67 | + 'Bytespider', |
|
68 | + 'CCBot', |
|
69 | + 'ChatGPT-User', |
|
70 | + 'Claude-Web', |
|
71 | + 'ClaudeBot', |
|
72 | + 'cohere-ai', |
|
73 | + 'cohere-training-data-crawler', |
|
74 | + 'Crawlspace', |
|
75 | + 'Diffbot', |
|
76 | + 'DuckAssistBot', |
|
77 | + 'FacebookBot', |
|
78 | + 'FriendlyCrawler', |
|
79 | + 'Google-Extended', |
|
80 | + 'GoogleOther', |
|
81 | + 'GoogleOther-Image', |
|
82 | + 'GoogleOther-Video', |
|
83 | + 'GPTBot', |
|
84 | + 'iaskspider/2.0', |
|
85 | + 'ICC-Crawler', |
|
86 | + 'ImagesiftBot', |
|
87 | + 'img2dataset', |
|
88 | + 'ISSCyberRiskCrawler', |
|
89 | + 'Kangaroo Bot', |
|
90 | + 'meta-externalagent', |
|
91 | + 'meta-externalfetcher', |
|
92 | + 'OAI-SearchBot', |
|
93 | + 'omgili', |
|
94 | + 'omgilibot', |
|
95 | + 'PanguBot', |
|
96 | + 'PerplexityBot', |
|
97 | + 'PetalBot', |
|
98 | + 'Scrapy', |
|
99 | + 'SemrushBot-OCOB', |
|
100 | + 'SemrushBot-SWA', |
|
101 | + 'Sidetrade indexer bot', |
|
102 | + 'Timpibot', |
|
103 | + 'VelenPublicWebCrawler', |
|
104 | + 'Webzio-Extended', |
|
105 | + 'YouBot', |
|
106 | 106 | ]; |
107 | 107 | |
108 | 108 | // Other bad robots - SEO optimisers, advertisers, etc. This list is shared with robots.txt. |
@@ -115,7 +115,7 @@ |
||
115 | 115 | ->flatten(); |
116 | 116 | |
117 | 117 | // Don't show family meta-data tags |
118 | - $exclude_facts = new Collection(['FAM:CHAN', 'FAM:_UID', 'FAM:UID', 'FAM:SUBM']); |
|
118 | + $exclude_facts = new Collection(['FAM:CHAN', 'FAM:_UID', 'FAM:UID', 'FAM:SUBM']); |
|
119 | 119 | // Don't show tags that are shown in tabs or sidebars |
120 | 120 | $exclude_facts = $exclude_facts->merge($sidebar_facts)->merge($tab_facts); |
121 | 121 |
@@ -58,19 +58,19 @@ discard block |
||
58 | 58 | UTF8::LATIN_SMALL_LETTER_SHARP_S => 'ss', |
59 | 59 | ]; |
60 | 60 | } |
61 | - public function relationships(): array |
|
61 | + public function relationships(): array |
|
62 | 62 | { |
63 | 63 | // returns array => [nominativ, genitive %s] |
64 | 64 | // $genitive = static fn (string $prefix, string $suffix): array => [$prefix . $suffix, $prefix . 's' . $suffix . '%s']; |
65 | 65 | $genitive = static fn (string $prefix, string $suffix, int $gender): array => |
66 | - ($gender == 0) ? [$prefix . $suffix, '%s' . ' des ' . $prefix . 's' . $suffix] : (($gender == 1) ? [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix] : [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix]); |
|
66 | + ($gender == 0) ? [$prefix . $suffix, '%s' . ' des ' . $prefix . 's' . $suffix] : (($gender == 1) ? [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix] : [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix]); |
|
67 | 67 | |
68 | 68 | $ur = static fn (int $n, string $simpleGreat, string $suffix, int $gender): array => $genitive( |
69 | - (($n > 1) ? ($n + 1) . ' x Ur' : (($n > -1) ? 'Ur' . str_repeat('ur', $n) : '')) . $simpleGreat, $suffix, $gender |
|
70 | - // $n <= -1 -> '' |
|
71 | - // $n == 0 -> Ur |
|
72 | - // $n == 1 -> Urur |
|
73 | - // $n >= 2 -> $n+1 ' x Ur' |
|
69 | + (($n > 1) ? ($n + 1) . ' x Ur' : (($n > -1) ? 'Ur' . str_repeat('ur', $n) : '')) . $simpleGreat, $suffix, $gender |
|
70 | + // $n <= -1 -> '' |
|
71 | + // $n == 0 -> Ur |
|
72 | + // $n == 1 -> Urur |
|
73 | + // $n >= 2 -> $n+1 ' x Ur' |
|
74 | 74 | ); |
75 | 75 | |
76 | 76 | return [ |
@@ -163,48 +163,48 @@ discard block |
||
163 | 163 | Relationship::fixed('Enkelin', '%s der Enkelin')->child()->daughter(), |
164 | 164 | Relationship::fixed('Enkel', '%s des Enkels')->child()->son(), |
165 | 165 | Relationship::fixed('Enkelin/Enkel', '%s der Enkelin/des Enkels')->child()->child(), |
166 | - // Nichte / Neffe |
|
166 | + // Nichte / Neffe |
|
167 | 167 | Relationship::fixed('Nichte', '%s der Nichte')->sibling()->daughter(), |
168 | 168 | Relationship::fixed('Nichte', '%s der Nichte')->married()->spouse()->sibling()->daughter(), |
169 | 169 | Relationship::fixed('Neffe', '%s des Neffen')->sibling()->son(), |
170 | 170 | Relationship::fixed('Neffe', '%s des Neffen')->married()->spouse()->sibling()->son(), |
171 | 171 | Relationship::fixed('Nichte/Neffe', '%s der Nichte / des Neffen')->sibling()->child(), |
172 | 172 | Relationship::fixed('Nichte/Neffe', '%s der Nichte/ des Neffen')->married()->spouse()->sibling()->child(), |
173 | - // Großnichte / Großneffe |
|
173 | + // Großnichte / Großneffe |
|
174 | 174 | Relationship::fixed('Großnichte', '%s der Großnichte')->sibling()->child()->child()->female(), |
175 | 175 | Relationship::fixed('Großnichte', '%s der Großnichte')->married()->spouse()->sibling()->child()->child()->female(), |
176 | 176 | Relationship::fixed('Großneffe', '%s des Großneffen')->sibling()->child()->child()->male(), |
177 | 177 | Relationship::fixed('Großneffe', '%s des Großneffen')->married()->spouse()->sibling()->child()->child()->male(), |
178 | - // Tante / Onkel |
|
178 | + // Tante / Onkel |
|
179 | 179 | Relationship::fixed('Tante', '%s der Tante')->parent()->sister(), |
180 | 180 | Relationship::fixed('Tante', '%s der Tante')->parent()->brother()->wife(), |
181 | 181 | Relationship::fixed('Onkel', '%s des Onkels')->parent()->sister()->husband(), |
182 | 182 | Relationship::fixed('Onkel', '%s des Onkels')->parent()->brother(), |
183 | - // Großtante / Großonkel |
|
183 | + // Großtante / Großonkel |
|
184 | 184 | Relationship::fixed('Großtante', '%s der Großtante')->parent()->parent()->sister(), |
185 | 185 | Relationship::fixed('Großtante', '%s der Großtante')->parent()->parent()->brother()->wife(), |
186 | 186 | Relationship::fixed('Großonkel', '%s des Großonkels')->parent()->parent()->brother(), |
187 | 187 | Relationship::fixed('Großonkel', '%s des Großonkels')->parent()->parent()->sister()->husband(), |
188 | - // Cousin / Cousine |
|
188 | + // Cousin / Cousine |
|
189 | 189 | Relationship::fixed('Cousine', '%s der Cousine')->parent()->sister()->child()->female(), |
190 | 190 | Relationship::fixed('Cousine', '%s der Cousine')->parent()->brother()->child()->female(), |
191 | 191 | Relationship::fixed('Cousin', '%s des Cousins')->parent()->sister()->child()->male(), |
192 | 192 | Relationship::fixed('Cousin', '%s des Cousins')->parent()->brother()->child()->male(), |
193 | 193 | // Relationships with dynamically generated names |
194 | - // ancestors: n=2 -> Urgroßmutter (mütterlicherseits) / Großmutter der Mutter |
|
194 | + // ancestors: n=2 -> Urgroßmutter (mütterlicherseits) / Großmutter der Mutter |
|
195 | 195 | Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großmutter', ' (mütterlicherseits) ', 1))->mother()->ancestor()->female(), |
196 | 196 | Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großvater', ' (mütterlicherseits) ', 0))->mother()->ancestor()->male(), |
197 | 197 | Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großmutter', ' (väterlicherseits) ', 1))->father()->ancestor()->female(), |
198 | 198 | Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großvater', ' (väterlicherseits) ', 0))->father()->ancestor()->male(), |
199 | - // |
|
199 | + // |
|
200 | 200 | Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großeltern', ' (väterlicherseits) ', 2))->father()->ancestor(), |
201 | 201 | Relationship::dynamic(static fn (int $n) => $ur($n - 2, 'großeltern', ' (mütterlicherseits) ', 2))->mother()->ancestor(), |
202 | - // |
|
202 | + // |
|
203 | 203 | Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großtante', ' ', 1))->ancestor()->sister(), |
204 | 204 | Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großtante', ' ', 1))->ancestor()->sibling()->wife(), |
205 | 205 | Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großonkel', ' ', 0))->ancestor()->brother(), |
206 | 206 | Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großonkel', ' ', 0))->ancestor()->sibling()->husband(), |
207 | - // descendants |
|
207 | + // descendants |
|
208 | 208 | Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großnichte', ' ', 1))->sibling()->descendant()->female(), |
209 | 209 | Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großnichte', ' ', 1))->married()->spouse()->sibling()->descendant()->female(), |
210 | 210 | Relationship::dynamic(static fn (int $n) => $ur($n - 3, 'großneffe', ' ', 0))->sibling()->descendant()->male(), |
@@ -66,7 +66,7 @@ |
||
66 | 66 | ($gender == 0) ? [$prefix . $suffix, '%s' . ' des ' . $prefix . 's' . $suffix] : (($gender == 1) ? [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix] : [$prefix . $suffix, '%s' . ' der ' . $prefix . $suffix]); |
67 | 67 | |
68 | 68 | $ur = static fn (int $n, string $simpleGreat, string $suffix, int $gender): array => $genitive( |
69 | - (($n > 1) ? ($n + 1) . ' x Ur' : (($n > -1) ? 'Ur' . str_repeat('ur', $n) : '')) . $simpleGreat, $suffix, $gender |
|
69 | + (($n > 1) ? ($n + 1) . ' x Ur' : (($n > -1) ? 'Ur' . str_repeat('ur', $n) : '')) . $simpleGreat, $suffix, $gender |
|
70 | 70 | // $n <= -1 -> '' |
71 | 71 | // $n == 0 -> Ur |
72 | 72 | // $n == 1 -> Urur |