Mercurial > SimpleWebPresenter
annotate filters.inc @ 45:6c2c6acba30c
Support for hardcoding parameters.
| author | Tom Fredrik "BFG" Klaussen <bfg@blenning.no> |
|---|---|
| date | Mon, 08 Oct 2012 02:02:09 +0200 |
| parents | 9bdf3f8b487a |
| children | 15879e2aab65 |
| 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 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
2 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
|
3 { |
|
35
aec57ed6f5f6
Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
4 $name = $options->getName(); |
|
42
9bdf3f8b487a
Correct navbar if no name has been set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
37
diff
changeset
|
5 if (!$name) |
|
9bdf3f8b487a
Correct navbar if no name has been set.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
37
diff
changeset
|
6 $name = $options->getInputDefault('name'); |
|
35
aec57ed6f5f6
Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
7 $lang = $options->getLang(); |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
8 $pattern = "/<li id=\"${name}\"\s?([^>]*)>/is"; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
9 $replacement = "<li id=\"${name}\" class=\"active\" $1>"; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
10 $output = preg_replace($pattern, $replacement, $input); |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
11 |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
12 $pattern = '/<li id="([^"]+)"\s?([^>]*)>(.*?)<\/li>/is'; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
13 $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
|
14 |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
15 $opt = 'array('; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
16 $start = True; |
|
6
6c0162497d56
Improved error reporting, and support for multilevel params.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
5
diff
changeset
|
17 |
|
35
aec57ed6f5f6
Remove globals from activeNav function.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
34
diff
changeset
|
18 foreach($options->getUrlParams() as $param => $value) { |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
19 if ($start) { |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
20 $start = False; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
21 $opt .= "\"${param}\" => \"${value}\""; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
22 } |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
23 else { |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
24 $opt .= ", \"${param}\" => \"${value}\""; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
25 } |
|
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 $opt .= ')'; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
28 |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
29 $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
|
30 create_function( |
|
13
9dab5b96b789
Clean spurious whitespace.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
6
diff
changeset
|
31 '$matches', |
|
45
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
42
diff
changeset
|
32 'return "<li id=\"$matches[1]\" $matches[2]><a href=\"" . genUrl(' . $opt . ', array("name" => $matches[1]), array("lang") ) . "\">$matches[3]</a></li>";' |
|
13
9dab5b96b789
Clean spurious whitespace.
Tom Fredrik Blenning Klaussen <bfg@blenning.no>
parents:
6
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 |
|
37
da1726860524
Remove last global.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
35
diff
changeset
|
39 function addLangBar($input, $options, $languages) |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
40 { |
|
37
da1726860524
Remove last global.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
35
diff
changeset
|
41 $name = $options->getName(); |
|
da1726860524
Remove last global.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
35
diff
changeset
|
42 $lang = $options->getLang(); |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
43 $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
|
44 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
45 foreach($languages as $l) { |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
46 $active = ($l == $lang) ? 0 : 1; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
47 $langbar.= " |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
48 <li class=\"${l}\">"; |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
49 if ($active) |
|
45
6c2c6acba30c
Support for hardcoding parameters.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
42
diff
changeset
|
50 $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
|
51 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
52 $langbar .= " |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
53 <img src=\"http://dev.bfginvest.no/php/flag.php?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
|
54 if ($active) |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
55 $langbar .= "</a>"; |
|
5
18aafb1a8986
Better handling of errors and globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
4
diff
changeset
|
56 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
57 $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
|
58 </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
|
59 "; |
|
34
ca76d31b7d48
Whitespace clean.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
33
diff
changeset
|
60 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
61 } |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
62 $langbar.='</ul>'; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
63 $pattern = '/<ul id="language-select"\/>/'; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
64 $replacement = $langbar; |
|
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
65 $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
|
66 |
|
33
511b6514823f
Remove more globals.
Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
parents:
13
diff
changeset
|
67 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
|
68 } |
|
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 ?> |
