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

Last change on this file since 6782 was 6782, checked in by kbut, 19 months ago

add moment and datetimepicker bootstrap plugin

File size: 10.7 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  echo('<script type="text/javascript"  src="lib/bower_components/moment/min/moment.min.js"></script>');
93  echo ('<script type="text/javascript" src="lib/bootstrap/js/bootstrap.min.js"></script>');
94  echo('<script type="text/javascript" src="lib/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"></script>');
95  echo ('<script type="text/javascript" src="lib/bootstrap-material-design/js/ripples.min.js"></script>');
96  echo ('<script type="text/javascript" src="lib/bootstrap-material-design/js/material.min.js"></script>');
97  echo ('<script type="text/javascript" src="lib/snackbar/snackbar.min.js"></script>');
98  echo ('<script type="text/javascript" src="lib/bootbox.min.js"></script>');
99 
100  echo ('<script type="text/javascript" src="lib/jquery-ui/jquery-ui.js"></script>');
101 
102  echo ('<script type="text/javascript" src="lib/jsencrypt/jsencrypt.js"></script>');
103  echo ('<script type="text/javascript" src="lib/waitwin.js"></script>');
104  echo ('<script type="text/javascript" src="lib/formFactory.js"></script>');
105  echo ('<script type="text/javascript" src="lib/markdown/showdown.min.js"></script>');
106  echo ('<script type="text/javascript" src="lib/utils.js"></script>');
107  echo ('<script type="text/javascript" src="lib/nouislider/nouislider.min.js"></script>');
108  echo ('<script type="text/javascript" src="lib/progressbarjs/progressbar.min.js"></script>');
109  echo ('<script type="text/javascript" src="lib/cryptojs-aes/aes.js"></script>');
110  echo ('<script type="text/javascript" src="lib/cryptojs-aes/aes-json-format.js"></script>');
111 
112 
113 
114};
115
116function readComponents($modules){
117  $modulefilelist=array();
118
119  foreach($modules as $moduleName){
120    $moduleManifestString = file_get_contents("modules/".$moduleName."/module.json");
121    $module=(json_decode($moduleManifestString, TRUE));
122   
123    # If user is admin, let's add module
124    if (in_array("adm", $_SESSION['groups']) or ($module["roles"]=="teachers"))
125      $modulefilelist[$moduleName]=$module;
126   
127  }
128  return $modulefilelist;
129}
130
131function write($content){
132  echo "<pre>";
133  print_r($content);
134  echo "/<pre>";
135}
136
137function writeTop(){
138
139  echo('<div id="topBar" class="default-primary-color">');
140    echo ("<span i18n id='bt_logout'>logout</span>");
141  echo('</div>');
142}
143
144function writeHeaders($mod){
145  ?>
146  <head>
147    <!-- Common Styles -->
148     <meta charset="UTF-8">
149     <title>Admin Center</title>
150     <link rel="icon" href="icons/default.png">
151     
152     
153    <link rel="stylesheet" href="css/sidebar-menu.css">
154    <link rel="stylesheet" href="lib/material-icons/material_icons.css">
155    <!--link rel="stylesheet" href="lib/bootstrap/css/bootstrap.min.css"-->
156    <link rel="stylesheet" href="lib/bootstrap/css/bootstrap.min.css">
157    <link rel="stylesheet" href="lib/bootstrap-material-design/css/bootstrap-material-design.min.css">
158    <!--link rel="stylesheet" href="lib/bootstrap-design/css/ripples.min.css"-->
159    <link rel="stylesheet" href="lib/bootstrap-material-design/css/ripples.min.css">
160    <!--link rel="stylesheet" href="lib/bootstrap-design/css/material.min.css"-->
161    <link rel="stylesheet" href="lib/snackbar/snackbar.css">
162   
163    <link rel="stylesheet" href="lib/jquery-ui/jquery-ui.css">
164    <!--link rel="stylesheet" href="lib/nouislider/nouislider.min.css"-->
165    <link rel="stylesheet" href="css/main.css">
166    <link rel="stylesheet" href="css/waitwin.css">
167    <link rel="stylesheet" href="lib/bootstrap-material-design/css/material-custom.css">
168    <link rel="stylesheet" href="lib/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" />   
169
170
171  </head>
172<?php }
173
174function WriteMenu($modules){
175  ?>
176    <div id="leftMenu">
177    <div id="wrapper" class="toggled-2">
178      <div id="menu-toggle-2" class="AdminCenterFloatButton"></div>
179      <div id="menu-back" class="AdminCenterFloatButton"></div>
180      <div id="bt_logout" class="AdminCenterFloatButton"></div>
181     
182        <!-- Sidebar -->
183        <div id="sidebar-wrapper" class="default-primary-color">
184                  <div id="sidebar_header"></div>
185      <div id="sidebar_menu_container">
186      <ul class="sidebar-nav nav-pills nav-stacked" id="menu">
187              <!--  Main page link  -->
188              <!--li><a class='menuitem' onclick="window.location.reload();"-->
189              <!-- MIREM CON AJUSTAR LO DEL MIG AL QUE QUEDA... -->
190              <!--http://stackoverflow.com/questions/90178/make-a-div-fill-the-height-of-the-remaining-screen-space -->
191             
192              <li><a class='menuitem' target='info'>
193                <span class='fa-stack fa-lg pull-left'><div class='moduleIcon' style='background-image:url(icones/defaultColor.png)'></div>
194                </span>Home
195               <!--span style="float:left; display:block; margin-top:-1.5em; font-size: 0.9em;">pajarito</span-->
196              </a>
197             
198             
199              <?php
200                  foreach($modules as $key=>$value){
201                    $module=$key;
202                      //error_log($value["icon"]);
203                      if (array_key_exists("icon", $value) && file_exists("modules/$module/src/icons/".$value["icon"]))  $icon="modules/$module/src/icons/".$value["icon"];
204                      else $icon="icons/default.png";
205
206                     
207                      echo ("<li><a class='menuitem' target='$module' title='".$value["description"]."'>".
208                      "<span class='fa-stack fa-lg pull-left'><div class='moduleIcon' style='background-image:url($icon)'></div>".
209                      "</span>".$value["name"]."</a>");
210
211
212                        if (count($value["components"]>0)){
213                          echo ('<ul class="nav-pills nav-stacked" style="list-style-type:none; margin-left: -40px;">');
214                          foreach($value["components"] as $component){
215
216                            if (array_key_exists("icon", $component) && file_exists("modules/$module/src/icons/".$component["icon"]))  $icon="modules/$module/src/icons/".$component["icon"];
217                            else $icon="icons/default.png";
218
219                            echo('<li><a class="menuitem submenuitem" module="'.$module.
220                            '" target="'.$component['id'].'"><span class="fa-stack fa-lg pull-left">
221                            <div class="moduleIcon" style="background-image:url('.$icon.')"></div></span>'.
222                            '<span i18n class="translateable" domain="'.$module.'" menuEntry="'.$component["menuEntry"].'"></span>'.
223                            '</a></li>');
224                            //$component["menuEntry"].'</a></li>');
225
226                            /*echo('<li><a class="menuitem" module="'.$module.
227                            '" target="'.$component['id'].'"><span class="fa-stack fa-lg pull-left">
228                            <div class="moduleIcon" style="background-image:url('.$icon.')"></div></span>'.
229                            $component["menuEntry"].'</a></li>');*/
230                          }
231                          echo ('</ul>');
232                        }
233                        echo ("</li>");
234                  }
235              ?>
236            </ul>
237        </div>
238        <!--div id="bt_logout_container">
239        <span i18n id='bt_logout'>
240        <span style="display: inline"><i title="Logout" class="material-icons moduleIcon" style="display:inline;">power_settings_new</i></span>
241        </span>
242        </div-->
243       
244        <!--div class="menuitem" id="bt_hide_menu_container">
245        <span style="display: inline"><i title="Back" class="material-icons moduleIcon" style="display:inline;"> << </i></span>
246        </div-->
247             
248           
249        <!--div id="sidebar_module_description_div" class="menuitem">
250                  <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>
251                  <!--span >Pajaritos tralari... esto es la descvripción del modulo...</span-- >
252                  <span id="sidebar_module_description_text">Pajaritos tralari... esto es la descvripción del modulo...</span>
253                  </span> 
254                </div-->
255                </div>
256    </div>
257  </div>
258
259
260<?php
261}
262?>
Note: See TracBrowser for help on using the repository browser.