﻿CWI Webinterface


##### 
	Vorläufig wird hier nichts mehr eingetragen! 
	Änderungen werden durch die Commits beschrieben.
	Lediglich die Versionsnummer unter inc_param_verion.php ! MUSS ! hochgezählt werden!
#####



*** v2.54 (22.02.2021 - ojepsen)
- valuePanels.js updated to V0.73

*** v2.53 (18.02.2021 - ojepsen)
- [internal] attr "dx_function" does not work with multiple functions - fixed
- [internal] global_functions.js: add "addDxFunction" which add a function to the dx_function attribute
- [internal] update valueTable to 1.06

*** v2.52 (18.02.2021 - kgerkens)
- [internal] get_data access limited to pages with session id

*** v2.51 (16.02.2021 - ojepsen)
- [internal] alarm_defines: remove "ALARM_SETTINGS_PATH" and "ALARM_STATUS_PATH"
- [internal] alarm_defines: add "ALARM_ROOT_NAME" -> default "csl"

*** v2.50 (16.02.2021 - ojepsen)
- [internal] add "-" to "." converting to getValue()

*** v2.49 (11.02.2021 - rmagnussen)
- increased upload limit for firmware bundles from 40MB to 60MB

*** v2.48 (08.02.2021 - rmagnussen)
- [internal] alarm: added the possibility to check the existence of an alarm item to add it optionally
 
*** v2.47 (05.02.2021 - rmagnussen)
- [internal] data_loader.js: added support for "dx_set_index", which will replace the item index with the given index (e.g. a list of indices)
- storage: added optional display and download possibility of SDP files

*** v2.46 (03.02.2021 - ojepsen)
- [internal] add: new files: inc_alarm_defines.php, inc_alarm_functions.php and inc_alarm_common_defines.php
- [internal] data_loader: add sum status function to dx_type="led"
- ntp: add unit string into input field.

*** v2.45 (29.01.2021 - ojepsen)
- [internal] css: change padding for inputs (text)
- ember+ | global: move unit string into input fields.
- valuePanels.js updated to V0.72
- [internal] add: error msg, if json post answer msg is empty (get_data.php)
- [internal] add: js function: _warning(str) to print warning messages

*** v2.44 (18.01.2021 - ojepsen)
- valuePanels.js updated to V0.71

*** v2.43 (13.01.2021 - rmagnussen)
- Added icon for internal MPX input source

*** v2.42 (07.01.2021 - ojepsen)
- global: Some php errors if aacEnc, opus or aptx codec version not available - fixed
- valuePanels.js updated to V0.70
- valueLevelmeter.js updated to V1.05
- [internal] add: cpu usage to overview and device status. (only in debug mode)
- [internal] add: some css rules
- valueMonitoring.js updated to V0.31

*** v2.41 (21.12.2020 - ojepsen)
- [internal] add: dx_type='led' set the led class by the "state-number" (0 = led_grey, 1 = led_red, 2 = led_green, 3 = led_yellow)
- valuePanels.js updated to V0.69
- valueMonitoring.js updated to V0.30
- valueLevelmeter.js updated to V1.04

*** v2.40 (09.12.2020 - ojepsen)
- valuePanels.js updated to V0.68
- fix: snmp / global: error if snmp mib not exists

*** v2.39 (07.12.2020 - ojepsen)
- [Internal] add: css rule for flexContainer

*** v2.38 (30.11.2020 - ojepsen)
- valuePanels.js updated to V0.67
- valueSelect.js updated to V1.03

*** v2.37 (19.11.2020 - ojepsen)
- firmware check: add info dialog, if no updates available.

*** v2.36 (19.11.2020 - ojepsen)
- valueSelect.js updated to V1.02
- [internal] global: add CSL and CSL Audio Version as Tooltip to App Version.
- fix: ConfirmDialog does not show the "Cancel" Button by default.
- valueMonitoring.js updated to V0.29

*** v2.35 (18.11.2020 - ojepsen)
- [internal] update check: Dialog texts revised

*** v2.34 (17.11.2020 - ojepsen)
- valuePanels.js updated to V0.66
- [internal] - css: Some new rules (style_2wcom.css)
- add: inc_overview.js - Initializes contents that are used across devices in the overview.
- overview: New Device Status View. To use this, add: '<div id="cwiInc_statusCon"></div>' to the overview.php
- add: Firmware update check dialog / button.
	Requirements: 
		- inc_device_params.php must be present.
		- The php variables "$g_device_2wcom_ftp_folder" (e.g. "MPX1g_HSZU") and "g_device_update_check_available = true" must be set (inc_device_params.php).
		- In the 2wcom FTP folder (e.g. "/products/MPX1g_HSZU/software") the file "filelist.xml" must be present. Filelist-Example see "firmwareUpdateCheck_init()".
		- A .htaccess file in the ftp folder.

*** v2.33 (06.11.2020 - rmagnussen)
- log: if (by accident) the localtime file in the file system is empty, the log page did show a PHP error message - Fixed

