Project

General

Profile

« Previous | Next » 

Revision 1289

Added by kweitzel over 14 years ago

Branch 2.8.1 merged back into Trunk

View differences:

search_convert.php
1
<?php
2

  
3
// $Id$
4

  
5
/*
6

  
7
 Website Baker Project <http://www.websitebaker.org/>
8
 Copyright (C) 2004-2009, Ryan Djurovich
9

  
10
 Website Baker is free software; you can redistribute it and/or modify
11
 it under the terms of the GNU General Public License as published by
12
 the Free Software Foundation; either version 2 of the License, or
13
 (at your option) any later version.
14

  
15
 Website Baker is distributed in the hope that it will be useful,
16
 but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18
 GNU General Public License for more details.
19

  
20
 You should have received a copy of the GNU General Public License
21
 along with Website Baker; if not, write to the Free Software
22
 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23

  
24
*/
25

  
26
/*
27
Character Conversion file
28
for search-/highlighting-related character-translations
29
*/
30

  
31
if(!defined('WB_URL')) {
32
	header('Location: ../index.php');
33
	exit(0);
34
}
35
if(!isset($search_lang)) $search_lang = LANGUAGE;
36

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

  
42
$string_ul_umlaut = array();
43
$string_ul_regex = array();
44

  
45
// but add some national stuff
46
if($search_lang=='DE') { // add special handling for german umlauts (ä==ae, ...)
47
	$string_ul_umlaut_add = array(
48
		"\xc3\x9f", // german SZ-Ligatur
49
		"\xc3\xa4", // german ae
50
		"\xc3\xb6", // german oe
51
		"\xc3\xbc", // german ue
52
		"\xc3\x84", // german Ae
53
		"\xc3\x96", // german Oe
54
		"\xc3\x9c", // german Ue
55
		// these are not that usual
56
		"\xEF\xAC\x84", // german ffl-ligatur
57
		"ffl",          // german ffl-ligatur
58
		"\xEF\xAC\x83", // german ffi-ligatur
59
		"ffi",          // german ffi-ligatur
60
		"0xEF\xAC\x80", // german ff-Ligatur
61
		"ff",           // german ff-Ligatur
62
		"\xEF\xAC\x81", // german fi-ligatur
63
		"fi",           // german fi-ligatur
64
		"\xEF\xAC\x82", // german fl-ligatur
65
		"fl",           // german fl-ligatur
66
		"\xEF\xAC\x85", // german st-Ligatur (long s)
67
		"st",           // german st-Ligatur
68
		"\xEF\xAC\x86"  // german st-ligatur (round-s)
69
	);
70
	$string_ul_regex_add = array(
71
		"(\xc3\x9f|ss)", // german SZ.Ligatur
72
		"(\xc3\xa4|ae)", // german ae
73
		"(\xc3\xb6|oe)", // german oe
74
		"(\xc3\xbc|ue)", // german ue
75
		"(\xc3\x84|Ae)", // german Ae
76
		"(\xc3\x96|Oe)", // german Oe
77
		"(\xc3\x9c|Ue)", // german Ue
78
		// these are not that usual
79
		"(\xEF\xAC\x84|ffl)", // german ffl-ligatur
80
		"(\xEF\xAC\x84|ffl)", // german ffl-ligatur
81
		"(\xEF\xAC\x83|ffi)", // german ffi-ligatur
82
		"(\xEF\xAC\x83|ffi)", // german ffi-ligatur
83
		"(\xEF\xAC\x80|ff)",  // german ff-Ligatur
84
		"(\xEF\xAC\x80|ff)",  // german ff-Ligatur
85
		"(\xEF\xAC\x81|fi)",  // german fi-Ligatur
86
		"(\xEF\xAC\x81|fi)",  // german fi-Ligatur
87
		"(\xEF\xAC\x82|fl)",  // german fl-ligatur
88
		"(\xEF\xAC\x82|fl)",  // german fl-ligatur
89
		"(\xEF\xAC\x85|st)",  // german st-Ligatur (long s)
90
		"(\xEF\xAC\x85|st|\xEF\xAC\x86)",  // german st-Ligaturs
91
		"(\xEF\xAC\x86|st)"  // german st-ligatur (round-s)
92
	);
93
	$string_ul_umlaut = array_merge($string_ul_umlaut_add, $string_ul_umlaut);
94
	$string_ul_regex = array_merge($string_ul_regex_add, $string_ul_regex);
95
}
96

  
97

  
1
<?php
2
/**
3
 *
4
 * @category        frontend
5
 * @package         search
6
 * @author          WebsiteBaker Project
7
 * @copyright       2004-2009, Ryan Djurovich
8
 * @copyright       2009-2010, Website Baker Org. e.V.
9
 * @link			http://www.websitebaker2.org/
10
 * @license         http://www.gnu.org/licenses/gpl.html
11
 * @platform        WebsiteBaker 2.8.x
12
 * @requirements    PHP 4.3.4 and higher
13
 * @version         $Id$
14
 * @filesource		$HeadURL$
15
 * @lastmodified    $Date$
16
 *
17
 */
