mirror of
https://github.com/ACSPRI/queXS
synced 2024-04-02 12:12:16 +00:00
Merged from McMasterReports branch
This commit is contained in:
@@ -1,310 +0,0 @@
|
||||
<?php
|
||||
//============================================================+
|
||||
// File name : html_entity_decode_php4.php
|
||||
// Begin : 2006-06-22
|
||||
// Last Update : 2006-06-22
|
||||
// Author : Nicola Asuni
|
||||
// Version : 1.0.000
|
||||
// License : GNU LGPL (http://www.gnu.org/copyleft/lesser.html)
|
||||
//
|
||||
// Description : This is a PHP4 function that redefine the
|
||||
// standard html_entity_decode function to support
|
||||
// UTF-8 encoding.
|
||||
//
|
||||
//============================================================+
|
||||
|
||||
/**
|
||||
* TCPDF Class.
|
||||
* @package com.tecnick.tcpdf
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Returns the UTF-8 string corresponding to unicode value.
|
||||
* @param $num unicode value to convert.
|
||||
* @return string converted
|
||||
*/
|
||||
function code_to_utf8($num) {
|
||||
if ($num <= 0x7F) {
|
||||
return chr($num);
|
||||
} elseif ($num <= 0x7FF) {
|
||||
return chr(($num >> 0x06) + 0xC0).chr(($num & 0x3F) + 128);
|
||||
} elseif ($num <= 0xFFFF) {
|
||||
return chr(($num >> 0x0C) + 0xE0).chr((($num >> 0x06) & 0x3F) + 0x80).chr(($num & 0x3F) + 0x80);
|
||||
} elseif ($num <= 0x1FFFFF) {
|
||||
return chr(($num >> 0x12) + 0xF0).chr((($num >> 0x0C) & 0x3F) + 0x80).chr((($num >> 0x06) & 0x3F) + 0x80).chr(($num & 0x3F) + 0x80);
|
||||
}
|
||||
return ' '; // default value
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse function for htmlentities.
|
||||
* Convert entities in UTF-8.
|
||||
* @param $text_to_convert Text to convert.
|
||||
* @return string converted
|
||||
*/
|
||||
function html_entity_decode_php4($text_to_convert) {
|
||||
$htmlentities_table = array (
|
||||
"Á" => "".chr(195).chr(129)."",
|
||||
"á" => "".chr(195).chr(161)."",
|
||||
"Â" => "".chr(195).chr(130)."",
|
||||
"â" => "".chr(195).chr(162)."",
|
||||
"´" => "".chr(194).chr(180)."",
|
||||
"Æ" => "".chr(195).chr(134)."",
|
||||
"æ" => "".chr(195).chr(166)."",
|
||||
"À" => "".chr(195).chr(128)."",
|
||||
"à" => "".chr(195).chr(160)."",
|
||||
"ℵ" => "".chr(226).chr(132).chr(181)."",
|
||||
"Α" => "".chr(206).chr(145)."",
|
||||
"α" => "".chr(206).chr(177)."",
|
||||
"&" => "".chr(38)."",
|
||||
"∧" => "".chr(226).chr(136).chr(167)."",
|
||||
"∠" => "".chr(226).chr(136).chr(160)."",
|
||||
"Å" => "".chr(195).chr(133)."",
|
||||
"å" => "".chr(195).chr(165)."",
|
||||
"≈" => "".chr(226).chr(137).chr(136)."",
|
||||
"Ã" => "".chr(195).chr(131)."",
|
||||
"ã" => "".chr(195).chr(163)."",
|
||||
"Ä" => "".chr(195).chr(132)."",
|
||||
"ä" => "".chr(195).chr(164)."",
|
||||
"„" => "".chr(226).chr(128).chr(158)."",
|
||||
"Β" => "".chr(206).chr(146)."",
|
||||
"β" => "".chr(206).chr(178)."",
|
||||
"¦" => "".chr(194).chr(166)."",
|
||||
"•" => "".chr(226).chr(128).chr(162)."",
|
||||
"∩" => "".chr(226).chr(136).chr(169)."",
|
||||
"Ç" => "".chr(195).chr(135)."",
|
||||
"ç" => "".chr(195).chr(167)."",
|
||||
"¸" => "".chr(194).chr(184)."",
|
||||
"¢" => "".chr(194).chr(162)."",
|
||||
"Χ" => "".chr(206).chr(167)."",
|
||||
"χ" => "".chr(207).chr(135)."",
|
||||
"ˆ" => "".chr(203).chr(134)."",
|
||||
"♣" => "".chr(226).chr(153).chr(163)."",
|
||||
"≅" => "".chr(226).chr(137).chr(133)."",
|
||||
"©" => "".chr(194).chr(169)."",
|
||||
"↵" => "".chr(226).chr(134).chr(181)."",
|
||||
"∪" => "".chr(226).chr(136).chr(170)."",
|
||||
"¤" => "".chr(194).chr(164)."",
|
||||
"†" => "".chr(226).chr(128).chr(160)."",
|
||||
"‡" => "".chr(226).chr(128).chr(161)."",
|
||||
"↓" => "".chr(226).chr(134).chr(147)."",
|
||||
"⇓" => "".chr(226).chr(135).chr(147)."",
|
||||
"°" => "".chr(194).chr(176)."",
|
||||
"Δ" => "".chr(206).chr(148)."",
|
||||
"δ" => "".chr(206).chr(180)."",
|
||||
"♦" => "".chr(226).chr(153).chr(166)."",
|
||||
"÷" => "".chr(195).chr(183)."",
|
||||
"É" => "".chr(195).chr(137)."",
|
||||
"é" => "".chr(195).chr(169)."",
|
||||
"Ê" => "".chr(195).chr(138)."",
|
||||
"ê" => "".chr(195).chr(170)."",
|
||||
"È" => "".chr(195).chr(136)."",
|
||||
"è" => "".chr(195).chr(168)."",
|
||||
"∅" => "".chr(226).chr(136).chr(133)."",
|
||||
" " => "".chr(226).chr(128).chr(131)."",
|
||||
" " => "".chr(226).chr(128).chr(130)."",
|
||||
"Ε" => "".chr(206).chr(149)."",
|
||||
"ε" => "".chr(206).chr(181)."",
|
||||
"≡" => "".chr(226).chr(137).chr(161)."",
|
||||
"Η" => "".chr(206).chr(151)."",
|
||||
"η" => "".chr(206).chr(183)."",
|
||||
"Ð" => "".chr(195).chr(144)."",
|
||||
"ð" => "".chr(195).chr(176)."",
|
||||
"Ë" => "".chr(195).chr(139)."",
|
||||
"ë" => "".chr(195).chr(171)."",
|
||||
"€" => "".chr(226).chr(130).chr(172)."",
|
||||
"∃" => "".chr(226).chr(136).chr(131)."",
|
||||
"ƒ" => "".chr(198).chr(146)."",
|
||||
"∀" => "".chr(226).chr(136).chr(128)."",
|
||||
"½" => "".chr(194).chr(189)."",
|
||||
"¼" => "".chr(194).chr(188)."",
|
||||
"¾" => "".chr(194).chr(190)."",
|
||||
"⁄" => "".chr(226).chr(129).chr(132)."",
|
||||
"Γ" => "".chr(206).chr(147)."",
|
||||
"γ" => "".chr(206).chr(179)."",
|
||||
"≥" => "".chr(226).chr(137).chr(165)."",
|
||||
"↔" => "".chr(226).chr(134).chr(148)."",
|
||||
"⇔" => "".chr(226).chr(135).chr(148)."",
|
||||
"♥" => "".chr(226).chr(153).chr(165)."",
|
||||
"…" => "".chr(226).chr(128).chr(166)."",
|
||||
"Í" => "".chr(195).chr(141)."",
|
||||
"í" => "".chr(195).chr(173)."",
|
||||
"Î" => "".chr(195).chr(142)."",
|
||||
"î" => "".chr(195).chr(174)."",
|
||||
"¡" => "".chr(194).chr(161)."",
|
||||
"Ì" => "".chr(195).chr(140)."",
|
||||
"ì" => "".chr(195).chr(172)."",
|
||||
"ℑ" => "".chr(226).chr(132).chr(145)."",
|
||||
"∞" => "".chr(226).chr(136).chr(158)."",
|
||||
"∫" => "".chr(226).chr(136).chr(171)."",
|
||||
"Ι" => "".chr(206).chr(153)."",
|
||||
"ι" => "".chr(206).chr(185)."",
|
||||
"¿" => "".chr(194).chr(191)."",
|
||||
"∈" => "".chr(226).chr(136).chr(136)."",
|
||||
"Ï" => "".chr(195).chr(143)."",
|
||||
"ï" => "".chr(195).chr(175)."",
|
||||
"Κ" => "".chr(206).chr(154)."",
|
||||
"κ" => "".chr(206).chr(186)."",
|
||||
"Λ" => "".chr(206).chr(155)."",
|
||||
"λ" => "".chr(206).chr(187)."",
|
||||
"⟨" => "".chr(226).chr(140).chr(169)."",
|
||||
"«" => "".chr(194).chr(171)."",
|
||||
"←" => "".chr(226).chr(134).chr(144)."",
|
||||
"⇐" => "".chr(226).chr(135).chr(144)."",
|
||||
"⌈" => "".chr(226).chr(140).chr(136)."",
|
||||
"“" => "".chr(226).chr(128).chr(156)."",
|
||||
"≤" => "".chr(226).chr(137).chr(164)."",
|
||||
"⌊" => "".chr(226).chr(140).chr(138)."",
|
||||
"∗" => "".chr(226).chr(136).chr(151)."",
|
||||
"◊" => "".chr(226).chr(151).chr(138)."",
|
||||
"‎" => "".chr(226).chr(128).chr(142)."",
|
||||
"‹" => "".chr(226).chr(128).chr(185)."",
|
||||
"‘" => "".chr(226).chr(128).chr(152)."",
|
||||
"¯" => "".chr(194).chr(175)."",
|
||||
"—" => "".chr(226).chr(128).chr(148)."",
|
||||
"µ" => "".chr(194).chr(181)."",
|
||||
"·" => "".chr(194).chr(183)."",
|
||||
"−" => "".chr(226).chr(136).chr(146)."",
|
||||
"Μ" => "".chr(206).chr(156)."",
|
||||
"μ" => "".chr(206).chr(188)."",
|
||||
"∇" => "".chr(226).chr(136).chr(135)."",
|
||||
" " => "".chr(194).chr(160)."",
|
||||
"–" => "".chr(226).chr(128).chr(147)."",
|
||||
"≠" => "".chr(226).chr(137).chr(160)."",
|
||||
"∋" => "".chr(226).chr(136).chr(139)."",
|
||||
"¬" => "".chr(194).chr(172)."",
|
||||
"∉" => "".chr(226).chr(136).chr(137)."",
|
||||
"⊄" => "".chr(226).chr(138).chr(132)."",
|
||||
"Ñ" => "".chr(195).chr(145)."",
|
||||
"ñ" => "".chr(195).chr(177)."",
|
||||
"Ν" => "".chr(206).chr(157)."",
|
||||
"ν" => "".chr(206).chr(189)."",
|
||||
"Ó" => "".chr(195).chr(147)."",
|
||||
"ó" => "".chr(195).chr(179)."",
|
||||
"Ô" => "".chr(195).chr(148)."",
|
||||
"ô" => "".chr(195).chr(180)."",
|
||||
"Œ" => "".chr(197).chr(146)."",
|
||||
"œ" => "".chr(197).chr(147)."",
|
||||
"Ò" => "".chr(195).chr(146)."",
|
||||
"ò" => "".chr(195).chr(178)."",
|
||||
"‾" => "".chr(226).chr(128).chr(190)."",
|
||||
"Ω" => "".chr(206).chr(169)."",
|
||||
"ω" => "".chr(207).chr(137)."",
|
||||
"Ο" => "".chr(206).chr(159)."",
|
||||
"ο" => "".chr(206).chr(191)."",
|
||||
"⊕" => "".chr(226).chr(138).chr(149)."",
|
||||
"∨" => "".chr(226).chr(136).chr(168)."",
|
||||
"ª" => "".chr(194).chr(170)."",
|
||||
"º" => "".chr(194).chr(186)."",
|
||||
"Ø" => "".chr(195).chr(152)."",
|
||||
"ø" => "".chr(195).chr(184)."",
|
||||
"Õ" => "".chr(195).chr(149)."",
|
||||
"õ" => "".chr(195).chr(181)."",
|
||||
"⊗" => "".chr(226).chr(138).chr(151)."",
|
||||
"Ö" => "".chr(195).chr(150)."",
|
||||
"ö" => "".chr(195).chr(182)."",
|
||||
"¶" => "".chr(194).chr(182)."",
|
||||
"∂" => "".chr(226).chr(136).chr(130)."",
|
||||
"‰" => "".chr(226).chr(128).chr(176)."",
|
||||
"⊥" => "".chr(226).chr(138).chr(165)."",
|
||||
"Φ" => "".chr(206).chr(166)."",
|
||||
"φ" => "".chr(207).chr(134)."",
|
||||
"Π" => "".chr(206).chr(160)."",
|
||||
"π" => "".chr(207).chr(128)."",
|
||||
"ϖ" => "".chr(207).chr(150)."",
|
||||
"±" => "".chr(194).chr(177)."",
|
||||
"£" => "".chr(194).chr(163)."",
|
||||
"′" => "".chr(226).chr(128).chr(178)."",
|
||||
"″" => "".chr(226).chr(128).chr(179)."",
|
||||
"∏" => "".chr(226).chr(136).chr(143)."",
|
||||
"∝" => "".chr(226).chr(136).chr(157)."",
|
||||
"Ψ" => "".chr(206).chr(168)."",
|
||||
"ψ" => "".chr(207).chr(136)."",
|
||||
""" => chr(34),
|
||||
"√" => "".chr(226).chr(136).chr(154)."",
|
||||
"⟩" => "".chr(226).chr(140).chr(170)."",
|
||||
"»" => "".chr(194).chr(187)."",
|
||||
"→" => "".chr(226).chr(134).chr(146)."",
|
||||
"⇒" => "".chr(226).chr(135).chr(146)."",
|
||||
"⌉" => "".chr(226).chr(140).chr(137)."",
|
||||
"”" => "".chr(226).chr(128).chr(157)."",
|
||||
"ℜ" => "".chr(226).chr(132).chr(156)."",
|
||||
"®" => "".chr(194).chr(174)."",
|
||||
"⌋" => "".chr(226).chr(140).chr(139)."",
|
||||
"Ρ" => "".chr(206).chr(161)."",
|
||||
"ρ" => "".chr(207).chr(129)."",
|
||||
"‏" => "".chr(226).chr(128).chr(143)."",
|
||||
"›" => "".chr(226).chr(128).chr(186)."",
|
||||
"’" => "".chr(226).chr(128).chr(153)."",
|
||||
"‚" => "".chr(226).chr(128).chr(154)."",
|
||||
"Š" => "".chr(197).chr(160)."",
|
||||
"š" => "".chr(197).chr(161)."",
|
||||
"⋅" => "".chr(226).chr(139).chr(133)."",
|
||||
"§" => "".chr(194).chr(167)."",
|
||||
"­" => "".chr(194).chr(173)."",
|
||||
"Σ" => "".chr(206).chr(163)."",
|
||||
"σ" => "".chr(207).chr(131)."",
|
||||
"ς" => "".chr(207).chr(130)."",
|
||||
"∼" => "".chr(226).chr(136).chr(188)."",
|
||||
"♠" => "".chr(226).chr(153).chr(160)."",
|
||||
"⊂" => "".chr(226).chr(138).chr(130)."",
|
||||
"⊆" => "".chr(226).chr(138).chr(134)."",
|
||||
"∑" => "".chr(226).chr(136).chr(145)."",
|
||||
"¹" => "".chr(194).chr(185)."",
|
||||
"²" => "".chr(194).chr(178)."",
|
||||
"³" => "".chr(194).chr(179)."",
|
||||
"⊃" => "".chr(226).chr(138).chr(131)."",
|
||||
"⊇" => "".chr(226).chr(138).chr(135)."",
|
||||
"ß" => "".chr(195).chr(159)."",
|
||||
"Τ" => "".chr(206).chr(164)."",
|
||||
"τ" => "".chr(207).chr(132)."",
|
||||
"∴" => "".chr(226).chr(136).chr(180)."",
|
||||
"Θ" => "".chr(206).chr(152)."",
|
||||
"θ" => "".chr(206).chr(184)."",
|
||||
"ϑ" => "".chr(207).chr(145)."",
|
||||
" " => "".chr(226).chr(128).chr(137)."",
|
||||
"Þ" => "".chr(195).chr(158)."",
|
||||
"þ" => "".chr(195).chr(190)."",
|
||||
"˜" => "".chr(203).chr(156)."",
|
||||
"×" => "".chr(195).chr(151)."",
|
||||
"™" => "".chr(226).chr(132).chr(162)."",
|
||||
"Ú" => "".chr(195).chr(154)."",
|
||||
"ú" => "".chr(195).chr(186)."",
|
||||
"↑" => "".chr(226).chr(134).chr(145)."",
|
||||
"⇑" => "".chr(226).chr(135).chr(145)."",
|
||||
"Û" => "".chr(195).chr(155)."",
|
||||
"û" => "".chr(195).chr(187)."",
|
||||
"Ù" => "".chr(195).chr(153)."",
|
||||
"ù" => "".chr(195).chr(185)."",
|
||||
"¨" => "".chr(194).chr(168)."",
|
||||
"ϒ" => "".chr(207).chr(146)."",
|
||||
"Υ" => "".chr(206).chr(165)."",
|
||||
"υ" => "".chr(207).chr(133)."",
|
||||
"Ü" => "".chr(195).chr(156)."",
|
||||
"ü" => "".chr(195).chr(188)."",
|
||||
"℘" => "".chr(226).chr(132).chr(152)."",
|
||||
"Ξ" => "".chr(206).chr(158)."",
|
||||
"ξ" => "".chr(206).chr(190)."",
|
||||
"Ý" => "".chr(195).chr(157)."",
|
||||
"ý" => "".chr(195).chr(189)."",
|
||||
"¥" => "".chr(194).chr(165)."",
|
||||
"ÿ" => "".chr(195).chr(191)."",
|
||||
"Ÿ" => "".chr(197).chr(184)."",
|
||||
"Ζ" => "".chr(206).chr(150)."",
|
||||
"ζ" => "".chr(206).chr(182)."",
|
||||
"‍" => "".chr(226).chr(128).chr(141)."",
|
||||
"‌" => "".chr(226).chr(128).chr(140)."",
|
||||
">" => ">",
|
||||
"<" => "<"
|
||||
);
|
||||
$return_text = strtr($text_to_convert, $htmlentities_table);
|
||||
$return_text = preg_replace('~&#x([0-9a-f]+);~ei', 'code_to_utf8(hexdec("\\1"))', $return_text);
|
||||
$return_text = preg_replace('~&#([0-9]+);~e', 'code_to_utf8(\\1)', $return_text);
|
||||
return $return_text;
|
||||
}
|
||||
|
||||
//============================================================+
|
||||
// END OF FILE
|
||||
//============================================================+
|
||||
?>
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/*
|
||||
* $Id: sanitize.php 4950 2008-05-30 07:42:49Z c_schmitz $
|
||||
* $Id: sanitize.php 7497 2009-08-19 17:12:48Z c_schmitz $
|
||||
*
|
||||
* Copyright (c) 2002,2003 Free Software Foundation
|
||||
* developed under the custody of the
|
||||
@@ -93,6 +93,45 @@ function nice_addslashes($string)
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 1. Remove leading and trailing dots
|
||||
* 2. Remove dodgy characters from filename, including spaces and dots except last.
|
||||
* 3. Force extension if specified..
|
||||
*
|
||||
* @param mixed $filename
|
||||
* @param mixed $forceextension
|
||||
* @return string
|
||||
*/
|
||||
function sanitize_filename($filename, $forceextension="")
|
||||
{
|
||||
$defaultfilename = "none";
|
||||
$dodgychars = "[^0-9a-zA-z()_-]"; // allow only alphanumeric, underscore, parentheses and hyphen
|
||||
|
||||
$filename = preg_replace("/^[.]*/","",$filename); // lose any leading dots
|
||||
$filename = preg_replace("/[.]*$/","",$filename); // lose any trailing dots
|
||||
$filename = $filename?$filename:$defaultfilename; // if filename is blank, provide default
|
||||
|
||||
$lastdotpos=strrpos($filename, "."); // save last dot position
|
||||
$filename = preg_replace("/$dodgychars/","_",$filename); // replace dodgy characters
|
||||
$afterdot = "";
|
||||
if ($lastdotpos !== false) { // Split into name and extension, if any.
|
||||
$beforedot = substr($filename, 0, $lastdotpos);
|
||||
if ($lastdotpos < (strlen($filename) - 1))
|
||||
$afterdot = substr($filename, $lastdotpos + 1);
|
||||
}
|
||||
else // no extension
|
||||
$beforedot = $filename;
|
||||
|
||||
if ($forceextension)
|
||||
$filename = $beforedot . "." . $forceextension;
|
||||
elseif ($afterdot)
|
||||
$filename = $beforedot . "." . $afterdot;
|
||||
else
|
||||
$filename = $beforedot;
|
||||
|
||||
return $filename;
|
||||
}
|
||||
|
||||
|
||||
// paranoid sanitization -- only let the alphanumeric set through
|
||||
function sanitize_paranoid_string($string, $min='', $max='')
|
||||
@@ -107,6 +146,18 @@ function sanitize_paranoid_string($string, $min='', $max='')
|
||||
}
|
||||
}
|
||||
|
||||
function sanitize_cquestions($string, $min='', $max='')
|
||||
{
|
||||
if (isset($string))
|
||||
{
|
||||
$string = preg_replace("/[^_.a-zA-Z0-9+#]/", "", $string);
|
||||
$len = strlen($string);
|
||||
if((($min != '') && ($len < $min)) || (($max != '') && ($len > $max)))
|
||||
return FALSE;
|
||||
return $string;
|
||||
}
|
||||
}
|
||||
|
||||
function sanitize_email($email) {
|
||||
// Handles now emails separated with a semikolon
|
||||
$emailarray=explode(';',$email);
|
||||
@@ -194,7 +245,7 @@ function sanitize_html_string($string)
|
||||
// make int int!
|
||||
function sanitize_int($integer, $min='', $max='')
|
||||
{
|
||||
$int = ereg_replace("[^0-9]", "", $integer);
|
||||
$int = preg_replace("#[^0-9]#", "", $integer);
|
||||
if((($min != '') && ($int < $min)) || (($max != '') && ($int > $max)))
|
||||
{
|
||||
return FALSE;
|
||||
@@ -323,4 +374,17 @@ function sanitize_languagecodeS($codestringtosanitize) {
|
||||
return implode(" ",$codearray);
|
||||
}
|
||||
|
||||
|
||||
function sanitize_signedint($integer, $min='', $max='')
|
||||
{
|
||||
$int = (int) $integer;
|
||||
|
||||
if((($min != '') && ($int < $min)) || (($max != '') && ($int > $max)))
|
||||
{
|
||||
return FALSE; // Oops! Outside limits.
|
||||
}
|
||||
|
||||
return $int;
|
||||
};
|
||||
|
||||
?>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
* other free or open source software licenses.
|
||||
* See COPYRIGHT.php for copyright notices and details.
|
||||
*
|
||||
* $Id: surveytranslator.php 5101 2008-06-18 10:13:03Z c_schmitz $
|
||||
* $Id: surveytranslator.php 7323 2009-07-14 20:29:38Z jaycburton $
|
||||
*/
|
||||
|
||||
|
||||
@@ -21,7 +21,38 @@
|
||||
* @subpackage Core
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Returns all available dateformats in a structured aray
|
||||
* If $format is given only the particual dateformat will be returned
|
||||
*
|
||||
* @param $format integer
|
||||
* @returns array
|
||||
*
|
||||
*/
|
||||
function getDateFormatData($format=0)
|
||||
{
|
||||
$dateformats= array(1=> array ('phpdate' => 'd.m.Y', 'jsdate' => 'dd.mm.yy', 'dateformat' => 'dd.mm.yyyy'),
|
||||
2=> array ('phpdate' => 'd-m-Y', 'jsdate' => 'dd-mm-yy', 'dateformat' => 'dd-mm-yyyy'),
|
||||
5=> array ('phpdate' => 'd/m/Y', 'jsdate' => 'dd/mm/yy', 'dateformat' => 'dd/mm/yyyy'),
|
||||
3=> array ('phpdate' => 'Y.m.d', 'jsdate' => 'yy.mm.dd', 'dateformat' => 'yyyy.mm.dd'),
|
||||
6=> array ('phpdate' => 'Y-m-d', 'jsdate' => 'yy-mm-dd', 'dateformat' => 'yyyy-mm-dd'),
|
||||
7=> array ('phpdate' => 'Y/m/d', 'jsdate' => 'yy/mm/dd', 'dateformat' => 'yyyy/mm/dd'),
|
||||
4=> array ('phpdate' => 'j.n.Y', 'jsdate' => 'd.m.yy', 'dateformat' => 'd.m.yyyy'),
|
||||
8=> array ('phpdate' => 'j/n/Y', 'jsdate' => 'd/m/yy', 'dateformat' => 'd/m/yyyy'),
|
||||
9=> array ('phpdate' => 'm-d-Y', 'jsdate' => 'mm-dd-yy', 'dateformat' => 'mm-dd-yyyy')
|
||||
);
|
||||
|
||||
if ($format >0)
|
||||
{
|
||||
return $dateformats[$format];
|
||||
}
|
||||
else
|
||||
return $dateformats;
|
||||
|
||||
}
|
||||
|
||||
|
||||
function getLanguageCodefromLanguage($languagetosearch)
|
||||
{
|
||||
$detaillanguages = getLanguageData();
|
||||
@@ -37,6 +68,7 @@
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function getLanguageNameFromCode($codetosearch, $withnative=true)
|
||||
{
|
||||
@@ -67,253 +99,347 @@
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the locale settings for a certain language code
|
||||
*
|
||||
* @param string $codetosearch
|
||||
* @return array Array with locale details
|
||||
*
|
||||
*/
|
||||
function getLanguageDetails($codetosearch)
|
||||
{
|
||||
$detaillanguages = getLanguageData();
|
||||
if (isset($detaillanguages[$codetosearch]))
|
||||
{
|
||||
return $detaillanguages[$codetosearch];
|
||||
}
|
||||
else
|
||||
{
|
||||
return $detaillanguages['en'];
|
||||
}
|
||||
}
|
||||
|
||||
function getLanguageData() {
|
||||
global $clang;
|
||||
unset($supportedLanguages);
|
||||
|
||||
// Albanian
|
||||
$supportedLanguages['sq']['description'] = $clang->gT('Albanian');
|
||||
$supportedLanguages['sq']['nativedescription'] = 'Shqipe';
|
||||
$supportedLanguages['sq']['rtl'] = false;
|
||||
$supportedLanguages['sq']['dateformat'] = 1;
|
||||
|
||||
// Arabic
|
||||
$supportedLanguages['ar']['description'] = $clang->gT('Arabic');
|
||||
$supportedLanguages['ar']['nativedescription'] = 'عَرَبيْ';
|
||||
$supportedLanguages['ar']['rtl'] = true;
|
||||
$supportedLanguages['ar']['dateformat'] = 2;
|
||||
|
||||
// Basque
|
||||
$supportedLanguages['eu']['description'] = $clang->gT('Basque');
|
||||
$supportedLanguages['eu']['nativedescription'] = 'Euskara';
|
||||
$supportedLanguages['eu']['rtl'] = false;
|
||||
$supportedLanguages['eu']['dateformat'] = 3;
|
||||
|
||||
// Bosnian
|
||||
$supportedLanguages['bs']['description'] = $clang->gT('Bosnian');
|
||||
$supportedLanguages['bs']['nativedescription'] = 'Български';
|
||||
$supportedLanguages['bs']['nativedescription'] = 'Bosanski';
|
||||
$supportedLanguages['bs']['rtl'] = false;
|
||||
$supportedLanguages['bs']['dateformat'] = 4;
|
||||
|
||||
// Bulgarian
|
||||
$supportedLanguages['bg']['description'] = $clang->gT('Bulgarian');
|
||||
$supportedLanguages['bg']['nativedescription'] = 'Български';
|
||||
$supportedLanguages['bg']['rtl'] = false;
|
||||
$supportedLanguages['bg']['dateformat'] = 1;
|
||||
|
||||
// Catalan
|
||||
$supportedLanguages['ca']['description'] = $clang->gT('Catalan');
|
||||
$supportedLanguages['ca']['nativedescription'] = 'Catalά';
|
||||
$supportedLanguages['ca']['rtl'] = false;
|
||||
$supportedLanguages['ca']['dateformat'] = 1;
|
||||
|
||||
// Welsh
|
||||
$supportedLanguages['cy']['description'] = $clang->gT('Welsh');
|
||||
$supportedLanguages['cy']['nativedescription'] = 'Cymraeg';
|
||||
$supportedLanguages['cy']['rtl'] = false;
|
||||
$supportedLanguages['cy']['dateformat'] = 5;
|
||||
|
||||
// Chinese (Simplified)
|
||||
$supportedLanguages['zh-Hans']['description'] = $clang->gT('Chinese (Simplified)');
|
||||
$supportedLanguages['zh-Hans']['nativedescription'] = '简体中文';
|
||||
$supportedLanguages['zh-Hans']['rtl'] = false;
|
||||
$supportedLanguages['zh-Hans']['dateformat'] = 6;
|
||||
|
||||
// Chinese (Traditional - Hong Kong)
|
||||
$supportedLanguages['zh-Hant-HK']['description'] = $clang->gT('Chinese (Traditional - Hong Kong)');
|
||||
$supportedLanguages['zh-Hant-HK']['nativedescription'] = '繁體中文語系';
|
||||
$supportedLanguages['zh-Hant-HK']['rtl'] = false;
|
||||
$supportedLanguages['zh-Hant-HK']['dateformat'] = 6;
|
||||
|
||||
// Chinese (Traditional - Taiwan)
|
||||
$supportedLanguages['zh-Hant-TW']['description'] = $clang->gT('Chinese (Traditional - Taiwan)');
|
||||
$supportedLanguages['zh-Hant-TW']['nativedescription'] = 'Chinese (Traditional - Taiwan)';
|
||||
$supportedLanguages['zh-Hant-TW']['rtl'] = false;
|
||||
$supportedLanguages['zh-Hant-TW']['dateformat'] = 6;
|
||||
|
||||
// Croatian
|
||||
$supportedLanguages['hr']['description'] = $clang->gT('Croatian');
|
||||
$supportedLanguages['hr']['nativedescription'] = 'Hrvatski';
|
||||
$supportedLanguages['hr']['rtl'] = false;
|
||||
$supportedLanguages['hr']['dateformat'] = 4;
|
||||
|
||||
// Czech
|
||||
$supportedLanguages['cs']['description'] = $clang->gT('Czech');
|
||||
$supportedLanguages['cs']['nativedescription'] = 'Česky';
|
||||
$supportedLanguages['cs']['rtl'] = false;
|
||||
$supportedLanguages['cs']['dateformat'] = 4;
|
||||
|
||||
// Danish
|
||||
$supportedLanguages['da']['description'] = $clang->gT('Danish');
|
||||
$supportedLanguages['da']['nativedescription'] = 'Dansk';
|
||||
$supportedLanguages['da']['rtl'] = false;
|
||||
$supportedLanguages['da']['dateformat'] = 2;
|
||||
|
||||
// Dutch
|
||||
$supportedLanguages['nl']['description'] = $clang->gT('Dutch');
|
||||
$supportedLanguages['nl']['nativedescription'] = 'Nederlands';
|
||||
$supportedLanguages['nl']['rtl'] = false;
|
||||
$supportedLanguages['nl']['dateformat'] = 2;
|
||||
|
||||
// Dutch
|
||||
$supportedLanguages['nl-informal']['description'] = $clang->gT('Dutch Informal');
|
||||
$supportedLanguages['nl-informal']['nativedescription'] = 'Nederlands (Du)';
|
||||
$supportedLanguages['nl-informal']['rtl'] = false;
|
||||
$supportedLanguages['nl-informal']['dateformat'] = 2;
|
||||
|
||||
// English
|
||||
$supportedLanguages['en']['description'] = $clang->gT('English');
|
||||
$supportedLanguages['en']['nativedescription'] = 'English';
|
||||
$supportedLanguages['en']['rtl'] = false;
|
||||
$supportedLanguages['en']['dateformat'] = 9;
|
||||
|
||||
// Estonian
|
||||
$supportedLanguages['et']['description'] = $clang->gT('Estonian');
|
||||
$supportedLanguages['et']['nativedescription'] = 'Eesti';
|
||||
$supportedLanguages['et']['rtl'] = false;
|
||||
$supportedLanguages['et']['dateformat'] = 4;
|
||||
|
||||
// Finnish
|
||||
$supportedLanguages['fi']['description'] = $clang->gT('Finnish');
|
||||
$supportedLanguages['fi']['nativedescription'] = 'Suomi';
|
||||
$supportedLanguages['fi']['rtl'] = false;
|
||||
|
||||
$supportedLanguages['fi']['dateformat'] = 4;
|
||||
|
||||
// French
|
||||
$supportedLanguages['fr']['description'] = $clang->gT('French');
|
||||
$supportedLanguages['fr']['nativedescription'] = 'Français';
|
||||
$supportedLanguages['fr']['rtl'] = false;
|
||||
$supportedLanguages['fr']['dateformat'] = 2;
|
||||
|
||||
// Galician
|
||||
$supportedLanguages['gl']['description'] = $clang->gT('Galician');
|
||||
$supportedLanguages['gl']['nativedescription'] = 'Galego';
|
||||
$supportedLanguages['gl']['rtl'] = false;
|
||||
$supportedLanguages['gl']['dateformat'] = 5;
|
||||
|
||||
// German
|
||||
$supportedLanguages['de']['description'] = $clang->gT('German');
|
||||
$supportedLanguages['de']['nativedescription'] = 'Deutsch (Sie)';
|
||||
$supportedLanguages['de']['rtl'] = false;
|
||||
$supportedLanguages['de']['dateformat'] = 1;
|
||||
|
||||
// German informal
|
||||
$supportedLanguages['de-informal']['description'] = $clang->gT('German informal');
|
||||
$supportedLanguages['de-informal']['nativedescription'] = 'Deutsch (Du)';
|
||||
$supportedLanguages['de-informal']['rtl'] = false;
|
||||
$supportedLanguages['de-informal']['dateformat'] = 1;
|
||||
|
||||
// Greek
|
||||
$supportedLanguages['el']['description'] = $clang->gT('Greek');
|
||||
$supportedLanguages['el']['nativedescription'] = 'ελληνικά';
|
||||
$supportedLanguages['el']['rtl'] = false;
|
||||
|
||||
$supportedLanguages['el']['dateformat'] = 8;
|
||||
|
||||
// Hindi
|
||||
$supportedLanguages['hi']['description'] = $clang->gT('Hindi');
|
||||
$supportedLanguages['hi']['nativedescription'] = 'हिन्दी';
|
||||
$supportedLanguages['hi']['rtl'] = false;
|
||||
$supportedLanguages['hi']['dateformat'] = 2;
|
||||
|
||||
// Hebrew
|
||||
$supportedLanguages['he']['description'] = $clang->gT('Hebrew');
|
||||
$supportedLanguages['he']['nativedescription'] = ' עברית';
|
||||
$supportedLanguages['he']['rtl'] = true;
|
||||
$supportedLanguages['he']['dateformat'] = 5;
|
||||
|
||||
// Hungarian
|
||||
$supportedLanguages['hu']['description'] = $clang->gT('Hungarian');
|
||||
$supportedLanguages['hu']['nativedescription'] = 'Magyar';
|
||||
$supportedLanguages['hu']['rtl'] = false;
|
||||
$supportedLanguages['hu']['dateformat'] = 6;
|
||||
|
||||
// Icelandic
|
||||
$supportedLanguages['is']['description'] = $clang->gT('Icelandic');
|
||||
$supportedLanguages['is']['nativedescription'] = 'íslenska';
|
||||
$supportedLanguages['is']['rtl'] = false;
|
||||
|
||||
$supportedLanguages['is']['dateformat'] = 1;
|
||||
|
||||
// Indonesian
|
||||
$supportedLanguages['id']['description'] = $clang->gT('Indonesian');
|
||||
$supportedLanguages['id']['nativedescription'] = 'Bahasa Indonesia';
|
||||
$supportedLanguages['id']['rtl'] = false;
|
||||
$supportedLanguages['id']['dateformat'] = 5;
|
||||
|
||||
// Italian
|
||||
$supportedLanguages['it']['description'] = $clang->gT('Italian');
|
||||
$supportedLanguages['it']['nativedescription'] = 'Italiano';
|
||||
$supportedLanguages['it']['rtl'] = false;
|
||||
$supportedLanguages['it']['dateformat'] = 5;
|
||||
|
||||
// Italian-Formal
|
||||
$supportedLanguages['it-formal']['description'] = $clang->gT('Italian-Formal');
|
||||
$supportedLanguages['it-formal']['nativedescription'] = 'Formale Italiano';
|
||||
$supportedLanguages['it-formal']['rtl'] = false;
|
||||
$supportedLanguages['it-formal']['dateformat'] = 5;
|
||||
|
||||
// Japanese
|
||||
$supportedLanguages['ja']['description'] = $clang->gT('Japanese');
|
||||
$supportedLanguages['ja']['nativedescription'] = '日本語';
|
||||
$supportedLanguages['ja']['rtl'] = false;
|
||||
$supportedLanguages['ja']['dateformat'] = 6;
|
||||
|
||||
// Korean
|
||||
$supportedLanguages['ko']['description'] = $clang->gT('Korean');
|
||||
$supportedLanguages['ko']['nativedescription'] = '한국어';
|
||||
$supportedLanguages['ko']['rtl'] = false;
|
||||
$supportedLanguages['ko']['dateformat'] = 7;
|
||||
|
||||
// Lithuanian
|
||||
$supportedLanguages['lt']['description'] = $clang->gT('Lithuanian');
|
||||
$supportedLanguages['lt']['nativedescription'] = 'Lietuvių';
|
||||
$supportedLanguages['lt']['rtl'] = false;
|
||||
$supportedLanguages['lt']['dateformat'] = 6;
|
||||
|
||||
// Latvian
|
||||
$supportedLanguages['lv']['description'] = $clang->gT('Latvian');
|
||||
$supportedLanguages['lv']['nativedescription'] = 'Latviešu';
|
||||
$supportedLanguages['lv']['rtl'] = false;
|
||||
$supportedLanguages['lv']['dateformat'] = 6;
|
||||
|
||||
// Macedonian
|
||||
$supportedLanguages['mk']['description'] = $clang->gT('Macedonian');
|
||||
$supportedLanguages['mk']['nativedescription'] = 'Македонски';
|
||||
$supportedLanguages['mk']['rtl'] = false;
|
||||
$supportedLanguages['mk']['dateformat'] = 1;
|
||||
|
||||
// Norwegian Bokml
|
||||
// Norwegian Bokmal
|
||||
$supportedLanguages['nb']['description'] = $clang->gT('Norwegian (Bokmal)');
|
||||
$supportedLanguages['nb']['nativedescription'] = 'Norsk Bokmål';
|
||||
$supportedLanguages['nb']['rtl'] = false;
|
||||
$supportedLanguages['nb']['dateformat'] = 4;
|
||||
|
||||
// Norwegian Nynorsk
|
||||
$supportedLanguages['nn']['description'] = $clang->gT('Norwegian (Nynorsk)');
|
||||
$supportedLanguages['nn']['nativedescription'] = 'Norsk Nynorsk';
|
||||
$supportedLanguages['nn']['rtl'] = false;
|
||||
$supportedLanguages['nn']['dateformat'] = 4;
|
||||
|
||||
// Persian
|
||||
$supportedLanguages['fa']['description'] = $clang->gT('Persian');
|
||||
$supportedLanguages['fa']['nativedescription'] = 'فارسی';
|
||||
$supportedLanguages['fa']['rtl'] = true;
|
||||
$supportedLanguages['fa']['dateformat'] = 6;
|
||||
|
||||
// Polish
|
||||
$supportedLanguages['pl']['description'] = $clang->gT('Polish');
|
||||
$supportedLanguages['pl']['nativedescription'] = 'Polski';
|
||||
$supportedLanguages['pl']['rtl'] = false;
|
||||
$supportedLanguages['pl']['dateformat'] = 1;
|
||||
|
||||
// Portuguese
|
||||
$supportedLanguages['pt']['description'] = $clang->gT('Portuguese');
|
||||
$supportedLanguages['pt']['nativedescription'] = 'Português';
|
||||
$supportedLanguages['pt']['rtl'] = false;
|
||||
$supportedLanguages['pt']['dateformat'] = 5;
|
||||
|
||||
// Brazilian Portuguese
|
||||
$supportedLanguages['pt-BR']['description'] = $clang->gT('Portuguese (Brazilian)');
|
||||
$supportedLanguages['pt-BR']['nativedescription'] = 'Português do Brasil';
|
||||
$supportedLanguages['pt-BR']['rtl'] = false;
|
||||
|
||||
$supportedLanguages['pt-BR']['dateformat'] = 5;
|
||||
|
||||
// Russian
|
||||
$supportedLanguages['ru']['description'] = $clang->gT('Russian');
|
||||
$supportedLanguages['ru']['nativedescription'] = 'Русский';
|
||||
$supportedLanguages['ru']['rtl'] = false;
|
||||
$supportedLanguages['ru']['dateformat'] = 1;
|
||||
|
||||
// Romanian
|
||||
$supportedLanguages['ro']['description'] = $clang->gT('Romanian');
|
||||
$supportedLanguages['ro']['nativedescription'] = 'Românesc';
|
||||
$supportedLanguages['ro']['rtl'] = false;
|
||||
$supportedLanguages['ro']['dateformat'] = 1;
|
||||
|
||||
// Slovak
|
||||
$supportedLanguages['sk']['description'] = $clang->gT('Slovak');
|
||||
$supportedLanguages['sk']['nativedescription'] = 'Slovák';
|
||||
$supportedLanguages['sk']['rtl'] = false;
|
||||
$supportedLanguages['sk']['dateformat'] = 4;
|
||||
|
||||
// Sinhala
|
||||
$supportedLanguages['si']['description'] = $clang->gT('Sinhala');
|
||||
$supportedLanguages['si']['nativedescription'] = 'සිංහල';
|
||||
$supportedLanguages['si']['rtl'] = false;
|
||||
$supportedLanguages['si']['dateformat'] = 5;
|
||||
|
||||
// Slovenian
|
||||
$supportedLanguages['sl']['description'] = $clang->gT('Slovenian');
|
||||
$supportedLanguages['sl']['nativedescription'] = 'Slovenščina';
|
||||
$supportedLanguages['sl']['rtl'] = false;
|
||||
$supportedLanguages['sl']['dateformat'] = 4;
|
||||
|
||||
// Serbian
|
||||
$supportedLanguages['sr']['description'] = $clang->gT('Serbian');
|
||||
$supportedLanguages['sr']['nativedescription'] = 'Srpski';
|
||||
$supportedLanguages['sr']['rtl'] = false;
|
||||
$supportedLanguages['sr']['dateformat'] = 4;
|
||||
|
||||
// Spanish
|
||||
$supportedLanguages['es']['description'] = $clang->gT('Spanish');
|
||||
$supportedLanguages['es']['nativedescription'] = 'Español';
|
||||
$supportedLanguages['es']['rtl'] = false;
|
||||
$supportedLanguages['es']['dateformat'] = 5;
|
||||
|
||||
// Spanish (Mexico)
|
||||
$supportedLanguages['es-MX']['description'] = $clang->gT('Spanish (Mexico)');
|
||||
$supportedLanguages['es-MX']['nativedescription'] = 'Español Mejicano';
|
||||
$supportedLanguages['es-MX']['rtl'] = false;
|
||||
$supportedLanguages['es-MX']['dateformat'] = 5;
|
||||
|
||||
// Swedish
|
||||
$supportedLanguages['sv']['description'] = $clang->gT('Swedish');
|
||||
$supportedLanguages['sv']['nativedescription'] = 'Svenska';
|
||||
$supportedLanguages['sv']['rtl'] = false;
|
||||
$supportedLanguages['sv']['dateformat'] = 6;
|
||||
|
||||
// Turkish
|
||||
$supportedLanguages['tr']['description'] = $clang->gT('Turkish');
|
||||
$supportedLanguages['tr']['nativedescription'] = 'Türkçe';
|
||||
$supportedLanguages['tr']['rtl'] = false;
|
||||
$supportedLanguages['tr']['dateformat'] = 5;
|
||||
|
||||
// Thai
|
||||
$supportedLanguages['th']['description'] = $clang->gT('Thai');
|
||||
$supportedLanguages['th']['nativedescription'] = 'ภาษาไทย';
|
||||
$supportedLanguages['th']['rtl'] = false;
|
||||
$supportedLanguages['th']['dateformat'] = 5;
|
||||
|
||||
|
||||
// Vietnamese
|
||||
$supportedLanguages['vi']['description'] = $clang->gT('Vietnamese');
|
||||
$supportedLanguages['vi']['nativedescription'] = 'Tiếng Việt';
|
||||
$supportedLanguages['vi']['rtl'] = false;
|
||||
$supportedLanguages['vi']['dateformat'] = 5;
|
||||
|
||||
uasort($supportedLanguages,"user_sort");
|
||||
|
||||
@@ -321,39 +447,58 @@
|
||||
}
|
||||
|
||||
function user_sort($a, $b) {
|
||||
// smarts is all-important, so sort it first
|
||||
|
||||
if($a['description'] >$b['description']) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return -1;
|
||||
}
|
||||
// smarts is all-important, so sort it first
|
||||
|
||||
if($a['description'] >$b['description']) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* // future languages
|
||||
|
||||
// Afrikaans
|
||||
$supportedLanguages['za']['nativedescription'] = 'Afrikaans';
|
||||
|
||||
// Irish
|
||||
$supportedLanguages['ie']['nativedescription'] = 'Gaeilge';
|
||||
|
||||
// Icelandic
|
||||
$supportedLanguages['is']['nativedescription'] = 'Icelandic';
|
||||
|
||||
// Latvian
|
||||
$supportedLanguages['lv']['nativedescription'] = 'Latviešu';
|
||||
|
||||
// Serbian
|
||||
// Serbian
|
||||
$supportedLanguages['yu']['nativedescription'] = 'Srpski';
|
||||
*/
|
||||
|
||||
// Arabic
|
||||
$supportedLanguages['sa']['nativedescription'] = 'العربية';
|
||||
$supportedLanguages['sa']['right-to-left'] = true;
|
||||
|
||||
/**
|
||||
* This function support the ability NOT to reverse numbers (for example when you output
|
||||
* a phrase as a parameter for a SWF file that can't handle RTL languages itself, but
|
||||
* obviously any numbers should remain the same as in the original phrase).
|
||||
* Note that it can be used just as well for UTF-8 usages if you want the numbers to remain intact
|
||||
*
|
||||
* @param string $str
|
||||
* @param boolean $reverse_numbers
|
||||
* @return string
|
||||
*/
|
||||
function utf8_strrev($str, $reverse_numbers=false) {
|
||||
preg_match_all('/./us', $str, $ar);
|
||||
if ($reverse_numbers)
|
||||
return join('',array_reverse($ar[0]));
|
||||
else {
|
||||
$temp = array();
|
||||
foreach ($ar[0] as $value) {
|
||||
if (is_numeric($value) && !empty($temp[0]) && is_numeric($temp[0])) {
|
||||
foreach ($temp as $key => $value2) {
|
||||
if (is_numeric($value2))
|
||||
$pos = ($key + 1);
|
||||
else
|
||||
break;
|
||||
}
|
||||
$temp2 = array_splice($temp, $pos);
|
||||
$temp = array_merge($temp, array($value), $temp2);
|
||||
} else
|
||||
array_unshift($temp, $value);
|
||||
}
|
||||
return implode('', $temp);
|
||||
}
|
||||
}
|
||||
|
||||
$supportedLanguages['he']['right-to-left'] = true;
|
||||
|
||||
*/
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user