*** v2.32 (04.11.2020 - ojepsen)
- [Internal] add: css rule for flexContainer
- valuePanels.js updated to V0.65 

*** v2.31 (30.10.2020 - ojepsen)
- valuePanels.js updated to V0.64
- valueLevelmeter.js updated to V1.03
- [Internal] change: remove debugflag from valueMonitoring.js

*** v2.30 (27.10.2020 - ojepsen)
- valuePanels.js updated to V0.63
- valueLevelmeter.js updated to V1.02

*** v2.29 (23.10.2020 - ojepsen)
- [Internal] change: order of the js / css files in the html header
- valuePanels.js updated to V0.62
- valueLevelmeter.js updated to V1.01
- [Internal] add: start, stop parameter to getRandomNumber(...)

*** v2.28 (21.10.2020 - ojepsen)
- js_switchButton.js updated to V2.14
- valueMonitoring.js updated to V0.28
- [Internal] add: some IP-Ids to "inc_data_desc_ids.php"
- tcp/ip: add monitoring to all input values

*** v2.27 (14.10.2020 - rmagnussen)
- ext_clock: 1PPS is now selectable, too, if the SFN license is present

*** v2.26 (09.10.2020 - ojepsen)
- valuePanels.js updated to V0.61

*** v2.25 (08.10.2020 - ojepsen)
- fix: string protptype "startWidth" is not available in IE 11.
- [Internal] debug: On the debug page you can now activate "Force reload all files" by pressing CTRL+F5.
- [Internal] change: "onkeydown" and "onkeyup" callback extended by a "keymap". This map shows the current state of the pressed keys.
- [Internal] change: php function "setJsVariable" sets now a string without adding " at the beginning and end.
- valuePanels.js updated to V0.60

*** v2.24 (06.10.2020 - ojepsen)
- [Internal] add: valueLevelmeter V1.00 (rework of the js_levelmeter_2wcom.js)
- valuePanels.js updated to V0.59

*** v2.23 (02.10.2020 - ojepsen)
- [Internal] add: php Funtion "cookie", which can read and write cookies (write cookie with samesite attr)
- valueMonitoring.js updated to V0.26

*** v2.22 (25.09.2020 - ojepsen)
- fix: The checkbox is not displayed in some cases.

*** v2.21 (25.09.2020 - rmagnussen)
- recovery: Fixed PHP error messages shown in recovery page

*** v2.20 (23.09.2020 - rmagnussen)
- global: Corrected explanation text for the proxy server
- icons: added icon for uMPX codec

*** v2.19 (22.09.2020 - ojepsen)
- valuePanels.js updated to V0.58
- [Internal] debug: ID table is now always cleared before starting.
- global: Improved display for long serial numbers (MoIN).
- [Internal] php: replaced each function, because it is no longer supported. (get_data.php)
- js_switchButton.js updated to V2.13
- valueSelect.js updated to V1.01

*** v2.18 (18.09.2020 - ojepsen)
- change: rework Ember+ site
- [Internal] add: valueSelect V1.00 (rework of the js_select.js)
- [Internal] change: Some selects to the new valueSelect.
- [Internal] add: Function UpdateMultiValueElement(obj). This sets all "child elements" of a multivalue / 2Dmultivalue
- js_switchButton.js updated to V2.12
- valueMonitoring.js updated to V0.25

*** v2.17 (15.09.2020 - rmagnussen)
- valueMonitoring.js updated to V0.24 and valueMonitoring.css updated to V0.11
- global: don't show dolby codec info, if the dolby license is missing

*** v2.16 (11.09.2020 - ojepsen)
- valueMonitoring.js updated to V0.23
- [Internal] fix: GetMultivalueStr() and Get2dMultivalueStr() also consider elements with invalid ids (for example id="[...]_IDX_2" (data_loader.js).
- global: System Info (Name, Desc...) is not updated (page header) after changing - Fixed

*** v2.15 (10.09.2020 - ojepsen)
- fix: Update Firmware via Recovery Login don't work! (JS Error)

*** v2.14 (08.09.2020 - ojepsen)
- js_switchButton.js updated to V2.11

*** v2.13 (07.09.2020 - ojepsen)
- valueMonitoring.js updated to V0.22
- [Internal] change: SetMultiValue() 1. Set also the new value to the parent dom element. 2. Can set a "value-select" select element (data_loader.js).
- [Internal] add: createJsObjStrByMultiPhpArray() to global_functions.js.

*** v2.12 (04.09.2020 - ojepsen)
- valueMonitoring.js updated to V0.21
- [Internal] fix: Debug Page: Error ff an Data ID with "." is used.

*** v2.11 (02.09.2020 - rmagnussen)
- general: title of page/tab is wrong (missing ip or other infos) after page reload or on login page - Fixed

*** v2.10 (26.08.2020 - ojepsen)
- global: change: DebugReport max file size from 10kB to 1MB ;)

*** v2.09 (24.08.2020 - ojepsen)
- global: add Debug Report (available since FileSystem V1.26 and CSL V1.45)

