Mercurial > SimpleWebPresenter
annotate filters.inc @ 128:ef487503dded
Remove deprecated create_function, replace with closure.
| author | Tom Fredrik Blenning <bfg@bfgconsult.no> |
|---|---|
| date | Wed, 28 Dec 2022 01:05:33 +0100 |
| parents | ba11b1c1b881 |
| children |
| rev | line source |
|---|---|
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
1 <?php |
|
51
2cfea6e84694
Documentation update.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
2 /** |
|
2cfea6e84694
Documentation update.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
3 * @file |
|
2cfea6e84694
Documentation update.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
4 * Filters which may be used from xml |
|
2cfea6e84694
Documentation update.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
47
diff
changeset
|
5 */ |
|
66
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
6 |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
7 /** |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
8 * A configuration function for generating an active status in a list |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
9 * item corresponding to the currently active 'name' |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
10 * |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
11 * @param $input the string to be processed |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
12 * @param $options Options for this file |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
13 */ |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
14 function activeNav($input, $options) |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
15 { |
|
35
aec57ed6f5f6
Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
16 $name = $options->getName(); |
|
42
9bdf3f8b487a
Correct navbar if no name has been set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
37
diff
changeset
|
17 if (!$name) |
|
9bdf3f8b487a
Correct navbar if no name has been set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
37
diff
changeset
|
18 $name = $options->getInputDefault('name'); |
|
35
aec57ed6f5f6
Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
19 $lang = $options->getLang(); |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
20 $pattern = "/<li id=\"${name}\"\s?([^>]*)>/is"; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
21 $replacement = "<li id=\"${name}\" class=\"active\" $1>"; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
22 $output = preg_replace($pattern, $replacement, $input); |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
23 |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
24 $pattern = '/<li id="([^"]+)"\s?([^>]*)>(.*?)<\/li>/is'; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
25 $replacement = "<li id=\"\$1\" \$2><a href=\"%URL-$1%\">\$3</a></li>"; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
26 |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
27 $output = preg_replace_callback($pattern, |
|
128
ef487503dded
Remove deprecated create_function, replace with closure.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents:
97
diff
changeset
|
28 function($matches) use ($options){ |
|
ef487503dded
Remove deprecated create_function, replace with closure.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents:
97
diff
changeset
|
29 $opt = $options->getUrlParams(); |
|
ef487503dded
Remove deprecated create_function, replace with closure.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents:
97
diff
changeset
|
30 $baseUrl = $options->getBaseUrl(); |
|
ef487503dded
Remove deprecated create_function, replace with closure.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents:
97
diff
changeset
|
31 $g=genUrl($opt, array("name" => $matches[1]), array("lang", "name") ); |
|
ef487503dded
Remove deprecated create_function, replace with closure.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents:
97
diff
changeset
|
32 return "<li id=\"$matches[1]\" $matches[2]><a href=\"$baseUrl" . $g . "\">$matches[3]</a></li>"; |
|
ef487503dded
Remove deprecated create_function, replace with closure.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents:
97
diff
changeset
|
33 }, |
|
6
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
34 $output); |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
35 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
36 return $output; |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
37 } |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
38 |
|
66
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
39 /** |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
40 * A configuration function for generating a language bar. |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
41 * |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
42 * @param $input the string to be processed |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
43 * @param $options Options for this file |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
44 * @param $languages array of alternative languages |
|
74f7b64bdb78
Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
51
diff
changeset
|
45 */ |
|
37
da1726860524
Remove last global.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
35
diff
changeset
|
46 function addLangBar($input, $options, $languages) |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
47 { |
|
37
da1726860524
Remove last global.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
35
diff
changeset
|
48 $name = $options->getName(); |
|
da1726860524
Remove last global.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
35
diff
changeset
|
49 $lang = $options->getLang(); |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
50 $langbar='<ul id="language-select">'; |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
51 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
52 foreach($languages as $l) { |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
53 $active = ($l == $lang) ? 0 : 1; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
54 $langbar.= " |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
55 <li class=\"${l}\">"; |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
56 if ($active) |
|
45
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
42
diff
changeset
|
57 $langbar .= '<a href="'.genUrl($options->getUrlParams(), array( 'lang' => $l), array('lang', 'name') ) . '">'; |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
58 |
|
47
66382989353f
Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
46
diff
changeset
|
59 $flagUrl = $options->getFlagUrl(); |
|
66382989353f
Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
46
diff
changeset
|
60 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
61 $langbar .= " |
|
47
66382989353f
Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
46
diff
changeset
|
62 <img src=\"${flagUrl}?lang=${l}&active=${active}\" width=\"20\" height=\"16\" alt=\"Norsk versjon - inaktiv\" title=\"Norsk\"/>"; |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
63 if ($active) |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
64 $langbar .= "</a>"; |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
65 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
66 $langbar .= " |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
67 </li> |
|
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
68 "; |
|
34
ca76d31b7d48
Whitespace clean.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
33
diff
changeset
|
69 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
70 } |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
71 $langbar.='</ul>'; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
72 $pattern = '/<ul id="language-select"\/>/'; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
73 $replacement = $langbar; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
74 $output = preg_replace($pattern, $replacement, $input); |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
75 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
76 return $output; |
|
4
74196528fc64
Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff
changeset
|
77 } |
|
128
ef487503dded
Remove deprecated create_function, replace with closure.
Tom Fredrik Blenning <bfg@bfgconsult.no>
parents:
97
diff
changeset
|
78 ?> |
