source: documentation/trunk/packages/dokuwiki-2011-05-25a/lib/plugins/publish/helper.php@ 25027

Last change on this file since 25027 was 25027, checked in by jmt12, 12 years ago

Adding the packages directory, and within it a configured version of dokuwiki all ready to run

File size: 2.6 KB
Line 
1<?php
2/**
3 * DokuWiki Plugin publish (Helper Component)
4 *
5 * @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
6 * @author Jarrod Lowe <[email protected]>
7 * @author Andreas Gohr <[email protected]>
8 */
9
10// must be run within Dokuwiki
11if (!defined('DOKU_INC')) die();
12
13class helper_plugin_publish extends DokuWiki_Plugin {
14
15 // FIXME find out what this is supposed to do and how it can be done better
16 function in_namespace($valid, $check) {
17 // PHP apparantly does not have closures -
18 // so we will parse $valid ourselves. Wasteful.
19 $valid = preg_split('/\s+/', $valid);
20 //if(count($valid) == 0) { return true; }//whole wiki matches
21 if((count($valid)==1) and ($valid[0]=="")) { return true; }//whole wiki matches
22 $check = trim($check, ':');
23 $check = explode(':', $check);
24
25 // Check against all possible namespaces
26 foreach($valid as $v) {
27 $v = explode(':', $v);
28 $n = 0;
29 $c = count($v);
30 $matching = 1;
31
32 // Check each element, untill all elements of $v satisfied
33 while($n < $c) {
34 if($v[$n] != $check[$n]) {
35 // not a match
36 $matching = 0;
37 break;
38 }
39 $n += 1;
40 }
41 if($matching == 1) { return true; } // a match
42 }
43 return false;
44 }
45
46 // FIXME find out what this is supposed to do and how it can be done better
47 function in_sub_namespace($valid, $check) {
48 // is check a dir which contains any valid?
49 // PHP apparantly does not have closures -
50 // so we will parse $valid ourselves. Wasteful.
51 $valid = preg_split('/\s+/', $valid);
52 //if(count($valid) == 0) { return true; }//whole wiki matches
53 if((count($valid)==1) and ($valid[0]=="")) { return true; }//whole wiki matches
54 $check = trim($check, ':');
55 $check = explode(':', $check);
56
57 // Check against all possible namespaces
58 foreach($valid as $v) {
59 $v = explode(':', $v);
60 $n = 0;
61 $c = count($check); //this is what is different from above!
62 $matching = 1;
63
64 // Check each element, untill all elements of $v satisfied
65 while($n < $c) {
66 if($v[$n] != $check[$n]) {
67 // not a match
68 $matching = 0;
69 break;
70 }
71 $n += 1;
72 }
73 if($matching == 1) { return true; } // a match
74 }
75 return false;
76 }
77
78}
Note: See TracBrowser for help on using the repository browser.