Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
2f9d1a4
Merge pull request #245 from TiTidom-RC/beta
TiTidom-RC Nov 23, 2025
eef60ba
Update checkPHP.yml
TiTidom-RC Dec 24, 2025
ba85867
update gitignore
TiTidom-RC Dec 29, 2025
d1de593
Rewrite JS
TiTidom-RC Jan 1, 2026
acfa48e
Rewrite JS code
TiTidom-RC Jan 1, 2026
4de6d27
update JS
TiTidom-RC Jan 1, 2026
824b108
rewrite dashboard template Monitoring
TiTidom-RC Jan 2, 2026
46a43c0
Update AsusWRT.html
TiTidom-RC Jan 2, 2026
10f3f88
Rewrite Asus and Monitoring Templates for mobile
TiTidom-RC Jan 2, 2026
17bd3e4
Update info.json
TiTidom-RC Jan 2, 2026
eb93b25
Update Monitoring.js
TiTidom-RC Jan 2, 2026
bd6b162
Update Monitoring.js
TiTidom-RC Jan 2, 2026
bfe4ef2
Update Monitoring.js
TiTidom-RC Jan 2, 2026
20fba80
Update Monitoring.js
TiTidom-RC Jan 2, 2026
8dbefd9
Update Monitoring.js
TiTidom-RC Jan 2, 2026
92a6bca
Add Edit SSHHost code
TiTidom-RC Jan 2, 2026
6be60db
Add Health page
TiTidom-RC Jan 2, 2026
2e0853e
Update install.php
TiTidom-RC Jan 2, 2026
1b69b9c
update health.monitoring.js
TiTidom-RC Jan 2, 2026
c1642b4
update Health page
TiTidom-RC Jan 2, 2026
33b3688
Update health.monitoring.js
TiTidom-RC Jan 2, 2026
69669f6
Update Monitoring.ajax.php
TiTidom-RC Jan 2, 2026
e8d8846
update Health page
TiTidom-RC Jan 2, 2026
ca3f403
Update health.monitoring.js
TiTidom-RC Jan 2, 2026
afe2f3c
update Health page
TiTidom-RC Jan 2, 2026
a4477ee
update Health page
TiTidom-RC Jan 2, 2026
3a50f9d
Update health.monitoring.js
TiTidom-RC Jan 2, 2026
9979798
Update health.monitoring.js
TiTidom-RC Jan 2, 2026
ce3fe35
Update health.monitoring.php
TiTidom-RC Jan 2, 2026
76d435c
Update health.monitoring.js
TiTidom-RC Jan 2, 2026
0558aad
update Health page
TiTidom-RC Jan 2, 2026
118175b
Update health.monitoring.php
TiTidom-RC Jan 2, 2026
6152674
Update health.monitoring.php
TiTidom-RC Jan 2, 2026
2e6e247
Update Monitoring.js
TiTidom-RC Jan 2, 2026
d8bf2c4
update icon color
TiTidom-RC Jan 2, 2026
782c123
Update health.monitoring.php
TiTidom-RC Jan 2, 2026
fafc7d1
Update health.monitoring.js
TiTidom-RC Jan 2, 2026
abb8b5d
Update health.monitoring.js
TiTidom-RC Jan 2, 2026
33975f7
Update health.monitoring.php
TiTidom-RC Jan 2, 2026
c4a925c
Update health.monitoring.js
TiTidom-RC Jan 2, 2026
9d14137
update Health page
TiTidom-RC Jan 3, 2026
cbe7c7a
Update health.monitoring.js
TiTidom-RC Jan 3, 2026
863b98d
Update health.monitoring.js
TiTidom-RC Jan 3, 2026
20ede73
add search in Health page
TiTidom-RC Jan 3, 2026
b955fa5
update search on health page
TiTidom-RC Jan 3, 2026
63e6772
update search in health page
TiTidom-RC Jan 3, 2026
08759d6
Update health.monitoring.js
TiTidom-RC Jan 3, 2026
9e7e791
Update Health page with search
TiTidom-RC Jan 3, 2026
e3b7899
Update Monitoring.js
TiTidom-RC Jan 3, 2026
bfd4aa6
cleanup resources on modal close
TiTidom-RC Jan 3, 2026
b3f024e
update cspell config
TiTidom-RC Jan 3, 2026
92fa626
update gitignore
TiTidom-RC Jan 3, 2026
45974ae
Update settings.json
TiTidom-RC Jan 3, 2026
5691b90
Merge pull request #247 from TiTidom-RC/dev
TiTidom-RC Jan 3, 2026
4cfeeb5
Auto update translation done by Mips2648/plugins-translations workflow
TiTidom-RC Jan 3, 2026
3a38718
Merge pull request #248 from TiTidom-RC/translations
TiTidom-RC Jan 3, 2026
2dc3944
Merge pull request #249 from TiTidom-RC/beta
TiTidom-RC Jan 3, 2026
6ae623a
bugfix on templates
TiTidom-RC Jan 5, 2026
cca0659
update templates
TiTidom-RC Jan 5, 2026
6cd6714
Update info.json
TiTidom-RC Jan 5, 2026
32de8bc
update templates
TiTidom-RC Jan 5, 2026
0956ed0
update templates
TiTidom-RC Jan 5, 2026
f1dd559
update templates
TiTidom-RC Jan 5, 2026
fd57740
update templates
TiTidom-RC Jan 5, 2026
c3b6a01
Update Monitoring.html
TiTidom-RC Jan 5, 2026
dcd5583
Update Monitoring.html
TiTidom-RC Jan 5, 2026
db3399d
Update Monitoring.html
TiTidom-RC Jan 5, 2026
7237205
Update Monitoring.html
TiTidom-RC Jan 5, 2026
9f1c77a
Update Monitoring.html
TiTidom-RC Jan 5, 2026
3bc33ba
Update Monitoring.html
TiTidom-RC Jan 5, 2026
fd70426
use specific template for Synology
TiTidom-RC Jan 6, 2026
4896dcb
Update Monitoring.html
TiTidom-RC Jan 6, 2026
1b7d16d
update templates
TiTidom-RC Jan 6, 2026
7f443be
Update mobile templates
TiTidom-RC Jan 6, 2026
2131856
update templates
TiTidom-RC Jan 6, 2026
d2ddcfa
update templates
TiTidom-RC Jan 6, 2026
9df2979
Update Monitoring.class.php
TiTidom-RC Jan 6, 2026
fa63fec
Update Monitoring class
TiTidom-RC Jan 6, 2026
8e4b044
Update templates
TiTidom-RC Jan 6, 2026
afb4366
Update templates
TiTidom-RC Jan 6, 2026
a6ce8e5
update Syno templates
TiTidom-RC Jan 6, 2026
6eb86a7
Merge pull request #250 from TiTidom-RC/dev
TiTidom-RC Jan 6, 2026
7019bb0
Fix SSH host select initialization timing
TiTidom-RC Jan 8, 2026
e271727
Refactor SSH host select event handling in Monitoring.js
TiTidom-RC Jan 8, 2026
607fe51
Replace unseen/seen with style.display for SSH buttons
TiTidom-RC Jan 8, 2026
a0f1035
Improve robustness of toggleSSHButtons event handling
TiTidom-RC Jan 8, 2026
94bf678
Improve SSH button toggle logic in Monitoring.js
TiTidom-RC Jan 8, 2026
3c1bc7d
Use single quotes in tendance icon HTML output
TiTidom-RC Jan 8, 2026
822b538
Escape HTML attributes in tendance icon output
TiTidom-RC Jan 8, 2026
adc9a50
Merge pull request #251 from TiTidom-RC/dev
TiTidom-RC Jan 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/checkPHP.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v6
- name: PHP Syntax Checker (Lint)
uses: StephaneBour/actions-php-lint@8.2
uses: StephaneBour/actions-php-lint@8.4
with:
dir: '.'
54 changes: 54 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,55 @@
# IDE & Editors
.vscode/*
!.vscode/extensions.json
!.vscode/cspell.json
!.vscode/settings.json

# OS Generated Files
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/

# Editor Temporary Files
*.swp
*.swo
*~
*.bak
*.orig

# PHP Temporary Files
*.tmp
*.cache

# Environment & Configuration
.env
.env.local
.env.*.local

# Logs
logs/
*.log

# Temporary Directories
tmp/
temp/
cache/

# PHP Development Tools
.php_cs.cache
.php-cs-fixer.cache

# PHPUnit
/phpunit.xml
/.phpunit.result.cache
/coverage/

# Build & Distribution
/build/
/dist/

# Security & Credentials
*.pem
*.key
id_rsa*
117 changes: 117 additions & 0 deletions .vscode/cspell.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
{
"version": "0.2",
"words": [
"addressip",
"ajax",
"armv",
"asus",
"asuswrt",
"boottime",
"buffcache",
"buildno",
"buildnumber",
"CACHEDEV",
"cartereseau",
"cartereseauautre",
"cartesreseau",
"clientlist",
"colorhigh",
"colorlow",
"commandtab",
"coretemp",
"cpufreq",
"Cubie",
"dataresult",
"debian",
"dependancy",
"depinstall",
"deporte",
"distri",
"dnsmasq",
"ehthumbs",
"ELEC",
"Eqlogic",
"eqlogictab",
"equipement",
"Equipement",
"esata",
"Etat",
"Eteindre",
"Etes",
"firmver",
"Formated",
"freebsd",
"getcfg",
"getconf",
"getconfiguration",
"getsysinfo",
"gsub",
"hddesata",
"hddusb",
"hddv",
"Historized",
"htmlstate",
"hwmon",
"iface",
"ifname",
"ifnames",
"isset",
"jffs",
"loadavg",
"Localor",
"localorremote",
"localoudistant",
"maitreesclave",
"medion",
"mips",
"mmcblk",
"Monitoringcli",
"Namedashboard",
"Namemobile",
"ncpu",
"netauto",
"netautre",
"nvram",
"Odroid",
"paramaction",
"PCPVERS",
"pcpversion",
"phpunit",
"physmem",
"portssh",
"POSTSAVE",
"poweroffcmd",
"productid",
"productversion",
"PULLCUSTOM",
"PULLLOCAL",
"Rafraichir",
"realip",
"rebootcmd",
"RXTX",
"Ryzen",
"smallfixnumber",
"SSHM",
"sshmanager",
"sunxi",
"swapinfo",
"syno",
"synoinfo",
"synologyesata",
"synologyusb",
"synologyv",
"temppath",
"tempsense",
"Thresholdd",
"timeoutsrv",
"timeoutssh",
"totalsize",
"txrx",
"unconfigured",
"upnpmodelname",
"virt",
"wlan",
"Wyse"
],
"ignoreWords": []
}
107 changes: 1 addition & 106 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,106 +1 @@
{
"cSpell.words": [
"addressip",
"armv",
"asus",
"asuswrt",
"boottime",
"buffcache",
"buildno",
"buildnumber",
"CACHEDEV",
"cartereseau",
"cartereseauautre",
"cartesreseau",
"clientlist",
"colorhigh",
"colorlow",
"commandtab",
"coretemp",
"cpufreq",
"Cubie",
"dataresult",
"debian",
"dependancy",
"depinstall",
"deporte",
"distri",
"dnsmasq",
"ELEC",
"Eqlogic",
"eqlogictab",
"equipement",
"Equipement",
"Etat",
"firmver",
"Formated",
"freebsd",
"getcfg",
"getconf",
"getconfiguration",
"getsysinfo",
"gsub",
"hddesata",
"hddusb",
"hddv",
"Historized",
"hwmon",
"iface",
"ifname",
"ifnames",
"jffs",
"loadavg",
"Localor",
"localorremote",
"localoudistant",
"maitreesclave",
"medion",
"mips",
"mmcblk",
"Monitoringcli",
"Namedashboard",
"Namemobile",
"ncpu",
"netauto",
"netautre",
"nvram",
"Odroid",
"paramaction",
"PCPVERS",
"pcpversion",
"physmem",
"portssh",
"POSTSAVE",
"poweroffcmd",
"productid",
"productversion",
"PULLCUSTOM",
"PULLLOCAL",
"Rafraichir",
"realip",
"rebootcmd",
"RXTX",
"Ryzen",
"smallfixnumber",
"SSHM",
"sshmanager",
"sunxi",
"swapinfo",
"syno",
"synoinfo",
"synologyesata",
"synologyusb",
"synologyv",
"temppath",
"tempsense",
"Thresholdd",
"timeoutsrv",
"timeoutssh",
"totalsize",
"txrx",
"upnpmodelname",
"virt",
"wlan",
"Wyse"
]
}
{}
67 changes: 67 additions & 0 deletions core/ajax/Monitoring.ajax.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,73 @@
}
}

if (init('action') == 'getHealthData') {
$eqLogics = eqLogic::byType('Monitoring');
$healthData = array();

foreach ($eqLogics as $eqLogic) {
$type = $eqLogic->getConfiguration('localoudistant', '');

// Get last refresh from uptime command collectDate
$uptimeCmd = $eqLogic->getCmd('info', 'uptime');
$lastUptime = null;
if (is_object($uptimeCmd)) {
$lastUptime = $uptimeCmd->getCollectDate();
}

$eqData = array(
'id' => $eqLogic->getId(),
'name' => $eqLogic->getName(),
'isEnable' => (int)$eqLogic->getIsEnable(),
'isVisible' => (int)$eqLogic->getIsVisible(),
'type' => $type !== '' ? $type : 'unconfigured',
'sshHostId' => $eqLogic->getConfiguration('SSHHostId', ''),
'sshHostName' => '',
'lastRefresh' => $lastUptime,
'cronCustom' => (int)$eqLogic->getConfiguration('pull_use_custom', 0),
'commands' => array()
);

// Get SSH host name if distant
if ($eqData['type'] === 'distant' && $eqData['sshHostId'] !== '') {
$sshHost = eqLogic::byId($eqData['sshHostId']);
if (is_object($sshHost)) {
$eqData['sshHostName'] = $sshHost->getName();
}
}

// Get specific commands values by logicalId
$cmdLogicalIds = array(
'sshStatus' => 'cnx_ssh',
'cronStatus' => 'cron_status',
'uptime' => 'uptime',
'loadAvg1' => 'load_avg_1mn',
'loadAvg5' => 'load_avg_5mn',
'loadAvg15' => 'load_avg_15mn',
'ip' => 'network_ip'
);

foreach ($cmdLogicalIds as $key => $logicalId) {
$cmd = $eqLogic->getCmd('info', $logicalId);
if (is_object($cmd)) {
$eqData['commands'][$key] = array(
'id' => $cmd->getId(),
'value' => $cmd->execCmd(),
'unit' => $cmd->getUnite(),
'collectDate' => $cmd->getCollectDate(),
'valueDate' => $cmd->getValueDate()
);
} else {
$eqData['commands'][$key] = null;
}
}

$healthData[] = $eqData;
}

ajax::success($healthData);
}

throw new Exception(__('Aucune méthode correspondante à : ', __FILE__) . init('action'));
/* * *********Catch exeption*************** */
} catch (Exception $e) {
Expand Down
Loading