Code Duplication    Length = 12-13 lines in 3 locations

phpsysinfo/read_config.php 3 locations

@@ 183-195 (lines=13) @@
180
                }
181
                if (!defined('PSI_SYSTEM_LANG') && @exec($matches[1].' locale 2>/dev/null', $lines)) { //also if not overloaded in phpsysinfo.ini
182
                    foreach ($lines as $line) {
183
                        if (preg_match('/^LC_MESSAGES="?([^\."@]*)/', $line, $matches2)) {
184
                            $lang = "";
185
                            if (is_readable(APP_ROOT.'/data/languages.ini') && ($langdata = @parse_ini_file(APP_ROOT.'/data/languages.ini', true))) {
186
                                if (isset($langdata['Linux']['_'.$matches2[1]])) {
187
                                    $lang = $langdata['Linux']['_'.$matches2[1]];
188
                                }
189
                            }
190
                            if ($lang == "") {
191
                                $lang = 'Unknown';
192
                            }
193
                            define('PSI_SYSTEM_LANG', $lang.' ('.$matches2[1].')');
194
                            break;
195
                        }
196
                    }
197
                }
198
            }
@@ 209-220 (lines=12) @@
206
                            define('PSI_SYSTEM_CODEPAGE', $matches2[2]);
207
                        }
208
209
                        if (!defined('PSI_SYSTEM_LANG')) { //if not overloaded in phpsysinfo.ini
210
                            $lang = "";
211
                            if (is_readable(APP_ROOT.'/data/languages.ini') && ($langdata = @parse_ini_file(APP_ROOT.'/data/languages.ini', true))) {
212
                                if (isset($langdata['Linux']['_'.$matches2[1]])) {
213
                                    $lang = $langdata['Linux']['_'.$matches2[1]];
214
                                }
215
                            }
216
                            if ($lang == "") {
217
                                $lang = 'Unknown';
218
                            }
219
                            define('PSI_SYSTEM_LANG', $lang.' ('.$matches2[1].')');
220
                        }
221
                        break;
222
                    }
223
                }
@@ 226-238 (lines=13) @@
223
                }
224
            }
225
        } elseif (PHP_OS == 'Darwin') {
226
            if (!defined('PSI_SYSTEM_LANG') //if not overloaded in phpsysinfo.ini
227
                && @exec('defaults read /Library/Preferences/.GlobalPreferences AppleLocale 2>/dev/null', $lines)) {
228
                $lang = "";
229
                if (is_readable(APP_ROOT.'/data/languages.ini') && ($langdata = @parse_ini_file(APP_ROOT.'/data/languages.ini', true))) {
230
                    if (isset($langdata['Linux']['_'.$lines[0]])) {
231
                        $lang = $langdata['Linux']['_'.$lines[0]];
232
                    }
233
                }
234
                if ($lang == "") {
235
                    $lang = 'Unknown';
236
                }
237
                define('PSI_SYSTEM_LANG', $lang.' ('.$lines[0].')');
238
            }
239
        }
240
    }
241