Project

General

Profile

1
<?php
2
/*
3
*
4
*                       About WebsiteBaker
5
*
6
* Website Baker is a PHP-based Content Management System (CMS)
7
* designed with one goal in mind: to enable its users to produce websites
8
* with ease.
9
*
10
*                       LICENSE INFORMATION
11
*
12
* WebsiteBaker is free software; you can redistribute it and/or
13
* modify it under the terms of the GNU General Public License
14
* as published by the Free Software Foundation; either version 2
15
* of the License, or (at your option) any later version.
16
*
17
* WebsiteBaker is distributed in the hope that it will be useful,
18
* but WITHOUT ANY WARRANTY; without even the implied warranty of
19
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20
* See the GNU General Public License for more details.
21
*
22
* You should have received a copy of the GNU General Public License
23
* along with this program; if not, write to the Free Software
24
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
25
*
26
*                   WebsiteBaker Extra Information
27
*
28
* Character Conversion file
29
* for search-/highlighting-related character-translations
30
*
31
*/
32
/**
33
 *
34
 * @category        frontend
35
 * @package         search
36
 * @author          Ryan Djurovich
37
 * @copyright       2004-2009, Ryan Djurovich
38
 * @copyright       2009-2010, Website Baker Org. e.V.
39
 * @filesource		$HeadURL: svn://isteam.dynxs.de/wb-archiv/branches/2.8.x/wb/search/search_convert.php $
40
 * @author          Ryan Djurovich
41
 * @copyright       2004-2009, Ryan Djurovich
42
 *
43
 * @author          WebsiteBaker Project
44
 * @link			http://www.websitebaker2.org/
45
 * @copyright       2009-2010, Website Baker Org. e.V.
46
 * @link			http://start.websitebaker2.org/impressum-datenschutz.php
47
 * @license         http://www.gnu.org/licenses/gpl.html
48
 * @version         $Id: search_convert.php 1262 2010-01-21 08:24:34Z Luisehahne $
49
 * @platform        WebsiteBaker 2.8.x
50
 * @requirements    PHP 4.3.4 and higher
51
 * @lastmodified    $Date: 2010-01-21 09:24:34 +0100 (Thu, 21 Jan 2010) $
52
 *
53
 */
54

    
55
if(!defined('WB_URL')) {
56
	header('Location: ../index.php');
57
	exit(0);
58
}
59
if(!isset($search_lang)) $search_lang = LANGUAGE;
60

    
61
// umlaut to '(upper|lower)' for preg_match()
62
// this is UTF-8-encoded
63
// there is no need for a translation-table anymore since we use u-switch (utf-8) for preg-functions
64
// remember that we use the i-switch, too. [No need for (ae|Ae)]
65

    
66
$string_ul_umlaut = array();
67
$string_ul_regex = array();
68

    
69
// but add some national stuff
70
if($search_lang=='DE') { // add special handling for german umlauts (ä==ae, ...)
71
	$string_ul_umlaut_add = array(
72
		"\xc3\x9f", // german SZ-Ligatur
73
		"\xc3\xa4", // german ae
74
		"\xc3\xb6", // german oe
75
		"\xc3\xbc", // german ue
76
		"\xc3\x84", // german Ae
77
		"\xc3\x96", // german Oe
78
		"\xc3\x9c", // german Ue
79
		// these are not that usual
80
		"\xEF\xAC\x84", // german ffl-ligatur
81
		"ffl",          // german ffl-ligatur
82
		"\xEF\xAC\x83", // german ffi-ligatur
83
		"ffi",          // german ffi-ligatur
84
		"0xEF\xAC\x80", // german ff-Ligatur
85
		"ff",           // german ff-Ligatur
86
		"\xEF\xAC\x81", // german fi-ligatur
87
		"fi",           // german fi-ligatur
88
		"\xEF\xAC\x82", // german fl-ligatur
89
		"fl",           // german fl-ligatur
90
		"\xEF\xAC\x85", // german st-Ligatur (long s)
91
		"st",           // german st-Ligatur
92
		"\xEF\xAC\x86"  // german st-ligatur (round-s)
93
	);
94
	$string_ul_regex_add = array(
95
		"(\xc3\x9f|ss)", // german SZ.Ligatur
96
		"(\xc3\xa4|ae)", // german ae
97
		"(\xc3\xb6|oe)", // german oe
98
		"(\xc3\xbc|ue)", // german ue
99
		"(\xc3\x84|Ae)", // german Ae
100
		"(\xc3\x96|Oe)", // german Oe
101
		"(\xc3\x9c|Ue)", // german Ue
102
		// these are not that usual
103
		"(\xEF\xAC\x84|ffl)", // german ffl-ligatur
104
		"(\xEF\xAC\x84|ffl)", // german ffl-ligatur
105
		"(\xEF\xAC\x83|ffi)", // german ffi-ligatur
106
		"(\xEF\xAC\x83|ffi)", // german ffi-ligatur
107
		"(\xEF\xAC\x80|ff)",  // german ff-Ligatur
108
		"(\xEF\xAC\x80|ff)",  // german ff-Ligatur
109
		"(\xEF\xAC\x81|fi)",  // german fi-Ligatur
110
		"(\xEF\xAC\x81|fi)",  // german fi-Ligatur
111
		"(\xEF\xAC\x82|fl)",  // german fl-ligatur
112
		"(\xEF\xAC\x82|fl)",  // german fl-ligatur
113
		"(\xEF\xAC\x85|st)",  // german st-Ligatur (long s)
114
		"(\xEF\xAC\x85|st|\xEF\xAC\x86)",  // german st-Ligaturs
115
		"(\xEF\xAC\x86|st)"  // german st-ligatur (round-s)
116
	);
117
	$string_ul_umlaut = array_merge($string_ul_umlaut_add, $string_ul_umlaut);
118
	$string_ul_regex = array_merge($string_ul_regex_add, $string_ul_regex);
119
}
120

    
121

    
122
?>
(3-3/4)