*** v2.08 (24.08.2020 - ojepsen)
- js_levelmeter_2wcom.js updated to V3.5
- [Internal] add: "badLevelThresholdAnalog" and "badLevelThresholdDigital" to convertData / dataDesc

*** v2.07 (17.08.2020 - ojepsen)
- valueMonitoring.js updated to V0.20
- [Internal] add: function "setTabByHref" to global_functions. This search and set a Tab by the href String.
- [Internal] css: ".flexCon_center" set now "display: flex !important;"

*** v2.06 (13.08.2020 - ojepsen)
- Bugfix #0000858: Error on firmware update (within the first minute after starting the device)

*** v2.05 (12.08.2020 - rmagnussen)
- Bugfix #0000856: Error on "SNMP" page after click on Save Button

*** v2.04 (11.08.2020 - ojepsen)
- valueMonitoring.js updated to V0.19

*** v2.03 (06.08.2020 - ojepsen)
- js_levelmeter_2wcom.js updated to V3.4
- valuePanels.js updated to V0.57

*** v2.02 (03.08.2020 - ojepsen)
- js_levelmeter_2wcom.js updated to V3.3
- valuePanels.js updated to V0.56

*** v2.01 (10.07.2020 - ojepsen)
- fix: since v1.96 logging into the recovery is no longer possible. Reason: Change that the admin name can now be changed.

*** v2.00 (09.07.2020 - ojepsen)
- valueMonitoring.js updated to V0.18

*** v1.99 (08.07.2020 - ojepsen)
- valueMonitoring.js updated to V0.17

*** v1.98 (08.07.2020 - ojepsen)
- [Internal] remove: setJsVariableByPhpVar($var) - Reason: The recognition of the name is not reliable.
- [Internal] change: setJsVariable() This php function creates a JS variable, which now always starts with "php_". This makes it easier to recognize them in JS.
- global: added codec versions

*** v1.97 (07.07.2020 - ojepsen)
- valuePanels.js updated to V0.55

*** v1.96 (29.06.2020 - ojepsen)
- user: Setting the user names.
- fix: navi: If a collapsed page is opened, the Navi is not expanded.

*** v1.95 (29.06.2020 - ojepsen)
- [Internal] debug: add kernel log page

*** v1.94 (25.06.2020 - ojepsen)
- global: add bundleversion and fpga builddate
- snmp: add mib download link

*** v1.93 (22.06.2020 - ojepsen)
- [Internal] add: setJsVariableByPhpVar($var) in inc_global_functions.php. This function creates a JS variable from php with the php variable name. Example: $testvar = 123; -> var php_testvar = "123";. This makes it easier to use common structures in php and js.

*** v1.92 (17.06.2020 - ojepsen)
- tcpip: add link status
- [Internal]: getValues() support now multidimensional  arrays

*** v1.91 (15.06.2020 - rmagnussen)
- valuePanels.js updated to V0.54

*** v1.90 (12.06.2020 - rmagnussen)
- valueMonitoring.js updated to V0.16

*** v1.89 (10.06.2020 - ojepsen)
- fix: sometimes there is no information of the reboot process after clicking on the Reboot device - > "Now" button on the Global page. (Issue ID: 840)
- valueMonitoring.js updated to V0.15

*** v1.88 (10.06.2020 - ojepsen)
- [Internal] loadContent: add callback function. This is called after the new content has been loaded.

*** v1.87 (08.06.2020 - ojepsen)
- [Internal] debug: Add reading and setting of any FPGA registers
- [Internal] _print: Consoles output extended. Now the source (file and line) is displayed.
- valueMonitoring.js updated to V0.14

*** v1.86 (04.06.2020 - ojepsen)
- valueMonitoring.js updated to V0.13
- change: The function "DisplayParameter()" sets new values only in the first found element. If the ID exists multiple times, all elements are set now.
- [Internal] change: Jquery Selector summarized in "ReadParameter()" for DX= "read", "readonly" and "refresh"

*** v1.85 (03.06.2020 - rmagnussen)
- global: during settings and rights uploads a PHP error message did show (very shortly) - Fixed

*** v1.84 (02.06.2020 - ojepsen)
- fix: 	Save error if the "}" character is contained.

*** v1.83 (27.05.2020 - ojepsen)
- global: 	add "Browser Tab Title" ("csl.device.sysSettings:webTabTitle"). (Available from CSL V1.31)
			Here you can define the title individually. Additionally, there are variables available ([device], [ip], [name], [loc] and [desc])
- [Internal] change: In "SubmitData2" the individual values are retrieved by "GetValueFromID". Now "GetValueFromObj" is used directly.

*** v1.82 (26.05.2020 - ojepsen)
- change: New creation of the dataDesc.js now also when changing the rights

*** v1.81 (26.05.2020 - rmagnussen)
- fix: The automatic reboot after a firmware update didn't automatically detect anymore, that the app is running again, displaying endlessly "Rebooting device ..."

