1 |
matthys |
15 |
<?php |
2 |
|
|
/* This file is part of BBClone (A PHP based Web Counter on Steroids) |
3 |
|
|
* |
4 |
|
|
* CVS FILE $Id: selectlang.php,v 1.50 2011/12/30 23:03:48 joku Exp $ |
5 |
|
|
* |
6 |
|
|
* Copyright (C) 2001-2012, the BBClone Team (see doc/authors.txt for details) |
7 |
|
|
* |
8 |
|
|
* This program is free software: you can redistribute it and/or modify |
9 |
|
|
* it under the terms of the GNU General Public License as published by |
10 |
|
|
* the Free Software Foundation, either version 3 of the License, or |
11 |
|
|
* (at your option) any later version. |
12 |
|
|
* |
13 |
|
|
* This program is distributed in the hope that it will be useful, |
14 |
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
15 |
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16 |
|
|
* GNU General Public License for more details. |
17 |
|
|
* |
18 |
|
|
* See doc/copying.txt for details |
19 |
|
|
*/ |
20 |
|
|
|
21 |
|
|
//////////////////////////////// |
22 |
|
|
// Detection & Setup Language // |
23 |
|
|
//////////////////////////////// |
24 |
|
|
|
25 |
|
|
if (is_readable($BBC_LIB_PATH."html.php")) require_once($BBC_LIB_PATH."html.php"); |
26 |
|
|
else exit(bbc_msg($BBC_LIB_PATH."html.php")); |
27 |
|
|
|
28 |
|
|
// Initialising the HTML class |
29 |
|
|
$BBC_HTML = new BBC_HTML; |
30 |
|
|
|
31 |
|
|
if (is_readable($BBC_LANGUAGE_PATH.$BBC_HTML->lng.".php")) require_once($BBC_LANGUAGE_PATH.$BBC_HTML->lng.".php"); |
32 |
|
|
// When no detection, use English language as default |
33 |
|
|
elseif (is_readable($BBC_LANGUAGE_PATH."en.php")) { |
34 |
|
|
} |
35 |
|
|
else exit(bbc_msg($BBC_LANGUAGE_PATH."en.php")); |
36 |
|
|
|
37 |
|
|
/** |
38 |
|
|
* Format date/time according to given format string, in the selected language. |
39 |
|
|
* @param $format date format, as per PHP specs |
40 |
|
|
* @param $timestamp the timestamp to format |
41 |
|
|
* @return String with formatted timestamp |
42 |
|
|
*/ |
43 |
|
|
function date_format_translated($format, $timestamp) { |
44 |
|
|
global $translation; |
45 |
|
|
|
46 |
|
|
$day_name_short = array($translation['tstat_su'], $translation['tstat_mo'], $translation['tstat_tu'], $translation['tstat_we'], $translation['tstat_th'], $translation['tstat_fr'], $translation['tstat_sa']); |
47 |
|
|
$day_name_full = array($translation['tstat_full_su'], $translation['tstat_full_mo'], $translation['tstat_full_tu'], $translation['tstat_full_we'], $translation['tstat_full_th'], $translation['tstat_full_fr'], $translation['tstat_full_sa']); |
48 |
|
|
$month_name_short = array($translation['tstat_jan'], $translation['tstat_feb'], $translation['tstat_mar'], $translation['tstat_apr'], $translation['tstat_may'], $translation['tstat_jun'], |
49 |
|
|
$translation['tstat_jul'], $translation['tstat_aug'], $translation['tstat_sep'], $translation['tstat_oct'], $translation['tstat_nov'], $translation['tstat_dec']); |
50 |
|
|
$month_name_full = array($translation['tstat_full_jan'], $translation['tstat_full_feb'], $translation['tstat_full_mar'], $translation['tstat_full_apr'], $translation['tstat_full_may'], $translation['tstat_full_jun'], |
51 |
|
|
$translation['tstat_full_jul'], $translation['tstat_full_aug'], $translation['tstat_full_sep'], $translation['tstat_full_oct'], $translation['tstat_full_nov'], $translation['tstat_full_dec']); |
52 |
|
|
|
53 |
|
|
// Loop char by char through php date format string, cacth the ones which need translating |
54 |
|
|
//--- PHP 4 :-)-------------------------------- |
55 |
|
|
if(!function_exists('str_split')){ |
56 |
|
|
function str_split($str,$split_lengt=1){ |
57 |
|
|
|
58 |
|
|
$cnt = strlen($str); |
59 |
|
|
|
60 |
|
|
for ($i=0;$i<$cnt;$i+=$split_lengt) |
61 |
|
|
$rslt[]= substr($str,$i,$split_lengt); |
62 |
|
|
|
63 |
|
|
return $rslt; |
64 |
|
|
} |
65 |
|
|
} |
66 |
|
|
//---------------------------------------------- |
67 |
|
|
$result = ""; |
68 |
|
|
$format_chars = str_split($format, 1); |
69 |
|
|
foreach ($format_chars as $format_char) { |
70 |
|
|
if ($format_char == "l") { |
71 |
|
|
$day_index = date("w", $timestamp); |
72 |
|
|
$result = $result . $day_name_full[$day_index]; |
73 |
|
|
} else if ($format_char == "D") { |
74 |
|
|
$day_index = date("w", $timestamp); |
75 |
|
|
$result = $result . $day_name_short[$day_index]; |
76 |
|
|
} else if ($format_char == "F") { |
77 |
|
|
$month_index = date("n", $timestamp) - 1; |
78 |
|
|
$result = $result . $month_name_full[$month_index]; |
79 |
|
|
} else if ($format_char == "M") { |
80 |
|
|
$month_index = date("n", $timestamp) - 1; |
81 |
|
|
$result = $result . $month_name_short[$month_index]; |
82 |
|
|
} else { |
83 |
|
|
$result = $result . date($format_char, $timestamp); |
84 |
|
|
} |
85 |
|
|
} |
86 |
|
|
|
87 |
|
|
return $result; |
88 |
|
|
} |
89 |
|
|
?> |