1|<?php
2|/*-------------------------------------------------------+
3|| PHP-Fusion Content Management System
4|| Copyright (C) 2002 - 2008 Nick Jones
5|| http://www.php-fusion.co.uk/
6|+--------------------------------------------------------+
7|| Filename: panels.php
8|| Author: Nick Jones (Digitanium), modded by WEC
9|+--------------------------------------------------------+
10|| This program is released as free software under the
11|| Affero GPL license. You can redistribute it and/or
12|| modify it under the terms of this license which you
13|| can read by viewing the included agpl.txt or online
14|| at www.gnu.org/licenses/agpl.html. Removal of this
15|| copyright header is strictly prohibited without
16|| written permission from the original author(s).
17|+--------------------------------------------------------*/
18|if (!defined("IN_FUSION")) { header("Location: ../../index.php"); exit; }
19|
20|// Calculate current true url
21|$script_url = explode("/", $_SERVER['PHP_SELF'].(FUSION_QUERY ? "?".FUSION_QUERY : ""));
22|$url_count = count($script_url);
23|$base_url_count = substr_count(BASEDIR, "/") + 1;
24|$start_page = "";
25|while ($base_url_count != 0) {
26| $current = $url_count - $base_url_count;
27| $start_page .= "/".$script_url[$current];
28| $base_url_count--;
29|}
30|
31|define("START_PAGE", substr(preg_replace("#(&|\?)(s_action=edit&shout_id=)([0-9]+)#s", "", $start_page), 1));
32|define("SCRIPT_URL_EXT", "/".substr(preg_replace("#(&|\?)(s_action=edit&shout_id=)([0-9]+)#s", "", $start_page), 1));
33|
34|// Calculate current true script url
35|$script_url = explode("/", $_SERVER['PHP_SELF']); // .(FUSION_QUERY ? "?".FUSION_QUERY : "")
36|$url_count = count($script_url);
37|$base_url_count = substr_count(BASEDIR, "/") + 1;
38|$start_page = "";
39|while ($base_url_count != 0) {
40| $current = $url_count - $base_url_count;
41| $start_page .= "/".$script_url[$current];
42| $base_url_count--;
43|}
44|
45|define("SCRIPT_URL", "/".substr(preg_replace("#(&|\?)(s_action=edit&shout_id=)([0-9]+)#s", "", $start_page), 1));
46|
47|// Side & center panels
48|ob_start();
49|$plc = 0;
50|
51|// Render left panels
52|if(!defined("ADMIN_PANEL")){
53| if (check_panel_status("left")) {
54| $p_res = dbquery("SELECT * FROM ".DB_PANELS." WHERE panel_side='1' AND panel_status='1' ORDER BY panel_order");
55| if (dbrows($p_res)) {
56| while ($p_data = dbarray($p_res)) {
57| if ($p_data['panel_url_list'] == '' || (!in_array(SCRIPT_URL, explode("\r\n", $p_data['panel_url_list'])) && !in_array(SCRIPT_URL_EXT, explode("\r\n", $p_data['panel_url_list'])) && $p_data['panel_url_list_exclude'] == 1) || ((in_array(SCRIPT_URL, explode("\r\n", $p_data['panel_url_list'])) || in_array(SCRIPT_URL_EXT, explode("\r\n", $p_data['panel_url_list']))) && $p_data['panel_url_list_exclude'] == 0) ) {///
58| if (checkgroup($p_data['panel_access'])) {
59| if ($p_data['panel_type'] == "file") {
60| $panel_name = $p_data['panel_filename'];
61| include INFUSIONS.$panel_name."/".$panel_name.".php";
62| } else {
63| eval(stripslashes($p_data['panel_content']));
64| }
65| $plc++;
66| }
67| }///
68| }
69| }
70| }
71|}else{
72| require_once ADMIN."navigation.php";
73|}
74|
75|define("LEFT", ob_get_contents());
76|ob_end_clean();
77|
78|// Render right panels
79|$prc = 0;
80|ob_start();
81|if(!defined("ADMIN_PANEL")){
82| if (check_panel_status("right")) {
83| $p_res = dbquery("SELECT * FROM ".DB_PANELS." WHERE panel_side='4' AND panel_status='1' ORDER BY panel_order");
84| if (dbrows($p_res)) {
85| while ($p_data = dbarray($p_res)) {
86| if ($p_data['panel_url_list'] == '' || (!in_array(SCRIPT_URL, explode("\r\n", $p_data['panel_url_list'])) && !in_array(SCRIPT_URL_EXT, explode("\r\n", $p_data['panel_url_list'])) && $p_data['panel_url_list_exclude'] == 1) || ((in_array(SCRIPT_URL, explode("\r\n", $p_data['panel_url_list'])) || in_array(SCRIPT_URL_EXT, explode("\r\n", $p_data['panel_url_list']))) && $p_data['panel_url_list_exclude'] == 0) ) {///
87| if (checkgroup($p_data['panel_access'])) {
88| if ($p_data['panel_type'] == "file") {
89| $panel_name = $p_data['panel_filename'];
90| include INFUSIONS.$panel_name."/".$panel_name.".php";
91| } else {
92| eval(stripslashes($p_data['panel_content']));
93| }
94| $prc++;
95| }
96| }///
97| }
98| }
99| }
100|}
101|define("RIGHT", ob_get_contents());
102|ob_end_clean();
103|
104|// Set the require div-width class
105|if(defined("ADMIN_PANEL")){
106| $main_style = "side-left";
107|}elseif ($plc && $prc) {
108| $main_style = "side-both";
109|} elseif ($plc && !$prc) {
110| $main_style = "side-left";
111|} elseif (!$plc && $prc) {
112| $main_style = "side-right";
113|} elseif (!$plc && !$prc) {
114| $main_style = "";
115|}
116|
117|// Render upper center panels
118|ob_start();
119|
120|if(!defined("ADMIN_PANEL")){
121| echo "<a id='content' name='content'></a>\n";
122| if (iADMIN && $settings['maintenance']) {
123| echo "<div class='admin-message'>".$locale['global_190']."</div>";
124| }
125| if (iSUPERADMIN && file_exists(BASEDIR."setup.php")) {
126| echo "<div class='admin-message'>".$locale['global_198']."</div>";
127| }
128|
129| // Check if Custom Panels Control is infused ///
130| $tableFields = mysql_list_fields($db_name,DB_PANELS);
131| $columns = mysql_num_fields($tableFields);
132| for ($i = 0; $i < $columns; $i++) {
133| $field_array[] = mysql_field_name($tableFields, $i);
134| }
135| if (!in_array('panel_url_list', $field_array)) {
136| echo "<center><strong><span style='color:#ff0000'>Warning: You need to infuse Custom Panels Control to get rid of error notices!</span></strong></center><br />";
137| }
138|
139| if (iADMIN && !$userdata['user_admin_password']) {
140| echo "<div class='admin-message'>".$locale['global_199']."</div>";
141| }
142| if (check_panel_status("upper")) {
143| $p_res = dbquery("SELECT * FROM ".DB_PANELS." WHERE panel_side='2' AND panel_status='1' ORDER BY panel_order");
144| if (dbrows($p_res)) {
145| while ($p_data = dbarray($p_res)) {
146| if ($p_data['panel_url_list'] == '' || (!in_array(SCRIPT_URL, explode("\r\n", $p_data['panel_url_list'])) && !in_array(SCRIPT_URL_EXT, explode("\r\n", $p_data['panel_url_list'])) && $p_data['panel_url_list_exclude'] == 1) || ((in_array(SCRIPT_URL, explode("\r\n", $p_data['panel_url_list'])) || in_array(SCRIPT_URL_EXT, explode("\r\n", $p_data['panel_url_list']))) && $p_data['panel_url_list_exclude'] == 0) ) {///
147| if (checkgroup($p_data['panel_access'])) {
148| if ($p_data['panel_display'] == 1 || $settings['opening_page'] == START_PAGE) {
149| if ($p_data['panel_type'] == "file") {
150| $panel_name = $p_data['panel_filename'];
151| include INFUSIONS.$panel_name."/".$panel_name.".php";
152| } else {
153| eval(stripslashes($p_data['panel_content']));
154| }
155| }
156| }
157| }///
158| }
159| }
160| }
161|}
162|define("U_CENTER", ob_get_contents());
163|ob_end_clean();
164|
165|// Render lower center panels
166|ob_start();
167|
168|if(!defined("ADMIN_PANEL")){
169| if (check_panel_status("lower")) {
170| $p_res = dbquery("SELECT * FROM ".DB_PANELS." WHERE panel_side='3' AND panel_status='1' ORDER BY panel_order");
171| if (dbrows($p_res) != 0) {
172| while ($p_data = dbarray($p_res)) {
173| if ($p_data['panel_url_list'] == '' || (!in_array(SCRIPT_URL, explode("\r\n", $p_data['panel_url_list'])) && !in_array(SCRIPT_URL_EXT, explode("\r\n", $p_data['panel_url_list'])) && $p_data['panel_url_list_exclude'] == 1) || ((in_array(SCRIPT_URL, explode("\r\n", $p_data['panel_url_list'])) || in_array(SCRIPT_URL_EXT, explode("\r\n", $p_data['panel_url_list']))) && $p_data['panel_url_list_exclude'] == 0) ) {///
174| if (checkgroup($p_data['panel_access'])) {
175| if ($p_data['panel_display'] == 1 || $settings['opening_page'] == START_PAGE) {
176| if ($p_data['panel_type'] == "file") {
177| $panel_name = $p_data['panel_filename'];
178| include INFUSIONS.$panel_name."/".$panel_name.".php";
179| } else {
180| eval(stripslashes($p_data['panel_content']));
181| }
182| }
183| }
184| }///
185| }
186| }
187| }
188|}
189|define("L_CENTER", ob_get_contents());
190|ob_end_clean();
191|?>