Subversion Repositories HomeAutomation

Rev

Details | Last modification | View Log | SVN | RSS feed

Rev Author Line No. Line
2051 linlun 1
<?php
2068 runge 2
require_once("backend.php");
3
require_once("config.php");
4
?>
5
<!DOCTYPE HTML>
6
<html>
7
  <head>
8
    <meta charset="utf-8">
9
    <meta name="viewport" content="width=device-width, initial-scale=1">
10
    <title>Home Automation Control Center</title>
11
    <link rel="stylesheet" href="jquery.mobile-1.1.1.min.css" />
12
    <script src="jquery-1.7.2.min.js"></script>
13
    <script src="jquery.mobile-1.1.1.min.js"></script>
14
    <script src="jquery.tmpl.min.js"></script>
1872 runge 15
 
2068 runge 16
    <style>
17
    <?php
18
      foreach ($pages as $page)
19
      {
20
        include("pages/" . $page . "/style.css");
21
      }
22
    ?>
23
    </style>
2060 linlun 24
 
2068 runge 25
    <?php
26
      foreach ($pages as $page)
27
      {
28
        include("pages/" . $page . "/template.html");
29
      }
30
    ?>
1872 runge 31
 
2068 runge 32
    <script id="page-template" type="text/x-jquery-tmpl" data-enhance="false">
33
      <div id="page-${name}" data-role="page" data-add-back-btn="true" data-theme="a">
34
        <div data-role="header"><h1>Home Automation Control Center - ${title}</h1></div>
35
        <div data-role="content"></div>
36
      </div>
37
    </script>
1872 runge 38
 
2068 runge 39
    <script id="pagelink-template" type="text/x-jquery-tmpl" data-enhance="false">
40
      <span>
41
        <a href="#pagelink?page=${name}" data-role="button">${title}</a>
42
      </span>
43
    </script>
2054 linlun 44
 
2068 runge 45
    <script>
46
      $.mobile.ignoreContentEnabled = true;
1872 runge 47
 
2068 runge 48
      function sendCommand(command, callback)
49
      {
50
        jQuery.getJSON("backend.php?ajax", { command: command }, callback);
51
      }
52
    </script>
1872 runge 53
 
2068 runge 54
    <script>
55
      var pages = {};
1872 runge 56
 
2068 runge 57
    <?php
58
      foreach ($pages as $page)
1872 runge 59
      {
2068 runge 60
        include("pages/" . $page . "/script.js");
1872 runge 61
      }
62
    ?>
2068 runge 63
    </script>
1872 runge 64
 
2068 runge 65
    <script>
66
 
67
      var pageConfigurations = <?php echo json_encode($pageConfiguration); ?>;
68
      var pageInstances = {};
69
 
70
      $(document).ready(function(event)
1872 runge 71
      {
2068 runge 72
        jQuery.each(pageConfigurations, function(n, configuration)
1872 runge 73
        {
2068 runge 74
          var pageName = configuration.page + "_" + n;
2054 linlun 75
 
2068 runge 76
          pageInstances[pageName] = configuration;
2054 linlun 77
 
2068 runge 78
          pageInstances[pageName].name = pageName;
2054 linlun 79
 
2068 runge 80
          pageInstances[pageName].pageLinkElement = $("#pagelink-template").tmpl(pageInstances[pageName]).appendTo($("#home").find(":jqmData(role=content)")).trigger("create");
81
          pageInstances[pageName].pageElement = $("#page-template").tmpl(pageInstances[pageName]).appendTo($("body")).page();
82
          pageInstances[pageName].pageContentElement = pageInstances[pageName].pageElement.find(":jqmData(role=content)");
2054 linlun 83
 
2068 runge 84
          if (pages[configuration.page] && pages[configuration.page].init)
85
          {
86
            pages[configuration.page].init(pageInstances[pageName]);
87
          }
88
        });
89
      });
2054 linlun 90
 
2068 runge 91
      $(document).bind("pagebeforechange", function(e, data)
92
      {
93
        if (typeof data.toPage === "string")
94
        {
95
          var u = $.mobile.path.parseUrl(data.toPage);
96
          var re = /^#pagelink/;
2054 linlun 97
 
2068 runge 98
          if (u.hash.search(re) !== -1)
99
          {
100
            var pageName = u.hash.replace(/.*page=/, "");
101
            var page = $("#page-" + pageName);
2054 linlun 102
 
2068 runge 103
            if (page)
104
            {
105
              data.options.dataUrl = u.href;
2054 linlun 106
 
2068 runge 107
              $.mobile.changePage(page, data.options);
108
            }
1872 runge 109
 
2068 runge 110
            e.preventDefault();
111
          }
1872 runge 112
        }
113
      });
114
 
2068 runge 115
    </script>
116
  </head>
117
 
118
  <body>
119
    <div id="home" data-role="page" data-theme="a">
120
      <div data-role="header"><h1>Home Automation Control Center</h1></div>
121
      <div data-role="content"></div>
2051 linlun 122
    </div>
2068 runge 123
  </body>
124
</html>