Fix sorting room, fix form sending after sorting and add column Historie

This commit is contained in:
Haitem
2021-01-05 12:19:30 +01:00
parent 64b50ead9f
commit b5b2bb95a7
9 changed files with 58 additions and 26 deletions

View File

@@ -187,20 +187,31 @@ class Utilities
* @param string $operator ('asc'/'desc')
* @return void
*/
static function sortArrayByKey($data = [], $key, $operator = "asc"){
if ($operator == "asc")
{
uasort($data, function($a, $b) use ($key){
if ($a[$key] == $b[$key]) return 0;
return ($a[$key] < $b[$key]) ? -1 : 1;
static function sortArrayByKey($data = [], $key, $operator = "asc")
{
if ($operator == "asc") {
uasort($data, function ($a, $b) use ($key) {
$SortA = $a[$key];
$SortB = $b[$key];
if ($key == "room_id") {
$SortA = RoomManager::getRoomName($SortA);
$SortB = RoomManager::getRoomName($SortB);
}
if ($SortA == $SortB) return 0;
return ($SortA < $SortB) ? -1 : 1;
});
} else{
uasort($data, function($a, $b) use ($key){
if ($a[$key] == $b[$key]) return 0;
return ($a[$key] > $b[$key]) ? -1 : 1;
} else {
uasort($data, function ($a, $b) use ($key) {
$SortA = $a[$key];
$SortB = $b[$key];
if ($key == "room_id") {
$SortA = RoomManager::getRoomName($SortA);
$SortB = RoomManager::getRoomName($SortB);
}
if ($SortA == $SortB) return 0;
return ($SortA > $SortB) ? -1 : 1;
});
}
return $data;
}
}

View File

@@ -19,6 +19,12 @@ class RoomManager{
return $allRoom;
}
public static function getRoomName ($room_id) {
//TODO: ignore Widgets withoud data
$allRoom = Db::loadAlone ("SELECT name FROM rooms WHERE room_id=?", array ($room_id));
return $allRoom;
}
public static function create ($name) {
$room = array (
'name' => $name,

View File

@@ -66,6 +66,10 @@ class SubDeviceManager
}
}
public static function editSubDevicesByDevice ($deviceId, $subDeviceParameters) {
DB::edit('subdevices', $subDeviceParameters, 'WHERE device_id=?', array ($deviceId));
}
public static function remove($subDeviceId)
{
RecordManager::cleanSubdeviceRecords($subDeviceId);
@@ -103,7 +107,7 @@ class SubDeviceManager
public static function getSubdeviceDetailById($subDeviceId){
if (empty($subDeviceId)) return NULL;
$rows = Db::loadOne("SELECT d.room_id, d.sleep_time, sd.subdevice_id, sd.type, sd.device_id FROM subdevices sd
$rows = Db::loadOne("SELECT d.room_id, d.sleep_time, sd.subdevice_id, sd.type, sd.device_id FROM subdevices sd
JOIN devices d ON sd.device_id = d.device_id
WHERE sd.subdevice_id = ? ", [$subDeviceId]);