source: branches/1.1/admin/common.php @ 255

Last change on this file since 255 was 255, checked in by moo, 8 years ago
  • fix build on rare arch
  • fix build on Mac OS X
  • merged from trunk: 159,161-162,167-180,182,184,186-187,194
    • [194] PHP_5_2: new element in zend_brk_cont_element
    • [186] [187] fix build on some rare arch
    • [184] fix tplcov
    • [178] fix type processor_t conflict with Mac OS X
File size: 1.8 KB
Line 
1<?php
2
3function get_language_file_ex($name, $l, $s)
4{
5    static $lmap = array(
6            'zh'    => 'zh-simplified',
7            'zh-hk' => 'zh-traditional',
8            'zh-tw' => 'zh-traditional',
9            );
10    static $smap = array(
11            'gbk'     => 'gb2312',
12            'gb18030' => 'gb2312',
13            );
14
15    if (isset($lmap[$l])) {
16        $l = $lmap[$l];
17    }
18    if (file_exists($file = "$name-$l-$s.lang.php")) {
19        return $file;
20    }
21    if (isset($smap[$s])) {
22        $s = $smap[$s];
23        if (file_exists($file = "$name-$l-$s.lang.php")) {
24            return $file;
25        }
26    }
27    if (file_exists($file = "$name-$l.lang.php")) {
28        return $file;
29    }
30    return null;
31}
32
33function get_language_file($name)
34{
35    global $charset, $lang;
36    $s = strtolower($charset);
37    if (isset($lang)) {
38        $l = strtolower($lang);
39        $file = get_language_file_ex($name, $l, $s);
40        if (!isset($file)) {
41            $l = strtok($l, '-');
42            $file = get_language_file_ex($name, $l, $s);
43        }
44    }
45    else if (!empty($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
46        foreach (explode(',', str_replace(' ', '', $_SERVER['HTTP_ACCEPT_LANGUAGE'])) as $l) {
47            $l = strtok($l, ';');
48            $file = get_language_file_ex($name, $l, $s);
49            if (isset($file)) {
50                $lang = $l;
51                break;
52            }
53            if (strpos($l, '-') !== false) {
54                $ll = strtok($l, '-');
55                $file = get_language_file_ex($name, $ll, $s);
56                if (isset($file)) {
57                    $lang = $l;
58                    break;
59                }
60            }
61        }
62    }
63    return isset($file) ? $file : "$name-en.lang.php";
64}
65
66function _T($str)
67{
68    if (isset($GLOBALS['strings'][$str])) {
69        return $GLOBALS['strings'][$str];
70    }
71    if (!empty($GLOBALS['show_todo_strings'])) {
72        return '<span style="color:red">' . htmlspecialchars($str) . '</span>';
73    }
74    return $str;
75}
76
77error_reporting(E_ALL);
78define('REQUEST_TIME', time());
79
80$charset = "UTF-8";
81if (file_exists("./config.php")) {
82    include("./config.php");
83}
84
85include(get_language_file("common"));
86if (!isset($lang)) {
87    $lang = 'en-us';
88}
89
90?>
Note: See TracBrowser for help on using the repository browser.