*** v1.80 (25.05.2020 - ojepsen)
- fix: Cookies are stored without "sameSite" attributes. In later versions of firefox this will cause them to be disabled.
- [internal]: Adjustments to new valueMonitoring version
- valueMonitoring.js updated to V0.12

*** v1.79 (15.05.2020 - ojepsen)
- fix: Device and CWI Audio Web versions are not available in Javascript. Therefore new files were not reloaded and old ones were used from the cache.

*** v1.78 (12.05.2020 - ojepsen)
- valueMonitoring.js updated to V0.11

*** v1.77 (11.05.2020 - ojepsen, rmagnussen)
- [Internal] add: Support for CwiAudioConvertData and $cwiAudioDataDescIds (cwi_audio)
- [Internal] added valueMonitoring.js (+.css)
- ext_clock: 1PPS is now also selectable, if the MPX license is present

*** v1.76 (30.04.2020 - ojepsen)
- valuePanels.js updated to V0.53

*** v1.75 (16.04.2020 - ojepsen, rmagnussen)
- valuePanels.js updated to V0.51
- [Internal] renamed ping.php to app_status.php -> this is used on restart to verify if the APP is already running (ping.php was used by previous web and was expected to be not present)
- Bugfix #0000812: Wrong session timeout message on login page
- Bugfix #0000810: Recovery page shown on reboot after firmware update

*** v1.74 (09.04.2020 - ojepsen)
- [Internal] add: ping.php -> this is used on restart to verify if the APP is already running.
- js_select.js updated to V2.11

*** v1.73 (08.04.2020 - ojepsen)
- fix: If an error occurs during saving, no "Error" is displayed on the Save button.

*** v1.72 (07.04.2020 - ojepsen)
- [Internal] change global: Hide SNMP version if MIB File is not found.

*** v1.71 (02.04.2020 - ojepsen)
- [Internal] change recovery page: Waiting time shortened. LEDs and name, Loc, Desc removed.

*** v1.70 (25.03.2020 - rmagnussen)
- Fixed a bug in the MD5 hash generation in Javascript which resulted in not being able to use special characters (like ä, ö, ü) in passwords

*** v1.69 (24.03.2020 - rmagnussen)
- tcp/ip: added proxy server configuration for MoIN

*** v1.68 (23.03.2020 - ojepsen)
- js_switchbutton.js updated to V2.10
- log: extended log to 5000 entries
- log: allow filtering not only for priority, but for any text
- log: fixed a bug, where the log will not show the maximum number of log entries if the application moved the prior event log to eventlog.2 and started a new eventlog.1
       -> after the maximum number of log entries is reached (prior 1000), the log did only show the new log entries, so e.g. maybe only 1 or 2
- log: enhanced the download, now converting the time to local time here, too, and separating date and time in individual columns

*** v1.67 (18.03.2020 - ojepsen)
- [Internal] add: Support for cwi_audio
- [Internal] add: Support for multiple extra JS files in device_functions.js. example: "{ 'overview': ["cwi_audio/js/overview_codec", "cwi_audio/js/overview_codec_defines"] }"

*** v1.66 (09.03.2020 - rmagnussen)
- gpo: enhanced configuration for GPIO Forwarding (Bugfix #0000785)

*** v1.65 (02.03.2020 - rmagnussen)
- status_device: added HSPS serial number and HW revision (only available with new XPS system controller version)
- global: added adjustable capture time for diagnostic report

*** v1.64 (26.02.2020 - ojepsen)
- fix: error message when the page is executed in an iframe. Message: "Permission denied to access property "ValuePanels" on cross-origin object"

*** v1.63 (26.02.2020 - ojepsen)
- fix: Name, Location, Description is not updated if ReadParameter is not used by a page.
- valuePanels.js updated to V0.50
- [Internal] add: php function getValueArray() - Gets an big array value in smaller chunks from the DataManager.
- [Internal] change: Maximum size of json message extended from 32k to 128k.

*** v1.62 (20.02.2020 - kgerkens)
- osa link fixed
- status/device: updated page to use ValuePanel and added display of present expansion modules

*** v1.61 (17.02.2020 - ojepsen)
- valuePanels.js updated to V0.49

*** v1.60 (14.02.2020 - ojepsen)
- js_select.js updated to V2.10
- [Internal] css: add dark red color

*** v1.59 (04.02.2020 - rmagnussen)
- global: introduces possibility to change the download path to SNMP MIB file (needed for IP-4c/IP-8e/MoIN, which share the same web interface)

*** v1.58 (03.02.2020 - ojepsen, tniendorf)
- fix: Diagnostic Report Progressbar is not displayed.
- fix: after an logout the menu is not collapsible.
- Diagnostic Report changed to tar.gz

*** v1.57 (29.01.2020 - rmagnussen)
- Menu is now only collapsed/expanded by clicking on the arrow, not via clicking on the menu title

*** v1.56 (27.01.2020 - ojepsen)
- fix: after an update the menu is not collapsible.
- valuePanels.js updated to V0.48

*** v1.55 (23.01.2020 - rmagnussen)
- Disabled menu items didn't collapse - Fixed

*** v1.54 (23.01.2020 - ojepsen)
- add: Collapse and expand the menu entries
- updated valueTable.js to V1.05
- status_device: don't show External Clock status block as long as the application does not support it

*** v1.53 (22.01.2020 - ojepsen, lcipriani)
- [Internal] inc_json_data.php: added function getMinMaxStr(id), to get an string like "[6.0 ... 12.5]", which describes the min and max limits.
- [Internal] css: Adjustments for the Submit button ".submit_button".
- [Internal] add: Preparations for the monitoring of all entries. - Comming soon :)
- [Internal] valuePanels.js updated to V0.47
- fix: typing error in time.php
- [Internal] change: Path change to support relative paths. Contains changes to 60 files and may result in incompatible pages.

