1- <?php
2-
3- /*
4- Copyright (c) 2007, Till Brehm, projektfarm Gmbh
5- All rights reserved.
6-
7- Redistribution and use in source and binary forms, with or without modification,
8- are permitted provided that the following conditions are met:
9-
10- * Redistributions of source code must retain the above copyright notice,
11- this list of conditions and the following disclaimer.
12- * Redistributions in binary form must reproduce the above copyright notice,
13- this list of conditions and the following disclaimer in the documentation
14- and/or other materials provided with the distribution.
15- * Neither the name of ISPConfig nor the names of its contributors
16- may be used to endorse or promote products derived from this software without
17- specific prior written permission.
18-
19- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22- IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23- INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24- BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26- OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27- NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28- EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29- */
30-
31- require_once ('../lib/config.inc.php ' );
32- require_once ('../lib/app.inc.php ' );
33-
34- $ module = $ _REQUEST ["s_mod " ];
35- $ page = $ _REQUEST ["s_pg " ];
36-
37- if (!preg_match ("/^[a-z]{0 ,20}$/i " , $ module )) die ('module name contains unallowed chars. ' );
38- if (!preg_match ("/^[a-z]{0 ,20}$/i " , $ page )) die ('page name contains unallowed chars. ' );
39-
40- if (is_file (" $ module/ $ page.php " )) {
41-
42- include_once (" $ module/ $ page.php " );
43-
44- $ classname = $ module .'_ ' .$ page ;
45- $ page = new $ classname ();
46-
47- $ content = $ page ->render ();
48- if ($ page ->status == 'OK ' ) {
49- echo $ content ;
50- } elseif ($ page ->status == 'REDIRECT ' ) {
51- $ target_parts = explode (': ' ,$ page ->target );
52- $ module = $ target_parts [0 ];
53- $ page = $ target_parts [1 ];
54- if (!preg_match ("/^[a-z]{2,20}$/i " , $ module )) die ('target module name contains unallowed chars. ' );
55- if (!preg_match ("/^[a-z]{2,20}$/i " , $ page )) die ('target page name contains unallowed chars. ' );
56-
57- if (is_file (" $ module/ $ page.php " )) {
58- include_once (" $ module/ $ page.php " );
59-
60- $ classname = $ module .'_ ' .$ page ;
61- $ page = new $ classname ();
62-
63- $ content = $ page ->render ();
64- if ($ page ->status == 'OK ' ) {
65- echo $ content ;
66- }
67- }
68-
69- }
70-
71- } elseif (is_array ($ _SESSION ["s " ]['user ' ]) or is_array ($ _SESSION ["s " ]["module " ])) {
72- // If the user is logged in, we try to load the default page of the module
73- die ('- error - ' );
74- } else {
75- die ('Page does not exist. ' );
76- }
77-
1+ <?php
2+
3+ /*
4+ Copyright (c) 2007, Till Brehm, projektfarm Gmbh
5+ All rights reserved.
6+
7+ Redistribution and use in source and binary forms, with or without modification,
8+ are permitted provided that the following conditions are met:
9+
10+ * Redistributions of source code must retain the above copyright notice,
11+ this list of conditions and the following disclaimer.
12+ * Redistributions in binary form must reproduce the above copyright notice,
13+ this list of conditions and the following disclaimer in the documentation
14+ and/or other materials provided with the distribution.
15+ * Neither the name of ISPConfig nor the names of its contributors
16+ may be used to endorse or promote products derived from this software without
17+ specific prior written permission.
18+
19+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22+ IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
23+ INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
24+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
26+ OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
27+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
28+ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29+ */
30+
31+ require_once ('../lib/config.inc.php ' );
32+ require_once ('../lib/app.inc.php ' );
33+
34+ $ module = $ _REQUEST ["s_mod " ];
35+ $ page = $ _REQUEST ["s_pg " ];
36+
37+ if (!preg_match ("/^[a-z]{2 ,20}$/i " , $ module )) die ('module name contains unallowed chars. ' );
38+ if (!preg_match ("/^[a-z]{2 ,20}$/i " , $ page )) die ('page name contains unallowed chars. ' );
39+
40+ if (is_file (ISPC_WEB_PATH . " / $ module/ $ page.php " )) {
41+
42+ include_once (ISPC_WEB_PATH . " / $ module/ $ page.php " );
43+
44+ $ classname = $ module .'_ ' .$ page ;
45+ $ page = new $ classname ();
46+
47+ $ content = $ page ->render ();
48+ if ($ page ->status == 'OK ' ) {
49+ echo $ content ;
50+ } elseif ($ page ->status == 'REDIRECT ' ) {
51+ $ target_parts = explode (': ' ,$ page ->target );
52+ $ module = $ target_parts [0 ];
53+ $ page = $ target_parts [1 ];
54+ if (!preg_match ("/^[a-z]{2,20}$/i " , $ module )) die ('target module name contains unallowed chars. ' );
55+ if (!preg_match ("/^[a-z]{2,20}$/i " , $ page )) die ('target page name contains unallowed chars. ' );
56+
57+ if (is_file (ISPC_WEB_PATH . " / $ module/ $ page.php " )) {
58+ include_once (ISPC_WEB_PATH . " / $ module/ $ page.php " );
59+
60+ $ classname = $ module .'_ ' .$ page ;
61+ $ page = new $ classname ();
62+
63+ $ content = $ page ->render ();
64+ if ($ page ->status == 'OK ' ) {
65+ echo $ content ;
66+ }
67+ }
68+
69+ }
70+
71+ } elseif (is_array ($ _SESSION ["s " ]['user ' ]) or is_array ($ _SESSION ["s " ]["module " ])) {
72+ // If the user is logged in, we try to load the default page of the module
73+ die ('- error - ' );
74+ } else {
75+ die ('Page does not exist. ' );
76+ }
77+
7878?>
0 commit comments