18

  
19
if(!defined('WB_URL')) {
20
	header('Location: ../index.php');
21
	exit(0);
22
}
23
if(!isset($search_lang)) $search_lang = LANGUAGE;
24

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

  
30
$string_ul_umlaut = array();
31
$string_ul_regex = array();
32

  
33
// but add some national stuff
34
if($search_lang=='DE') { // add special handling for german umlauts (ä==ae, ...)
35
	$string_ul_umlaut_add = array(
36
		"\xc3\x9f", // german SZ-Ligatur
37
		"\xc3\xa4", // german ae
38
		"\xc3\xb6", // german oe
39
		"\xc3\xbc", // german ue
40
		"\xc3\x84", // german Ae
41
		"\xc3\x96", // german Oe
42
		"\xc3\x9c", // german Ue
43
		// these are not that usual
44
		"\xEF\xAC\x84", // german ffl-ligatur
45
		"ffl",          // german ffl-ligatur
46
		"\xEF\xAC\x83", // german ffi-ligatur
47
		"ffi",          // german ffi-ligatur
48
		"0xEF\xAC\x80", // german ff-Ligatur
49
		"ff",           // german ff-Ligatur
50
		"\xEF\xAC\x81", // german fi-ligatur
51
		"fi",           // german fi-ligatur
52
		"\xEF\xAC\x82", // german fl-ligatur
53
		"fl",           // german fl-ligatur
54
		"\xEF\xAC\x85", // german st-Ligatur (long s)
55
		"st",           // german st-Ligatur
56
		"\xEF\xAC\x86"  // german st-ligatur (round-s)
57
	);
58
	$string_ul_regex_add = array(
59
		"(\xc3\x9f|ss)", // german SZ.Ligatur
60
		"(\xc3\xa4|ae)", // german ae
61
		"(\xc3\xb6|oe)", // german oe
62
		"(\xc3\xbc|ue)", // german ue
63
		"(\xc3\x84|Ae)", // german Ae
64
		"(\xc3\x96|Oe)", // german Oe
65
		"(\xc3\x9c|Ue)", // german Ue
66
		// these are not that usual
67
		"(\xEF\xAC\x84|ffl)", // german ffl-ligatur
68
		"(\xEF\xAC\x84|ffl)", // german ffl-ligatur
69
		"(\xEF\xAC\x83|ffi)", // german ffi-ligatur
70
		"(\xEF\xAC\x83|ffi)", // german ffi-ligatur
71
		"(\xEF\xAC\x80|ff)",  // german ff-Ligatur
72
		"(\xEF\xAC\x80|ff)",  // german ff-Ligatur
73
		"(\xEF\xAC\x81|fi)",  // german fi-Ligatur
74
		"(\xEF\xAC\x81|fi)",  // german fi-Ligatur
75
		"(\xEF\xAC\x82|fl)",  // german fl-ligatur
76
		"(\xEF\xAC\x82|fl)",  // german fl-ligatur
77
		"(\xEF\xAC\x85|st)",  // german st-Ligatur (long s)
78
		"(\xEF\xAC\x85|st|\xEF\xAC\x86)",  // german st-Ligaturs
79
		"(\xEF\xAC\x86|st)"  // german st-ligatur (round-s)
80
	);
81
	$string_ul_umlaut = array_merge($string_ul_umlaut_add, $string_ul_umlaut);
82
	$string_ul_regex = array_merge($string_ul_regex_add, $string_ul_regex);
83
}
84

  
85

  
98 86
?>
99 87

  

Also available in: Unified diff