*** v1.52 (16.01.2020 - ojepsen )
- valuePanels.js updated to V0.46

*** v1.51 (08.01.2020 - ojepsen )
- fix: A session timeout logout is not displayed on the login page.
- add: Waiting note when creating the settings file

*** v1.50 (07.01.2020 - ojepsen )
- [Internal] inc_json_data.php: added function getDesc(id), to get the ID description from datamanager
- [Internal] add: dataDesc.js -> This file is created by the "inc_gen_data_desc_js.php", if it does not exist yet.
								Then the js function getDataDesc (id) is available, which returns an object to the id with the following content {type, min, max, fracDigits}.
								The assigned IDs are defined in "inc_data_desc_ids.php" and the "inc_device_data_desc_ids.php" (for device IDs).  
- valuePanels.js updated to V0.45

*** v1.49 (19.12.2019 - ojepsen )
- [Internal] data_loader.js: added support in multivalue to allow "yes" instead of "1" for checkbox
- [Internal] style_2wcom.css: last tr in rOnlyGrey tables had to bottom border, leading to a small shift in the second to last row when adding/deleting rows 

*** v1.48 (12.12.2019 - ojepsen )
- [Internal] js_select.js update to 2.09

*** v1.47 (11.12.2019 - ojepsen )
- [Internal] change: live_listening.php get channelCnt although it is not used.
- [Internal] fix: After each postInitItems_* call, all Save Buttons are checked for a click event. If this is missing, it is linked with SubmitData(...). This event check is faulty and multiple click events exist.
- [Internal] remove: PHP Debug prints from user.php

*** v1.46 (04.12.2019 - ojepsen )
- fix: After deleting all web files, the overview page is not displayed correctly.

*** v1.45 (03.12.2019 - ojepsen )
- fix: After a firmware update the changed files will not be reloaded. 
	   Solution: The version number (CWI or Device e.g. "?V1.13") is appended to each file name. 
	   IMPORTANT: To ensure that files from the device folder are also loaded correctly, an adjustment must be made in the "layout_head_device.php"!
- [Internal] add: To force the reloading of the files during development, this can be activated on the debug page.

*** v1.44 (29.11.2019 - ojepsen )
- [Internal] change: creation of a multivalue  string in function outsourced (dxType == 'multivalue' und dxType == '2Dmultivalue') (data_loader.js)

*** v1.43 (26.11.2019 - ojepsen )
- [Internal] add: in loadcontent() (global_functions.js) is now checked after the "postInitItems_*" whether the save button has a click eventhandler. If not, a button click event is added.
- [Internal] fix: If the focus is on an input field and "enter" is pressed, the "Save" is only executed if the Save button is of type "submit".

*** v1.42 (25.11.2019 - rmagnussen, ojepsen )
- valueTable.js updated to V1.04
- valuePanels.js updated to V0.44
- [Internal] add: Navi Entries in "naviDebugDefinition" are only visible in "debug-mode". For this purpose a triple click on "Support".
- [Internal] add: INFO icon for dialogs

*** v1.41 (19.11.2019 - ojepsen )
- valuePanels.js updated to V0.43

*** v1.40 (15.11.2019 - ojepsen )
- [Internal] add:  max-age: 0 to meta tag "cache-control" in html header
- [Internal] change: To generate a ConfirmDialog without Cancel Button, the BtnLabel must be set to ""  
- valuePanels.js updated to V0.42

*** v1.39 (14.11.2019 - ojepsen )
- [Internal] change: ReplaceMarksWithIndex(...) -> Now an element array can be passed. (data_loader.js)
- [Internal] scrollTabs.js updated to V0.03

*** v1.38 (12.11.2019 - ojepsen )
- [Internal] add: css styles

*** v1.37 (08.11.2019 - ojepsen )
- fix: Clicking on a switchbutton changes the view to "off", but the value of the checkbox remains "on". (js_switchButton.js updated to V2.03)

*** v1.36 (06.11.2019 - ojepsen )
- [Internal] fix: a "set-error" of a DIV is not displayed (data_loader.js)

*** v1.35 (05.11.2019 - ojepsen )
- valuePanels.js updated to V0.41

*** v1.34 (28.10.2019 - ojepsen )
- [Internal] Fix: Error message by the attribute "class" in $naviDefinition

