source: admin-center/trunk/fuentes/admin-center.install/usr/share/admin-center/main.php @ 6116

Last change on this file since 6116 was 6116, checked in by joamuran, 23 months ago

added roles management

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