Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,443 @@
|
||||
<?php
|
||||
/*
|
||||
**** COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
||||
*
|
||||
* Xentral (c) Xentral ERP Sorftware GmbH, Fuggerstrasse 11, D-86150 Augsburg, * Germany 2019
|
||||
*
|
||||
* This file is licensed under the Embedded Projects General Public License *Version 3.1.
|
||||
*
|
||||
* You should have received a copy of this license from your vendor and/or *along with this file; If not, please visit www.wawision.de/Lizenzhinweis
|
||||
* to obtain the text of the corresponding license version.
|
||||
*
|
||||
**** END OF COPYRIGHT & LICENSE NOTICE *** DO NOT REMOVE ****
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
|
||||
class WawiString
|
||||
{
|
||||
|
||||
|
||||
function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
function Convert($value,$input,$output)
|
||||
{
|
||||
if($input=="")
|
||||
return $value;
|
||||
|
||||
|
||||
/*if (strpos($a, '\\') !== false)
|
||||
$input = str_replace('/','\/',$input);*/
|
||||
|
||||
$array = $this->FindPercentValues($input);
|
||||
$regexp = $this->BuildRegExp($array);
|
||||
|
||||
$elements =
|
||||
preg_split($regexp,$value,-1,PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
|
||||
|
||||
// input und elements stimmmen ueberein
|
||||
|
||||
$newout = $output;
|
||||
$i = 0;
|
||||
foreach($array as $key=>$value)
|
||||
{
|
||||
$newout = str_replace($key,isset($elements[$i])?$elements[$i]:'',$newout);
|
||||
$i++;
|
||||
}
|
||||
return $newout;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $string
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function removeUtf8Bom($string) {
|
||||
if(!is_string($string) || strlen($string)< 3) {
|
||||
return $string;
|
||||
}
|
||||
if(ord($string[0]) === 239 && ord($string[1]) === 187 && ord($string[2]) === 191) {
|
||||
return substr($string,3);
|
||||
}
|
||||
return $string;
|
||||
}
|
||||
|
||||
function BuildRegExp($array)
|
||||
{
|
||||
|
||||
$regexp = '/^';
|
||||
foreach($array as $value)
|
||||
{
|
||||
$value = str_replace('.','\.',$value);
|
||||
$value = str_replace('+','\+',$value);
|
||||
$value = str_replace('*','\*',$value);
|
||||
$value = str_replace('?','\?',$value);
|
||||
$regexp .= '(\S+)'.$value;
|
||||
}
|
||||
$regexp .= '/';
|
||||
|
||||
return $regexp;
|
||||
}
|
||||
|
||||
function FindPercentValues($pattern)
|
||||
{
|
||||
preg_match_all('/(?:(%[0-9]+)|.)/i', $pattern, $matches);
|
||||
$hash = '';
|
||||
$collect = '';
|
||||
$start = true;
|
||||
foreach($matches[1] as $key=>$value)
|
||||
{
|
||||
if($value=="")
|
||||
$collecting = true;
|
||||
else
|
||||
{
|
||||
$collecting = false;
|
||||
$oldhash = isset($hash)?$hash:null;
|
||||
$hash = $value;
|
||||
}
|
||||
|
||||
if(!$collecting)
|
||||
{
|
||||
if(!$start)
|
||||
$replace[$oldhash] = $collect;
|
||||
$collect="";
|
||||
}
|
||||
else
|
||||
$collect .=$matches[0][$key];
|
||||
$start = false;
|
||||
}
|
||||
$replace[$hash] = $collect;
|
||||
return $replace;
|
||||
}
|
||||
|
||||
function encodeText($string)
|
||||
{
|
||||
$string = str_replace("\\r\\n","#BR#",$string);
|
||||
$string = str_replace("\n","#BR#",$string);
|
||||
$encoded = htmlspecialchars(stripslashes($string), ENT_QUOTES);
|
||||
|
||||
|
||||
return $encoded;
|
||||
}
|
||||
|
||||
function decodeText($_str, $_form=true)
|
||||
{
|
||||
if ($_form) {
|
||||
$_str = str_replace("#BR#", "\r\n", $_str);
|
||||
}
|
||||
else {
|
||||
$_str = str_replace("#BR#", "<br>", $_str);
|
||||
}
|
||||
return($_str);
|
||||
}
|
||||
|
||||
function valid_utf8( $string )
|
||||
{
|
||||
return !((bool)preg_match('~\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF\xC0\xC1~ms',$string));
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $text
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function fixeUmlaute($text) {
|
||||
if(!is_string($text)) {
|
||||
return $text;
|
||||
}
|
||||
$umlaute = $this->getUmlauteArray();
|
||||
|
||||
return str_replace(array_keys($umlaute),array_values($umlaute), $text);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getUmlauteArray() {
|
||||
return array( 'ü'=>'ü', 'ä'=>'ä', 'ö'=>'ö', 'Ö'=>'Ö', 'Ã?'=>'ß','ß'=>'ß', 'à '=>'à', 'á'=>'á', 'â'=>'â', 'ã'=>'ã', 'ù'=>'ù', 'ú'=>'ú', 'û'=>'û', 'Ù'=>'Ù', 'Ú'=>'Ú', 'Û'=>'Û', 'Ü'=>'Ü', 'ò'=>'ò', 'ó'=>'ó', 'ô'=>'ô', 'è'=>'è', 'é'=>'é', 'ê'=>'ê', 'ë'=>'ë', 'À'=>'À', 'Ã<81>'=>'Á', 'Â'=>'Â', 'Ã'=>'Ã', 'Ä'=>'Ä', 'Ã…'=>'Å', 'Ç'=>'Ç', 'È'=>'È', 'É'=>'É', 'Ê'=>'Ê', 'Ë'=>'Ë', 'ÃŒ'=>'Ì', 'Ã<8d>'=>'Í', 'ÃŽ'=>'Î', 'Ã<8f>'=>'Ï', 'Ñ'=>'Ñ', 'Ã’'=>'Ò', 'Ó'=>'Ó', 'Ô'=>'Ô', 'Õ'=>'Õ', 'Ø'=>'Ø', 'Ã¥'=>'å', 'æ'=>'æ', 'ç'=>'ç', 'ì'=>'ì', 'Ã'=>'í', 'î'=>'î', 'ï'=>'ï', 'ð'=>'ð', 'ñ'=>'ñ', 'õ'=>'õ', 'ø'=>'ø', 'ý'=>'ý', 'ÿ'=>'ÿ', '€'=>'€' );
|
||||
}
|
||||
|
||||
|
||||
function unicode_decode($content) {
|
||||
$ISO10646XHTMLTrans = array(
|
||||
"&"."#34;" => """,
|
||||
"&"."#38;" => "&",
|
||||
"&"."#39;" => "'",
|
||||
"&"."#60;" => "<",
|
||||
"&"."#62;" => ">",
|
||||
"&"."#128;" => "€",
|
||||
"&"."#160;" => "",
|
||||
"&"."#161;" => "¡",
|
||||
"&"."#162;" => "¢",
|
||||
"&"."#163;" => "£",
|
||||
"&"."#164;" => "¤",
|
||||
"&"."#165;" => "¥",
|
||||
"&"."#166;" => "¦",
|
||||
"&"."#167;" => "§",
|
||||
"&"."#168;" => "¨",
|
||||
"&"."#169;" => "©",
|
||||
"&"."#170;" => "ª",
|
||||
"&"."#171;" => "«",
|
||||
"&"."#172;" => "¬",
|
||||
"&"."#173;" => "",
|
||||
"&"."#174;" => "®",
|
||||
"&"."#175;" => "¯",
|
||||
"&"."#176;" => "°",
|
||||
"&"."#177;" => "±",
|
||||
"&"."#178;" => "²",
|
||||
"&"."#179;" => "³",
|
||||
"&"."#180;" => "´",
|
||||
"&"."#181;" => "µ",
|
||||
"&"."#182;" => "¶",
|
||||
"&"."#183;" => "·",
|
||||
"&"."#184;" => "¸",
|
||||
"&"."#185;" => "¹",
|
||||
"&"."#186;" => "º",
|
||||
"&"."#187;" => "»",
|
||||
"&"."#188;" => "¼",
|
||||
"&"."#189;" => "½",
|
||||
"&"."#190;" => "¾",
|
||||
"&"."#191;" => "¿",
|
||||
"&"."#192;" => "À",
|
||||
"&"."#193;" => "Á",
|
||||
"&"."#194;" => "Â",
|
||||
"&"."#195;" => "Ã",
|
||||
"&"."#196;" => "Ä",
|
||||
"&"."#197;" => "Å",
|
||||
"&"."#198;" => "Æ",
|
||||
"&"."#199;" => "Ç",
|
||||
"&"."#200;" => "È",
|
||||
"&"."#201;" => "É",
|
||||
"&"."#202;" => "Ê",
|
||||
"&"."#203;" => "Ë",
|
||||
"&"."#204;" => "Ì",
|
||||
"&"."#205;" => "Í",
|
||||
"&"."#206;" => "Î",
|
||||
"&"."#207;" => "Ï",
|
||||
"&"."#208;" => "Ð",
|
||||
"&"."#209;" => "Ñ",
|
||||
"&"."#210;" => "Ò",
|
||||
"&"."#211;" => "Ó",
|
||||
"&"."#212;" => "Ô",
|
||||
"&"."#213;" => "Õ",
|
||||
"&"."#214;" => "Ö",
|
||||
"&"."#215;" => "×",
|
||||
"&"."#216;" => "Ø",
|
||||
"&"."#217;" => "Ù",
|
||||
"&"."#218;" => "Ú",
|
||||
"&"."#219;" => "Û",
|
||||
"&"."#220;" => "Ü",
|
||||
"&"."#221;" => "Ý",
|
||||
"&"."#222;" => "Þ",
|
||||
"&"."#223;" => "ß",
|
||||
"&"."#224;" => "à",
|
||||
"&"."#225;" => "á",
|
||||
"&"."#226;" => "â",
|
||||
"&"."#227;" => "ã",
|
||||
"&"."#228;" => "ä",
|
||||
"&"."#229;" => "å",
|
||||
"&"."#230;" => "æ",
|
||||
"&"."#231;" => "ç",
|
||||
"&"."#232;" => "è",
|
||||
"&"."#233;" => "é",
|
||||
"&"."#234;" => "ê",
|
||||
"&"."#235;" => "ë",
|
||||
"&"."#236;" => "ì",
|
||||
"&"."#237;" => "í",
|
||||
"&"."#238;" => "î",
|
||||
"&"."#239;" => "ï",
|
||||
"&"."#240;" => "ð",
|
||||
"&"."#241;" => "ñ",
|
||||
"&"."#242;" => "ò",
|
||||
"&"."#243;" => "ó",
|
||||
"&"."#244;" => "ô",
|
||||
"&"."#245;" => "õ",
|
||||
"&"."#246;" => "ö",
|
||||
"&"."#247;" => "÷",
|
||||
"&"."#248;" => "ø",
|
||||
"&"."#249;" => "ù",
|
||||
"&"."#250;" => "ú",
|
||||
"&"."#251;" => "û",
|
||||
"&"."#252;" => "ü",
|
||||
"&"."#253;" => "ý",
|
||||
"&"."#254;" => "þ",
|
||||
"&"."#255;" => "ÿ",
|
||||
"&"."#338;" => "Œ",
|
||||
"&"."#339;" => "œ",
|
||||
"&"."#352;" => "Š",
|
||||
"&"."#353;" => "š",
|
||||
"&"."#376;" => "Ÿ",
|
||||
"&"."#402;" => "ƒ",
|
||||
"&"."#710;" => "ˆ",
|
||||
"&"."#732;" => "˜",
|
||||
"&"."#913;" => "Α",
|
||||
"&"."#914;" => "Β",
|
||||
"&"."#915;" => "Γ",
|
||||
"&"."#916;" => "Δ",
|
||||
"&"."#917;" => "Ε",
|
||||
"&"."#918;" => "Ζ",
|
||||
"&"."#919;" => "Η",
|
||||
"&"."#920;" => "Θ",
|
||||
"&"."#921;" => "Ι",
|
||||
"&"."#922;" => "Κ",
|
||||
"&"."#923;" => "Λ",
|
||||
"&"."#924;" => "Μ",
|
||||
"&"."#925;" => "Ν",
|
||||
"&"."#926;" => "Ξ",
|
||||
"&"."#927;" => "Ο",
|
||||
"&"."#928;" => "Π",
|
||||
"&"."#929;" => "Ρ",
|
||||
"&"."#931;" => "Σ",
|
||||
"&"."#932;" => "Τ",
|
||||
"&"."#933;" => "Υ",
|
||||
"&"."#934;" => "Φ",
|
||||
"&"."#935;" => "Χ",
|
||||
"&"."#936;" => "Ψ",
|
||||
"&"."#937;" => "Ω",
|
||||
"&"."#945;" => "α",
|
||||
"&"."#946;" => "β",
|
||||
"&"."#947;" => "γ",
|
||||
"&"."#948;" => "δ",
|
||||
"&"."#949;" => "ε",
|
||||
"&"."#950;" => "ζ",
|
||||
"&"."#951;" => "η",
|
||||
"&"."#952;" => "θ",
|
||||
"&"."#953;" => "ι",
|
||||
"&"."#954;" => "κ",
|
||||
"&"."#955;" => "λ",
|
||||
"&"."#956;" => "μ",
|
||||
"&"."#957;" => "ν",
|
||||
"&"."#958;" => "ξ",
|
||||
"&"."#959;" => "ο",
|
||||
"&"."#960;" => "π",
|
||||
"&"."#961;" => "ρ",
|
||||
"&"."#962;" => "ς",
|
||||
"&"."#963;" => "σ",
|
||||
"&"."#964;" => "τ",
|
||||
"&"."#965;" => "υ",
|
||||
"&"."#966;" => "φ",
|
||||
"&"."#967;" => "χ",
|
||||
"&"."#968;" => "ψ",
|
||||
"&"."#969;" => "ω",
|
||||
"&"."#977;" => "ϑ",
|
||||
"&"."#978;" => "ϒ",
|
||||
"&"."#982;" => "ϖ",
|
||||
"&"."#8194;" => " ",
|
||||
"&"."#8195;" => " ",
|
||||
"&"."#8201;" => " ",
|
||||
"&"."#8204;" => "‌",
|
||||
"&"."#8205;" => "‍",
|
||||
"&"."#8206;" => "‎",
|
||||
"&"."#8207;" => "‏",
|
||||
"&"."#8211;" => "–",
|
||||
"&"."#8212;" => "—",
|
||||
"&"."#8216;" => "‘",
|
||||
"&"."#8217;" => "’",
|
||||
"&"."#8218;" => "‚",
|
||||
"&"."#8220;" => "“",
|
||||
"&"."#8221;" => "”",
|
||||
"&"."#8222;" => "„",
|
||||
"&"."#8224;" => "†",
|
||||
"&"."#8225;" => "‡",
|
||||
"&"."#8226;" => "•",
|
||||
"&"."#8230;" => "…",
|
||||
"&"."#8240;" => "‰",
|
||||
"&"."#8242;" => "′",
|
||||
"&"."#8243;" => "″",
|
||||
"&"."#8249;" => "‹",
|
||||
"&"."#8250;" => "›",
|
||||
"&"."#8254;" => "‾",
|
||||
"&"."#8260;" => "⁄",
|
||||
"&"."#8364;" => "€",
|
||||
"&"."#8465;" => "ℑ",
|
||||
"&"."#8472;" => "℘",
|
||||
"&"."#8476;" => "ℜ",
|
||||
"&"."#8482;" => "™",
|
||||
"&"."#8501;" => "ℵ",
|
||||
"&"."#8592;" => "←",
|
||||
"&"."#8593;" => "↑",
|
||||
"&"."#8594;" => "→",
|
||||
"&"."#8595;" => "↓",
|
||||
"&"."#8596;" => "↔",
|
||||
"&"."#8629;" => "↵",
|
||||
"&"."#8656;" => "⇐",
|
||||
"&"."#8657;" => "⇑",
|
||||
"&"."#8658;" => "⇒",
|
||||
"&"."#8659;" => "⇓",
|
||||
"&"."#8660;" => "⇔",
|
||||
"&"."#8704;" => "∀",
|
||||
"&"."#8706;" => "∂",
|
||||
"&"."#8707;" => "∃",
|
||||
"&"."#8709;" => "∅",
|
||||
"&"."#8711;" => "∇",
|
||||
"&"."#8712;" => "∈",
|
||||
"&"."#8713;" => "∉",
|
||||
"&"."#8715;" => "∋",
|
||||
"&"."#8719;" => "∏",
|
||||
"&"."#8721;" => "∑",
|
||||
"&"."#8722;" => "−",
|
||||
"&"."#8727;" => "∗",
|
||||
"&"."#8730;" => "√",
|
||||
"&"."#8733;" => "∝",
|
||||
"&"."#8734;" => "∞",
|
||||
"&"."#8736;" => "∠",
|
||||
"&"."#8743;" => "∧",
|
||||
"&"."#8744;" => "∨",
|
||||
"&"."#8745;" => "∩",
|
||||
"&"."#8746;" => "∪",
|
||||
"&"."#8747;" => "∫",
|
||||
"&"."#8756;" => "∴",
|
||||
"&"."#8764;" => "∼",
|
||||
"&"."#8773;" => "≅",
|
||||
"&"."#8776;" => "≈",
|
||||
"&"."#8800;" => "≠",
|
||||
"&"."#8801;" => "≡",
|
||||
"&"."#8804;" => "≤",
|
||||
"&"."#8805;" => "≥",
|
||||
"&"."#8834;" => "⊂",
|
||||
"&"."#8835;" => "⊃",
|
||||
"&"."#8836;" => "⊄",
|
||||
"&"."#8838;" => "⊆",
|
||||
"&"."#8839;" => "⊇",
|
||||
"&"."#8853;" => "⊕",
|
||||
"&"."#8855;" => "⊗",
|
||||
"&"."#8869;" => "⊥",
|
||||
"&"."#8901;" => "⋅",
|
||||
"&"."#8968;" => "⌈",
|
||||
"&"."#8969;" => "⌉",
|
||||
"&"."#8970;" => "⌊",
|
||||
"&"."#8971;" => "⌋",
|
||||
"&"."#9001;" => "⟨",
|
||||
"&"."#9002;" => "⟩",
|
||||
"&"."#9674;" => "◊",
|
||||
"&"."#9824;" => "♠",
|
||||
"&"."#9827;" => "♣",
|
||||
"&"."#9829;" => "♥",
|
||||
"&"."#9830;" => "♦"
|
||||
);
|
||||
|
||||
return str_replace(array_keys($ISO10646XHTMLTrans), array_values($ISO10646XHTMLTrans), $content);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $string
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function ReadyForPDF($string='')
|
||||
{
|
||||
return trim(
|
||||
html_entity_decode(
|
||||
str_replace(
|
||||
['“','„','–',"’","'","NONBLOCKINGZERO"],
|
||||
['"','','-',"'","'",''],
|
||||
$string
|
||||
),
|
||||
ENT_QUOTES,
|
||||
'UTF-8'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user