*** v1.33 (25.10.2019 - ojepsen )
- valuePanels.js updated to V0.40

*** v1.32 (25.10.2019 - ojepsen )
- [Internal] data_loader.js: dx multivalue now masks the separators
- [Internal] JSON decoding change: 
							1. data_loader.js: Old: '#1' -> '\"' New: '#1' -> '"'
							2. inc_json_data.php: Old: '#1' -> '\"' New: '#1' -> '"' AND after decoding, '"' is replaced by HTML-Entities "&qout;"
- [Internal] JSON encoding change:  Changes get_data.php -> BuildJSON_SetMessage(): 
							1. Old: '\"' -> '#1' New: '"' -> '#1'
							2. no conversion by htmlspecialchars()
- valuePanels.js updated to V0.39

*** v1.31 (24.10.2019 - ojepsen )
- valuePanels.js updated to V0.38

*** v1.30 (24.10.2019 - ojepsen )
- js_levelmeter_2wcom.js updated to V3.2
- [Internal] css: ".oV" for "overflow: visible;" is now !important

*** v1.29 (23.10.2019 - kgerkens )
- bugfix #747 Files can be uploaded without any authentification via Http 

*** v1.28 (22.10.2019 - ojepsen )
- valuePanels.js updated to V0.37

*** v1.27 (22.10.2019 - ojepsen )
- js_levelmeter_2wcom.js updated to V3.1

*** v1.26 (22.10.2019 - ojepsen )
- valuePanels.js updated to V0.36

*** v1.25 (18.10.2019 - ojepsen )
- valuePanels.js updated to V0.35
- js_levelmeter_2wcom.js updated to V3.0

*** v1.24 (18.10.2019 - ojepsen )
- [Internal] css: add class flex_spacer5 and flex_spacer10

*** v1.23 (16.10.2019 - ojepsen )
- valuePanels.js updated to V0.34

*** v1.22 (16.10.2019 - ojepsen )
- [Internal] Debug: A menu item can be marked as "debug". To do this, "class" : "eInfo" must be added to the definition ($naviDefinition in inc_menu_layout.php). After a trible click on "Support" the entry is displayed.

*** v1.21 (15.10.2019 - ojepsen )
- scrollTabs.js updated to V0.02
- valuePanels.js updated to V0.33

*** v1.20 (14.10.2019 - rmagnussen )
- Dialogs containing SwitchButtons lead to scrolling to the top when opening the dialog one a page which is scrolled down - Fixed

*** v1.19 (11.10.2019 - rmagnussen )
- [Internal]: MultiValue did not work for input fields and selects - Fixed

*** v1.18 (10.10.2019 - ojepsen )
- fix: after a "Logout" the login page is not displayed.
- valuePanels.js updated to V0.32

*** v1.17 (09.10.2019 - ojepsen )
- valuePanels.js updated to V0.31

*** v1.16 (08.10.2019 - ojepsen )
- valuePanels.js updated to V0.30
- add: SubmitData2(..) callback to parameter list 

*** v1.15 (24.09.2019 - ojepsen )
- valuePanels.js updated to V0.29
- change: Debug pages are displayed by a triple click on the "Support" text.
- change: SubmitData2(..) can now pass an array of objects, which are then stored.


*** v1.14 (24.09.2019 - ojepsen )
- valuePanels.js updated to V0.28

*** v1.13 (11.09.2019 - kgerkens )
- ext_clock: added domain number 
- device status: added domain number


*** v1.12 (02.09.2019 - rmagnussen )
- [Internal]: tabulator tables did have a wrong row height (too high) - Fixed
- data_loader.js: selects may behave irregular on data updates - Fixed

*** v1.11 (28.08.2019 - ojepsen, rmagnussen )
- valuePanels.js updated to V0.27
- change: In data_loader.js -> "dx_function" is now usable for all "dx"-types.
- fix: some artifacts in the image (speaker_low.png and speaker_middle.png) removed 
- [Internal]: Moved tabulator storage in ValueTable.js (column order, sorting) from cookie to web local storage to avoid HTTP header flooding with to much/big cookies
- [Internal]: ICY Player: better cross-browser handling (start from different browsers)

*** v1.10 (26.08.2019 - ojepsen, rmagnussen )
- updated: select.js to V2.07
- updated: initSwitchButton(searchObj, allowDuplicatedId) in global_functions.js to V1.03
- inc_json_data.php: add query if /device/debugServer.php exists. If yes, it will be loaded. Over this "$g_server_ip" and "g_server_port" can be overwritten.
- style_ui.css: Buttons within a dialog are now styled correctly.
- Web interface session timeout did not work - Fixed
- Added optional External Clock status to Status/Device page

*** v1.09 (21.08.2019 - ojepsen )
- valuePanels.js updated to V0.26
- change: global_functions.js -> Array function "injectArray" changed to a normal function injectArray( target, idx, arr ) 

*** V1.08 (20.08.2019 - rmagnussen )
- updated valueTable.js to v1.03

