181 lines
5.9 KiB
Plaintext
181 lines
5.9 KiB
Plaintext
|
<!-- <?php
|
||
|
|
||
|
//
|
||
|
// class Home extends Template
|
||
|
// {
|
||
|
// function __construct()
|
||
|
// {
|
||
|
// global $userManager;
|
||
|
// global $lang;
|
||
|
//
|
||
|
// if (!$userManager->isLogin()){
|
||
|
// header('Location: ./login');
|
||
|
// }
|
||
|
//
|
||
|
// $template = new Template('home');
|
||
|
//
|
||
|
// //users instantialize
|
||
|
// $users = UserManager::getUsers();
|
||
|
// $template->prepare('users', $users);
|
||
|
//
|
||
|
// //Users at home Info
|
||
|
// $usersAtHome = '';
|
||
|
// $i = 0;
|
||
|
// foreach ($users as $user) {
|
||
|
// $i++;
|
||
|
// if ($user['at_home'] == 'true') {
|
||
|
// $usersAtHome .= $user['username'];
|
||
|
// if ($usersAtHome != "" && isset($users[$i + 1])){
|
||
|
// $usersAtHome .= ', ';
|
||
|
// }
|
||
|
// }
|
||
|
// }
|
||
|
// $template->prepare('usersAtHome', $usersAtHome);
|
||
|
//
|
||
|
// $roomsItems = [];
|
||
|
// $roomsData = RoomManager::getAllRooms();
|
||
|
// foreach ($roomsData as $roomKey => $roomsData) {
|
||
|
// $devices = [];
|
||
|
// $devicesData = DeviceManager::getAllDevicesInRoom($roomsData['room_id']);
|
||
|
// foreach ($devicesData as $deviceKey => $deviceData) {
|
||
|
// $subDevices = [];
|
||
|
// $subDevicesData = SubDeviceManager::getAllSubDevices($deviceData['device_id']);
|
||
|
// foreach ($subDevicesData as $subDeviceKey => $subDeviceData) {
|
||
|
//
|
||
|
// $events = RecordManager::getLastRecord($subDeviceData['subdevice_id'], 5);
|
||
|
//
|
||
|
// $connectionError = false;
|
||
|
// $parsedValue = "";
|
||
|
// $niceTime = "";
|
||
|
//
|
||
|
// if (sizeof($events) > 1) {
|
||
|
//
|
||
|
// //TODO: skontrolovat zdali se jedná o poslední (opravdu nejaktuálnější) záznam
|
||
|
// $lastRecord = $events[0];
|
||
|
//
|
||
|
// $parsedValue = round($lastRecord['value']);
|
||
|
//
|
||
|
// /*Value Parsing*/
|
||
|
// if ($subDeviceData['type'] == "on/off") {
|
||
|
// $parsedValue = ($parsedValue == 1 ? 'ON' : 'OFF');
|
||
|
// }
|
||
|
//
|
||
|
// if ($subDeviceData['type'] == "door") {
|
||
|
// $replacementTrue = 'Closed';
|
||
|
// $replacementFalse = 'Opened';
|
||
|
// foreach ($events as $key => $value) {
|
||
|
// $events[$key]['value'] = ($value['value'] == 1 ? $replacementTrue : $replacementFalse);
|
||
|
// }
|
||
|
// $parsedValue = ($parsedValue == 1 ? $replacementTrue : $replacementFalse);
|
||
|
// }
|
||
|
//
|
||
|
// if ($subDeviceData['type'] == "light") {
|
||
|
// $replacementTrue = 'Light';
|
||
|
// $replacementFalse = 'Dark';
|
||
|
// foreach ($events as $key => $value) {
|
||
|
// if ($parsedValue != 1){
|
||
|
// //Analog Reading
|
||
|
// $events[$key]['value'] = ($value['value'] <= 810 ? $replacementTrue : $replacementFalse);
|
||
|
// } else {
|
||
|
// //Digital Reading
|
||
|
// $events[$key]['value'] = ($value['value'] == 0 ? $replacementTrue : $replacementFalse);
|
||
|
// }
|
||
|
// }
|
||
|
// if ($parsedValue != 1){
|
||
|
// //Analog Reading
|
||
|
// $parsedValue = ($parsedValue <= 810 ? $replacementTrue : $replacementFalse);
|
||
|
// } else {
|
||
|
// //Digital Reading
|
||
|
// $parsedValue = ($parsedValue == 0 ? $replacementTrue : $replacementFalse);
|
||
|
// }
|
||
|
// }
|
||
|
//
|
||
|
// $date2 = new DateTime($lastRecord['time']);
|
||
|
//
|
||
|
// $niceTime = $this->ago($date2);
|
||
|
//
|
||
|
//
|
||
|
// $startDate = date_create($lastRecord['time']);
|
||
|
// $interval = $startDate->diff(new DateTime());
|
||
|
// $hours = $interval->format('%h');
|
||
|
// $minutes = $interval->format('%i');
|
||
|
// $lastSeen = ($hours * 60 + $minutes);
|
||
|
//
|
||
|
// if ($lastSeen > $deviceData['sleep_time'] && $subDeviceData['type'] != "on/off") {
|
||
|
// $connectionError = true;
|
||
|
// }
|
||
|
// } else {
|
||
|
// $connectionError = true;
|
||
|
// }
|
||
|
//
|
||
|
// $subDevices[$subDeviceData['subdevice_id']] = [
|
||
|
// 'events'=> $events,
|
||
|
// 'type' => $subDeviceData['type'],
|
||
|
// 'unit' => $subDeviceData['unit'],
|
||
|
// 'comError' => $connectionError,
|
||
|
// 'lastRecort' => [
|
||
|
// 'value' => (empty($parsedValue) ? 0 : $parsedValue),
|
||
|
// 'time' => (empty($lastRecord['time']) ? "00:00" : $lastRecord['time']),
|
||
|
// 'niceTime' => (empty($niceTime) ? "00:00" : $niceTime),
|
||
|
// ],
|
||
|
// ];
|
||
|
// }
|
||
|
//
|
||
|
// $permissionArray = json_decode($deviceData['permission']);
|
||
|
//
|
||
|
// $userIsDeviceAdmin = false;
|
||
|
// if($permissionArray[1] == 3) {
|
||
|
// $userIsDeviceAdmin = true;
|
||
|
// } else if ($permissionArray[0] == 3) {
|
||
|
// if ( $deviceData['owner'] == $userManager->getUserData('user_id')) {
|
||
|
// $userIsDeviceAdmin = true;
|
||
|
// }
|
||
|
// }
|
||
|
//
|
||
|
// $devices[$deviceData['device_id']] = [
|
||
|
// 'name' => $deviceData['name'],
|
||
|
// 'icon' => $deviceData['icon'],
|
||
|
// 'room' => $deviceData['room_id'],
|
||
|
// 'token' => $deviceData['token'],
|
||
|
// 'sleepTime' => $deviceData['sleep_time'],
|
||
|
// 'approved' => $deviceData['approved'],
|
||
|
// 'permission' => $permissionArray,
|
||
|
// 'owner' => $deviceData['owner'],
|
||
|
// 'userIsAdmin' => $userIsDeviceAdmin,
|
||
|
// 'subDevices' => $subDevices,
|
||
|
// ];
|
||
|
// }
|
||
|
// $roomsItems[$roomsData['room_id']] = [
|
||
|
// 'name' => $roomsData['name'],
|
||
|
// 'deviceCount' => $roomsData['device_count'],
|
||
|
// 'devices' => $devices,
|
||
|
// ];
|
||
|
// }
|
||
|
//
|
||
|
// $rooms = RoomManager::getAllRooms();
|
||
|
// $template->prepare('rooms', $rooms);
|
||
|
// $template->prepare('title', 'Home');
|
||
|
// $template->prepare('lang', $lang);
|
||
|
// $template->prepare('data', $roomsItems);
|
||
|
//
|
||
|
// $template->render();
|
||
|
//
|
||
|
// }
|
||
|
//
|
||
|
// function ago( $datetime )
|
||
|
// {
|
||
|
// $interval = date_create('now')->diff( $datetime );
|
||
|
// $suffix = ( $interval->invert ? ' ago' : '' );
|
||
|
// if ( $v = $interval->y >= 1 ) return $this->pluralize( $interval->m, 'month' ) . $suffix;
|
||
|
// if ( $v = $interval->d >= 1 ) return $this->pluralize( $interval->d, 'day' ) . $suffix;
|
||
|
// if ( $v = $interval->h >= 1 ) return $this->pluralize( $interval->h, 'hour' ) . $suffix;
|
||
|
// if ( $v = $interval->i >= 1 ) return $this->pluralize( $interval->i, 'minute' ) . $suffix;
|
||
|
// return $this->pluralize( $interval->s, 'second' ) . $suffix;
|
||
|
// }
|
||
|
//
|
||
|
// function pluralize( $count, $text )
|
||
|
// {
|
||
|
// return $count . ( ( $count == 1 ) ? ( " $text" ) : ( " ${text}s" ) );
|
||
|
// }
|
||
|
// }
|