1 | <?php |
---|
2 | if(!session_id()) session_start(); |
---|
3 | // List of modules |
---|
4 | $moduleList=array_diff(scandir("modules"), array('..', '.')); |
---|
5 | $modules=readComponents($moduleList); // Global |
---|
6 | |
---|
7 | $_SESSION['modules']=$modules; |
---|
8 | |
---|
9 | echo ("<html>"); |
---|
10 | writeHeaders($moduleList); |
---|
11 | |
---|
12 | /* Setting layout */ |
---|
13 | echo ("<body>"); |
---|
14 | //writeTop(); // Drawing layout header |
---|
15 | WriteMenu($modules); // Drawing menus |
---|
16 | |
---|
17 | writeModulesContainers($modules); |
---|
18 | |
---|
19 | // Writing snacknbar |
---|
20 | echo ("<div id='snack' data-toggle='snackbar' data-html-allowed='true' data-content=''></div> "); |
---|
21 | |
---|
22 | |
---|
23 | importCommonLibraries(); |
---|
24 | importCommonScripts(); |
---|
25 | |
---|
26 | echo ("</body>"); |
---|
27 | echo ("</html>"); |
---|
28 | |
---|
29 | |
---|
30 | |
---|
31 | /* Main Functions */ |
---|
32 | |
---|
33 | function writeModulesContainers($modules){ |
---|
34 | echo ('<div id="moduleContainer">'); /* Main Space for modules content */ |
---|
35 | |
---|
36 | /* Display Server Info */ |
---|
37 | echo "<div class='moduleWindow' id='info' style='display: block'>"; |
---|
38 | require("info.php"); |
---|
39 | echo "</div>"; |
---|
40 | |
---|
41 | /*foreach($modules as $key=>$value){ |
---|
42 | $module=$key; |
---|
43 | // Drawing main module div |
---|
44 | echo "<div class='moduleWindow' id='$module' content='".$value['main']."' iscomponent='false'></div>"; |
---|
45 | |
---|
46 | // Drawing divs for module components |
---|
47 | if (count($value["components"]>0)){ |
---|
48 | foreach($value["components"] as $component){ |
---|
49 | echo "<div class='moduleWindow' module='".$module."' id='".$component['id']. |
---|
50 | "' content='".$component['main']."' iscomponent='true'></div>"; |
---|
51 | } |
---|
52 | } // end if |
---|
53 | } // End for each*/ |
---|
54 | |
---|
55 | |
---|
56 | echo ("</div>"); /* End div for main space for modules */ |
---|
57 | } |
---|
58 | |
---|
59 | |
---|
60 | |
---|
61 | /*foreach ($modules as $module){ |
---|
62 | echo "<div class='moduleWindow' id='$module' content='modules/$module/src/main.html' iscomponent='false'>"; |
---|
63 | //require("modules/$module/src/main.html"); |
---|
64 | // LOADMODULE |
---|
65 | echo "</div>"; |
---|
66 | // Loading components in module |
---|
67 | } |
---|
68 | |
---|
69 | foreach ($components as $component){ |
---|
70 | //echo($component[1]); |
---|
71 | echo "<div class='moduleWindow' id='$component[0]' content=$component[1] iscomponent='true'>"; |
---|
72 | //require($component['1']); |
---|
73 | |
---|
74 | echo "</div>"; |
---|
75 | }*/ |
---|
76 | |
---|
77 | |
---|
78 | function importCommonScripts(){ |
---|
79 | /* Common Scripts */ |
---|
80 | echo('<script type="text/javascript" src="js/main.js"></script>'); |
---|
81 | echo('<script type="text/javascript" src="js/sidebar_menu.js"></script>'); |
---|
82 | echo('<script type="text/javascript" src="lib/node_modules/jed/jed.js"></script>'); |
---|
83 | echo('<script type="text/javascript" src="lib/i18n.js"></script>'); |
---|
84 | }; |
---|
85 | |
---|
86 | function importCommonLibraries(){ |
---|
87 | echo ('<!-- Common Libraries -->'); |
---|
88 | echo ('<script type="text/javascript" src="lib/jquery/jquery.js"></script>'); |
---|
89 | //echo ('<script type="text/javascript" src="lib/jquery.xmlrpc.js"></script>'); |
---|
90 | |
---|
91 | echo ('<script type="text/javascript" src="lib/bootstrap/js/bootstrap.min.js"></script>'); |
---|
92 | echo ('<script type="text/javascript" src="lib/bootstrap-material-design/js/ripples.min.js"></script>'); |
---|
93 | echo ('<script type="text/javascript" src="lib/bootstrap-material-design/js/material.min.js"></script>'); |
---|
94 | echo ('<script type="text/javascript" src="lib/snackbar/snackbar.min.js"></script>'); |
---|
95 | echo ('<script type="text/javascript" src="lib/bootbox.min.js"></script>'); |
---|
96 | |
---|
97 | echo ('<script type="text/javascript" src="lib/jquery-ui/jquery-ui.js"></script>'); |
---|
98 | |
---|
99 | echo ('<script type="text/javascript" src="lib/jsencrypt/jsencrypt.js"></script>'); |
---|
100 | echo ('<script type="text/javascript" src="lib/waitwin.js"></script>'); |
---|
101 | echo ('<script type="text/javascript" src="lib/formFactory.js"></script>'); |
---|
102 | echo ('<script type="text/javascript" src="lib/markdown/showdown.min.js"></script>'); |
---|
103 | echo ('<script type="text/javascript" src="lib/utils.js"></script>'); |
---|
104 | echo ('<script type="text/javascript" src="lib/nouislider/nouislider.min.js"></script>'); |
---|
105 | echo ('<script type="text/javascript" src="lib/progressbarjs/progressbar.min.js"></script>'); |
---|
106 | echo ('<script type="text/javascript" src="lib/cryptojs-aes/aes.js"></script>'); |
---|
107 | echo ('<script type="text/javascript" src="lib/cryptojs-aes/aes-json-format.js"></script>'); |
---|
108 | |
---|
109 | |
---|
110 | |
---|
111 | }; |
---|
112 | |
---|
113 | function readComponents($modules){ |
---|
114 | $modulefilelist=array(); |
---|
115 | |
---|
116 | foreach($modules as $moduleName){ |
---|
117 | $moduleManifestString = file_get_contents("modules/".$moduleName."/module.json"); |
---|
118 | $module=(json_decode($moduleManifestString, TRUE)); |
---|
119 | $modulefilelist[$moduleName]=$module; |
---|
120 | } |
---|
121 | return $modulefilelist; |
---|
122 | } |
---|
123 | |
---|
124 | function write($content){ |
---|
125 | echo "<pre>"; |
---|
126 | print_r($content); |
---|
127 | echo "/<pre>"; |
---|
128 | } |
---|
129 | |
---|
130 | function writeTop(){ |
---|
131 | |
---|
132 | echo('<div id="topBar" class="default-primary-color">'); |
---|
133 | echo ("<span i18n id='bt_logout'>logout</span>"); |
---|
134 | echo('</div>'); |
---|
135 | } |
---|
136 | |
---|
137 | function writeHeaders($mod){ |
---|
138 | ?> |
---|
139 | <head> |
---|
140 | <!-- Common Styles --> |
---|
141 | <meta charset="UTF-8"> |
---|
142 | |
---|
143 | |
---|
144 | |
---|
145 | |
---|
146 | |
---|
147 | |
---|
148 | |
---|
149 | |
---|
150 | |
---|
151 | <link rel="stylesheet" href="css/sidebar-menu.css"> |
---|
152 | <link rel="stylesheet" href="lib/material-icons/material_icons.css"> |
---|
153 | <!--link rel="stylesheet" href="lib/bootstrap/css/bootstrap.min.css"--> |
---|
154 | <link rel="stylesheet" href="lib/bootstrap/css/bootstrap.min.css"> |
---|
155 | <link rel="stylesheet" href="lib/bootstrap-material-design/css/bootstrap-material-design.min.css"> |
---|
156 | <!--link rel="stylesheet" href="lib/bootstrap-design/css/ripples.min.css"--> |
---|
157 | <link rel="stylesheet" href="lib/bootstrap-material-design/css/ripples.min.css"> |
---|
158 | <!--link rel="stylesheet" href="lib/bootstrap-design/css/material.min.css"--> |
---|
159 | <link rel="stylesheet" href="lib/snackbar/snackbar.css"> |
---|
160 | |
---|
161 | <link rel="stylesheet" href="lib/jquery-ui/jquery-ui.css"> |
---|
162 | <!--link rel="stylesheet" href="lib/nouislider/nouislider.min.css"--> |
---|
163 | <link rel="stylesheet" href="css/main.css"> |
---|
164 | <link rel="stylesheet" href="css/waitwin.css"> |
---|
165 | <link rel="stylesheet" href="lib/bootstrap-material-design/css/material-custom.css"> |
---|
166 | |
---|
167 | |
---|
168 | |
---|
169 | </head> |
---|
170 | <?php } |
---|
171 | |
---|
172 | function WriteMenu($modules){ |
---|
173 | ?> |
---|
174 | <div id="leftMenu"> |
---|
175 | <div id="wrapper" class="toggled-2"> |
---|
176 | <!-- Sidebar --> |
---|
177 | <div id="sidebar-wrapper" class="default-primary-color"> |
---|
178 | <div id="sidebar_header"></div> |
---|
179 | <ul class="sidebar-nav nav-pills nav-stacked" id="menu"> |
---|
180 | <!-- Main page link --> |
---|
181 | <!--li><a class='menuitem' onclick="window.location.reload();"--> |
---|
182 | <li><a class='menuitem' target='info'> |
---|
183 | <span class='fa-stack fa-lg pull-left'><div class='moduleIcon' style='background-image:url(icons/default.png)'></div> |
---|
184 | </span>Home</a> |
---|
185 | |
---|
186 | |
---|
187 | <?php |
---|
188 | foreach($modules as $key=>$value){ |
---|
189 | $module=$key; |
---|
190 | //error_log($value["icon"]); |
---|
191 | if (array_key_exists("icon", $value) && file_exists("modules/$module/src/icons/".$value["icon"])) $icon="modules/$module/src/icons/".$value["icon"]; |
---|
192 | else $icon="icons/default.png"; |
---|
193 | |
---|
194 | echo ("<li><a class='menuitem' target='$module'>". |
---|
195 | "<span class='fa-stack fa-lg pull-left'><div class='moduleIcon' style='background-image:url($icon)'></div>". |
---|
196 | "</span>".$value["name"]."</a>"); |
---|
197 | |
---|
198 | |
---|
199 | if (count($value["components"]>0)){ |
---|
200 | echo ('<ul class="nav-pills nav-stacked" style="list-style-type:none; margin-left: -40px;">'); |
---|
201 | foreach($value["components"] as $component){ |
---|
202 | |
---|
203 | if (array_key_exists("icon", $component) && file_exists("modules/$module/src/icons/".$component["icon"])) $icon="modules/$module/src/icons/".$component["icon"]; |
---|
204 | else $icon="icons/default.png"; |
---|
205 | |
---|
206 | |
---|
207 | echo('<li><a class="menuitem" module="'.$module. |
---|
208 | '" target="'.$component['id'].'"><span class="fa-stack fa-lg pull-left" style="margin-left:40px;"> |
---|
209 | <div class="moduleIcon" style="background-image:url('.$icon.')"></div></span>'. |
---|
210 | '<span i18n class="translateable" domain="'.$module.'" menuEntry="'.$component["menuEntry"].'"></span>'. |
---|
211 | '</a></li>'); |
---|
212 | //$component["menuEntry"].'</a></li>'); |
---|
213 | |
---|
214 | /*echo('<li><a class="menuitem" module="'.$module. |
---|
215 | '" target="'.$component['id'].'"><span class="fa-stack fa-lg pull-left"> |
---|
216 | <div class="moduleIcon" style="background-image:url('.$icon.')"></div></span>'. |
---|
217 | $component["menuEntry"].'</a></li>');*/ |
---|
218 | } |
---|
219 | echo ('</ul>'); |
---|
220 | } |
---|
221 | echo ("</li>"); |
---|
222 | } |
---|
223 | ?> |
---|
224 | </ul> |
---|
225 | |
---|
226 | <span i18n id='bt_logout'> |
---|
227 | <span style="display: inline"><i title="Logout" class="material-icons moduleIcon" style="display:inline;">power_settings_new</i></span> |
---|
228 | </span> |
---|
229 | |
---|
230 | |
---|
231 | <!--div id="sidebar_module_description_div" class="menuitem"> |
---|
232 | <span id="sidebar_module_description_image" class="fa-stack fa-lg pull-left"><div class="moduleIcon" style="background-image:url(modules/lliurex-guard/src/icons/guard_flat.png)"></div></span> |
---|
233 | <!--span >Pajaritos tralari... esto es la descvripción del modulo...</span-- > |
---|
234 | <span id="sidebar_module_description_text">Pajaritos tralari... esto es la descvripción del modulo...</span> |
---|
235 | </span> |
---|
236 | </div--> |
---|
237 | </div> |
---|
238 | </div> |
---|
239 | </div> |
---|
240 | |
---|
241 | |
---|
242 | <?php |
---|
243 | } |
---|
244 | ?> |
---|