source: admin-center-alpha/var/www/admin-center/main.php.bak2 @ 7

Last change on this file since 7 was 7, checked in by mabarracus, 4 years ago

Ported code admin-center-alpha from trusty

File size: 5.5 KB
Line 
1<?php
2/* Load all modules in "modules" folder */
3
4$modules=array_diff(scandir("modules"), array('..', '.'));
5$modulesContent=array();
6
7foreach($modules as $moduleFile){
8  $moduleManifestString = file_get_contents("modules/".$moduleFile."/module.json");
9  $module=(json_decode($moduleManifestString, TRUE));
10
11  $mod=array ($moduleFile, $module);
12  array_push($modulesContent, $mod);
13}
14
15
16
17
18echo ("<html>");
19//writeHeaders($modules);
20writeHeaders($modulesContent);
21echo ("<body>");
22
23/* Setting layout */
24echo('<div id="topBar">');
25  writeTop();
26echo('</div>');
27
28echo ('<div id="leftMenu">');
29  //writeMenu($modules); /* Writing menus with all modules and submodules */
30  writeMenu($modulesContent); /* Writing menus with all modules and submodules */
31echo ("</div>");
32
33echo ('<div id="moduleContainer">'); /* Main Space for modules content */
34  importModuleContent($modules);
35echo ("</div>");
36
37importCommonLibraries();
38importModuleLibraries($modules);
39importCommonScripts();
40importModuleScripts($modules);
41echo ("</body>");
42echo ("</html>");
43
44/*  Main Functions */
45
46function writeTop(){
47  echo ("<h1>Welcome!!</h1>");
48}
49
50function writeHeaders($mod){
51  ?>
52  <head>
53    <!-- Common Styles -->
54    <link rel="stylesheet" href="css/main.css">
55    <link rel="stylesheet" href="css/sidebar-menu.css">
56    <link rel="stylesheet" href="lib/font-awesome-4.4.0/css/font-awesome.min.css">
57
58    <!-- Reading module styles -->
59    <?php
60      foreach ($mod as $module){
61        $css=array_diff(scandir("modules/$module[0]/src/css"), array('..', '.'));
62        foreach ($css as $style){
63          echo ("<link rel='stylesheet' href='modules/$module[0]/src/css/$style'>");
64        }
65      }
66    ?>
67  </head>
68<?php } ?>
69
70<?php
71function importModuleContent($modules){
72  foreach ($modules as $module){
73    echo "<div class='moduleWindow' id='$module'>";
74      require("modules/$module/src/main.html");
75      /*
76      TO-DO:
77
78        - a més del main-html amb el nom del mòdul, també cal carregar la resta de htmls!!!!!
79        - I mirar com enganxar-la amb el "target" de les opcions del menus
80        -> Ara el que passa és que les categories "pare" (les que tenen el main-html) sí que se
81            mostren al menú i apareixen en fer clic (el seu id és el target del mòdul).
82            -> En les subcategories, que se lligen del module.json, hauria de posar com a id
83                el que diu el json, i el target igualment...
84
85
86
87      */
88    echo "</div>";
89     }
90}
91?>
92
93<?php
94function importCommonLibraries(){
95  echo ('<!-- Common Libraries -->');
96  echo ('<script type="text/javascript" src="lib/jquery-2.1.0.min.js"></script>');
97  echo ('<script type="text/javascript" src="lib/jquery.xmlrpc.js"></script>');
98};
99
100
101function importModuleLibraries($modules){
102  /*<!-- Reading module Libraries -->
103
104  <!-- TO-DO:
105    Plantejar si fer-ho recursivament (per a llibreries tipus allò que s'instal·la dins
106    de node-modules o si cada mòdul que tinga una llista de llibreries i la seua ruta).
107    Així podriem "combinar" les diferents llibreries...
108  -->*/
109
110  foreach ($modules as $module){
111    if(is_dir("modules/$module/src/lib")){
112      $scripts=array_diff(scandir("modules/$module/src/lib"), array('..', '.'));
113      foreach ($scripts as $script){
114        echo ("<script type='text/javascript' src='modules/$module/src/lib/$script'></script>");
115      }
116    }
117  }
118};
119
120
121function importCommonScripts(){
122  /* Common Scripts */
123        echo('<script type="text/javascript" src="js/main.js"></script>');
124  echo('<script type="text/javascript" src="js/sidebar_menu.js"></script>');
125};
126
127function importModuleScripts($modules){
128  /* Reading module Scripts */
129  foreach ($modules as $module){
130    $scripts=array_diff(scandir("modules/$module/src/js"), array('..', '.'));
131    foreach ($scripts as $script){
132      echo ("<script type='text/javascript' src='modules/$module/src/js/$script'></script>");
133    }
134  }
135}
136
137?>
138
139<?php
140
141function WriteMenu($modules){
142  ?>
143  <!-- http://seegatesite.com/create-simple-cool-sidebar-menu-with-bootstrap-3/ -->
144
145<!--
146Botó de menu
147div class="navbar-toggle collapse in data-toggle="collapse" id="menu-toggle-2"><i class="fa fa-bars fa-3x"></i></div-->
148    <div id="wrapper" class="toggled-2">
149        <!-- Sidebar -->
150        <div id="sidebar-wrapper">
151            <ul class="sidebar-nav nav-pills nav-stacked" id="menu">
152              <?php
153                  foreach($modules as $mod){
154
155                    //echo ("<li><a>".$module."</a></li>");
156//                    $moduleManifestString = file_get_contents("modules/".$moduleFile."/module.json");
157//                    $module=(json_decode($moduleManifestString, TRUE));
158                      $module=$mod[1];
159                    /*$jsonIterator = new RecursiveIteratorIterator(
160                        new RecursiveArrayIterator(json_decode($moduleManifestString, TRUE)),*/
161
162                        echo ("<li><a class='menuitem' target='$mod[0]'>".$module["name"]."</a>");
163                        if (count($module["components"]>0)){
164                          echo ('<ul class="nav-pills nav-stacked" style="list-style-type:none;">');
165                          foreach($module["components"] as $component){
166                            echo('<li><a class="menuitem" target="'.$component['main'].'">'.$component["menuEntry"].'</a></li>');
167                          }
168                          echo ('</ul>');
169                        }
170                        echo ("</li>");
171                  }
172              ?>
173            </ul>
174        </div>
175
176
177        <!-- /#page-content-wrapper -->
178    </div>
179    <!-- /#wrapper -->
180    <!-- jQuery -->
181
182<?php } ?>
Note: See TracBrowser for help on using the repository browser.