Subversion Repositories ALCASAR

Rev

Rev 2775 | Rev 2800 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log

Rev 2775 Rev 2795
1
<?php
1
<?php
2
/**
2
/**
3
 * language reading
3
 * language reading
4
 * read the language wich is passed as a parameter in the url and if
4
 * read the language wich is passed as a parameter in the url and if
5
 * it is not available read the default language
5
 * it is not available read the default language
6
 *
6
 *
7
 * PHP version 5
7
 * PHP version 5
8
 *
8
 *
9
 * @category  PHP
9
 * @category  PHP
10
 * @package   PSI_Language
10
 * @package   PSI_Language
11
 * @author    Michael Cramer <BigMichi1@users.sourceforge.net>
11
 * @author    Michael Cramer <BigMichi1@users.sourceforge.net>
12
 * @copyright 2009 phpSysInfo
12
 * @copyright 2009 phpSysInfo
13
 * @license   http://opensource.org/licenses/gpl-2.0.php GNU General Public License version 2, or (at your option) any later version
13
 * @license   http://opensource.org/licenses/gpl-2.0.php GNU General Public License version 2, or (at your option) any later version
14
 * @version   SVN: $Id: language.php 661 2012-08-27 11:26:39Z namiltd $
14
 * @version   SVN: $Id: language.php 661 2012-08-27 11:26:39Z namiltd $
15
 * @link      http://phpsysinfo.sourceforge.net
15
 * @link      http://phpsysinfo.sourceforge.net
16
 */
16
 */
17
 
17
 
18
// Set the correct content-type header.
18
// Set the correct content-type header.
19
header("Content-Type: text/xml\n\n");
19
header("Content-Type: text/xml\n\n");
20
 
20
 
21
/**
21
/**
22
 * default language
22
 * default language
23
 *
23
 *
24
 * @var String
24
 * @var String
25
 */
25
 */
26
$lang = 'en';
26
$lang = 'en';
27
 
27
 
28
/**
28
/**
29
 * default pluginname
29
 * default pluginname
30
 *
30
 *
31
 * @var String
31
 * @var String
32
 */
32
 */
33
$plugin = '';
33
$plugin = '';
34
 
34
 
35
/**
35
/**
36
 * application root path
36
 * application root path
37
 *
37
 *
38
 * @var string
38
 * @var string
39
 */
39
 */
40
define('PSI_APP_ROOT', realpath(dirname((__FILE__)).'/../'));
40
define('PSI_APP_ROOT', realpath(dirname((__FILE__)).'/../'));
41
 
41
 
42
include_once PSI_APP_ROOT.'/read_config.php';
42
include_once PSI_APP_ROOT.'/read_config.php';
43
 
43
 
44
if (defined('PSI_DEFAULT_LANG')) {
44
if (defined('PSI_DEFAULT_LANG')) {
45
    $lang = PSI_DEFAULT_LANG;
45
    $lang = PSI_DEFAULT_LANG;
46
}
46
}
47
 
47
 
48
if (isset($_GET['lang']) && (trim($_GET['lang'])!=="")
48
if (isset($_GET['lang']) && (trim($_GET['lang'])!=="")
49
   && !preg_match('/[^A-Za-z\-]/', $_GET['lang'])
49
   && !preg_match('/[^A-Za-z\-]/', $_GET['lang'])
50
   && file_exists(PSI_APP_ROOT.'/language/'.$_GET['lang'].'.xml')) {
50
   && file_exists(PSI_APP_ROOT.'/language/'.$_GET['lang'].'.xml')) {
51
    $lang = strtolower($_GET['lang']);
51
    $lang = strtolower($_GET['lang']);
52
}
52
}
-
 
53
/** ALCASAR changes
-
 
54
 *  $lang set by the web browser config
-
 
55
 *
-
 
56
 */
-
 
57
 if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
-
 
58
	$Langue	  = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
-
 
59
	$lang = strtolower(substr(chop($Langue[0]), 0, 2));
53
 
60
 
54
if (isset($_GET['plugin'])) {
61
if (isset($_GET['plugin'])) {
55
   if ((trim($_GET['plugin'])!=="") && !preg_match('/[^A-Za-z]/', $_GET['plugin'])) {
62
   if ((trim($_GET['plugin'])!=="") && !preg_match('/[^A-Za-z]/', $_GET['plugin'])) {
56
       $plugin = strtolower($_GET['plugin']);
63
       $plugin = strtolower($_GET['plugin']);
57
        if (file_exists(PSI_APP_ROOT.'/plugins/'.$plugin.'/lang/'.$lang.'.xml')) {
64
        if (file_exists(PSI_APP_ROOT.'/plugins/'.$plugin.'/lang/'.$lang.'.xml')) {
58
            echo file_get_contents(PSI_APP_ROOT.'/plugins/'.$plugin.'/lang/'.$lang.'.xml');
65
            echo file_get_contents(PSI_APP_ROOT.'/plugins/'.$plugin.'/lang/'.$lang.'.xml');
59
        } elseif (file_exists(PSI_APP_ROOT.'/plugins/'.$plugin.'/lang/en.xml')) {
66
        } elseif (file_exists(PSI_APP_ROOT.'/plugins/'.$plugin.'/lang/en.xml')) {
60
            echo file_get_contents(PSI_APP_ROOT.'/plugins/'.$plugin.'/lang/en.xml');
67
            echo file_get_contents(PSI_APP_ROOT.'/plugins/'.$plugin.'/lang/en.xml');
61
        }
68
        }
62
   }
69
   }
63
} else {
70
} else {
64
    if (file_exists(PSI_APP_ROOT.'/language/'.$lang.'.xml')) {
71
    if (file_exists(PSI_APP_ROOT.'/language/'.$lang.'.xml')) {
65
        echo file_get_contents(PSI_APP_ROOT.'/language/'.$lang.'.xml');
72
        echo file_get_contents(PSI_APP_ROOT.'/language/'.$lang.'.xml');
66
    } else {
73
    } else {
67
        echo file_get_contents(PSI_APP_ROOT.'/language/en.xml');
74
        echo file_get_contents(PSI_APP_ROOT.'/language/en.xml');
68
    }
75
    }
69
}
76
}
70
 
77