*** v1.07 (20.08.2019 - ojepsen )
- valuePanels.js updated to V0.25 -> !!! Important! Some changes require adjustments of the Field/Value layout! See History in valuePanels.js file! !!!
- levelmeter_2wcom.js updated to V2.1
- change: data_loader.js -> dx_function now allows multiple functions. These are separated by a ";".
- add: global_functions.js -> Array function "injectArray" added. 

*** v1.06 (12.08.2019 - rmagnussen )
- Added optional "Live Listening" (Icecast Server) control to top menu
- Added "Live Listening" configuration page

*** v1.05 (05.08.2019 - ojepsen )
- valuePanels.js updated to V0.24

*** v1.04 (02.08.2019 - ojepsen )
- valuePanels.js updated to V0.23

*** v1.03 (30.07.2019 - ojepsen )
- valuePanels.js updated to V0.22

*** v1.02 (26.07.2019 - rmagnussen)
- global: Added missing rights

*** v1.01 (24.07.2019 - kgerkens)
- CSRF protection not working using empty token fixed
- Recovery: reboot without function after app crash - recovery.js: loadcontent function removed

*** v1.00 (19.07.2019 - rmagnussen )
- valuePanels.js updated to V0.21
- valueTable.js updated to V1.02
- tcp/ip: disabled speed and duplex selection, as it is not working yet

*** v0.57 (16.07.2019 - rmagnussen )
- tcpip/user: Fixed problems with checkboxes/switchbuttons not showing/hiding corresponding UI sections

*** v0.56 (15.07.2019 - rmagnussen )
- style_ui.css: added "plusTab" styling to bigTabs

*** v0.55 (12.07.2019 - kgerkens )
- ptp configuration added

*** v0.54 (09.07.2019 - rmagnussen )
- style_ui.css updated

*** v0.53 (08.07.2019 - rmagnussen )
- user: fixed PHP error messages

*** v0.52 (05.07.2019 - ojepsen )
- add clearContentData() to global_functions.js -> This is called before every page change and enables you to execute actions before the change.
- valuePanels.js update to V0.20

*** v0.51 (04.07.2019 - rmagnussen )
- Fixed a problem in data_loader.js, not allowing to run under IE11
- Fixed a problem with the tabs under IE11 (style_ui.css)
- Added valueTable.js

*** v0.50 (04.07.2019 - kgerkens)
- user: adapted menu access for manager and guest
- user: pw save bug fixed, code optimized

*** v0.49 (01.07.2019 - ojepsen )
- valuePanels.js update to V0.10

*** v0.48 (01.07.2019 - ojepsen )
- js_levelmeter_2wcom.js update to V2.0

*** v0.47 (28.06.2019 - ojepsen )
- valuePanels.js update to V0.09

*** v0.46 (28.06.2019 - ojepsen )
- valuePanels.css update to V0.08
- valuePanels.js update to V0.08

*** v0.45 (28.06.2019 - ojepsen )
- valuePanels.css update to V0.07
- valuePanels.js update to V0.07

*** v0.44 (28.06.2019 - rmagnussen )
- valuePanels.css update to V0.06

*** v0.43 (27.06.2019 - rmagnussen )
- valuePanels.css update to V0.05

*** v0.42 (24.06.2019 - ojepsen )
- global_functions: _print() can now print objects
- valuePanels.js update to V0.06

*** v0.41 (24.06.2019 - ojepsen )
- valuePanels.js update to V0.05

*** v0.40 (21.06.2019 - kgerkens )
- changed mm04 bundleprefix to ip4c ( MANDATORY VERSION for future updates! )


*** v0.39 (24.06.2019 - ojepsen )
- valuePanels.js update to V0.04


*** v0.38 (21.06.2019 - ojepsen )
- Fixed a bug introduced in data_loader.js, making dx_type 'multivalue' fields only getting the first character per field
- Changed getValues to allow for array indices unequal 0,1,2...


*** v0.37 (19.06.2019 - ojepsen )
- add something to data_loader.js 


*** v0.36 (18.06.2019 - ojepsen )
- valuePanels.js update to V0.03
- fix: saving a bitfield doesn't work anymore

*** v0.35 (18.06.2019 - kgerkens )
- image: e1.png added


*** v0.34 (14.06.2019 - ojepsen )
- js_select.js: Fix a problem with events not working after a reinit
- style_2wcom.css: added droppableTarget and droppableTargetActive classes plus rwGrey class (to be used instead of rOnlyGrey in case of direct edit elements in the table)


*** v0.33 (12.06.2019 - ojepsen )
- add: "dx_save" to data_loader.js -> An element with "dx_save"="visible will only be saved if it is visible.
- fix: If an error occurs during saving, the "save button" is not reset correctly.


*** v0.32 (05.06.2019 - ojepsen )
- remove ui-icons: 	ui-icons_cd0a0a_256x240.png, 
					ui-icons_FF4000_256x240.png, 
					ui-icons_60CC00_256x240.png, 
					ui-icons_888888_256x240.png, 
					ui-icons_005ea8_256x240.png,
					ui-icons_2e83ff_256x240.png,
					ui-icons_454545_256x240.png,
					ui-icons_222222_256x240.png
