@@ -37,12 +37,12 @@ discard block |
||
37 | 37 | |
38 | 38 | $show_marnm = Filter::get('show_marnm', 'no|yes'); |
39 | 39 | switch ($show_marnm) { |
40 | -case 'no': |
|
41 | -case 'yes': |
|
42 | - Auth::user()->setPreference('indilist.php_show_marnm', $show_marnm); |
|
43 | - break; |
|
44 | -default: |
|
45 | - $show_marnm = Auth::user()->getPreference('indilist.php_show_marnm'); |
|
40 | + case 'no': |
|
41 | + case 'yes': |
|
42 | + Auth::user()->setPreference('indilist.php_show_marnm', $show_marnm); |
|
43 | + break; |
|
44 | + default: |
|
45 | + $show_marnm = Auth::user()->getPreference('indilist.php_show_marnm'); |
|
46 | 46 | } |
47 | 47 | |
48 | 48 | // Make sure selections are consistent. |
@@ -79,16 +79,16 @@ discard block |
||
79 | 79 | } |
80 | 80 | $url = '?surname=' . rawurlencode($surname) . '&ged=' . $controller->tree()->getNameUrl(); |
81 | 81 | switch ($falpha) { |
82 | - case '': |
|
83 | - break; |
|
84 | - case '@': |
|
85 | - $legend .= ', ' . I18N::translateContext('Unknown given name', '…'); |
|
86 | - $url .= '&falpha=' . rawurlencode($falpha) . '&ged=' . $controller->tree()->getNameUrl(); |
|
87 | - break; |
|
88 | - default: |
|
89 | - $legend .= ', ' . Html::escape($falpha) . '…'; |
|
90 | - $url .= '&falpha=' . rawurlencode($falpha) . '&ged=' . $controller->tree()->getNameUrl(); |
|
91 | - break; |
|
82 | + case '': |
|
83 | + break; |
|
84 | + case '@': |
|
85 | + $legend .= ', ' . I18N::translateContext('Unknown given name', '…'); |
|
86 | + $url .= '&falpha=' . rawurlencode($falpha) . '&ged=' . $controller->tree()->getNameUrl(); |
|
87 | + break; |
|
88 | + default: |
|
89 | + $legend .= ', ' . Html::escape($falpha) . '…'; |
|
90 | + $url .= '&falpha=' . rawurlencode($falpha) . '&ged=' . $controller->tree()->getNameUrl(); |
|
91 | + break; |
|
92 | 92 | } |
93 | 93 | $show = 'indi'; // SURN list makes no sense here |
94 | 94 | } elseif ($alpha === '@') { |
@@ -173,16 +173,16 @@ discard block |
||
173 | 173 | if ($show === 'surn') { |
174 | 174 | // Show the surname list |
175 | 175 | switch ($controller->tree()->getPreference('SURNAME_LIST_STYLE')) { |
176 | - case 'style1': |
|
177 | - echo FunctionsPrintLists::surnameList($surns, 3, true, 'indilist.php', $controller->tree()); |
|
178 | - break; |
|
179 | - case 'style3': |
|
180 | - echo FunctionsPrintLists::surnameTagCloud($surns, 'indilist.php', true, $controller->tree()); |
|
181 | - break; |
|
182 | - case 'style2': |
|
183 | - default: |
|
184 | - echo FunctionsPrintLists::surnameTable($surns, 'indilist.php', $controller->tree()); |
|
185 | - break; |
|
176 | + case 'style1': |
|
177 | + echo FunctionsPrintLists::surnameList($surns, 3, true, 'indilist.php', $controller->tree()); |
|
178 | + break; |
|
179 | + case 'style3': |
|
180 | + echo FunctionsPrintLists::surnameTagCloud($surns, 'indilist.php', true, $controller->tree()); |
|
181 | + break; |
|
182 | + case 'style2': |
|
183 | + default: |
|
184 | + echo FunctionsPrintLists::surnameTable($surns, 'indilist.php', $controller->tree()); |
|
185 | + break; |
|
186 | 186 | } |
187 | 187 | } else { |
188 | 188 | // Show the list |
@@ -24,84 +24,84 @@ |
||
24 | 24 | $controller->restrictAccess(Auth::isAdmin()); |
25 | 25 | |
26 | 26 | switch (Filter::post('action')) { |
27 | -case 'site': |
|
28 | - if (Filter::checkCsrf()) { |
|
29 | - $INDEX_DIRECTORY = Filter::post('INDEX_DIRECTORY'); |
|
30 | - if (substr($INDEX_DIRECTORY, -1) !== '/') { |
|
31 | - $INDEX_DIRECTORY .= '/'; |
|
27 | + case 'site': |
|
28 | + if (Filter::checkCsrf()) { |
|
29 | + $INDEX_DIRECTORY = Filter::post('INDEX_DIRECTORY'); |
|
30 | + if (substr($INDEX_DIRECTORY, -1) !== '/') { |
|
31 | + $INDEX_DIRECTORY .= '/'; |
|
32 | + } |
|
33 | + if (File::mkdir($INDEX_DIRECTORY)) { |
|
34 | + Site::setPreference('INDEX_DIRECTORY', $INDEX_DIRECTORY); |
|
35 | + } else { |
|
36 | + FlashMessages::addMessage(I18N::translate('The folder %s does not exist, and it could not be created.', Html::escape($INDEX_DIRECTORY)), 'danger'); |
|
37 | + } |
|
38 | + Site::setPreference('MEMORY_LIMIT', Filter::post('MEMORY_LIMIT')); |
|
39 | + Site::setPreference('MAX_EXECUTION_TIME', Filter::post('MAX_EXECUTION_TIME')); |
|
40 | + Site::setPreference('ALLOW_USER_THEMES', Filter::postBool('ALLOW_USER_THEMES')); |
|
41 | + Site::setPreference('THEME_DIR', Filter::post('THEME_DIR')); |
|
42 | + Site::setPreference('ALLOW_CHANGE_GEDCOM', Filter::postBool('ALLOW_CHANGE_GEDCOM')); |
|
43 | + Site::setPreference('SESSION_TIME', Filter::post('SESSION_TIME')); |
|
44 | + Site::setPreference('TIMEZONE', Filter::post('TIMEZONE')); |
|
45 | + FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
32 | 46 | } |
33 | - if (File::mkdir($INDEX_DIRECTORY)) { |
|
34 | - Site::setPreference('INDEX_DIRECTORY', $INDEX_DIRECTORY); |
|
35 | - } else { |
|
36 | - FlashMessages::addMessage(I18N::translate('The folder %s does not exist, and it could not be created.', Html::escape($INDEX_DIRECTORY)), 'danger'); |
|
47 | + header('Location: ' . route('admin-control-panel')); |
|
48 | + |
|
49 | + return; |
|
50 | + |
|
51 | + case 'email': |
|
52 | + if (Filter::checkCsrf()) { |
|
53 | + Site::setPreference('SMTP_ACTIVE', Filter::post('SMTP_ACTIVE')); |
|
54 | + Site::setPreference('SMTP_FROM_NAME', Filter::post('SMTP_FROM_NAME')); |
|
55 | + Site::setPreference('SMTP_HOST', Filter::post('SMTP_HOST')); |
|
56 | + Site::setPreference('SMTP_PORT', Filter::post('SMTP_PORT')); |
|
57 | + Site::setPreference('SMTP_AUTH', Filter::post('SMTP_AUTH')); |
|
58 | + Site::setPreference('SMTP_AUTH_USER', Filter::post('SMTP_AUTH_USER')); |
|
59 | + Site::setPreference('SMTP_SSL', Filter::post('SMTP_SSL')); |
|
60 | + Site::setPreference('SMTP_HELO', Filter::post('SMTP_HELO')); |
|
61 | + if (Filter::post('SMTP_AUTH_PASS')) { |
|
62 | + Site::setPreference('SMTP_AUTH_PASS', Filter::post('SMTP_AUTH_PASS')); |
|
63 | + } |
|
64 | + FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
37 | 65 | } |
38 | - Site::setPreference('MEMORY_LIMIT', Filter::post('MEMORY_LIMIT')); |
|
39 | - Site::setPreference('MAX_EXECUTION_TIME', Filter::post('MAX_EXECUTION_TIME')); |
|
40 | - Site::setPreference('ALLOW_USER_THEMES', Filter::postBool('ALLOW_USER_THEMES')); |
|
41 | - Site::setPreference('THEME_DIR', Filter::post('THEME_DIR')); |
|
42 | - Site::setPreference('ALLOW_CHANGE_GEDCOM', Filter::postBool('ALLOW_CHANGE_GEDCOM')); |
|
43 | - Site::setPreference('SESSION_TIME', Filter::post('SESSION_TIME')); |
|
44 | - Site::setPreference('TIMEZONE', Filter::post('TIMEZONE')); |
|
45 | - FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
46 | - } |
|
47 | - header('Location: ' . route('admin-control-panel')); |
|
48 | - |
|
49 | - return; |
|
50 | - |
|
51 | -case 'email': |
|
52 | - if (Filter::checkCsrf()) { |
|
53 | - Site::setPreference('SMTP_ACTIVE', Filter::post('SMTP_ACTIVE')); |
|
54 | - Site::setPreference('SMTP_FROM_NAME', Filter::post('SMTP_FROM_NAME')); |
|
55 | - Site::setPreference('SMTP_HOST', Filter::post('SMTP_HOST')); |
|
56 | - Site::setPreference('SMTP_PORT', Filter::post('SMTP_PORT')); |
|
57 | - Site::setPreference('SMTP_AUTH', Filter::post('SMTP_AUTH')); |
|
58 | - Site::setPreference('SMTP_AUTH_USER', Filter::post('SMTP_AUTH_USER')); |
|
59 | - Site::setPreference('SMTP_SSL', Filter::post('SMTP_SSL')); |
|
60 | - Site::setPreference('SMTP_HELO', Filter::post('SMTP_HELO')); |
|
61 | - if (Filter::post('SMTP_AUTH_PASS')) { |
|
62 | - Site::setPreference('SMTP_AUTH_PASS', Filter::post('SMTP_AUTH_PASS')); |
|
66 | + header('Location: ' . route('admin-control-panel')); |
|
67 | + |
|
68 | + return; |
|
69 | + case 'login': |
|
70 | + if (Filter::checkCsrf()) { |
|
71 | + Site::setPreference('LOGIN_URL', Filter::post('LOGIN_URL')); |
|
72 | + Site::setPreference('WELCOME_TEXT_AUTH_MODE', Filter::post('WELCOME_TEXT_AUTH_MODE')); |
|
73 | + Site::setPreference('WELCOME_TEXT_AUTH_MODE_' . WT_LOCALE, Filter::post('WELCOME_TEXT_AUTH_MODE_4')); |
|
74 | + Site::setPreference('USE_REGISTRATION_MODULE', Filter::postBool('USE_REGISTRATION_MODULE')); |
|
75 | + Site::setPreference('SHOW_REGISTER_CAUTION', Filter::postBool('SHOW_REGISTER_CAUTION')); |
|
76 | + FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
63 | 77 | } |
64 | - FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
65 | - } |
|
66 | - header('Location: ' . route('admin-control-panel')); |
|
67 | - |
|
68 | - return; |
|
69 | -case 'login': |
|
70 | - if (Filter::checkCsrf()) { |
|
71 | - Site::setPreference('LOGIN_URL', Filter::post('LOGIN_URL')); |
|
72 | - Site::setPreference('WELCOME_TEXT_AUTH_MODE', Filter::post('WELCOME_TEXT_AUTH_MODE')); |
|
73 | - Site::setPreference('WELCOME_TEXT_AUTH_MODE_' . WT_LOCALE, Filter::post('WELCOME_TEXT_AUTH_MODE_4')); |
|
74 | - Site::setPreference('USE_REGISTRATION_MODULE', Filter::postBool('USE_REGISTRATION_MODULE')); |
|
75 | - Site::setPreference('SHOW_REGISTER_CAUTION', Filter::postBool('SHOW_REGISTER_CAUTION')); |
|
76 | - FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
77 | - } |
|
78 | - header('Location: ' . route('admin-control-panel')); |
|
79 | - |
|
80 | - return; |
|
78 | + header('Location: ' . route('admin-control-panel')); |
|
79 | + |
|
80 | + return; |
|
81 | + |
|
82 | + case 'tracking': |
|
83 | + if (Filter::checkCsrf()) { |
|
84 | + Site::setPreference('BING_WEBMASTER_ID', Filter::post('BING_WEBMASTER_ID')); |
|
85 | + Site::setPreference('GOOGLE_WEBMASTER_ID', Filter::post('GOOGLE_WEBMASTER_ID')); |
|
86 | + Site::setPreference('GOOGLE_ANALYTICS_ID', Filter::post('GOOGLE_ANALYTICS_ID')); |
|
87 | + Site::setPreference('PIWIK_URL', Filter::post('PIWIK_URL')); |
|
88 | + Site::setPreference('PIWIK_SITE_ID', Filter::post('PIWIK_SITE_ID')); |
|
89 | + Site::setPreference('STATCOUNTER_PROJECT_ID', Filter::post('STATCOUNTER_PROJECT_ID')); |
|
90 | + Site::setPreference('STATCOUNTER_SECURITY_ID', Filter::post('STATCOUNTER_SECURITY_ID')); |
|
91 | + FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
92 | + } |
|
93 | + header('Location: ' . route('admin-control-panel')); |
|
81 | 94 | |
82 | -case 'tracking': |
|
83 | - if (Filter::checkCsrf()) { |
|
84 | - Site::setPreference('BING_WEBMASTER_ID', Filter::post('BING_WEBMASTER_ID')); |
|
85 | - Site::setPreference('GOOGLE_WEBMASTER_ID', Filter::post('GOOGLE_WEBMASTER_ID')); |
|
86 | - Site::setPreference('GOOGLE_ANALYTICS_ID', Filter::post('GOOGLE_ANALYTICS_ID')); |
|
87 | - Site::setPreference('PIWIK_URL', Filter::post('PIWIK_URL')); |
|
88 | - Site::setPreference('PIWIK_SITE_ID', Filter::post('PIWIK_SITE_ID')); |
|
89 | - Site::setPreference('STATCOUNTER_PROJECT_ID', Filter::post('STATCOUNTER_PROJECT_ID')); |
|
90 | - Site::setPreference('STATCOUNTER_SECURITY_ID', Filter::post('STATCOUNTER_SECURITY_ID')); |
|
91 | - FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
92 | - } |
|
93 | - header('Location: ' . route('admin-control-panel')); |
|
95 | + return; |
|
94 | 96 | |
95 | - return; |
|
96 | - |
|
97 | -case 'languages': |
|
98 | - if (Filter::checkCsrf()) { |
|
99 | - Site::setPreference('LANGUAGES', implode(',', Filter::postArray('LANGUAGES'))); |
|
100 | - FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
101 | - } |
|
102 | - header('Location: ' . route('admin-control-panel')); |
|
97 | + case 'languages': |
|
98 | + if (Filter::checkCsrf()) { |
|
99 | + Site::setPreference('LANGUAGES', implode(',', Filter::postArray('LANGUAGES'))); |
|
100 | + FlashMessages::addMessage(I18N::translate('The website preferences have been updated.'), 'success'); |
|
101 | + } |
|
102 | + header('Location: ' . route('admin-control-panel')); |
|
103 | 103 | |
104 | - return; |
|
104 | + return; |
|
105 | 105 | } |
106 | 106 | |
107 | 107 | // Lists of options for <select> controls. |
@@ -131,12 +131,12 @@ |
||
131 | 131 | // Datatables numbers columns 0, 1, 2 |
132 | 132 | // MySQL numbers columns 1, 2, 3 |
133 | 133 | switch ($value['dir']) { |
134 | - case 'asc': |
|
135 | - $order_by .= (1 + $value['column']) . " ASC "; |
|
136 | - break; |
|
137 | - case 'desc': |
|
138 | - $order_by .= (1 + $value['column']) . " DESC "; |
|
139 | - break; |
|
134 | + case 'asc': |
|
135 | + $order_by .= (1 + $value['column']) . " ASC "; |
|
136 | + break; |
|
137 | + case 'desc': |
|
138 | + $order_by .= (1 + $value['column']) . " DESC "; |
|
139 | + break; |
|
140 | 140 | } |
141 | 141 | } |
142 | 142 | } else { |
@@ -54,32 +54,32 @@ discard block |
||
54 | 54 | $newvars[$name]['id'] = $var; |
55 | 55 | if (!empty($type[$name])) { |
56 | 56 | switch ($type[$name]) { |
57 | - case 'INDI': |
|
58 | - $record = Individual::getInstance($var, $WT_TREE); |
|
59 | - if ($record && $record->canShowName()) { |
|
60 | - $newvars[$name]['gedcom'] = $record->privatizeGedcom(Auth::accessLevel($WT_TREE)); |
|
61 | - } else { |
|
62 | - $action = 'setup'; |
|
63 | - } |
|
64 | - break; |
|
65 | - case 'FAM': |
|
66 | - $record = Family::getInstance($var, $WT_TREE); |
|
67 | - if ($record && $record->canShowName()) { |
|
68 | - $newvars[$name]['gedcom'] = $record->privatizeGedcom(Auth::accessLevel($WT_TREE)); |
|
69 | - } else { |
|
70 | - $action = 'setup'; |
|
71 | - } |
|
72 | - break; |
|
73 | - case 'SOUR': |
|
74 | - $record = Source::getInstance($var, $WT_TREE); |
|
75 | - if ($record && $record->canShowName()) { |
|
76 | - $newvars[$name]['gedcom'] = $record->privatizeGedcom(Auth::accessLevel($WT_TREE)); |
|
77 | - } else { |
|
78 | - $action = 'setup'; |
|
79 | - } |
|
80 | - break; |
|
81 | - default: |
|
82 | - break; |
|
57 | + case 'INDI': |
|
58 | + $record = Individual::getInstance($var, $WT_TREE); |
|
59 | + if ($record && $record->canShowName()) { |
|
60 | + $newvars[$name]['gedcom'] = $record->privatizeGedcom(Auth::accessLevel($WT_TREE)); |
|
61 | + } else { |
|
62 | + $action = 'setup'; |
|
63 | + } |
|
64 | + break; |
|
65 | + case 'FAM': |
|
66 | + $record = Family::getInstance($var, $WT_TREE); |
|
67 | + if ($record && $record->canShowName()) { |
|
68 | + $newvars[$name]['gedcom'] = $record->privatizeGedcom(Auth::accessLevel($WT_TREE)); |
|
69 | + } else { |
|
70 | + $action = 'setup'; |
|
71 | + } |
|
72 | + break; |
|
73 | + case 'SOUR': |
|
74 | + $record = Source::getInstance($var, $WT_TREE); |
|
75 | + if ($record && $record->canShowName()) { |
|
76 | + $newvars[$name]['gedcom'] = $record->privatizeGedcom(Auth::accessLevel($WT_TREE)); |
|
77 | + } else { |
|
78 | + $action = 'setup'; |
|
79 | + } |
|
80 | + break; |
|
81 | + default: |
|
82 | + break; |
|
83 | 83 | } |
84 | 84 | } |
85 | 85 | } |
@@ -142,61 +142,61 @@ discard block |
||
142 | 142 | ]; |
143 | 143 | |
144 | 144 | switch ($input['lookup']) { |
145 | - case 'INDI': |
|
146 | - $individual = Individual::getInstance($pid, $WT_TREE) ?: $controller->getSignificantIndividual(); |
|
147 | - $input['control'] = FunctionsEdit::formControlIndividual($individual, $attributes); |
|
148 | - break; |
|
149 | - case 'FAM': |
|
150 | - $family = Family::getInstance($pid, $WT_TREE) ?: $controller->getSignificantFamily(); |
|
151 | - $input['control'] = FunctionsEdit::formControlFamily($family, $attributes); |
|
152 | - break; |
|
153 | - case 'SOUR': |
|
154 | - $source = Source::getInstance($pid, $WT_TREE); |
|
155 | - $input['control'] = FunctionsEdit::formControlSource($source, $attributes); |
|
156 | - break; |
|
157 | - case 'DATE': |
|
158 | - $attributes += [ |
|
159 | - 'type' => 'text', |
|
160 | - 'value' => $input['default'], |
|
161 | - ]; |
|
162 | - $input['control'] = '<input ' . Html::attributes($attributes) . '>'; |
|
163 | - $input['extra'] = FontAwesome::linkIcon('calendar', I18N::translate('Select a date'), [ |
|
164 | - 'class' => 'btn btn-link', |
|
165 | - 'href' => '#', |
|
166 | - 'onclick' => 'return calendarWidget("calendar-widget-' . $n . '", "input-' . $n . '");', |
|
167 | - ]) . '<div id="calendar-widget-' . $n . '" style="position:absolute;visibility:hidden;background-color:white;z-index:1000;"></div>'; |
|
168 | - break; |
|
169 | - default: |
|
170 | - switch ($input['type']) { |
|
171 | - case 'text': |
|
145 | + case 'INDI': |
|
146 | + $individual = Individual::getInstance($pid, $WT_TREE) ?: $controller->getSignificantIndividual(); |
|
147 | + $input['control'] = FunctionsEdit::formControlIndividual($individual, $attributes); |
|
148 | + break; |
|
149 | + case 'FAM': |
|
150 | + $family = Family::getInstance($pid, $WT_TREE) ?: $controller->getSignificantFamily(); |
|
151 | + $input['control'] = FunctionsEdit::formControlFamily($family, $attributes); |
|
152 | + break; |
|
153 | + case 'SOUR': |
|
154 | + $source = Source::getInstance($pid, $WT_TREE); |
|
155 | + $input['control'] = FunctionsEdit::formControlSource($source, $attributes); |
|
156 | + break; |
|
157 | + case 'DATE': |
|
172 | 158 | $attributes += [ |
173 | 159 | 'type' => 'text', |
174 | 160 | 'value' => $input['default'], |
175 | 161 | ]; |
176 | 162 | $input['control'] = '<input ' . Html::attributes($attributes) . '>'; |
163 | + $input['extra'] = FontAwesome::linkIcon('calendar', I18N::translate('Select a date'), [ |
|
164 | + 'class' => 'btn btn-link', |
|
165 | + 'href' => '#', |
|
166 | + 'onclick' => 'return calendarWidget("calendar-widget-' . $n . '", "input-' . $n . '");', |
|
167 | + ]) . '<div id="calendar-widget-' . $n . '" style="position:absolute;visibility:hidden;background-color:white;z-index:1000;"></div>'; |
|
177 | 168 | break; |
178 | - case 'checkbox': |
|
179 | - $attributes += [ |
|
180 | - 'type' => 'checkbox', |
|
181 | - 'checked' => (bool) $input['default'], |
|
182 | - ]; |
|
183 | - $input['control'] = '<input ' . Html::attributes($attributes) . '>'; |
|
184 | - break; |
|
185 | - case 'select': |
|
186 | - $options = []; |
|
187 | - foreach (preg_split('/[|]+/', $input['options']) as $option) { |
|
188 | - list($key, $value) = explode('=>', $option); |
|
189 | - if (preg_match('/^I18N::number\((.+?)(,([\d+]))?\)$/', $value, $match)) { |
|
190 | - $options[$key] = I18N::number($match[1], isset($match[3]) ? $match[3] : 0); |
|
191 | - } elseif (preg_match('/^I18N::translate\(\'(.+)\'\)$/', $value, $match)) { |
|
192 | - $options[$key] = I18N::translate($match[1]); |
|
193 | - } elseif (preg_match('/^I18N::translateContext\(\'(.+)\', *\'(.+)\'\)$/', $value, $match)) { |
|
194 | - $options[$key] = I18N::translateContext($match[1], $match[2]); |
|
195 | - } |
|
169 | + default: |
|
170 | + switch ($input['type']) { |
|
171 | + case 'text': |
|
172 | + $attributes += [ |
|
173 | + 'type' => 'text', |
|
174 | + 'value' => $input['default'], |
|
175 | + ]; |
|
176 | + $input['control'] = '<input ' . Html::attributes($attributes) . '>'; |
|
177 | + break; |
|
178 | + case 'checkbox': |
|
179 | + $attributes += [ |
|
180 | + 'type' => 'checkbox', |
|
181 | + 'checked' => (bool) $input['default'], |
|
182 | + ]; |
|
183 | + $input['control'] = '<input ' . Html::attributes($attributes) . '>'; |
|
184 | + break; |
|
185 | + case 'select': |
|
186 | + $options = []; |
|
187 | + foreach (preg_split('/[|]+/', $input['options']) as $option) { |
|
188 | + list($key, $value) = explode('=>', $option); |
|
189 | + if (preg_match('/^I18N::number\((.+?)(,([\d+]))?\)$/', $value, $match)) { |
|
190 | + $options[$key] = I18N::number($match[1], isset($match[3]) ? $match[3] : 0); |
|
191 | + } elseif (preg_match('/^I18N::translate\(\'(.+)\'\)$/', $value, $match)) { |
|
192 | + $options[$key] = I18N::translate($match[1]); |
|
193 | + } elseif (preg_match('/^I18N::translateContext\(\'(.+)\', *\'(.+)\'\)$/', $value, $match)) { |
|
194 | + $options[$key] = I18N::translateContext($match[1], $match[2]); |
|
195 | + } |
|
196 | + } |
|
197 | + $input['control'] = Bootstrap4::select($options, $input['default'], $attributes); |
|
198 | + break; |
|
196 | 199 | } |
197 | - $input['control'] = Bootstrap4::select($options, $input['default'], $attributes); |
|
198 | - break; |
|
199 | - } |
|
200 | 200 | } |
201 | 201 | |
202 | 202 | $inputs[] = $input; |
@@ -221,13 +221,13 @@ discard block |
||
221 | 221 | } |
222 | 222 | |
223 | 223 | switch ($output) { |
224 | - case 'HTML': |
|
225 | - header('Content-type: text/html; charset=UTF-8'); |
|
226 | - new ReportParserGenerate($report, new ReportHtml, $vars); |
|
227 | - break; |
|
228 | - case 'PDF': |
|
229 | - new ReportParserGenerate($report, new ReportPdf, $vars); |
|
230 | - break; |
|
224 | + case 'HTML': |
|
225 | + header('Content-type: text/html; charset=UTF-8'); |
|
226 | + new ReportParserGenerate($report, new ReportHtml, $vars); |
|
227 | + break; |
|
228 | + case 'PDF': |
|
229 | + new ReportParserGenerate($report, new ReportPdf, $vars); |
|
230 | + break; |
|
231 | 231 | } |
232 | 232 | } |
233 | 233 | } |
@@ -37,19 +37,19 @@ |
||
37 | 37 | |
38 | 38 | if ($action === 'download') { |
39 | 39 | switch ($privatize_export) { |
40 | - default: |
|
41 | - case 'gedadmin': |
|
42 | - $access_level = Auth::PRIV_NONE; |
|
43 | - break; |
|
44 | - case 'user': |
|
45 | - $access_level = Auth::PRIV_USER; |
|
46 | - break; |
|
47 | - case 'visitor': |
|
48 | - $access_level = Auth::PRIV_PRIVATE; |
|
49 | - break; |
|
50 | - case 'none': |
|
51 | - $access_level = Auth::PRIV_HIDE; |
|
52 | - break; |
|
40 | + default: |
|
41 | + case 'gedadmin': |
|
42 | + $access_level = Auth::PRIV_NONE; |
|
43 | + break; |
|
44 | + case 'user': |
|
45 | + $access_level = Auth::PRIV_USER; |
|
46 | + break; |
|
47 | + case 'visitor': |
|
48 | + $access_level = Auth::PRIV_PRIVATE; |
|
49 | + break; |
|
50 | + case 'none': |
|
51 | + $access_level = Auth::PRIV_HIDE; |
|
52 | + break; |
|
53 | 53 | } |
54 | 54 | |
55 | 55 | $exportOptions = [ |
@@ -62,14 +62,14 @@ |
||
62 | 62 | foreach ($record->getFacts() as $fact) { |
63 | 63 | if ($fact->getFactId() == $fact_id) { |
64 | 64 | switch ($fact->getTag()) { |
65 | - case 'NOTE': |
|
66 | - case 'SOUR': |
|
67 | - case 'OBJE': |
|
68 | - $type = 'all'; // paste this anywhere |
|
69 | - break; |
|
70 | - default: |
|
71 | - $type = $record::RECORD_TYPE; // paste only to the same record type |
|
72 | - break; |
|
65 | + case 'NOTE': |
|
66 | + case 'SOUR': |
|
67 | + case 'OBJE': |
|
68 | + $type = 'all'; // paste this anywhere |
|
69 | + break; |
|
70 | + default: |
|
71 | + $type = $record::RECORD_TYPE; // paste only to the same record type |
|
72 | + break; |
|
73 | 73 | } |
74 | 74 | $clipboard = Session::get('clipboard'); |
75 | 75 | if (!is_array($clipboard)) { |
@@ -777,69 +777,69 @@ discard block |
||
777 | 777 | $stmt_gedcom_setting->execute([$GED_DATA['id'], 'INDI_FACTS_QUICK', $INDI_FACTS_QUICK]); |
778 | 778 | $stmt_gedcom_setting->execute([$GED_DATA['id'], 'INDI_FACTS_UNIQUE', $INDI_FACTS_UNIQUE]); |
779 | 779 | switch ($LANGUAGE) { |
780 | - case 'catalan': |
|
781 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'ca']); |
|
782 | - break; |
|
783 | - case 'english-uk': |
|
784 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'en-GB']); |
|
785 | - break; |
|
786 | - case 'polish': |
|
787 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'pl']); |
|
788 | - break; |
|
789 | - case 'italian': |
|
790 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'it']); |
|
791 | - break; |
|
792 | - case 'spanish': |
|
793 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'es']); |
|
794 | - break; |
|
795 | - case 'finnish': |
|
796 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'fi']); |
|
797 | - break; |
|
798 | - case 'french': |
|
799 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'fr']); |
|
800 | - break; |
|
801 | - case 'german': |
|
802 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'de']); |
|
803 | - break; |
|
804 | - case 'danish': |
|
805 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'da']); |
|
806 | - break; |
|
807 | - case 'portuguese': |
|
808 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'pt']); |
|
809 | - break; |
|
810 | - case 'hebrew': |
|
811 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'he']); |
|
812 | - break; |
|
813 | - case 'estonian': |
|
814 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'et']); |
|
815 | - break; |
|
816 | - case 'turkish': |
|
817 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'tr']); |
|
818 | - break; |
|
819 | - case 'dutch': |
|
820 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'nl']); |
|
821 | - break; |
|
822 | - case 'slovak': |
|
823 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'sk']); |
|
824 | - break; |
|
825 | - case 'norwegian': |
|
826 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'nn']); |
|
827 | - break; |
|
828 | - case 'slovenian': |
|
829 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'sl']); |
|
830 | - break; |
|
831 | - case 'hungarian': |
|
832 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'hu']); |
|
833 | - break; |
|
834 | - case 'swedish': |
|
835 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'sv']); |
|
836 | - break; |
|
837 | - case 'russian': |
|
838 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'ru']); |
|
839 | - break; |
|
840 | - default: |
|
841 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'en-US']); |
|
842 | - break; |
|
780 | + case 'catalan': |
|
781 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'ca']); |
|
782 | + break; |
|
783 | + case 'english-uk': |
|
784 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'en-GB']); |
|
785 | + break; |
|
786 | + case 'polish': |
|
787 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'pl']); |
|
788 | + break; |
|
789 | + case 'italian': |
|
790 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'it']); |
|
791 | + break; |
|
792 | + case 'spanish': |
|
793 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'es']); |
|
794 | + break; |
|
795 | + case 'finnish': |
|
796 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'fi']); |
|
797 | + break; |
|
798 | + case 'french': |
|
799 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'fr']); |
|
800 | + break; |
|
801 | + case 'german': |
|
802 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'de']); |
|
803 | + break; |
|
804 | + case 'danish': |
|
805 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'da']); |
|
806 | + break; |
|
807 | + case 'portuguese': |
|
808 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'pt']); |
|
809 | + break; |
|
810 | + case 'hebrew': |
|
811 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'he']); |
|
812 | + break; |
|
813 | + case 'estonian': |
|
814 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'et']); |
|
815 | + break; |
|
816 | + case 'turkish': |
|
817 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'tr']); |
|
818 | + break; |
|
819 | + case 'dutch': |
|
820 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'nl']); |
|
821 | + break; |
|
822 | + case 'slovak': |
|
823 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'sk']); |
|
824 | + break; |
|
825 | + case 'norwegian': |
|
826 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'nn']); |
|
827 | + break; |
|
828 | + case 'slovenian': |
|
829 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'sl']); |
|
830 | + break; |
|
831 | + case 'hungarian': |
|
832 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'hu']); |
|
833 | + break; |
|
834 | + case 'swedish': |
|
835 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'sv']); |
|
836 | + break; |
|
837 | + case 'russian': |
|
838 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'ru']); |
|
839 | + break; |
|
840 | + default: |
|
841 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'LANGUAGE', 'en-US']); |
|
842 | + break; |
|
843 | 843 | } |
844 | 844 | $stmt_gedcom_setting->execute([$GED_DATA['id'], 'MAX_ALIVE_AGE', $MAX_ALIVE_AGE]); |
845 | 845 | $stmt_gedcom_setting->execute([$GED_DATA['id'], 'MAX_DESCENDANCY_GENERATIONS', $MAX_DESCENDANCY_GENERATIONS]); |
@@ -892,26 +892,26 @@ discard block |
||
892 | 892 | $stmt_gedcom_setting->execute([$GED_DATA['id'], 'SURNAME_LIST_STYLE', $SURNAME_LIST_STYLE]); |
893 | 893 | $stmt_gedcom_setting->execute([$GED_DATA['id'], 'SURNAME_TRADITION', $SURNAME_TRADITION]); |
894 | 894 | switch ($THEME_DIR) { |
895 | - case '': |
|
896 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', '']); |
|
897 | - break; |
|
898 | - case 'themes/cloudy/': |
|
899 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'clouds']); |
|
900 | - break; |
|
901 | - case 'themes/minimal/': |
|
902 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'minimal']); |
|
903 | - break; |
|
904 | - case 'themes/simplyblue/': |
|
905 | - case 'themes/simplygreen/': |
|
906 | - case 'themes/simplyred/': |
|
907 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'colors']); |
|
908 | - break; |
|
909 | - case 'themes/xenea/': |
|
910 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'xenea']); |
|
911 | - break; |
|
912 | - default: |
|
913 | - $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'webtrees']); |
|
914 | - break; |
|
895 | + case '': |
|
896 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', '']); |
|
897 | + break; |
|
898 | + case 'themes/cloudy/': |
|
899 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'clouds']); |
|
900 | + break; |
|
901 | + case 'themes/minimal/': |
|
902 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'minimal']); |
|
903 | + break; |
|
904 | + case 'themes/simplyblue/': |
|
905 | + case 'themes/simplygreen/': |
|
906 | + case 'themes/simplyred/': |
|
907 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'colors']); |
|
908 | + break; |
|
909 | + case 'themes/xenea/': |
|
910 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'xenea']); |
|
911 | + break; |
|
912 | + default: |
|
913 | + $stmt_gedcom_setting->execute([$GED_DATA['id'], 'THEME_DIR', 'webtrees']); |
|
914 | + break; |
|
915 | 915 | } |
916 | 916 | $stmt_gedcom_setting->execute([$GED_DATA['id'], 'USE_RELATIONSHIP_PRIVACY', $USE_RELATIONSHIP_PRIVACY]); |
917 | 917 | $user = User::findByIdentifier($WEBMASTER_EMAIL); |
@@ -124,75 +124,75 @@ |
||
124 | 124 | // MySQL supports a wide range of collation conversions. These are ones that |
125 | 125 | // have been encountered "in the wild". |
126 | 126 | switch ($charset) { |
127 | - case 'ASCII': |
|
128 | - Database::prepare( |
|
129 | - "UPDATE `##gedcom_chunk`" . |
|
130 | - " SET chunk_data=CONVERT(CONVERT(chunk_data USING ascii) USING utf8)" . |
|
131 | - " WHERE gedcom_id=?" |
|
132 | - )->execute([$gedcom_id]); |
|
133 | - break; |
|
134 | - case 'IBMPC': // IBMPC, IBM WINDOWS and MS-DOS could be anything. Mostly it means CP850. |
|
135 | - case 'IBM WINDOWS': |
|
136 | - case 'MS-DOS': |
|
137 | - case 'CP437': |
|
138 | - case 'CP850': |
|
139 | - // CP850 has extra letters with diacritics to replace box-drawing chars in CP437. |
|
140 | - Database::prepare( |
|
141 | - "UPDATE `##gedcom_chunk`" . |
|
142 | - " SET chunk_data=CONVERT(CONVERT(chunk_data USING cp850) USING utf8)" . |
|
143 | - " WHERE gedcom_id=?" |
|
144 | - )->execute([$gedcom_id]); |
|
145 | - break; |
|
146 | - case 'ANSI': // ANSI could be anything. Most applications seem to treat it as latin1. |
|
147 | - $controller->addInlineJavascript( |
|
148 | - '$("#import' . $gedcom_id . '").parent().prepend("<div class=\"bg-info\">' . /* I18N: %1$s and %2$s are the names of character encodings, such as ISO-8859-1 or ASCII */ |
|
149 | - I18N::translate('This GEDCOM file is encoded using %1$s. Assume this to mean %2$s.', $charset, 'ISO-8859-1') . '</div>");' |
|
150 | - ); |
|
151 | - // no break; |
|
152 | - case 'WINDOWS': |
|
153 | - case 'CP1252': |
|
154 | - case 'ISO8859-1': |
|
155 | - case 'ISO-8859-1': |
|
156 | - case 'LATIN1': |
|
157 | - case 'LATIN-1': |
|
158 | - // Convert from ISO-8859-1 (western european) to UTF8. |
|
159 | - Database::prepare( |
|
160 | - "UPDATE `##gedcom_chunk`" . |
|
161 | - " SET chunk_data=CONVERT(CONVERT(chunk_data USING latin1) USING utf8)" . |
|
162 | - " WHERE gedcom_id=?" |
|
163 | - )->execute([$gedcom_id]); |
|
164 | - break; |
|
165 | - case 'CP1250': |
|
166 | - case 'ISO8859-2': |
|
167 | - case 'ISO-8859-2': |
|
168 | - case 'LATIN2': |
|
169 | - case 'LATIN-2': |
|
170 | - // Convert from ISO-8859-2 (eastern european) to UTF8. |
|
171 | - Database::prepare( |
|
172 | - "UPDATE `##gedcom_chunk`" . |
|
173 | - " SET chunk_data=CONVERT(CONVERT(chunk_data USING latin2) USING utf8)" . |
|
174 | - " WHERE gedcom_id=?" |
|
175 | - )->execute([$gedcom_id]); |
|
176 | - break; |
|
177 | - case 'MACINTOSH': |
|
178 | - // Convert from MAC Roman to UTF8. |
|
179 | - Database::prepare( |
|
180 | - "UPDATE `##gedcom_chunk`" . |
|
181 | - " SET chunk_data=CONVERT(CONVERT(chunk_data USING macroman) USING utf8)" . |
|
182 | - " WHERE gedcom_id=?" |
|
183 | - )->execute([$gedcom_id]); |
|
184 | - break; |
|
185 | - case 'UTF8': |
|
186 | - case 'UTF-8': |
|
187 | - // Already UTF-8 so nothing to do! |
|
188 | - break; |
|
189 | - case 'ANSEL': |
|
190 | - default: |
|
191 | - Database::rollBack(); |
|
192 | - echo '<span class="error">', I18N::translate('Error: converting GEDCOM files from %s encoding to UTF-8 encoding not currently supported.', $charset), '</span>'; |
|
193 | - $controller->addInlineJavascript('$("#actions' . $gedcom_id . '").removeClass("hidden");'); |
|
194 | - |
|
195 | - return; |
|
127 | + case 'ASCII': |
|
128 | + Database::prepare( |
|
129 | + "UPDATE `##gedcom_chunk`" . |
|
130 | + " SET chunk_data=CONVERT(CONVERT(chunk_data USING ascii) USING utf8)" . |
|
131 | + " WHERE gedcom_id=?" |
|
132 | + )->execute([$gedcom_id]); |
|
133 | + break; |
|
134 | + case 'IBMPC': // IBMPC, IBM WINDOWS and MS-DOS could be anything. Mostly it means CP850. |
|
135 | + case 'IBM WINDOWS': |
|
136 | + case 'MS-DOS': |
|
137 | + case 'CP437': |
|
138 | + case 'CP850': |
|
139 | + // CP850 has extra letters with diacritics to replace box-drawing chars in CP437. |
|
140 | + Database::prepare( |
|
141 | + "UPDATE `##gedcom_chunk`" . |
|
142 | + " SET chunk_data=CONVERT(CONVERT(chunk_data USING cp850) USING utf8)" . |
|
143 | + " WHERE gedcom_id=?" |
|
144 | + )->execute([$gedcom_id]); |
|
145 | + break; |
|
146 | + case 'ANSI': // ANSI could be anything. Most applications seem to treat it as latin1. |
|
147 | + $controller->addInlineJavascript( |
|
148 | + '$("#import' . $gedcom_id . '").parent().prepend("<div class=\"bg-info\">' . /* I18N: %1$s and %2$s are the names of character encodings, such as ISO-8859-1 or ASCII */ |
|
149 | + I18N::translate('This GEDCOM file is encoded using %1$s. Assume this to mean %2$s.', $charset, 'ISO-8859-1') . '</div>");' |
|
150 | + ); |
|
151 | + // no break; |
|
152 | + case 'WINDOWS': |
|
153 | + case 'CP1252': |
|
154 | + case 'ISO8859-1': |
|
155 | + case 'ISO-8859-1': |
|
156 | + case 'LATIN1': |
|
157 | + case 'LATIN-1': |
|
158 | + // Convert from ISO-8859-1 (western european) to UTF8. |
|
159 | + Database::prepare( |
|
160 | + "UPDATE `##gedcom_chunk`" . |
|
161 | + " SET chunk_data=CONVERT(CONVERT(chunk_data USING latin1) USING utf8)" . |
|
162 | + " WHERE gedcom_id=?" |
|
163 | + )->execute([$gedcom_id]); |
|
164 | + break; |
|
165 | + case 'CP1250': |
|
166 | + case 'ISO8859-2': |
|
167 | + case 'ISO-8859-2': |
|
168 | + case 'LATIN2': |
|
169 | + case 'LATIN-2': |
|
170 | + // Convert from ISO-8859-2 (eastern european) to UTF8. |
|
171 | + Database::prepare( |
|
172 | + "UPDATE `##gedcom_chunk`" . |
|
173 | + " SET chunk_data=CONVERT(CONVERT(chunk_data USING latin2) USING utf8)" . |
|
174 | + " WHERE gedcom_id=?" |
|
175 | + )->execute([$gedcom_id]); |
|
176 | + break; |
|
177 | + case 'MACINTOSH': |
|
178 | + // Convert from MAC Roman to UTF8. |
|
179 | + Database::prepare( |
|
180 | + "UPDATE `##gedcom_chunk`" . |
|
181 | + " SET chunk_data=CONVERT(CONVERT(chunk_data USING macroman) USING utf8)" . |
|
182 | + " WHERE gedcom_id=?" |
|
183 | + )->execute([$gedcom_id]); |
|
184 | + break; |
|
185 | + case 'UTF8': |
|
186 | + case 'UTF-8': |
|
187 | + // Already UTF-8 so nothing to do! |
|
188 | + break; |
|
189 | + case 'ANSEL': |
|
190 | + default: |
|
191 | + Database::rollBack(); |
|
192 | + echo '<span class="error">', I18N::translate('Error: converting GEDCOM files from %s encoding to UTF-8 encoding not currently supported.', $charset), '</span>'; |
|
193 | + $controller->addInlineJavascript('$("#actions' . $gedcom_id . '").removeClass("hidden");'); |
|
194 | + |
|
195 | + return; |
|
196 | 196 | } |
197 | 197 | $first_time = false; |
198 | 198 |
@@ -156,29 +156,29 @@ |
||
156 | 156 | $frame += ['args' => [], 'file' => 'unknown', 'line' => 'unknown']; |
157 | 157 | array_walk($frame['args'], function (&$arg) { |
158 | 158 | switch (gettype($arg)) { |
159 | - case 'boolean': |
|
160 | - case 'integer': |
|
161 | - case 'double': |
|
162 | - case 'null': |
|
163 | - $arg = var_export($arg, true); |
|
164 | - break; |
|
165 | - case 'string': |
|
166 | - if (mb_strlen($arg) > 30) { |
|
167 | - $arg = mb_substr($arg, 0, 30) . '…'; |
|
168 | - } |
|
169 | - $arg = var_export($arg, true); |
|
170 | - break; |
|
171 | - case 'object': |
|
172 | - $reflection = new \ReflectionClass($arg); |
|
173 | - if (is_object($arg) && method_exists($arg, '__toString')) { |
|
174 | - $arg = '[' . $reflection->getShortName() . ' ' . (string) $arg . ']'; |
|
175 | - } else { |
|
176 | - $arg = '[' . $reflection->getShortName() . ']'; |
|
177 | - } |
|
178 | - break; |
|
179 | - default: |
|
180 | - $arg = '[' . gettype($arg) . ']'; |
|
181 | - break; |
|
159 | + case 'boolean': |
|
160 | + case 'integer': |
|
161 | + case 'double': |
|
162 | + case 'null': |
|
163 | + $arg = var_export($arg, true); |
|
164 | + break; |
|
165 | + case 'string': |
|
166 | + if (mb_strlen($arg) > 30) { |
|
167 | + $arg = mb_substr($arg, 0, 30) . '…'; |
|
168 | + } |
|
169 | + $arg = var_export($arg, true); |
|
170 | + break; |
|
171 | + case 'object': |
|
172 | + $reflection = new \ReflectionClass($arg); |
|
173 | + if (is_object($arg) && method_exists($arg, '__toString')) { |
|
174 | + $arg = '[' . $reflection->getShortName() . ' ' . (string) $arg . ']'; |
|
175 | + } else { |
|
176 | + $arg = '[' . $reflection->getShortName() . ']'; |
|
177 | + } |
|
178 | + break; |
|
179 | + default: |
|
180 | + $arg = '[' . gettype($arg) . ']'; |
|
181 | + break; |
|
182 | 182 | } |
183 | 183 | }); |
184 | 184 | $frame['file'] = str_replace(dirname(__DIR__), '', $frame['file']); |