@@ -77,7 +77,7 @@ |
||
77 | 77 | <br> |
78 | 78 | <br> |
79 | 79 | |
80 | -<table class="table table-bordered table-sm" id="media-table-<?= e($table_id) ?>" data-ajax="<?= e(route('admin-media-data', ['files' => $files, 'media_folder' => $media_folder, 'media_path' => $media_path, 'subfolders' => $subfolders ])) ?>"> |
|
80 | +<table class="table table-bordered table-sm" id="media-table-<?= e($table_id) ?>" data-ajax="<?= e(route('admin-media-data', ['files' => $files, 'media_folder' => $media_folder, 'media_path' => $media_path, 'subfolders' => $subfolders])) ?>"> |
|
81 | 81 | <thead> |
82 | 82 | <tr> |
83 | 83 | <th><?= I18N::translate('Media file') ?></th> |
@@ -46,7 +46,7 @@ |
||
46 | 46 | <select name="tree_name" class="form-control" id="import-server-file"> |
47 | 47 | <option value=""></option> |
48 | 48 | <?php foreach ($gedcom_files as $gedcom_file): ?> |
49 | - <option value="<?= e($gedcom_file) ?>" <?= $gedcom_file === $default_gedcom_file? 'selected' : '' ?>> |
|
49 | + <option value="<?= e($gedcom_file) ?>" <?= $gedcom_file === $default_gedcom_file ? 'selected' : '' ?>> |
|
50 | 50 | <?= e($gedcom_file) ?> |
51 | 51 | </option> |
52 | 52 | <?php endforeach ?> |
@@ -14,7 +14,7 @@ |
||
14 | 14 | $count_media = Database::prepare( |
15 | 15 | "SELECT l_to, COUNT(*) FROM `##media` JOIN `##link` ON l_from = m_id AND l_file = m_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
16 | 16 | )->execute(['tree_id' => $tree->getTreeId()])->fetchAssoc(); |
17 | -$count_sources = Database::prepare( |
|
17 | +$count_sources = Database::prepare( |
|
18 | 18 | "SELECT l_to, COUNT(*) FROM `##sources` JOIN `##link` ON l_from = s_id AND l_file = s_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
19 | 19 | )->execute(['tree_id' => $tree->getTreeId()])->fetchAssoc(); |
20 | 20 | ?> |
@@ -6,29 +6,29 @@ |
||
6 | 6 | // It is not good to bypass privacy, but many servers do not have the resources |
7 | 7 | // to process privacy for every record in the tree |
8 | 8 | $count_individuals = Database::prepare( |
9 | - "SELECT l_to, COUNT(*) FROM `##individuals` JOIN `##link` ON l_from = i_id AND l_file = i_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
|
9 | + "SELECT l_to, COUNT(*) FROM `##individuals` JOIN `##link` ON l_from = i_id AND l_file = i_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
|
10 | 10 | )->execute(['tree_id' => $tree->getTreeId()])->fetchAssoc(); |
11 | 11 | $count_families = Database::prepare( |
12 | - "SELECT l_to, COUNT(*) FROM `##families` JOIN `##link` ON l_from = f_id AND l_file = f_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
|
12 | + "SELECT l_to, COUNT(*) FROM `##families` JOIN `##link` ON l_from = f_id AND l_file = f_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
|
13 | 13 | )->execute(['tree_id' => $tree->getTreeId()])->fetchAssoc(); |
14 | 14 | $count_media = Database::prepare( |
15 | - "SELECT l_to, COUNT(*) FROM `##media` JOIN `##link` ON l_from = m_id AND l_file = m_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
|
15 | + "SELECT l_to, COUNT(*) FROM `##media` JOIN `##link` ON l_from = m_id AND l_file = m_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
|
16 | 16 | )->execute(['tree_id' => $tree->getTreeId()])->fetchAssoc(); |
17 | 17 | $count_sources = Database::prepare( |
18 | - "SELECT l_to, COUNT(*) FROM `##sources` JOIN `##link` ON l_from = s_id AND l_file = s_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
|
18 | + "SELECT l_to, COUNT(*) FROM `##sources` JOIN `##link` ON l_from = s_id AND l_file = s_file AND l_type = 'NOTE' AND l_file = :tree_id GROUP BY l_to" |
|
19 | 19 | )->execute(['tree_id' => $tree->getTreeId()])->fetchAssoc(); |
20 | 20 | ?> |
21 | 21 | |
22 | 22 | <table |
23 | 23 | class="table table-bordered table-sm wt-table-note datatables" |
24 | 24 | data-columns="<?= e(json_encode([ |
25 | - null, |
|
26 | - ['visible' => array_sum($count_individuals) > 0], |
|
27 | - ['visible' => array_sum($count_families) > 0], |
|
28 | - ['visible' => array_sum($count_media) > 0], |
|
29 | - ['visible' => array_sum($count_sources) > 0], |
|
30 | - ['visible' => (bool) $tree->getPreference('SHOW_LAST_CHANGE'), 'searchable' => false], |
|
31 | - ])) ?>" |
|
25 | + null, |
|
26 | + ['visible' => array_sum($count_individuals) > 0], |
|
27 | + ['visible' => array_sum($count_families) > 0], |
|
28 | + ['visible' => array_sum($count_media) > 0], |
|
29 | + ['visible' => array_sum($count_sources) > 0], |
|
30 | + ['visible' => (bool) $tree->getPreference('SHOW_LAST_CHANGE'), 'searchable' => false], |
|
31 | + ])) ?>" |
|
32 | 32 | data-state-save="true" |
33 | 33 | > |
34 | 34 | <caption class="sr-only"> |
@@ -24,7 +24,7 @@ |
||
24 | 24 | } |
25 | 25 | $chart_url .= '|1:||' . rawurlencode(I18N::percentage($vmax / $count)); // y axis |
26 | 26 | $chart_url .= '|2:||'; |
27 | -$step = $vmax; |
|
27 | +$step = $vmax; |
|
28 | 28 | for ($d = $vmax; $d > 0; $d--) { |
29 | 29 | if ($vmax < ($d * 10 + 1) && ($vmax % $d) == 0) { |
30 | 30 | $step = $d; |
@@ -4,12 +4,12 @@ discard block |
||
4 | 4 | $count = 0; |
5 | 5 | $vmax = 0; |
6 | 6 | foreach ($data as $v) { |
7 | - $n = strlen($v); |
|
8 | - $vmax = max($vmax, $n); |
|
9 | - $count += $n; |
|
7 | + $n = strlen($v); |
|
8 | + $vmax = max($vmax, $n); |
|
9 | + $count += $n; |
|
10 | 10 | } |
11 | 11 | if ($count < 1) { |
12 | - return ''; |
|
12 | + return ''; |
|
13 | 13 | } |
14 | 14 | $chart_url = 'https://chart.googleapis.com/chart?cht=bvs'; // chart type |
15 | 15 | $chart_url .= '&chs=360x150'; // size |
@@ -20,36 +20,36 @@ discard block |
||
20 | 20 | $chart_url .= '&chxt=x,y,r'; // axis labels specification |
21 | 21 | $chart_url .= '&chxl=0:|<|||'; // <1570 |
22 | 22 | for ($y = 1600; $y < 2030; $y += 50) { |
23 | - $chart_url .= $y . '|||||'; // x axis |
|
23 | + $chart_url .= $y . '|||||'; // x axis |
|
24 | 24 | } |
25 | 25 | $chart_url .= '|1:||' . rawurlencode(I18N::percentage($vmax / $count)); // y axis |
26 | 26 | $chart_url .= '|2:||'; |
27 | 27 | $step = $vmax; |
28 | 28 | for ($d = $vmax; $d > 0; $d--) { |
29 | - if ($vmax < ($d * 10 + 1) && ($vmax % $d) == 0) { |
|
30 | - $step = $d; |
|
31 | - } |
|
29 | + if ($vmax < ($d * 10 + 1) && ($vmax % $d) == 0) { |
|
30 | + $step = $d; |
|
31 | + } |
|
32 | 32 | } |
33 | 33 | if ($step == $vmax) { |
34 | - for ($d = $vmax - 1; $d > 0; $d--) { |
|
35 | - if (($vmax - 1) < ($d * 10 + 1) && (($vmax - 1) % $d) == 0) { |
|
36 | - $step = $d; |
|
37 | - } |
|
38 | - } |
|
34 | + for ($d = $vmax - 1; $d > 0; $d--) { |
|
35 | + if (($vmax - 1) < ($d * 10 + 1) && (($vmax - 1) % $d) == 0) { |
|
36 | + $step = $d; |
|
37 | + } |
|
38 | + } |
|
39 | 39 | } |
40 | 40 | for ($n = $step; $n < $vmax; $n += $step) { |
41 | - $chart_url .= $n . '|'; |
|
41 | + $chart_url .= $n . '|'; |
|
42 | 42 | } |
43 | 43 | $chart_url .= rawurlencode($vmax . ' / ' . $count); // r axis |
44 | 44 | $chart_url .= '&chg=100,' . round(100 * $step / $vmax, 1) . ',1,5'; // grid |
45 | 45 | $chart_url .= '&chd=s:'; // data : simple encoding from A=0 to 9=61 |
46 | 46 | $CHART_ENCODING61 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; |
47 | 47 | for ($y = 1570; $y < 2030; $y += 10) { |
48 | - $chart_url .= $CHART_ENCODING61[(int) (substr_count($data[$y], 'M') * 61 / $vmax)]; |
|
48 | + $chart_url .= $CHART_ENCODING61[(int) (substr_count($data[$y], 'M') * 61 / $vmax)]; |
|
49 | 49 | } |
50 | 50 | $chart_url .= ','; |
51 | 51 | for ($y = 1570; $y < 2030; $y += 10) { |
52 | - $chart_url .= $CHART_ENCODING61[(int) (substr_count($data[$y], 'F') * 61 / $vmax)]; |
|
52 | + $chart_url .= $CHART_ENCODING61[(int) (substr_count($data[$y], 'F') * 61 / $vmax)]; |
|
53 | 53 | } |
54 | 54 | $html = '<img src="' . $chart_url . '" alt="' . $title . '" title="' . $title . '" class="gchart">'; |
55 | 55 |
@@ -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', [ |
@@ -14,76 +14,76 @@ discard block |
||
14 | 14 | <?php FunctionsEdit::createEditForm($edit_fact) ?> |
15 | 15 | |
16 | 16 | <?php |
17 | - $level1type = $edit_fact->getTag(); |
|
18 | - switch ($record::RECORD_TYPE) { |
|
19 | - case 'REPO': |
|
20 | - // REPO:NAME facts may take a NOTE (but the REPO record may not). |
|
21 | - if ($level1type === 'NAME') { |
|
22 | - echo view('cards/add-note', [ |
|
23 | - 'level' => 2, |
|
24 | - 'tree' => $tree, |
|
25 | - ]); |
|
26 | - echo view('addSimpleTag($tree, ', [ |
|
27 | - 'level' => 2, |
|
28 | - 'tree' => $tree, |
|
29 | - ]); |
|
30 | - } |
|
31 | - break; |
|
32 | - case 'FAM': |
|
33 | - case 'INDI': |
|
34 | - // FAM and INDI records have real facts. They can take NOTE/SOUR/OBJE/etc. |
|
35 | - if ($level1type !== 'SEX' && $level1type !== 'NOTE' && $level1type !== 'ALIA') { |
|
36 | - if ($level1type !== 'SOUR') { |
|
37 | - echo view('cards/add-source-citation', [ |
|
38 | - 'level' => 2, |
|
39 | - 'full_citations' => $tree->getPreference('FULL_SOURCES'), |
|
40 | - 'tree' => $tree, |
|
41 | - ]); } |
|
42 | - if ($level1type !== 'OBJE') { |
|
43 | - if ($tree->getPreference('MEDIA_UPLOAD') >= Auth::accessLevel($tree)) { |
|
44 | - echo view('cards/add-media-object', [ |
|
45 | - 'level' => 2, |
|
46 | - 'tree' => $tree, |
|
47 | - ]); |
|
48 | - } |
|
49 | - } |
|
50 | - echo view('cards/add-note', [ |
|
51 | - 'level' => 2, |
|
52 | - 'tree' => $tree, |
|
53 | - ]); |
|
54 | - echo view('cards/add-shared-note', [ |
|
55 | - 'level' => 2, |
|
56 | - 'tree' => $tree, |
|
57 | - ]); |
|
58 | - if ($level1type !== 'ASSO' && $level1type !== 'NOTE' && $level1type !== 'SOUR') { |
|
59 | - echo view('cards/add-associate', [ |
|
60 | - 'id' => Uuid::uuid4()->toString(), |
|
61 | - 'level' => 2, |
|
62 | - 'tree' => $tree, |
|
63 | - ]); |
|
64 | - } |
|
65 | - // allow to add godfather and godmother for CHR fact or best man and bridesmaid for MARR fact in one window |
|
66 | - if (in_array($level1type, Config::twoAssociates())) { |
|
67 | - echo view('cards/add-associate', [ |
|
68 | - 'id' => Uuid::uuid4()->toString(), |
|
69 | - 'level' => 2, |
|
70 | - 'tree' => $tree, |
|
71 | - ]); |
|
72 | - } |
|
73 | - if ($level1type !== 'SOUR') { |
|
74 | - echo view('cards/add-restriction', [ |
|
75 | - 'level' => 2, |
|
76 | - 'tree' => $tree, |
|
77 | - ]); |
|
78 | - } |
|
79 | - } |
|
80 | - break; |
|
81 | - default: |
|
82 | - // Other types of record do not have these lower-level records |
|
83 | - break; |
|
84 | - } |
|
17 | + $level1type = $edit_fact->getTag(); |
|
18 | + switch ($record::RECORD_TYPE) { |
|
19 | + case 'REPO': |
|
20 | + // REPO:NAME facts may take a NOTE (but the REPO record may not). |
|
21 | + if ($level1type === 'NAME') { |
|
22 | + echo view('cards/add-note', [ |
|
23 | + 'level' => 2, |
|
24 | + 'tree' => $tree, |
|
25 | + ]); |
|
26 | + echo view('addSimpleTag($tree, ', [ |
|
27 | + 'level' => 2, |
|
28 | + 'tree' => $tree, |
|
29 | + ]); |
|
30 | + } |
|
31 | + break; |
|
32 | + case 'FAM': |
|
33 | + case 'INDI': |
|
34 | + // FAM and INDI records have real facts. They can take NOTE/SOUR/OBJE/etc. |
|
35 | + if ($level1type !== 'SEX' && $level1type !== 'NOTE' && $level1type !== 'ALIA') { |
|
36 | + if ($level1type !== 'SOUR') { |
|
37 | + echo view('cards/add-source-citation', [ |
|
38 | + 'level' => 2, |
|
39 | + 'full_citations' => $tree->getPreference('FULL_SOURCES'), |
|
40 | + 'tree' => $tree, |
|
41 | + ]); } |
|
42 | + if ($level1type !== 'OBJE') { |
|
43 | + if ($tree->getPreference('MEDIA_UPLOAD') >= Auth::accessLevel($tree)) { |
|
44 | + echo view('cards/add-media-object', [ |
|
45 | + 'level' => 2, |
|
46 | + 'tree' => $tree, |
|
47 | + ]); |
|
48 | + } |
|
49 | + } |
|
50 | + echo view('cards/add-note', [ |
|
51 | + 'level' => 2, |
|
52 | + 'tree' => $tree, |
|
53 | + ]); |
|
54 | + echo view('cards/add-shared-note', [ |
|
55 | + 'level' => 2, |
|
56 | + 'tree' => $tree, |
|
57 | + ]); |
|
58 | + if ($level1type !== 'ASSO' && $level1type !== 'NOTE' && $level1type !== 'SOUR') { |
|
59 | + echo view('cards/add-associate', [ |
|
60 | + 'id' => Uuid::uuid4()->toString(), |
|
61 | + 'level' => 2, |
|
62 | + 'tree' => $tree, |
|
63 | + ]); |
|
64 | + } |
|
65 | + // allow to add godfather and godmother for CHR fact or best man and bridesmaid for MARR fact in one window |
|
66 | + if (in_array($level1type, Config::twoAssociates())) { |
|
67 | + echo view('cards/add-associate', [ |
|
68 | + 'id' => Uuid::uuid4()->toString(), |
|
69 | + 'level' => 2, |
|
70 | + 'tree' => $tree, |
|
71 | + ]); |
|
72 | + } |
|
73 | + if ($level1type !== 'SOUR') { |
|
74 | + echo view('cards/add-restriction', [ |
|
75 | + 'level' => 2, |
|
76 | + 'tree' => $tree, |
|
77 | + ]); |
|
78 | + } |
|
79 | + } |
|
80 | + break; |
|
81 | + default: |
|
82 | + // Other types of record do not have these lower-level records |
|
83 | + break; |
|
84 | + } |
|
85 | 85 | |
86 | - ?> |
|
86 | + ?> |
|
87 | 87 | |
88 | 88 | <div class="form-group row"> |
89 | 89 | <label class="col-sm-3 col-form-label" for="keep_chan"> |
@@ -103,12 +103,12 @@ discard block |
||
103 | 103 | <button class="btn btn-primary" type="submit"> |
104 | 104 | <?= FontAwesome::decorativeIcon('save') ?> |
105 | 105 | <?= /* I18N: A button label. */ |
106 | - I18N::translate('save') ?> |
|
106 | + I18N::translate('save') ?> |
|
107 | 107 | </button> |
108 | 108 | <a class="btn btn-secondary" href="<?= e($record->url()) ?>"> |
109 | 109 | <?= FontAwesome::decorativeIcon('cancel') ?> |
110 | 110 | <?= /* I18N: A button label. */ |
111 | - I18N::translate('cancel') ?> |
|
111 | + I18N::translate('cancel') ?> |
|
112 | 112 | </a> |
113 | 113 | <?php if ($can_edit_raw): ?> |
114 | 114 | <a class="btn btn-link" href="<?= e(route('edit-raw-fact', ['xref' => $record->getXref(), 'fact_id' => $edit_fact->getFactId(), 'ged' => $tree->getName()])) ?>"> |
@@ -165,7 +165,7 @@ |
||
165 | 165 | $f1 = preg_match("/\d LATI (.*)/", $gedcom, $match1); |
166 | 166 | $f2 = preg_match("/\d LONG (.*)/", $gedcom, $match2); |
167 | 167 | if ($f1 && $f2) { |
168 | - $coords = (object)[ |
|
168 | + $coords = (object) [ |
|
169 | 169 | 'latitude' => $match1[1], |
170 | 170 | 'longitude' => $match2[1], |
171 | 171 | ]; |
@@ -243,7 +243,7 @@ |
||
243 | 243 | DebugBar::addThrowable($ex); |
244 | 244 | |
245 | 245 | // The module has been deleted or is broken? Disable it. |
246 | - Log::addConfigurationLog("Module {$module_name} is missing or broken - disabling it. " . $ex->getMessage(), null); |
|
246 | + Log::addConfigurationLog("module {$module_name} is missing or broken - disabling it. " . $ex->getMessage(), null); |
|
247 | 247 | Database::prepare( |
248 | 248 | "UPDATE `##module` SET status = 'disabled' WHERE module_name = :module_name" |
249 | 249 | )->execute([ |
@@ -1,5 +1,5 @@ |
||
1 | 1 | <?php |
2 | -declare(strict_types = 1); |
|
2 | +declare(strict_types=1); |
|
3 | 3 | /** |
4 | 4 | * webtrees: online genealogy |
5 | 5 | * Copyright (C) 2018 webtrees development team |
@@ -47,9 +47,9 @@ discard block |
||
47 | 47 | if ($tmp !== null) { |
48 | 48 | $this->record = $tmp; |
49 | 49 | } elseif (!empty($record)) { |
50 | - $this->record = (object)$record; |
|
50 | + $this->record = (object) $record; |
|
51 | 51 | } else { |
52 | - $this->record = (object)[ |
|
52 | + $this->record = (object) [ |
|
53 | 53 | 'fqpn' => '', |
54 | 54 | 'pl_id' => 0, |
55 | 55 | 'pl_parent_id' => 0, |
@@ -81,12 +81,11 @@ discard block |
||
81 | 81 | switch ($format) { |
82 | 82 | case 'signed': |
83 | 83 | return $this->record->pl_lati ? |
84 | - (float)strtr($this->record->pl_lati, [ |
|
84 | + (float) strtr($this->record->pl_lati, [ |
|
85 | 85 | 'N' => '', |
86 | 86 | 'S' => '-', |
87 | 87 | ',' => '.', |
88 | - ]) : |
|
89 | - $this->record->pl_lati; |
|
88 | + ]) : $this->record->pl_lati; |
|
90 | 89 | default: |
91 | 90 | return $this->record->pl_lati; |
92 | 91 | } |
@@ -102,12 +101,11 @@ discard block |
||
102 | 101 | switch ($format) { |
103 | 102 | case 'signed': |
104 | 103 | return $this->record->pl_long ? |
105 | - (float)strtr($this->record->pl_long, [ |
|
104 | + (float) strtr($this->record->pl_long, [ |
|
106 | 105 | 'E' => '', |
107 | 106 | 'W' => '-', |
108 | 107 | ',' => '.', |
109 | - ]) : |
|
110 | - $this->record->pl_long; |
|
108 | + ]) : $this->record->pl_long; |
|
111 | 109 | default: |
112 | 110 | return $this->record->pl_long; |
113 | 111 | } |
@@ -60,7 +60,7 @@ |
||
60 | 60 | |
61 | 61 | // Create a dummy user, so we can send messages from the tree. |
62 | 62 | $sender = new User( |
63 | - (object)[ |
|
63 | + (object) [ |
|
64 | 64 | 'user_id' => null, |
65 | 65 | 'user_name' => '', |
66 | 66 | 'real_name' => $tree->getTitle(), |