diff --git a/README.md b/README.md index 8714226d..8a7a644d 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ CCU.IO ====== -*aktuelle Version: 0.9.86* +*aktuelle Version: 0.9.87* CCU.IO ist eine Node.js Applikation die eine Script-Engine, verschiedene Adapter zum Einbinden von Fremdsystemen und einen Web-Server bereitstellt und via BIN-RPC mit rfd, hs485d und CUxD kommuniziert. Über eine Websocket-Verbindung kann CCU.IO Web-Browser über Events nach dem Push-Prinzip informieren. CCU.IO bringt ausserdem im Verzeichnis /www/lib gängige Bibliotheken für die Entwicklung von Web-Oberflächen mit. @@ -539,6 +539,11 @@ Bindet CCU.IO an eine MySQL Datenbank an. Des notwendige Schema und Beispiel-Que ## Changelog +### 0.9.87 +* (Hobbyquaker) fehlende jQuery UI Themes hinzugefügt (hat dazu geführt dass DashUI >= 0.9beta39 nicht mehr funktioniert hat) +* (Bluefox) Ping Adapter: minimal-Intervall wird geprüft +* (Smiling-Jack) readdirStat Methode: fängt leere Verzeichnisse ab + ### 0.9.86 * (Hobbyquaker) Hue-Adapter: Colormode-Wechsel verbessert, Bugfixes diff --git a/ccu.io/ccu.io.js b/ccu.io/ccu.io.js index f599ae49..8efb6ed5 100644 --- a/ccu.io/ccu.io.js +++ b/ccu.io/ccu.io.js @@ -13,7 +13,7 @@ var settings = require(__dirname+'/settings.js'); -settings.version = "0.9.86"; +settings.version = "0.9.87"; settings.basedir = __dirname; settings.stringTableLanguage = settings.stringTableLanguage || "de"; settings.regahss.metaScripts = [ @@ -1190,8 +1190,7 @@ function initSocketIO(_io) { _io.configure(function (){ this.set('authorization', function (handshakeData, callback) { var isHttps = (serverSsl !== undefined && this.server == serverSsl); - if ((!isHttps && settings.authentication.enabled) || - ( isHttps && settings.authentication.enabledSsl)) { + if ((!isHttps && settings.authentication.enabled) || (isHttps && settings.authentication.enabledSsl)) { if (handshakeData.query["key"] === undefined || handshakeData.query["key"] != authHash) { logger.info("ccu.io authetication error on "+(isHttps ? "https from " : "http from ") + handshakeData.address.address); callback ("Invalid session key", false) @@ -1250,28 +1249,32 @@ function initSocketIO(_io) { } }); }); - - socket.on('readdirStat', function (path, callback) { + + socket.on('readdirStat', function(path, callback) { path = __dirname + "/" + path; - logger.info("socket.io <-- readdirStat " + path); + logger.info("socket.io <-- readdir_stat " + path); fs.readdir(path, function(err, files) { var data = []; if (err) { callback(undefined); } - files.forEach(function(file) { - fs.stat(path + file, function(err, stats) { - data.push({ - "file": file, - "stats": stats + if (files.length == 0) { + callback(undefined); + } else { + files.forEach(function(file) { + fs.stat(path + file, function(err, stats) { + data.push({ + "file": file, + "stats": stats + }); + if (data.length == files.length) { + callback(data); + logger.info(data); + } }); - if (data.length == files.length) { - callback(data); - logger.info(data); - } }); - }); + } }); });