annotate filters.inc @ 122:74c22a8dd38f

Support for both http and https for Sitemap
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Thu, 28 Dec 2017 18:49:07 +0100
parents ba11b1c1b881
children ef487503dded
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
46
15879e2aab65 Function for converting a stringmap to EVALable function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 45
diff changeset
27 $opt = repMapString($options->getUrlParams());
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
28
97
ba11b1c1b881 Add baseUrl to activeNav filter.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 96
diff changeset
29 $baseUrl = $options->getBaseUrl();
ba11b1c1b881 Add baseUrl to activeNav filter.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 96
diff changeset
30
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
31 $output = preg_replace_callback($pattern,
6
6c0162497d56 Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 5
diff changeset
32 create_function(
13
9dab5b96b789 Clean spurious whitespace.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 6
diff changeset
33 '$matches',
97
ba11b1c1b881 Add baseUrl to activeNav filter.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 96
diff changeset
34 'return "<li id=\"$matches[1]\" $matches[2]><a href=\"' . $baseUrl . '" . genUrl(' . $opt . ', array("name" => $matches[1]), array("lang", "name") ) . "\">$matches[3]</a></li>";'
13
9dab5b96b789 Clean spurious whitespace.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 6
diff changeset
35 ),
6
6c0162497d56 Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 5
diff changeset
36 $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
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
38 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
39 }
74196528fc64 Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
40
66
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 * 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
43 *
74f7b64bdb78 Lots of documentation fixes, and removal of unused function getXmlContent
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents: 51
diff changeset
44 * @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
45 * @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
46 * @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
47 */
37
da1726860524 Remove last global.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
48 function addLangBar($input, $options, $languages)
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
49 {
37
da1726860524 Remove last global.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
50 $name = $options->getName();
da1726860524 Remove last global.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 35
diff changeset
51 $lang = $options->getLang();
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
52 $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
53
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
54 foreach($languages as $l) {
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
55 $active = ($l == $lang) ? 0 : 1;
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
56 $langbar.= "
5
18aafb1a8986 Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 4
diff changeset
57 <li class=\"${l}\">";
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
58 if ($active)
45
6c2c6acba30c Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 42
diff changeset
59 $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
60
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 46
diff changeset
61 $flagUrl = $options->getFlagUrl();
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 46
diff changeset
62
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
63 $langbar .= "
47
66382989353f Extract baseDir only once.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 46
diff changeset
64 <img src=\"${flagUrl}?lang=${l}&amp;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
65 if ($active)
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
66 $langbar .= "</a>";
5
18aafb1a8986 Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 4
diff changeset
67
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
68 $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
69 </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
70 ";
34
ca76d31b7d48 Whitespace clean.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 33
diff changeset
71
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
72 }
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
73 $langbar.='</ul>';
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
74 $pattern = '/<ul id="language-select"\/>/';
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
75 $replacement = $langbar;
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
76 $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
77
33
511b6514823f Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents: 13
diff changeset
78 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
79 }
74196528fc64 Refac to use xml as input, and remove filters and helper-functions from
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
diff changeset
80 ?>