diff --git a/app/api/RoomsApi.php b/app/api/RoomsApi.php index 340f09d..de417a1 100644 --- a/app/api/RoomsApi.php +++ b/app/api/RoomsApi.php @@ -4,23 +4,36 @@ class RoomsApi extends ApiController{ public function default(){ //$this->requireAuth(); - $response = []; - $roomIds = []; - $roomsData = RoomManager::getRoomsDefault(); - - foreach ($roomsData as $roomKey => $room) { - $roomIds[] = $room['room_id']; - } - - $subDevicesData = SubDeviceManager::getSubdevicesByRoomIds($roomIds); - + $rooms = []; + $roomsData = RoomManager::getAllRooms(); foreach ($roomsData as $roomKey => $roomData) { - $response[] = [ + + $widgets = []; + $devicesData = DeviceManager::getAllDevicesInRoom($roomData['room_id']); + foreach ($devicesData as $deviceKey => $deviceData) { + + $subDevicesData = SubDeviceManager::getAllSubDevices($deviceData['device_id']); + foreach ($subDevicesData as $subDeviceKey => $subDeviceData) { + + $lastRecord = RecordManager::getLastRecord($subDeviceData['subdevice_id']); + $widgets[] = [ + 'subdevice_id' => $subDeviceData['subdevice_id'], + 'device_id' => $deviceData['device_id'], + 'name' => $deviceData['name'], + 'type' => $subDeviceData['type'], + 'icon' => $deviceData['icon'], + 'value' => $lastRecord['value'], + 'unit' => $subDeviceData['unit'], + ]; + } + } + + $rooms[] = [ 'room_id' => $roomData['room_id'], 'name' => $roomData['name'], - 'widgets' => isset($subDevicesData[$roomData['room_id']]) ? $subDevicesData[$roomData['room_id']] : [], + 'widgets' => $widgets, ]; } - $this->response($response); + $this->response($rooms); } } diff --git a/.htaccess b/www/.htaccess similarity index 100% rename from .htaccess rename to www/.htaccess diff --git a/New_JS_EDITOR_ TEST.php b/www/New_JS_EDITOR_ TEST.php similarity index 100% rename from New_JS_EDITOR_ TEST.php rename to www/New_JS_EDITOR_ TEST.php diff --git a/api.php b/www/api.php similarity index 100% rename from api.php rename to www/api.php diff --git a/app/Bootstrap.php b/www/app/Bootstrap.php similarity index 100% rename from app/Bootstrap.php rename to www/app/Bootstrap.php diff --git a/app/Routes.php b/www/app/Routes.php similarity index 100% rename from app/Routes.php rename to www/app/Routes.php diff --git a/app/api/AuthApi.php b/www/app/api/AuthApi.php similarity index 100% rename from app/api/AuthApi.php rename to www/app/api/AuthApi.php diff --git a/app/api/DevicesApi.php b/www/app/api/DevicesApi.php similarity index 100% rename from app/api/DevicesApi.php rename to www/app/api/DevicesApi.php diff --git a/app/api/ExampleApi.php b/www/app/api/ExampleApi.php similarity index 100% rename from app/api/ExampleApi.php rename to www/app/api/ExampleApi.php diff --git a/app/api/GoogleHomeApi.php b/www/app/api/GoogleHomeApi.php similarity index 100% rename from app/api/GoogleHomeApi.php rename to www/app/api/GoogleHomeApi.php diff --git a/www/app/api/RoomsApi.php b/www/app/api/RoomsApi.php new file mode 100644 index 0000000..340f09d --- /dev/null +++ b/www/app/api/RoomsApi.php @@ -0,0 +1,26 @@ +requireAuth(); + $response = []; + $roomIds = []; + $roomsData = RoomManager::getRoomsDefault(); + + foreach ($roomsData as $roomKey => $room) { + $roomIds[] = $room['room_id']; + } + + $subDevicesData = SubDeviceManager::getSubdevicesByRoomIds($roomIds); + + foreach ($roomsData as $roomKey => $roomData) { + $response[] = [ + 'room_id' => $roomData['room_id'], + 'name' => $roomData['name'], + 'widgets' => isset($subDevicesData[$roomData['room_id']]) ? $subDevicesData[$roomData['room_id']] : [], + ]; + } + $this->response($response); + } +} diff --git a/app/controllers/ExampleController.php b/www/app/controllers/ExampleController.php similarity index 100% rename from app/controllers/ExampleController.php rename to www/app/controllers/ExampleController.php diff --git a/app/controllers/automationController.php b/www/app/controllers/automationController.php similarity index 100% rename from app/controllers/automationController.php rename to www/app/controllers/automationController.php diff --git a/app/controllers/loginController.php b/www/app/controllers/loginController.php similarity index 100% rename from app/controllers/loginController.php rename to www/app/controllers/loginController.php diff --git a/app/controllers/settingController.php b/www/app/controllers/settingController.php similarity index 100% rename from app/controllers/settingController.php rename to www/app/controllers/settingController.php diff --git a/app/models/ChartJS.php b/www/app/models/ChartJS.php similarity index 100% rename from app/models/ChartJS.php rename to www/app/models/ChartJS.php diff --git a/app/models/ChartJS_Line.php b/www/app/models/ChartJS_Line.php similarity index 100% rename from app/models/ChartJS_Line.php rename to www/app/models/ChartJS_Line.php diff --git a/app/models/GoogleHome.php b/www/app/models/GoogleHome.php similarity index 100% rename from app/models/GoogleHome.php rename to www/app/models/GoogleHome.php diff --git a/app/models/managers/AuthManager.php b/www/app/models/managers/AuthManager.php similarity index 100% rename from app/models/managers/AuthManager.php rename to www/app/models/managers/AuthManager.php diff --git a/app/models/managers/AutomationManager.php b/www/app/models/managers/AutomationManager.php similarity index 100% rename from app/models/managers/AutomationManager.php rename to www/app/models/managers/AutomationManager.php diff --git a/app/models/managers/ChartManager.php b/www/app/models/managers/ChartManager.php similarity index 100% rename from app/models/managers/ChartManager.php rename to www/app/models/managers/ChartManager.php diff --git a/app/models/managers/DashboardManager.php b/www/app/models/managers/DashboardManager.php similarity index 100% rename from app/models/managers/DashboardManager.php rename to www/app/models/managers/DashboardManager.php diff --git a/app/models/managers/DeviceManager.php b/www/app/models/managers/DeviceManager.php similarity index 100% rename from app/models/managers/DeviceManager.php rename to www/app/models/managers/DeviceManager.php diff --git a/app/models/managers/FallbackManager.php b/www/app/models/managers/FallbackManager.php similarity index 100% rename from app/models/managers/FallbackManager.php rename to www/app/models/managers/FallbackManager.php diff --git a/app/models/managers/LanguageManager.php b/www/app/models/managers/LanguageManager.php similarity index 100% rename from app/models/managers/LanguageManager.php rename to www/app/models/managers/LanguageManager.php diff --git a/app/models/managers/LogManager.php b/www/app/models/managers/LogManager.php similarity index 100% rename from app/models/managers/LogManager.php rename to www/app/models/managers/LogManager.php diff --git a/app/models/managers/NetworkManager.php b/www/app/models/managers/NetworkManager.php similarity index 100% rename from app/models/managers/NetworkManager.php rename to www/app/models/managers/NetworkManager.php diff --git a/app/models/managers/NotificationManager.php b/www/app/models/managers/NotificationManager.php similarity index 100% rename from app/models/managers/NotificationManager.php rename to www/app/models/managers/NotificationManager.php diff --git a/app/models/managers/RecordManager.php b/www/app/models/managers/RecordManager.php similarity index 100% rename from app/models/managers/RecordManager.php rename to www/app/models/managers/RecordManager.php diff --git a/app/models/managers/RoomManager.php b/www/app/models/managers/RoomManager.php similarity index 100% rename from app/models/managers/RoomManager.php rename to www/app/models/managers/RoomManager.php diff --git a/app/models/managers/SceneManager.php b/www/app/models/managers/SceneManager.php similarity index 100% rename from app/models/managers/SceneManager.php rename to www/app/models/managers/SceneManager.php diff --git a/app/models/managers/SubDeviceManager.php b/www/app/models/managers/SubDeviceManager.php similarity index 100% rename from app/models/managers/SubDeviceManager.php rename to www/app/models/managers/SubDeviceManager.php diff --git a/app/models/managers/UserManager.php b/www/app/models/managers/UserManager.php similarity index 100% rename from app/models/managers/UserManager.php rename to www/app/models/managers/UserManager.php diff --git a/app/models/managers/Utilities.php b/www/app/models/managers/Utilities.php similarity index 100% rename from app/models/managers/Utilities.php rename to www/app/models/managers/Utilities.php diff --git a/app/models/types/GoogleHomeDeviceTypes.php b/www/app/models/types/GoogleHomeDeviceTypes.php similarity index 100% rename from app/models/types/GoogleHomeDeviceTypes.php rename to www/app/models/types/GoogleHomeDeviceTypes.php diff --git a/app/models/types/WidgetTypes.php b/www/app/models/types/WidgetTypes.php similarity index 100% rename from app/models/types/WidgetTypes.php rename to www/app/models/types/WidgetTypes.php diff --git a/app/views/Ajax.php b/www/app/views/Ajax.php similarity index 100% rename from app/views/Ajax.php rename to www/app/views/Ajax.php diff --git a/app/views/Automation.php b/www/app/views/Automation.php similarity index 100% rename from app/views/Automation.php rename to www/app/views/Automation.php diff --git a/app/views/Log.php b/www/app/views/Log.php similarity index 100% rename from app/views/Log.php rename to www/app/views/Log.php diff --git a/app/views/Login.php b/www/app/views/Login.php similarity index 100% rename from app/views/Login.php rename to www/app/views/Login.php diff --git a/app/views/Logout.php b/www/app/views/Logout.php similarity index 100% rename from app/views/Logout.php rename to www/app/views/Logout.php diff --git a/app/views/Setting.php b/www/app/views/Setting.php similarity index 100% rename from app/views/Setting.php rename to www/app/views/Setting.php diff --git a/app/views/layouts/default.phtml b/www/app/views/layouts/default.phtml similarity index 100% rename from app/views/layouts/default.phtml rename to www/app/views/layouts/default.phtml diff --git a/app/views/templates/automation.phtml b/www/app/views/templates/automation.phtml similarity index 100% rename from app/views/templates/automation.phtml rename to www/app/views/templates/automation.phtml diff --git a/app/views/templates/example.phtml b/www/app/views/templates/example.phtml similarity index 100% rename from app/views/templates/example.phtml rename to www/app/views/templates/example.phtml diff --git a/app/views/templates/log.phtml b/www/app/views/templates/log.phtml similarity index 100% rename from app/views/templates/log.phtml rename to www/app/views/templates/log.phtml diff --git a/app/views/templates/login.phtml b/www/app/views/templates/login.phtml similarity index 100% rename from app/views/templates/login.phtml rename to www/app/views/templates/login.phtml diff --git a/app/views/templates/part/automationButton.phtml b/www/app/views/templates/part/automationButton.phtml similarity index 100% rename from app/views/templates/part/automationButton.phtml rename to www/app/views/templates/part/automationButton.phtml diff --git a/app/views/templates/part/automationCreate.phtml b/www/app/views/templates/part/automationCreate.phtml similarity index 100% rename from app/views/templates/part/automationCreate.phtml rename to www/app/views/templates/part/automationCreate.phtml diff --git a/app/views/templates/part/automationCreateFinal.phtml b/www/app/views/templates/part/automationCreateFinal.phtml similarity index 100% rename from app/views/templates/part/automationCreateFinal.phtml rename to www/app/views/templates/part/automationCreateFinal.phtml diff --git a/app/views/templates/part/automationEdit.phtml b/www/app/views/templates/part/automationEdit.phtml similarity index 100% rename from app/views/templates/part/automationEdit.phtml rename to www/app/views/templates/part/automationEdit.phtml diff --git a/app/views/templates/part/footer.phtml b/www/app/views/templates/part/footer.phtml similarity index 100% rename from app/views/templates/part/footer.phtml rename to www/app/views/templates/part/footer.phtml diff --git a/app/views/templates/part/head.phtml b/www/app/views/templates/part/head.phtml similarity index 100% rename from app/views/templates/part/head.phtml rename to www/app/views/templates/part/head.phtml diff --git a/app/views/templates/part/loginForm.phtml b/www/app/views/templates/part/loginForm.phtml similarity index 100% rename from app/views/templates/part/loginForm.phtml rename to www/app/views/templates/part/loginForm.phtml diff --git a/app/views/templates/part/loginOta.phtml b/www/app/views/templates/part/loginOta.phtml similarity index 100% rename from app/views/templates/part/loginOta.phtml rename to www/app/views/templates/part/loginOta.phtml diff --git a/app/views/templates/part/menu.phtml b/www/app/views/templates/part/menu.phtml similarity index 100% rename from app/views/templates/part/menu.phtml rename to www/app/views/templates/part/menu.phtml diff --git a/app/views/templates/part/test.phtml b/www/app/views/templates/part/test.phtml similarity index 100% rename from app/views/templates/part/test.phtml rename to www/app/views/templates/part/test.phtml diff --git a/app/views/templates/setting.phtml b/www/app/views/templates/setting.phtml similarity index 100% rename from app/views/templates/setting.phtml rename to www/app/views/templates/setting.phtml diff --git a/docker-compose.yml b/www/docker-compose.yml similarity index 100% rename from docker-compose.yml rename to www/docker-compose.yml diff --git a/lang/cs.php b/www/lang/cs.php similarity index 100% rename from lang/cs.php rename to www/lang/cs.php diff --git a/lang/en.php b/www/lang/en.php similarity index 100% rename from lang/en.php rename to www/lang/en.php diff --git a/lang/nl.php b/www/lang/nl.php similarity index 100% rename from lang/nl.php rename to www/lang/nl.php diff --git a/lang/pl.php b/www/lang/pl.php similarity index 100% rename from lang/pl.php rename to www/lang/pl.php diff --git a/library/ApiController.php b/www/library/ApiController.php similarity index 100% rename from library/ApiController.php rename to www/library/ApiController.php diff --git a/library/Controller.php b/www/library/Controller.php similarity index 100% rename from library/Controller.php rename to www/library/Controller.php diff --git a/library/DB.php b/www/library/DB.php similarity index 100% rename from library/DB.php rename to www/library/DB.php diff --git a/library/Form.php b/www/library/Form.php similarity index 100% rename from library/Form.php rename to www/library/Form.php diff --git a/library/Partial.php b/www/library/Partial.php similarity index 100% rename from library/Partial.php rename to www/library/Partial.php diff --git a/library/Router.php b/www/library/Router.php similarity index 100% rename from library/Router.php rename to www/library/Router.php diff --git a/library/Template.php b/www/library/Template.php similarity index 100% rename from library/Template.php rename to www/library/Template.php diff --git a/library/View.php b/www/library/View.php similarity index 100% rename from library/View.php rename to www/library/View.php diff --git a/library/vendor/PHPGangsta_GoogleAuthenticator.php b/www/library/vendor/PHPGangsta_GoogleAuthenticator.php similarity index 100% rename from library/vendor/PHPGangsta_GoogleAuthenticator.php rename to www/library/vendor/PHPGangsta_GoogleAuthenticator.php diff --git a/logs/.gitkeep b/www/logs/.gitkeep similarity index 100% rename from logs/.gitkeep rename to www/logs/.gitkeep diff --git a/manifest.json b/www/manifest.json similarity index 100% rename from manifest.json rename to www/manifest.json diff --git a/public/.htaccess b/www/public/.htaccess similarity index 100% rename from public/.htaccess rename to www/public/.htaccess diff --git a/public/Elementum/scss/elements/_buttons.scss b/www/public/Elementum/scss/elements/_buttons.scss similarity index 100% rename from public/Elementum/scss/elements/_buttons.scss rename to www/public/Elementum/scss/elements/_buttons.scss diff --git a/public/css/font-awesome.min.css b/www/public/css/font-awesome.min.css similarity index 100% rename from public/css/font-awesome.min.css rename to www/public/css/font-awesome.min.css diff --git a/public/css/loading.css b/www/public/css/loading.css similarity index 100% rename from public/css/loading.css rename to www/public/css/loading.css diff --git a/public/css/main.css b/www/public/css/main.css similarity index 100% rename from public/css/main.css rename to www/public/css/main.css diff --git a/public/css/main.css.map b/www/public/css/main.css.map similarity index 100% rename from public/css/main.css.map rename to www/public/css/main.css.map diff --git a/public/css/modal.css b/www/public/css/modal.css similarity index 100% rename from public/css/modal.css rename to www/public/css/modal.css diff --git a/public/css/override.css b/www/public/css/override.css similarity index 100% rename from public/css/override.css rename to www/public/css/override.css diff --git a/public/css/pre.css b/www/public/css/pre.css similarity index 100% rename from public/css/pre.css rename to www/public/css/pre.css diff --git a/public/fonts/FontAwesome.otf b/www/public/fonts/FontAwesome.otf similarity index 100% rename from public/fonts/FontAwesome.otf rename to www/public/fonts/FontAwesome.otf diff --git a/public/fonts/Metropolis-Medium.otf b/www/public/fonts/Metropolis-Medium.otf similarity index 100% rename from public/fonts/Metropolis-Medium.otf rename to www/public/fonts/Metropolis-Medium.otf diff --git a/public/fonts/Metropolis-Regular.otf b/www/public/fonts/Metropolis-Regular.otf similarity index 100% rename from public/fonts/Metropolis-Regular.otf rename to www/public/fonts/Metropolis-Regular.otf diff --git a/public/fonts/Metropolis-SemiBold.otf b/www/public/fonts/Metropolis-SemiBold.otf similarity index 100% rename from public/fonts/Metropolis-SemiBold.otf rename to www/public/fonts/Metropolis-SemiBold.otf diff --git a/public/fonts/fontawesome-webfont.eot b/www/public/fonts/fontawesome-webfont.eot similarity index 100% rename from public/fonts/fontawesome-webfont.eot rename to www/public/fonts/fontawesome-webfont.eot diff --git a/public/fonts/fontawesome-webfont.svg b/www/public/fonts/fontawesome-webfont.svg similarity index 100% rename from public/fonts/fontawesome-webfont.svg rename to www/public/fonts/fontawesome-webfont.svg diff --git a/public/fonts/fontawesome-webfont.ttf b/www/public/fonts/fontawesome-webfont.ttf similarity index 100% rename from public/fonts/fontawesome-webfont.ttf rename to www/public/fonts/fontawesome-webfont.ttf diff --git a/public/fonts/fontawesome-webfont.woff b/www/public/fonts/fontawesome-webfont.woff similarity index 100% rename from public/fonts/fontawesome-webfont.woff rename to www/public/fonts/fontawesome-webfont.woff diff --git a/public/fonts/fontawesome-webfont.woff2 b/www/public/fonts/fontawesome-webfont.woff2 similarity index 100% rename from public/fonts/fontawesome-webfont.woff2 rename to www/public/fonts/fontawesome-webfont.woff2 diff --git a/public/images/icon-192x192.png b/www/public/images/icon-192x192.png similarity index 100% rename from public/images/icon-192x192.png rename to www/public/images/icon-192x192.png diff --git a/public/images/icon-512x512.png b/www/public/images/icon-512x512.png similarity index 100% rename from public/images/icon-512x512.png rename to www/public/images/icon-512x512.png diff --git a/public/index.php b/www/public/index.php similarity index 100% rename from public/index.php rename to www/public/index.php diff --git a/public/js/automation.js b/www/public/js/automation.js similarity index 100% rename from public/js/automation.js rename to www/public/js/automation.js diff --git a/public/js/jquery.js b/www/public/js/jquery.js similarity index 100% rename from public/js/jquery.js rename to www/public/js/jquery.js diff --git a/public/js/jquery.redirect.js b/www/public/js/jquery.redirect.js similarity index 100% rename from public/js/jquery.redirect.js rename to www/public/js/jquery.redirect.js diff --git a/public/js/post.js b/www/public/js/post.js similarity index 100% rename from public/js/post.js rename to www/public/js/post.js diff --git a/public/js/script.js b/www/public/js/script.js similarity index 100% rename from public/js/script.js rename to www/public/js/script.js diff --git a/public/js/setting.js b/www/public/js/setting.js similarity index 100% rename from public/js/setting.js rename to www/public/js/setting.js diff --git a/serviceWorker.js b/www/serviceWorker.js similarity index 100% rename from serviceWorker.js rename to www/serviceWorker.js diff --git a/update.php b/www/update.php similarity index 100% rename from update.php rename to www/update.php diff --git a/updater/.gitkeep b/www/updater/.gitkeep similarity index 100% rename from updater/.gitkeep rename to www/updater/.gitkeep