- add ui-icon for red-color:				ui-icons_e61f38_256x240.png (ersetzt ui-icons_cd0a0a_256x240.png)
- add ui-icon for orange-color:				ui-icons_f3943e_256x240.png (ersetzt ui-icons_FF4000_256x240.png)
- add ui-icon for green-color:				ui-icons_23af8c_256x240.png (ersetzt ui-icons_60CC00_256x240.png)
- add ui-icon for disabled-green-color:		ui-icons_99CCBB_256x240.png
- add ui-icon for dark-green-color:			ui-icons_1e9476_256x240.png
- add ui-icon for black-color:				ui-icons_3c3c3c_256x240.png (ersetzt ui-icons_222222_256x240.png)
- add ui-icon for dark-grey-color:			ui-icons_585858_256x240.png (ersetzt ui-icons_454545_256x240.png)
- add ui-icon for medium-grey-color:		ui-icons_cccccc_256x240.png (ersetzt ui-icons_888888_256x240.png)
- add ui-icon for light-grey-color:			ui-icons_efefef_256x240.png
- add ui-icon for blue-color:				ui-icons_285a8c_256x240.png (ersetzt ui-icons_2e83ff_256x240.png)
- add ui-icon for dark-blue-color:			ui-icons_224c76_256x240.png (ersetzt ui-icons_005ea8_256x240.png)
- fix/change: old ui-icon urls
- fix: nested white tabs are not displayed correctly. 
- switchButton.js update to v2.01
- scrollTabs.js add debug prints
- global_functions.js add function: find_duplicate_in_array(array)
- data_loader.js add function: GetValueFromObj(obj)


*** v0.31 (04.06.2019 - kgerkens, ojepsen )
- recovery: "mm04" removed from firmware upload file description 
- update: valuePanels.js to v0.02
- update: js_levelmeter_2wcom.js to v1.9


*** v0.30 (28.05.2019 - rmagnussen )
- tcp/ip: re-enabled VLAN configuration for Data1/2, now allowing up to 8 VLANs


*** v0.29 (27.05.2019 - kgerkens )
- global: mib file path fixed


*** v0.28 (24.05.2019 - ojepsen )
- valuePanels: add field switch, add field groups


*** v0.27 (21.05.2019 - ojepsen )
- fix: data ip address was set to 192.168.100.135. Now: localhost (127.0.0.1)


*** v0.26 (20.05.2019 - ojepsen )
- add: valuePanels.js and valuePanels.css
- add: some functions to global_function.js


*** v0.25 (17.05.2019 - rmagnussen )
- Fixed small visual quirk for encoder output tabs on overview page 


*** v0.24 (15.05.2019 - rmagnussen )
- internal: get_deviceFileStr used "csl.device.sysSettings:deviceTypeName" instead of "virt.csl.device.info:deviceTypeName", leading to the inability to upload settings file, as long as the deviceTypeName under sysSettings is not set - Fixed
- tcp/ip: disabled VLANs again, as it is not yet fully functional


*** v0.23 (14.05.2019 - ojepsen )
- add: scrollTabs.js / scrollTabs.css
- add: mousewheel.js
- move: ember.php from device to cwi
- change: some design changes


*** v0.22 (14.05.2019 - kgerkens )
- tcp/ip: VLANs for data1-2 enabled


*** v0.21 (13.05.2019 - rmagnussen )
- When saving dialog settings, hidden elements may not give correct value, leading to an error on save. So only send value of visible fields.


*** v0.20 (13.05.2019 - rmagnussen )
- global: settings upload did not work anymore - Fixed


*** v0.19 (07.05.2019 - kgerkens )
- global: firmware update for all 4audio devices not only mm04


*** v0.18 (06.05.2019 - kgerkens, rmagnussen )
- global: mib file link fixed
- overview: omit web_versioncheck, as it produces PHP warning on MoIN


*** v0.17 (30.04.2019 - kgerkens )
- SNMP/EMBER+ cwi separated
- headphone.php moved to device


*** v0.16 ( 26.04.2019 - ojepsen )
- change: many design changes (removed classes: pm, B4)
- add: blank overview page


*** v0.15 ( 25.04.2019 - ojepsen )
- fix: storage upload don't work
- fix: log -> clear jump to overview site
- fix: recovery options don't work
- change: recovery design
- change: cookies are now always saved in advance with the devicename e.g. "ip-4c_" + [cookie-name]
- add: the recovery site show now the status of reboot, load or firmware update.


*** v0.14 ( 24.04.2019 - ojepsen )
- fix: tcp/ip site: no save button animation
- fix: wrong save btn animation
- fix: settings update doesn't work


*** v0.13 ( 24.04.2019 - ojepsen )
- fix: settings and diagnostic report display fail (global page)


*** v0.12 ( 23.04.2019 - ojepsen )
- change device folder to "device"
- fix: wait.php was not allowed :)


*** v0.11 ( 18.04.2019 - kgerkens, ojepsen )
- first version
