mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 01:26:11 -08:00
@@ -7,7 +7,8 @@ ENV USER=pi USER_ID=1000 USER_GID=1000 TZ=Europe/London PORT=20211
|
||||
# Todo, do we still need all these packages? I can already see sudo which isn't needed
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install --no-install-recommends ca-certificates curl libwww-perl arp-scan perl apt-utils cron sudo lighttpd php php-cgi php-fpm php-sqlite3 sqlite3 dnsutils net-tools python iproute2 nmap -y \
|
||||
&& apt-get install --no-install-recommends ca-certificates curl libwww-perl arp-scan perl apt-utils cron sudo lighttpd php php-cgi php-fpm php-sqlite3 sqlite3 dnsutils net-tools python iproute2 nmap python-pip -y \
|
||||
&& pip install requests \
|
||||
&& apt-get clean autoclean \
|
||||
&& apt-get autoremove \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
|
||||
@@ -84,7 +84,7 @@ A web frontal that allows:
|
||||
With the work of [jokob-sk/Pi.Alert](https://github.com/jokob-sk/Pi.Alert) and own extensions, the new maintenance page was added with various possibilities for maintenance and settings:
|
||||
- Status Infos (active scans, database size, backup counter)
|
||||
- Theme Selection (blue, red, green, yellow, black, purple)
|
||||
- Language Selection (english, german)
|
||||
- Language Selection (english, german, spanish)
|
||||
- Light/Dark-Mode Switch
|
||||
- Pause arp-scan
|
||||
- DB maintenance tools
|
||||
|
||||
@@ -27,7 +27,7 @@ import socket
|
||||
import io
|
||||
import smtplib
|
||||
import csv
|
||||
|
||||
import requests
|
||||
|
||||
#===============================================================================
|
||||
# CONFIG CONSTANTS
|
||||
@@ -356,7 +356,7 @@ def scan_network ():
|
||||
|
||||
# ScanCycle data
|
||||
cycle_interval = scanCycle_data['cic_EveryXmin']
|
||||
arpscan_retries = scanCycle_data['cic_arpscanCycles']
|
||||
# arpscan_retries = scanCycle_data['cic_arpscanCycles'] no longer needed
|
||||
# TESTING - Fast scan
|
||||
# arpscan_retries = 1
|
||||
|
||||
@@ -364,7 +364,7 @@ def scan_network ():
|
||||
print ('\nScanning...')
|
||||
print (' arp-scan Method...')
|
||||
print_log ('arp-scan starts...')
|
||||
arpscan_devices = execute_arpscan (arpscan_retries)
|
||||
arpscan_devices = execute_arpscan ()
|
||||
print_log ('arp-scan ends')
|
||||
# DEBUG - print number of rows updated
|
||||
# print (arpscan_devices)
|
||||
@@ -450,7 +450,7 @@ def query_ScanCycle_Data (pOpenCloseDB = False):
|
||||
return sqlRow
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
def execute_arpscan (pRetries):
|
||||
def execute_arpscan ():
|
||||
|
||||
# #101 - arp-scan subnet configuration
|
||||
# Prepare command arguments
|
||||
@@ -465,7 +465,7 @@ def execute_arpscan (pRetries):
|
||||
# Rolled back line(FROM) :
|
||||
#arpscan_args = ['sudo', 'arp-scan', '--ignoredups', '--bandwidth=512k', '--retry=3', SCAN_SUBNETS]
|
||||
# Rolled back line(TO) :
|
||||
arpscan_args = ['sudo', 'arp-scan', '--ignoredups', '--retry=3'] + subnets
|
||||
arpscan_args = ['sudo', 'arp-scan', '--ignoredups', '--retry=6'] + subnets
|
||||
# ---------------END------------------Rollback-----------------END---------------
|
||||
|
||||
# Default arp-scan
|
||||
@@ -711,12 +711,18 @@ def print_scan_stats ():
|
||||
sql.execute("SELECT * FROM Devices")
|
||||
History_All = sql.fetchall()
|
||||
History_All_Devices = len(History_All)
|
||||
|
||||
sql.execute("SELECT * FROM Devices WHERE dev_Archived = 1")
|
||||
History_Archived = sql.fetchall()
|
||||
History_Archived_Devices = len(History_Archived)
|
||||
|
||||
sql.execute("""SELECT * FROM CurrentScan WHERE cur_ScanCycle = ? """, (cycle,))
|
||||
History_Online = sql.fetchall()
|
||||
History_Online_Devices = len(History_Online)
|
||||
History_Offline_Devices = History_All_Devices - History_Online_Devices
|
||||
sql.execute ("INSERT INTO Online_History (Scan_Date, Online_Devices, Down_Devices, All_Devices) "+
|
||||
"VALUES ( ?, ?, ?, ?)", (startTime, History_Online_Devices, History_Offline_Devices, History_All_Devices ) )
|
||||
History_Offline_Devices = History_All_Devices - History_Archived_Devices - History_Online_Devices
|
||||
|
||||
sql.execute ("INSERT INTO Online_History (Scan_Date, Online_Devices, Down_Devices, All_Devices, Archived_Devices) "+
|
||||
"VALUES ( ?, ?, ?, ?, ?)", (startTime, History_Online_Devices, History_Offline_Devices, History_All_Devices, History_Archived_Devices ) )
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
def create_new_devices ():
|
||||
@@ -960,11 +966,11 @@ def update_devices_data_from_scan ():
|
||||
recordsToUpdate )
|
||||
|
||||
# New Apple devices -> Cycle 15
|
||||
print_log ('Update devices - 6 Cycle for Apple devices')
|
||||
sql.execute ("""UPDATE Devices SET dev_ScanCycle = 15
|
||||
WHERE dev_FirstConnection = ?
|
||||
AND UPPER(dev_Vendor) LIKE '%APPLE%' """,
|
||||
(startTime,) )
|
||||
# print_log ('Update devices - 6 Cycle for Apple devices')
|
||||
# sql.execute ("""UPDATE Devices SET dev_ScanCycle = 1
|
||||
# WHERE dev_FirstConnection = ?
|
||||
# AND UPPER(dev_Vendor) LIKE '%APPLE%' """,
|
||||
# (startTime,) )
|
||||
|
||||
print_log ('Update devices end')
|
||||
|
||||
@@ -1192,7 +1198,6 @@ def skip_repeated_notifications ():
|
||||
def email_reporting ():
|
||||
global mail_text
|
||||
global mail_html
|
||||
|
||||
# Reporting section
|
||||
print ('\nReporting...')
|
||||
openDB()
|
||||
@@ -1239,7 +1244,7 @@ def email_reporting ():
|
||||
mail_section_Internet = False
|
||||
mail_text_Internet = ''
|
||||
mail_html_Internet = ''
|
||||
text_line_template = ' {} \t{}\t{}\t{}\n'
|
||||
text_line_template = '{}\t{}\n{}\t{}\n{}\t{}\n{}\t{}\n\n'
|
||||
html_line_template = '<tr>\n'+ \
|
||||
' <td> <a href="{}{}"> {} </a> </td>\n <td> {} </td>\n'+ \
|
||||
' <td style="font-size: 24px; color:#D02020"> {} </td>\n'+ \
|
||||
@@ -1249,16 +1254,18 @@ def email_reporting ():
|
||||
WHERE eve_PendingAlertEmail = 1 AND eve_MAC = 'Internet'
|
||||
ORDER BY eve_DateTime""")
|
||||
|
||||
|
||||
for eventAlert in sql :
|
||||
mail_section_Internet = True
|
||||
mail_text_Internet += text_line_template.format (
|
||||
eventAlert['eve_EventType'], eventAlert['eve_DateTime'],
|
||||
eventAlert['eve_IP'], eventAlert['eve_AdditionalInfo'])
|
||||
'Event:', eventAlert['eve_EventType'], 'Time:', eventAlert['eve_DateTime'],
|
||||
'IP:', eventAlert['eve_IP'], 'More Info:', eventAlert['eve_AdditionalInfo'])
|
||||
mail_html_Internet += html_line_template.format (
|
||||
REPORT_DEVICE_URL, eventAlert['eve_MAC'],
|
||||
eventAlert['eve_EventType'], eventAlert['eve_DateTime'],
|
||||
eventAlert['eve_IP'], eventAlert['eve_AdditionalInfo'])
|
||||
|
||||
|
||||
format_report_section (mail_section_Internet, 'SECTION_INTERNET',
|
||||
'TABLE_INTERNET', mail_text_Internet, mail_html_Internet)
|
||||
|
||||
@@ -1266,7 +1273,7 @@ def email_reporting ():
|
||||
mail_section_new_devices = False
|
||||
mail_text_new_devices = ''
|
||||
mail_html_new_devices = ''
|
||||
text_line_template = ' {}\t{}\t{}\t{}\t{}\n'
|
||||
text_line_template = '{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\n'
|
||||
html_line_template = '<tr>\n'+ \
|
||||
' <td> <a href="{}{}"> {} </a> </td>\n <td> {} </td>\n'+\
|
||||
' <td> {} </td>\n <td> {} </td>\n <td> {} </td>\n</tr>\n'
|
||||
@@ -1279,14 +1286,13 @@ def email_reporting ():
|
||||
for eventAlert in sql :
|
||||
mail_section_new_devices = True
|
||||
mail_text_new_devices += text_line_template.format (
|
||||
eventAlert['eve_MAC'], eventAlert['eve_DateTime'],
|
||||
eventAlert['eve_IP'], eventAlert['dev_Name'],
|
||||
eventAlert['eve_AdditionalInfo'])
|
||||
'Name:', eventAlert['dev_Name'], 'MAC:', eventAlert['eve_MAC'], 'IP:', eventAlert['eve_IP'],
|
||||
'Time:', eventAlert['eve_DateTime'], 'More Info:', eventAlert['eve_AdditionalInfo'])
|
||||
mail_html_new_devices += html_line_template.format (
|
||||
REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_MAC'],
|
||||
eventAlert['eve_DateTime'], eventAlert['eve_IP'],
|
||||
eventAlert['dev_Name'], eventAlert['eve_AdditionalInfo'])
|
||||
|
||||
|
||||
format_report_section (mail_section_new_devices, 'SECTION_NEW_DEVICES',
|
||||
'TABLE_NEW_DEVICES', mail_text_new_devices, mail_html_new_devices)
|
||||
|
||||
@@ -1294,7 +1300,7 @@ def email_reporting ():
|
||||
mail_section_devices_down = False
|
||||
mail_text_devices_down = ''
|
||||
mail_html_devices_down = ''
|
||||
text_line_template = ' {}\t{}\t{}\t{}\n'
|
||||
text_line_template = '{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\n'
|
||||
html_line_template = '<tr>\n'+ \
|
||||
' <td> <a href="{}{}"> {} </a> </td>\n <td> {} </td>\n'+ \
|
||||
' <td> {} </td>\n <td> {} </td>\n</tr>\n'
|
||||
@@ -1307,8 +1313,8 @@ def email_reporting ():
|
||||
for eventAlert in sql :
|
||||
mail_section_devices_down = True
|
||||
mail_text_devices_down += text_line_template.format (
|
||||
eventAlert['eve_MAC'], eventAlert['eve_DateTime'],
|
||||
eventAlert['eve_IP'], eventAlert['dev_Name'])
|
||||
'Name:', eventAlert['dev_Name'], 'MAC:', eventAlert['eve_MAC'],
|
||||
'Time:', eventAlert['eve_DateTime'],'IP:', eventAlert['eve_IP'])
|
||||
mail_html_devices_down += html_line_template.format (
|
||||
REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_MAC'],
|
||||
eventAlert['eve_DateTime'], eventAlert['eve_IP'],
|
||||
@@ -1321,7 +1327,7 @@ def email_reporting ():
|
||||
mail_section_events = False
|
||||
mail_text_events = ''
|
||||
mail_html_events = ''
|
||||
text_line_template = ' {}\t{}\t{}\t{}\t{}\t{}\n'
|
||||
text_line_template = '{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\t{}\t{}\n\n'
|
||||
html_line_template = '<tr>\n <td>'+ \
|
||||
' <a href="{}{}"> {} </a> </td>\n <td> {} </td>\n'+ \
|
||||
' <td> {} </td>\n <td> {} </td>\n <td> {} </td>\n'+ \
|
||||
@@ -1336,9 +1342,9 @@ def email_reporting ():
|
||||
for eventAlert in sql :
|
||||
mail_section_events = True
|
||||
mail_text_events += text_line_template.format (
|
||||
eventAlert['eve_MAC'], eventAlert['eve_DateTime'],
|
||||
eventAlert['eve_IP'], eventAlert['eve_EventType'],
|
||||
eventAlert['dev_Name'], eventAlert['eve_AdditionalInfo'])
|
||||
'Name:', eventAlert['dev_Name'],'Event:', eventAlert['eve_EventType'],
|
||||
'MAC:', eventAlert['eve_MAC'], 'IP:', eventAlert['eve_IP'],
|
||||
'Time:', eventAlert['eve_DateTime'],'More Info:', eventAlert['eve_AdditionalInfo'])
|
||||
mail_html_events += html_line_template.format (
|
||||
REPORT_DEVICE_URL, eventAlert['eve_MAC'], eventAlert['eve_MAC'],
|
||||
eventAlert['eve_DateTime'], eventAlert['eve_IP'],
|
||||
@@ -1361,6 +1367,11 @@ def email_reporting ():
|
||||
send_email (mail_text, mail_html)
|
||||
else :
|
||||
print (' Skip mail...')
|
||||
if REPORT_NTFY :
|
||||
print (' Sending report by NTFY...')
|
||||
send_ntfy (mail_text)
|
||||
else :
|
||||
print (' Skip NTFY...')
|
||||
else :
|
||||
print (' No changes to report...')
|
||||
|
||||
@@ -1379,7 +1390,16 @@ def email_reporting ():
|
||||
# Commit changes
|
||||
sql_connection.commit()
|
||||
closeDB()
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
def send_ntfy (_Text):
|
||||
requests.post("https://ntfy.sh/{}".format(NTFY_TOPIC),
|
||||
data=_Text,
|
||||
headers={
|
||||
"Title": "Pi.Alert Notification",
|
||||
"Click": REPORT_DASHBOARD_URL,
|
||||
"Priority": "urgent",
|
||||
"Tags": "warning"
|
||||
})
|
||||
#-------------------------------------------------------------------------------
|
||||
def format_report_section (pActive, pSection, pTable, pText, pHTML):
|
||||
global mail_text
|
||||
@@ -1478,6 +1498,7 @@ def upgradeDB ():
|
||||
"Online_Devices" INTEGER,
|
||||
"Down_Devices" INTEGER,
|
||||
"All_Devices" INTEGER,
|
||||
"Archived_Devices" INTEGER,
|
||||
PRIMARY KEY("Index" AUTOINCREMENT)
|
||||
);
|
||||
""")
|
||||
|
||||
@@ -14,20 +14,19 @@
|
||||
|
||||
<body>
|
||||
<font face=sans-serif>
|
||||
<table align=center width=80% border=1 bordercolor=#909090 cellpadding=0 cellspacing=0 style="border-collapse: collapse; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.5)">
|
||||
<table align=center width=100% cellpadding=0 cellspacing=0 style="border-radius: 5px;">
|
||||
<tr>
|
||||
<td bgcolor=#EFB956 align=center style="padding: 20px 10px 10px 10px; font-size: 36px; font-weight: bold; color:#7F6000; text-shadow: 4px 4px 6px #909090">
|
||||
<td bgcolor=#EFB956 align=center style="padding: 20px 10px 10px 10px; font-size: 30px; font-weight: bold; color:#000000; border-top-right-radius: 5px; border-top-left-radius: 5px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)">
|
||||
Pi.Alert Report
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<table width=100% border=0 bgcolor=#FFD966 cellpadding=5px cellspacing=0 style="border-collapse: collapse; font-size: 16px; text-align:center; color:#5F5000">
|
||||
<tr>
|
||||
<td width=33%> Report Date: <b><REPORT_DATE></b> </td>
|
||||
<td width=34%> Scan Cycle: <b><SCAN_CYCLE></b> </td>
|
||||
<td width=33%> Server: <b><SERVER_NAME></b> </td>
|
||||
<table width=100% border=0 bgcolor=#FFD966 cellpadding=5px cellspacing=0 style="border-collapse: collapse; font-size: 15px; text-align:center; color:#404040"> <tr>
|
||||
<td width=50%> Report Date: <b><REPORT_DATE></b> </td>
|
||||
<td width=50%> Scan Cycle: <b><SCAN_CYCLE></b> </td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -36,9 +35,9 @@
|
||||
<tr>
|
||||
<td bgcolor=#F5F5F5 height=200 valign=top style="padding: 10px">
|
||||
<SECTION_INTERNET>
|
||||
<p style="font-size: 24px; font-weight: bold; color:#C04040; text-shadow: 2px 2px 4px #A0A0A0"> Internet: </p>
|
||||
<p style="font-size: 24px; font-weight: bold; color:#C04040"> Internet: </p>
|
||||
|
||||
<table width=100% border=1 bordercolor=#C0C0C0 cellpadding=3px cellspacing=0 style="border-collapse: collapse; font-size: 12px; color:#707070; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)">
|
||||
<table width=100% border=1 bordercolor=#C0C0C0 cellpadding=3px cellspacing=0 style="border-collapse: collapse; font-size: 12px; color:#707070">
|
||||
<tr bgcolor=#909090 style="color:#F0F0F0">
|
||||
<th width=140> Event Type </th>
|
||||
<th width=130> Datetime </th>
|
||||
@@ -53,11 +52,11 @@
|
||||
</SECTION_INTERNET>
|
||||
|
||||
<SECTION_NEW_DEVICES>
|
||||
<p style="font-size: 14px; font-weight: bold; color:#C04040; text-shadow: 2px 2px 4px #A0A0A0"> New Devices: </p>
|
||||
<p style="font-size: 14px; font-weight: bold; color:#C04040"> New Devices: </p>
|
||||
|
||||
<table width=100% border=1 bordercolor=#C0C0C0 cellpadding=3px cellspacing=0 style="border-collapse: collapse; font-size: 12px; color:#707070; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)">
|
||||
<table width=100% border=1 bordercolor=#C0C0C0 cellpadding=3px cellspacing=0 style="border-collapse: collapse; font-size: 12px; color:#707070">
|
||||
<tr bgcolor=#909090 style="color:#F0F0F0">
|
||||
<th width=140> MAC </th>
|
||||
<th width=150> MAC </th>
|
||||
<th width=130> Datetime </th>
|
||||
<th width=100> IP </th>
|
||||
<th width=140> Device Name </th>
|
||||
@@ -71,9 +70,9 @@
|
||||
</SECTION_NEW_DEVICES>
|
||||
|
||||
<SECTION_DEVICES_DOWN>
|
||||
<p style="font-size: 14px; font-weight: bold; color:#C04040; text-shadow: 2px 2px 4px #A0A0A0"> Devices Down: </p>
|
||||
<p style="font-size: 14px; font-weight: bold; color:#C04040"> Devices Down: </p>
|
||||
|
||||
<table width=100% border=1 bordercolor=#C0C0C0 cellpadding=3px cellspacing=0 style="border-collapse: collapse; font-size: 12px; color:#707070; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)">
|
||||
<table width=100% border=1 bordercolor=#C0C0C0 cellpadding=3px cellspacing=0 style="border-collapse: collapse; font-size: 12px; color:#707070">
|
||||
<tr bgcolor=#909090 style="color:#F0F0F0">
|
||||
<th width=140> MAC </th>
|
||||
<th width=130> Datetime </th>
|
||||
@@ -88,9 +87,9 @@
|
||||
</SECTION_DEVICES_DOWN>
|
||||
|
||||
<SECTION_EVENTS>
|
||||
<p style="font-size: 14px; font-weight: bold; color:#409040; text-shadow: 2px 2px 4px #A0A0A0"> Events: </p>
|
||||
<p style="font-size: 14px; font-weight: bold; color:#409040"> Events: </p>
|
||||
|
||||
<table width=100% border=1 bordercolor=#C0C0C0 cellpadding=3px cellspacing=0 style="border-collapse: collapse; font-size: 12px; color:#707070; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2)">
|
||||
<table width=100% border=1 bordercolor=#C0C0C0 cellpadding=3px cellspacing=0 style="border-collapse: collapse; font-size: 12px; color:#707070">
|
||||
<tr bgcolor=#909090 style="color:#F0F0F0">
|
||||
<th width=140> MAC </th>
|
||||
<th width=130> Datetime </th>
|
||||
@@ -108,11 +107,10 @@
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<table width=100% border=0 bgcolor=#70AD47 cellpadding=5px cellspacing=0 style="border-collapse: collapse; font-size: 12px; font-weight: bold; color:#385723">
|
||||
<table width=100% bgcolor=#46802e cellpadding=5px cellspacing=0 style="font-size: 13px; font-weight: bold; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px;">
|
||||
<tr>
|
||||
<td width=25% style="text-align:Left"> <span style="display:inline-block; transform: rotate(180deg)">©</span> <PIALERT_YEAR> Puche</td>
|
||||
<td width=50% style="text-align:center"> Pi.Alert - <SERVER_NAME></td>
|
||||
<td width=50% style="text-align:center"> Pi.Alert <PIALERT_VERSION> (<PIALERT_VERSION_DATE>) </td>
|
||||
<td width=25% style="text-align:right"> GNU GPLv3</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
@@ -120,4 +118,4 @@
|
||||
</table>
|
||||
</font>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
@@ -1,27 +1,21 @@
|
||||
========================================
|
||||
Pi.Alert Report
|
||||
========================================
|
||||
|
||||
Report Date: <REPORT_DATE>
|
||||
Scan Cycle: <SCAN_CYCLE>
|
||||
Server: <SERVER_NAME>
|
||||
Report Date: <REPORT_DATE>
|
||||
Scan Cycle: <SCAN_CYCLE>
|
||||
Server: <SERVER_NAME>
|
||||
|
||||
<SECTION_INTERNET>
|
||||
Internet
|
||||
----------------------------------------------------------------------
|
||||
---------------------
|
||||
<TABLE_INTERNET>
|
||||
</SECTION_INTERNET><SECTION_NEW_DEVICES>
|
||||
New Devices
|
||||
----------------------------------------------------------------------
|
||||
---------------------
|
||||
<TABLE_NEW_DEVICES>
|
||||
</SECTION_NEW_DEVICES><SECTION_DEVICES_DOWN>
|
||||
Devices Down
|
||||
----------------------------------------------------------------------
|
||||
---------------------
|
||||
<TABLE_DEVICES_DOWN>
|
||||
</SECTION_DEVICES_DOWN><SECTION_EVENTS>
|
||||
Events
|
||||
----------------------------------------------------------------------
|
||||
---------------------
|
||||
<TABLE_EVENTS>
|
||||
</SECTION_EVENTS>
|
||||
----------------------------------------------------------------------
|
||||
(?) <PIALERT_YEAR> Puche Pi.Alert <PIALERT_VERSION> (<PIALERT_VERSION_DATE>) GNU GPLv3
|
||||
|
||||
@@ -23,6 +23,10 @@ REPORT_FROM = 'Pi.Alert <' + SMTP_USER +'>'
|
||||
REPORT_TO = 'user@gmail.com'
|
||||
REPORT_DEVICE_URL = 'http://pi.alert/deviceDetails.php?mac='
|
||||
|
||||
REPORT_NTFY = False
|
||||
REPORT_DASHBOARD_URL = 'http://pi.alert/'
|
||||
NTFY_TOPIC = 'replace-my-secure-topicname-91h889f28'
|
||||
|
||||
# QUERY_MYIP_SERVER = 'https://diagnostic.opendns.com/myip'
|
||||
QUERY_MYIP_SERVER = 'http://ipv4.icanhazip.com'
|
||||
DDNS_ACTIVE = False
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
VERSION = '3.5_leiweibau'
|
||||
VERSION_YEAR = '2022'
|
||||
VERSION_DATE = '2022-07-07'
|
||||
TZ = 'Europe/London'
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 253 KiB After Width: | Height: | Size: 253 KiB |
@@ -199,21 +199,6 @@ h4 {
|
||||
.box.box-danger {
|
||||
border-top-width: 3px;
|
||||
}
|
||||
.box.box-info {
|
||||
border-top-color: #00c0ef;
|
||||
}
|
||||
.box.box-primary {
|
||||
border-top-color: #075383;
|
||||
}
|
||||
.box.box-success {
|
||||
border-top-color: #00a65a;
|
||||
}
|
||||
.box.box-warning {
|
||||
border-top-color: #ff851b;
|
||||
}
|
||||
.box.box-danger {
|
||||
border-top-color: #dd4b39;
|
||||
}
|
||||
.main-header .navbar {
|
||||
background-color: #272c30;
|
||||
}
|
||||
@@ -635,7 +620,7 @@ input[type="password"]::-webkit-caps-lock-indicator {
|
||||
}
|
||||
.pa-small-box-gray .inner {
|
||||
background-color: #777;
|
||||
color: rgba(20,20,20,30%);
|
||||
/* color: rgba(20,20,20,30%); */
|
||||
border-top-left-radius: 10px;
|
||||
border-top-right-radius: 10px;
|
||||
}
|
||||
@@ -693,7 +678,7 @@ input[type="password"]::-webkit-caps-lock-indicator {
|
||||
border-bottom-right-radius: 10px;
|
||||
}
|
||||
|
||||
.small-box > .inner h3 {
|
||||
.small-box > .inner h3, .small-box > .inner p {
|
||||
margin-bottom: 0px;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
.pa-small-box-aqua {
|
||||
border-top: 3px solid #00c0ef;
|
||||
/* border-top: 3px solid #00c0ef; */
|
||||
box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
.pa-small-box-green {
|
||||
border-top: 3px solid #00a65a;
|
||||
/* border-top: 3px solid #00a65a; */
|
||||
box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
.pa-small-box-yellow {
|
||||
border-top: 3px solid #f39c12;
|
||||
/* border-top: 3px solid #f39c12; */
|
||||
box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
@@ -218,7 +218,7 @@
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
.pa-small-box-red {
|
||||
border-top: 3px solid #dd4b39;
|
||||
/* border-top: 3px solid #dd4b39; */
|
||||
box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
.pa-small-box-gray {
|
||||
border-top: 3px solid #a0a0a0;
|
||||
/* border-top: 3px solid #a0a0a0; */
|
||||
box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
@@ -257,7 +257,7 @@
|
||||
/* -----------------------------------------------------------------------------
|
||||
Customized Box Borders
|
||||
----------------------------------------------------------------------------- */
|
||||
.box.box-aqua {
|
||||
/* .box.box-aqua {
|
||||
border-top-color: #00c0ef;
|
||||
}
|
||||
|
||||
@@ -271,7 +271,7 @@
|
||||
|
||||
.box.box-red {
|
||||
border-top-color: #dd4b39;
|
||||
}
|
||||
} */
|
||||
|
||||
/* -----------------------------------------------------------------------------
|
||||
Custom Border
|
||||
@@ -459,7 +459,6 @@
|
||||
white-space: normal;
|
||||
word-wrap: break-word;
|
||||
font-size: 16px;
|
||||
border-radius: 10px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
@@ -527,3 +526,19 @@ background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.nav-tabs-custom .tab-content {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.top_small_box_gray_text {
|
||||
color: white !important;
|
||||
}
|
||||
|
||||
.bg-gray {
|
||||
background-color: #b2b6be !important;
|
||||
}
|
||||
|
||||
.infobox_label {
|
||||
font-size: 16px !important;
|
||||
}
|
||||
@@ -42,10 +42,11 @@
|
||||
|
||||
<div class="col-lg-3 col-sm-6 col-xs-6">
|
||||
<a href="#" onclick="javascript: $('#tabDetails').trigger('click')">
|
||||
<div class="small-box bg-aqua pa-small-box-aqua pa-small-box-2">
|
||||
<div class="inner"> <h3 id="deviceStatus" style="margin-left: 0em"> -- </h3> </div>
|
||||
<div class="icon"> <i id="deviceStatusIcon" class=""></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['DevDetail_Shortcut_CurrentStatus'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-aqua">
|
||||
<div class="inner"> <h3 id="deviceStatus" style="margin-left: 0em"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['DevDetail_Shortcut_CurrentStatus'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i id="deviceStatusIcon" class=""></i></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -53,10 +54,11 @@
|
||||
<!-- top small box 2 ------------------------------------------------------- -->
|
||||
<div class="col-lg-3 col-sm-6 col-xs-6">
|
||||
<a href="#" onclick="javascript: $('#tabSessions').trigger('click');">
|
||||
<div class="small-box bg-green pa-small-box-green pa-small-box-2">
|
||||
<div class="inner"> <h3 id="deviceSessions"> -- </h3> </div>
|
||||
<div class="small-box bg-green">
|
||||
<div class="inner"> <h3 id="deviceSessions"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['DevDetail_Shortcut_Sessions'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-plug"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['DevDetail_Shortcut_Sessions'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -64,10 +66,11 @@
|
||||
<!-- top small box 3 ------------------------------------------------------- -->
|
||||
<div class="col-lg-3 col-sm-6 col-xs-6">
|
||||
<a href="#" onclick="javascript: $('#tabPresence').trigger('click')">
|
||||
<div class="small-box bg-yellow pa-small-box-yellow pa-small-box-2">
|
||||
<div class="inner"> <h3 id="deviceEvents" style="margin-left: 0em"> -- </h3> </div>
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner"> <h3 id="deviceEvents" style="margin-left: 0em"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['DevDetail_Shortcut_Presence'];?></p>
|
||||
</div>
|
||||
<div id="deviceEventsIcon" class="icon"> <i class="fa fa-calendar"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['DevDetail_Shortcut_Presence'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -75,10 +78,11 @@
|
||||
<!-- top small box 4 ------------------------------------------------------ -->
|
||||
<div class="col-lg-3 col-sm-6 col-xs-6">
|
||||
<a href="#" onclick="javascript: $('#tabEvents').trigger('click');">
|
||||
<div class="small-box bg-red pa-small-box-red pa-small-box-2">
|
||||
<div class="inner"> <h3 id="deviceDownAlerts"> -- </h3> </div>
|
||||
<div class="small-box bg-red">
|
||||
<div class="inner"> <h3 id="deviceDownAlerts"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['DevDetail_Shortcut_DownAlerts'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-warning"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['DevDetail_Shortcut_DownAlerts'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -95,7 +99,10 @@
|
||||
<div id="navDevice" class="nav-tabs-custom">
|
||||
<ul class="nav nav-tabs" style="fon t-size:16px;">
|
||||
<li> <a id="tabDetails" href="#panDetails" data-toggle="tab"> <?php echo $pia_lang['DevDetail_Tab_Details'];?> </a></li>
|
||||
<li> <a id="tabNmap" href="#panNmap" data-toggle="tab"> <?php echo $pia_lang['DevDetail_Tab_Nmap'];?> </a></li>
|
||||
<?php
|
||||
if ($_REQUEST['mac'] == 'Internet') { $DevDetail_Tap_temp = "Tools"; } else { $DevDetail_Tap_temp = $pia_lang['DevDetail_Tab_Nmap'];}
|
||||
?>
|
||||
<li> <a id="tabNmap" href="#panNmap" data-toggle="tab"> <?php echo $DevDetail_Tap_temp;?> </a></li>
|
||||
<li> <a id="tabSessions" href="#panSessions" data-toggle="tab"> <?php echo $pia_lang['DevDetail_Tab_Sessions'];?> </a></li>
|
||||
<li> <a id="tabPresence" href="#panPresence" data-toggle="tab"> <?php echo $pia_lang['DevDetail_Tab_Presence'];?> </a></li>
|
||||
<li> <a id="tabEvents" href="#panEvents" data-toggle="tab"> <?php echo $pia_lang['DevDetail_Tab_Events'];?> </a></li>
|
||||
@@ -114,7 +121,7 @@
|
||||
|
||||
|
||||
|
||||
<div class="tab-content" style="min-height: 430px">
|
||||
<div class="tab-content" style="min-height: 430px;">
|
||||
|
||||
<!-- tab page 1 ------------------------------------------------------------ -->
|
||||
<!--
|
||||
@@ -314,9 +321,9 @@
|
||||
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown" aria-expanded="false" id="dropdownButtonScanCycle">
|
||||
<span class="fa fa-caret-down"></span></button>
|
||||
<ul id="dropdownScanCycle" class="dropdown-menu dropdown-menu-right">
|
||||
<li><a href="javascript:void(0)" onclick="setTextValue('txtScanCycle','1 min')"> Scan 1 min every 5 min</a></li>
|
||||
<li><a href="javascript:void(0)" onclick="setTextValue('txtScanCycle','1 min')"><?php echo $pia_lang['DevDetail_EveandAl_ScanCycle_a'];?></a></li>
|
||||
<!-- <li><a href="javascript:void(0)" onclick="setTextValue('txtScanCycle','15 min');"> Scan 12 min every 15 min</a></li> -->
|
||||
<li><a href="javascript:void(0)" onclick="setTextValue('txtScanCycle','0 min');"> Don't Scan</a></li>
|
||||
<li><a href="javascript:void(0)" onclick="setTextValue('txtScanCycle','0 min');"><?php echo $pia_lang['DevDetail_EveandAl_ScanCycle_z'];?></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -27,69 +27,74 @@
|
||||
|
||||
<!-- top small box 1 ------------------------------------------------------- -->
|
||||
<div class="row">
|
||||
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesList('all');">
|
||||
<div class="small-box bg-aqua pa-small-box-aqua pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesAll"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-laptop text-aqua-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Device_Shortcut_AllDevices'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-aqua">
|
||||
<div class="inner"><h3 id="devicesAll"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Device_Shortcut_AllDevices'];?></p>
|
||||
</div>
|
||||
<div class="icon"><i class="fa fa-laptop text-aqua-40"></i></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- top small box 2 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesList('connected');">
|
||||
<div class="small-box bg-green pa-small-box-green pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesConnected"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-plug text-green-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Device_Shortcut_Connected'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-green">
|
||||
<div class="inner"><h3 id="devicesConnected"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Device_Shortcut_Connected'];?></p>
|
||||
</div>
|
||||
<div class="icon"><i class="fa fa-plug text-green-40"></i></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- top small box 3 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesList('favorites');">
|
||||
<div class="small-box bg-yellow pa-small-box-yellow pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesFavorites"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-star text-yellow-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Device_Shortcut_Favorites'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner"><h3 id="devicesFavorites"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Device_Shortcut_Favorites'];?></p>
|
||||
</div>
|
||||
<div class="icon"><i class="fa fa-star text-yellow-40"></i></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- top small box 4 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesList('new');">
|
||||
<div class="small-box bg-yellow pa-small-box-yellow pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesNew"> -- </h3> </div>
|
||||
<div class="icon"> <i class="ion ion-plus-round text-yellow-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Device_Shortcut_NewDevices'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner"><h3 id="devicesNew"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Device_Shortcut_NewDevices'];?></p>
|
||||
</div>
|
||||
<div class="icon"><i class="ion ion-plus-round text-yellow-40"></i></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- top small box 5 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesList('down');">
|
||||
<div class="small-box bg-red pa-small-box-red pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesDown"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-warning text-red-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Device_Shortcut_DownAlerts'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-red">
|
||||
<div class="inner"><h3 id="devicesDown"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Device_Shortcut_DownAlerts'];?></p>
|
||||
</div>
|
||||
<div class="icon"><i class="fa fa-warning text-red-40"></i></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- top small box 6 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesList('archived');">
|
||||
<div class="small-box bg-gray pa-small-box-gray pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesArchived"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-eye-slash text-gray-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Device_Shortcut_Archived'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-gray top_small_box_gray_text">
|
||||
<div class="inner"><h3 id="devicesArchived"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Device_Shortcut_Archived'];?></p>
|
||||
</div>
|
||||
<div class="icon"><i class="fa fa-eye-slash text-gray-40"></i></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -118,7 +123,8 @@
|
||||
var pia_js_online_history_time = [<?php pia_graph_devices_data($Pia_Graph_Device_Time); ?>];
|
||||
var pia_js_online_history_ondev = [<?php pia_graph_devices_data($Pia_Graph_Device_Online); ?>];
|
||||
var pia_js_online_history_dodev = [<?php pia_graph_devices_data($Pia_Graph_Device_Down); ?>];
|
||||
pia_draw_graph_online_history(pia_js_online_history_time, pia_js_online_history_ondev, pia_js_online_history_dodev);
|
||||
var pia_js_online_history_ardev = [<?php pia_graph_devices_data($Pia_Graph_Device_Arch); ?>];
|
||||
pia_draw_graph_online_history(pia_js_online_history_time, pia_js_online_history_ondev, pia_js_online_history_dodev, pia_js_online_history_ardev);
|
||||
</script>
|
||||
|
||||
<!-- datatable ------------------------------------------------------------- -->
|
||||
@@ -223,6 +229,12 @@ function main () {
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
function initializeDatatable () {
|
||||
// If the device has a small width (mobile) only show name, ip, and status columns.
|
||||
if (window.screen.width < 400) {
|
||||
var tableColumnShow = [10,11,12,1,2,3,4,5,6,8];
|
||||
} else {
|
||||
var tableColumnShow = [10, 11, 12];
|
||||
};
|
||||
var table=
|
||||
$('#tableDevices').DataTable({
|
||||
'paging' : true,
|
||||
@@ -240,7 +252,7 @@ function initializeDatatable () {
|
||||
// 'order' : [[3,'desc'], [0,'asc']],
|
||||
|
||||
'columnDefs' : [
|
||||
{visible: false, targets: [10, 11, 12] },
|
||||
{visible: false, targets: tableColumnShow },
|
||||
{className: 'text-center', targets: [3, 8, 9] },
|
||||
{width: '80px', targets: [5, 6] },
|
||||
{width: '0px', targets: 9 },
|
||||
|
||||
@@ -40,10 +40,11 @@
|
||||
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getEvents('all');">
|
||||
<div class="small-box bg-aqua pa-small-box-aqua pa-small-box-2">
|
||||
<div class="inner"> <h3 id="eventsAll"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-bolt text-aqua-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Events_Shortcut_AllEvents'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-aqua">
|
||||
<div class="inner"> <h3 id="eventsAll"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Events_Shortcut_AllEvents'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-bolt text-aqua-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -51,10 +52,11 @@
|
||||
<!-- top small box --------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getEvents('sessions');">
|
||||
<div class="small-box bg-green pa-small-box-green pa-small-box-2">
|
||||
<div class="inner"> <h3 id="eventsSessions"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-plug text-green-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Events_Shortcut_Sessions'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-green">
|
||||
<div class="inner"> <h3 id="eventsSessions"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Events_Shortcut_Sessions'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-plug text-green-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -62,10 +64,11 @@
|
||||
<!-- top small box --------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getEvents('missing');">
|
||||
<div class="small-box bg-yellow pa-small-box-yellow pa-small-box-2">
|
||||
<div class="inner"> <h3 id="eventsMissing"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-exchange text-yellow-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Events_Shortcut_MissSessions'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner"> <h3 id="eventsMissing"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Events_Shortcut_MissSessions'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-exchange text-yellow-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -73,10 +76,11 @@
|
||||
<!-- top small box --------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getEvents('voided');">
|
||||
<div class="small-box bg-yellow pa-small-box-yellow pa-small-box-2">
|
||||
<div class="inner"> <h3 id="eventsVoided"> -- </h3> </div>
|
||||
<div class="icon text-aqua-20"> <i class="fa fa-exclamation-circle text-yellow-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Events_Shortcut_VoidSessions'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner"> <h3 id="eventsVoided"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Events_Shortcut_VoidSessions'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-exclamation-circle text-yellow-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -84,10 +88,11 @@
|
||||
<!-- top small box --------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getEvents('new');">
|
||||
<div class="small-box bg-yellow pa-small-box-yellow pa-small-box-2">
|
||||
<div class="inner"> <h3 id="eventsNewDevices"> -- </h3> </div>
|
||||
<div class="icon"> <i class="ion ion-plus-round text-yellow-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Events_Shortcut_NewDevices'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner"> <h3 id="eventsNewDevices"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Events_Shortcut_NewDevices'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="ion ion-plus-round text-yellow-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -95,10 +100,11 @@
|
||||
<!-- top small box --------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getEvents('down');">
|
||||
<div class="small-box bg-red pa-small-box-red pa-small-box-2">
|
||||
<div class="inner"> <h3 id="eventsDown"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-warning text-red-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Events_Shortcut_DownAlerts'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-red">
|
||||
<div class="inner"> <h3 id="eventsDown"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Events_Shortcut_DownAlerts'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-warning text-red-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -1,24 +1,30 @@
|
||||
function pia_draw_graph_online_history(pia_js_graph_online_history_time, pia_js_graph_online_history_ondev, pia_js_graph_online_history_dodev) {
|
||||
function pia_draw_graph_online_history(pia_js_graph_online_history_time, pia_js_graph_online_history_ondev, pia_js_graph_online_history_dodev, pia_js_graph_online_history_ardev) {
|
||||
var xValues = pia_js_graph_online_history_time;
|
||||
new Chart("OnlineChart", {
|
||||
type: "bar",
|
||||
data: {
|
||||
labels: xValues,
|
||||
datasets: [{
|
||||
label: 'Online Devices',
|
||||
label: 'Online',
|
||||
data: pia_js_graph_online_history_ondev,
|
||||
borderColor: "#00a65a",
|
||||
borderColor: "rgba(0, 166, 89)",
|
||||
fill: true,
|
||||
backgroundColor: "rgba(0, 166, 89, .6)",
|
||||
pointStyle: 'circle',
|
||||
pointRadius: 3,
|
||||
pointHoverRadius: 3
|
||||
}, {
|
||||
label: 'Offline/Down Devices',
|
||||
label: 'Offline/Down',
|
||||
data: pia_js_graph_online_history_dodev,
|
||||
borderColor: "#dd4b39",
|
||||
borderColor: "rgba(222, 74, 56)",
|
||||
fill: true,
|
||||
backgroundColor: "rgba(222, 74, 56, .6)",
|
||||
}, {
|
||||
label: 'Archived',
|
||||
data: pia_js_graph_online_history_ardev,
|
||||
borderColor: "rgba(220,220,220)",
|
||||
fill: true,
|
||||
backgroundColor: "rgba(220,220,220, .6)",
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
// then accepted.
|
||||
//
|
||||
$pia_installed_langs = array('en_us',
|
||||
'de_de');
|
||||
'de_de',
|
||||
'es_es');
|
||||
//
|
||||
// In addition to this, the language must also be added to the select tag in
|
||||
// line 235. Later, the whole thing may become dynamic.
|
||||
@@ -161,14 +162,13 @@ if (submit && isset($_POST['langselector_set'])) {
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="box" id="Maintain-Status">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">Status</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="box-body" style="padding-bottom: 5px;">
|
||||
<div class="db_info_table">
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_info_table_cell" style="min-width: 140px"><?php echo $pia_lang['Maintenance_database_path'];?></div>
|
||||
@@ -206,19 +206,40 @@ if (submit && isset($_POST['langselector_set'])) {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="box" id="Maintain-Skin">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><?php echo $pia_lang['Maintenance_themeselector_lable'];?>:</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<form method="post" action="maintenance.php">
|
||||
|
||||
<div class="nav-tabs-custom">
|
||||
<ul class="nav nav-tabs">
|
||||
<li class="active"><a href="#tab_Settings" data-toggle="tab">Settings</a></li>
|
||||
<li><a href="#tab_DBTools" data-toggle="tab">DB Tools</a></li>
|
||||
<li><a href="#tab_BackupRestore" data-toggle="tab">Backup / Restore</a></li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="tab_Settings">
|
||||
<div class="db_info_table">
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_info_table_cell" style="padding-left: 5px; height:50px; text-align:center; vertical-align: middle;">
|
||||
<div class="db_tools_table_cell_a" style="text-align:center;">
|
||||
<form method="post" action="maintenance.php">
|
||||
<div style="display: inline-block;">
|
||||
<select name="skinselector">
|
||||
<select name="langselector" class="form-control bg-green" style="width:160px; margin-bottom:5px;">
|
||||
<option value=""><?php echo $pia_lang['Maintenance_lang_selector_empty'];?></option>
|
||||
<option value="en_us"><?php echo $pia_lang['Maintenance_lang_en_us'];?></option>
|
||||
<option value="de_de"><?php echo $pia_lang['Maintenance_lang_de_de'];?></option>
|
||||
<option value="es_es"><?php echo $pia_lang['Maintenance_lang_es_es'];?></option>
|
||||
</select></div>
|
||||
<div style="display: block;"><input type="submit" name="langselector_set" value="<?php echo $pia_lang['Maintenance_lang_selector_apply'];?>" class="btn bg-green" style="width:160px;">
|
||||
<?php echo $pia_lang_test; ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div class="db_info_table_cell" style="padding: 10px; height:40px; text-align:left; vertical-align: middle;">
|
||||
<?php echo $pia_lang['Maintenance_lang_selector_text'];?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a" style="text-align: center;">
|
||||
<form method="post" action="maintenance.php">
|
||||
<div style="display: inline-block; text-align: center;">
|
||||
<select name="skinselector" class="form-control bg-green" style="width:160px; margin-bottom:5px;">
|
||||
<option value=""><?php echo $pia_lang['Maintenance_themeselector_empty'];?></option>
|
||||
<option value="skin-black-light">black light</option>
|
||||
<option value="skin-black">black</option>
|
||||
@@ -233,113 +254,68 @@ if (submit && isset($_POST['langselector_set'])) {
|
||||
<option value="skin-yellow-light">yellow light</option>
|
||||
<option value="skin-yellow">yellow</option>
|
||||
</select></div>
|
||||
<div style="display: inline-block;"><input type="submit" name="skinselector_set" value="Okay">
|
||||
<div style="display: block;"><input type="submit" name="skinselector_set" value="<?php echo $pia_lang['Maintenance_themeselector_apply'];?>" class="btn bg-green" style="width:160px;">
|
||||
<?php echo $pia_skin_test; ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_info_table_cell" style="padding: 10px; height:40px; text-align:center; vertical-align: middle;">
|
||||
<div class="db_info_table_cell" style="padding: 10px; height:40px; text-align:left; vertical-align: middle;">
|
||||
<?php echo $pia_lang['Maintenance_themeselector_text'];?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="box" id="Maintain-Lang">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title"><?php echo $pia_lang['Maintenance_lang_selector_lable'];?>:</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<form method="post" action="maintenance.php">
|
||||
<div class="db_info_table">
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_info_table_cell" style="padding-left: 5px; height:50px; text-align:center; vertical-align: middle;">
|
||||
<div style="display: inline-block;">
|
||||
<select name="langselector">
|
||||
<option value=""><?php echo $pia_lang['Maintenance_lang_selector_empty'];?></option>
|
||||
<option value="en_us"><?php echo $pia_lang['Maintenance_lang_en_us'];?></option>
|
||||
<option value="de_de"><?php echo $pia_lang['Maintenance_lang_de_de'];?></option>
|
||||
</select></div>
|
||||
<div style="display: inline-block;"><input type="submit" name="langselector_set" value="Okay">
|
||||
<?php echo $pia_lang_test; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_info_table_cell" style="padding: 10px; height:40px; text-align:center; vertical-align: middle;">
|
||||
<?php echo $pia_lang['Maintenance_lang_selector_text'];?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="box" id="Maintain-Tools">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title">Tools:</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
<div class="db_info_table">
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a" style="">
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-green dbtools-button" id="btnPiaEnableDarkmode" style="border-top: solid 3px #00a65a;" onclick="askPiaEnableDarkmode()"><?php echo $pia_lang['Maintenance_Tool_darkmode'];?></button>
|
||||
</div>
|
||||
<div class="db_tools_table_cell_b" style=""><?php echo $pia_lang['Maintenance_Tool_darkmode_text'];?></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a">
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-yellow dbtools-button" id="btnPiaToggleArpScan" style="border-top: solid 3px #ffd080;" onclick="askPiaToggleArpScan()"><?php echo $pia_lang['Maintenance_Tool_arpscansw'];?></button>
|
||||
<button type="button" class="btn bg-green dbtools-button" id="btnPiaEnableDarkmode" onclick="askPiaEnableDarkmode()"><?php echo $pia_lang['Maintenance_Tool_darkmode'];?></button>
|
||||
</div>
|
||||
<div class="db_tools_table_cell_b" style=""><?php echo $pia_lang['Maintenance_Tool_arpscansw_text'];?></div>
|
||||
<div class="db_tools_table_cell_b"><?php echo $pia_lang['Maintenance_Tool_darkmode_text'];?></div>
|
||||
</div>
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a">
|
||||
<button type="button" class="btn bg-yellow dbtools-button" id="btnPiaToggleArpScan" onclick="askPiaToggleArpScan()"><?php echo $pia_lang['Maintenance_Tool_arpscansw'];?></button>
|
||||
</div>
|
||||
<div class="db_tools_table_cell_b"><?php echo $pia_lang['Maintenance_Tool_arpscansw_text'];?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tab_DBTools">
|
||||
<div class="db_info_table">
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a" style="">
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnDeleteMAC" style="border-top: solid 3px #dd4b39;" onclick="askDeleteDevicesWithEmptyMACs()"><?php echo $pia_lang['Maintenance_Tool_del_empty_macs'];?></button>
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnDeleteMAC" onclick="askDeleteDevicesWithEmptyMACs()"><?php echo $pia_lang['Maintenance_Tool_del_empty_macs'];?></button>
|
||||
</div>
|
||||
<div class="db_tools_table_cell_b"><?php echo $pia_lang['Maintenance_Tool_del_empty_macs_text'];?></div>
|
||||
</div>
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a" style="">
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnDeleteMAC" style="border-top: solid 3px #dd4b39;" onclick="askDeleteAllDevices()"><?php echo $pia_lang['Maintenance_Tool_del_alldev'];?></button>
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnDeleteMAC" onclick="askDeleteAllDevices()"><?php echo $pia_lang['Maintenance_Tool_del_alldev'];?></button>
|
||||
</div>
|
||||
<div class="db_tools_table_cell_b"><?php echo $pia_lang['Maintenance_Tool_del_alldev_text'];?></div>
|
||||
</div>
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a" style="">
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnDeleteUnknown" style="border-top: solid 3px #dd4b39;" onclick="askDeleteUnknown()"><?php echo $pia_lang['Maintenance_Tool_del_unknowndev'];?></button>
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnDeleteUnknown" onclick="askDeleteUnknown()"><?php echo $pia_lang['Maintenance_Tool_del_unknowndev'];?></button>
|
||||
</div>
|
||||
<div class="db_tools_table_cell_b"><?php echo $pia_lang['Maintenance_Tool_del_unknowndev_text'];?></div>
|
||||
</div>
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a" style="">
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnDeleteEvents" style="border-top: solid 3px #dd4b39;" onclick="askDeleteEvents()"><?php echo $pia_lang['Maintenance_Tool_del_allevents'];?></button>
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnDeleteEvents" onclick="askDeleteEvents()"><?php echo $pia_lang['Maintenance_Tool_del_allevents'];?></button>
|
||||
</div>
|
||||
<div class="db_tools_table_cell_b"><?php echo $pia_lang['Maintenance_Tool_del_allevents_text'];?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane" id="tab_BackupRestore">
|
||||
<div class="db_info_table">
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a" style="">
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnPiaBackupDBtoArchive" style="border-top: solid 3px #dd4b39;" onclick="askPiaBackupDBtoArchive()"><?php echo $pia_lang['Maintenance_Tool_backup'];?></button>
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnPiaBackupDBtoArchive" onclick="askPiaBackupDBtoArchive()"><?php echo $pia_lang['Maintenance_Tool_backup'];?></button>
|
||||
</div>
|
||||
<div class="db_tools_table_cell_b"><?php echo $pia_lang['Maintenance_Tool_backup_text'];?></div>
|
||||
</div>
|
||||
<div class="db_info_table_row">
|
||||
<div class="db_tools_table_cell_a" style="">
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnPiaRestoreDBfromArchive" style="border-top: solid 3px #dd4b39;" onclick="askPiaRestoreDBfromArchive()"><?php echo $pia_lang['Maintenance_Tool_restore'];?><br><?php echo $latestbackup_date;?></button>
|
||||
<button type="button" class="btn btn-default pa-btn pa-btn-delete bg-red dbtools-button" id="btnPiaRestoreDBfromArchive" onclick="askPiaRestoreDBfromArchive()"><?php echo $pia_lang['Maintenance_Tool_restore'];?><br><?php echo $latestbackup_date;?></button>
|
||||
</div>
|
||||
<div class="db_tools_table_cell_b"><?php echo $pia_lang['Maintenance_Tool_restore_text'];?></div>
|
||||
</div>
|
||||
@@ -350,11 +326,11 @@ if (submit && isset($_POST['langselector_set'])) {
|
||||
<div class="db_tools_table_cell_b"><?php echo $pia_lang['Maintenance_Tool_upgrade_database_text'];?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.box-body -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div style="width: 100%; height: 20px;"></div>
|
||||
<!-- ----------------------------------------------------------------------- -->
|
||||
@@ -373,7 +349,6 @@ if (submit && isset($_POST['langselector_set'])) {
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
// delete devices with emty macs
|
||||
function askDeleteDevicesWithEmptyMACs () {
|
||||
// Ask
|
||||
@@ -430,7 +405,6 @@ function deleteEvents()
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Backup DB to Archive
|
||||
function askPiaBackupDBtoArchive () {
|
||||
// Ask
|
||||
@@ -445,7 +419,6 @@ function PiaBackupDBtoArchive()
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
// Restore DB from Archive
|
||||
function askPiaRestoreDBfromArchive () {
|
||||
// Ask
|
||||
|
||||
@@ -3,6 +3,7 @@ $Pia_Graph_Device_Time = array();
|
||||
$Pia_Graph_Device_All = array();
|
||||
$Pia_Graph_Device_Online = array();
|
||||
$Pia_Graph_Device_Down = array();
|
||||
$Pia_Graph_Device_Arch = array();
|
||||
$db = new SQLite3('../db/pialert.db');
|
||||
$results = $db->query('SELECT * FROM Online_History ORDER BY Scan_Date DESC LIMIT 144');
|
||||
while ($row = $results->fetchArray()) {
|
||||
@@ -12,6 +13,7 @@ while ($row = $results->fetchArray()) {
|
||||
array_push($Pia_Graph_Device_Down, $row['Down_Devices']);
|
||||
array_push($Pia_Graph_Device_All, $row['All_Devices']);
|
||||
array_push($Pia_Graph_Device_Online, $row['Online_Devices']);
|
||||
array_push($Pia_Graph_Device_Arch, $row['Archived_Devices']);
|
||||
}
|
||||
function pia_graph_devices_data($Pia_Graph_Array) {
|
||||
$Pia_Graph_Array_rev = array_reverse($Pia_Graph_Array);
|
||||
|
||||
@@ -84,6 +84,12 @@ if ($ENABLED_DARKMODE === True) {
|
||||
|
||||
<!-- Servertime to the right of the hostname -->
|
||||
<script>
|
||||
<?php
|
||||
$conf_file = '../config/version.conf';
|
||||
$conf_data = parse_ini_file($conf_file);
|
||||
# set timezone for server time in header
|
||||
date_default_timezone_set($conf_data['TZ']);
|
||||
?>
|
||||
var pia_servertime = new Date(<?php echo date("Y, n, j, G, i, s") ?>);
|
||||
|
||||
function show_pia_servertime() {
|
||||
|
||||
@@ -12,7 +12,7 @@ $pia_lang['Device_Shortcut_AllDevices'] = 'Alle Geräte';
|
||||
$pia_lang['Device_Shortcut_Connected'] = 'Verbunden';
|
||||
$pia_lang['Device_Shortcut_Favorites'] = 'Favoriten';
|
||||
$pia_lang['Device_Shortcut_NewDevices'] = 'Neue Geräte';
|
||||
$pia_lang['Device_Shortcut_DownAlerts'] = 'Down Meldung';
|
||||
$pia_lang['Device_Shortcut_DownAlerts'] = 'Down Meldungen';
|
||||
$pia_lang['Device_Shortcut_Archived'] = 'Archiviert';
|
||||
$pia_lang['Device_Shortcut_Devices'] = 'Geräte';
|
||||
$pia_lang['Device_Shortcut_OnlineChart_a'] = 'Netzwerkaktivität über die letzten';
|
||||
@@ -45,7 +45,7 @@ $pia_lang['Presence_Shortcut_AllDevices'] = 'Alle Geräte';
|
||||
$pia_lang['Presence_Shortcut_Connected'] = 'Verbunden';
|
||||
$pia_lang['Presence_Shortcut_Favorites'] = 'Favoriten';
|
||||
$pia_lang['Presence_Shortcut_NewDevices'] = 'Neue Geräte';
|
||||
$pia_lang['Presence_Shortcut_DownAlerts'] = 'Down Meldung';
|
||||
$pia_lang['Presence_Shortcut_DownAlerts'] = 'Down Meldungen';
|
||||
$pia_lang['Presence_Shortcut_Archived'] = 'Archiviert';
|
||||
$pia_lang['Presence_Shortcut_Devices'] = 'Geräte';
|
||||
|
||||
@@ -69,10 +69,10 @@ $pia_lang['Events_Periodselect_LastYear'] = 'Letztes Jahr';
|
||||
$pia_lang['Events_Periodselect_All'] = 'Alle Ereignisse';
|
||||
$pia_lang['Events_Shortcut_AllEvents'] = 'Alle Ereignisse';
|
||||
$pia_lang['Events_Shortcut_Sessions'] = 'Sitzungen';
|
||||
$pia_lang['Events_Shortcut_MissSessions'] = 'fehlende Sitzg.';
|
||||
$pia_lang['Events_Shortcut_VoidSessions'] = 'beendete Sitzg.';
|
||||
$pia_lang['Events_Shortcut_MissSessions'] = 'fehlende Sitzungen';
|
||||
$pia_lang['Events_Shortcut_VoidSessions'] = 'beendete Sitzungen';
|
||||
$pia_lang['Events_Shortcut_NewDevices'] = 'Neue Geräte';
|
||||
$pia_lang['Events_Shortcut_DownAlerts'] = 'Down Meldung';
|
||||
$pia_lang['Events_Shortcut_DownAlerts'] = 'Down Meldungen';
|
||||
$pia_lang['Events_Shortcut_Events'] = 'Ereignisse';
|
||||
$pia_lang['Events_TableHead_Order'] = 'Order';
|
||||
$pia_lang['Events_TableHead_Device'] = 'Gerät';
|
||||
@@ -105,7 +105,7 @@ $pia_lang['DevDetail_Periodselect_All'] = 'Alle Infos';
|
||||
$pia_lang['DevDetail_Shortcut_CurrentStatus'] = 'aktueller Status';
|
||||
$pia_lang['DevDetail_Shortcut_Sessions'] = 'Sitzungen';
|
||||
$pia_lang['DevDetail_Shortcut_Presence'] = 'Anwesenheit';
|
||||
$pia_lang['DevDetail_Shortcut_DownAlerts'] = 'Down Meldung';
|
||||
$pia_lang['DevDetail_Shortcut_DownAlerts'] = 'Down Meldungen';
|
||||
$pia_lang['DevDetail_Tab_Details'] = 'Details';
|
||||
$pia_lang['DevDetail_Tab_Nmap'] = 'Nmap';
|
||||
$pia_lang['DevDetail_Tab_Sessions'] = 'Sitzungen';
|
||||
@@ -135,6 +135,8 @@ $pia_lang['DevDetail_EveandAl_Skip'] = 'pausiere wiederhol. Meldungen für';
|
||||
$pia_lang['DevDetail_EveandAl_NewDevice'] = 'Neues Gerät';
|
||||
$pia_lang['DevDetail_EveandAl_Archived'] = 'Archivierung';
|
||||
$pia_lang['DevDetail_EveandAl_RandomMAC'] = 'Zufällige MAC';
|
||||
$pia_lang['DevDetail_EveandAl_ScanCycle_a'] = 'Gerät scannen (1 min)';
|
||||
$pia_lang['DevDetail_EveandAl_ScanCycle_z'] = 'Gerät nicht scannen (0 min)';
|
||||
$pia_lang['DevDetail_button_Delete'] = 'Lösche Gerät';
|
||||
$pia_lang['DevDetail_button_Reset'] = 'Verwerfen';
|
||||
$pia_lang['DevDetail_button_Save'] = 'Speichern';
|
||||
@@ -169,11 +171,14 @@ $pia_lang['Maintenance_arp_status_on'] = 'Scan(s) sind gerade aktiv';
|
||||
$pia_lang['Maintenance_themeselector_lable'] = 'Skin Auswahl';
|
||||
$pia_lang['Maintenance_themeselector_empty'] = 'Skin wählen';
|
||||
$pia_lang['Maintenance_themeselector_text'] = 'Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.';
|
||||
$pia_lang['Maintenance_themeselector_apply'] = 'Übernehmen';
|
||||
$pia_lang['Maintenance_lang_selector_lable'] = 'Sprachauswahl';
|
||||
$pia_lang['Maintenance_lang_selector_empty'] = 'Sprache wählen';
|
||||
$pia_lang['Maintenance_lang_en_us'] = 'Englisch (US)';
|
||||
$pia_lang['Maintenance_lang_de_de'] = 'Deutsch (DE)';
|
||||
$pia_lang['Maintenance_lang_es_es'] = 'Spanisch (ES)';
|
||||
$pia_lang['Maintenance_lang_selector_text'] = 'Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.';
|
||||
$pia_lang['Maintenance_lang_selector_apply'] = 'Übernehmen';
|
||||
$pia_lang['Maintenance_Tool_darkmode'] = 'Darstellungswechsel (Dunkel/Hell)';
|
||||
$pia_lang['Maintenance_Tool_darkmode_text'] = 'Wechselt zwischen der hellen und der dunklen Darstellung. Wenn der Wechsel nicht richtig funktionieren sollte, versuchen Sie den Browsercache zu löschen. Die Änderung findet serverseitig statt, betrifft also alle verwendeten Geräte.';
|
||||
$pia_lang['Maintenance_Tool_darkmode_noti'] = 'Darstellungswechsel';
|
||||
@@ -186,6 +191,9 @@ $pia_lang['Maintenance_Tool_del_empty_macs'] = 'Alle Geräte ohne MAC löschen';
|
||||
$pia_lang['Maintenance_Tool_del_empty_macs_text'] = 'Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht rück­gängig gemacht werden. Alle Geäte ohne MAC-Adresse werden aus der Datenbank ge­löscht.';
|
||||
$pia_lang['Maintenance_Tool_del_empty_macs_noti'] = 'Geräte löschen';
|
||||
$pia_lang['Maintenance_Tool_del_empty_macs_noti_text'] = 'Sind Sie sicher, dass Sie alle Geräte ohne MAC-Adresse löschen wollen?<br>(Vielleicht bevorzugenn Sie eine Archivierung.)';
|
||||
$pia_lang['Maintenance_Tool_upgrade_database_noti'] = 'Aktualisiere Datenbank';
|
||||
$pia_lang['Maintenance_Tool_upgrade_database_text'] = 'Mit dieser Schaltfläche wird die Datenbank aktualisiert, um das Diagramm der Netzwerkaktivitäten der letzten 12 Stunden zu aktivieren. Bitte sichern Sie Ihre Datenbank, falls Probleme auftreten.';
|
||||
$pia_lang['Maintenance_Tool_upgrade_database_noti_text'] = 'Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen.';
|
||||
$pia_lang['Maintenance_Tool_del_alldev'] = 'Alle Geräte löschen';
|
||||
$pia_lang['Maintenance_Tool_del_alldev_text'] = 'Machen Sie ein Backup, bevor Sie diese Funk­tion nutzen. Der Vor­gang kann ohne Back­up nicht rück­gängig gemacht werden. Alle Geräte werden in der Datenbank ge­löscht.';
|
||||
$pia_lang['Maintenance_Tool_del_alldev_noti'] = 'Geräte löschen';
|
||||
@@ -229,5 +237,7 @@ $pia_lang['BackDevices_DBTools_DelDevError_a'] = 'Fehler beim Löschen des Gerä
|
||||
$pia_lang['BackDevices_DBTools_DelDevError_b'] = 'Fehler beim Löschen der Geräte';
|
||||
$pia_lang['BackDevices_DBTools_UpdDev'] = 'Gerät erfolgreich aktualisiert';
|
||||
$pia_lang['BackDevices_DBTools_UpdDevError'] = 'Fehler beim Aktualisieren des Gerätes';
|
||||
$pia_lang['BackDevices_DBTools_Upgrade'] = 'Datenbank erfolgreich aktualisiert';
|
||||
$pia_lang['BackDevices_DBTools_UpgradeError'] = 'Fehler beim Aktualisieren der Datenbank';
|
||||
?>
|
||||
|
||||
|
||||
@@ -135,6 +135,8 @@ $pia_lang['DevDetail_EveandAl_Skip'] = 'Skip repeated notifications during';
|
||||
$pia_lang['DevDetail_EveandAl_NewDevice'] = 'New Device';
|
||||
$pia_lang['DevDetail_EveandAl_Archived'] = 'Archived';
|
||||
$pia_lang['DevDetail_EveandAl_RandomMAC'] = 'Random MAC';
|
||||
$pia_lang['DevDetail_EveandAl_ScanCycle_a'] = 'Scan Device (1 min)';
|
||||
$pia_lang['DevDetail_EveandAl_ScanCycle_z'] = 'Don't Scan Device (0 min)';
|
||||
$pia_lang['DevDetail_button_Delete'] = 'Delete Device';
|
||||
$pia_lang['DevDetail_button_Reset'] = 'Reset Changes';
|
||||
$pia_lang['DevDetail_button_Save'] = 'Save';
|
||||
@@ -168,12 +170,15 @@ $pia_lang['Maintenance_arp_status_off'] = 'is currently disabled';
|
||||
$pia_lang['Maintenance_arp_status_on'] = 'scan(s) currently running';
|
||||
$pia_lang['Maintenance_themeselector_lable'] = 'Select Skin';
|
||||
$pia_lang['Maintenance_themeselector_empty'] = 'Choose a Skin';
|
||||
$pia_lang['Maintenance_themeselector_apply'] = 'Apply';
|
||||
$pia_lang['Maintenance_themeselector_text'] = 'The change takes place on the server side, so it affects all devices in use.';
|
||||
$pia_lang['Maintenance_lang_selector_lable'] = 'Select Language';
|
||||
$pia_lang['Maintenance_lang_selector_empty'] = 'Choose Language';
|
||||
$pia_lang['Maintenance_lang_en_us'] = 'English (US)';
|
||||
$pia_lang['Maintenance_lang_de_de'] = 'German (DE)';
|
||||
$pia_lang['Maintenance_lang_es_es'] = 'Spanish (ES)';
|
||||
$pia_lang['Maintenance_lang_selector_text'] = 'The change takes place on the server side, so it affects all devices in use.';
|
||||
$pia_lang['Maintenance_lang_selector_apply'] = 'Apply';
|
||||
$pia_lang['Maintenance_Tool_darkmode'] = 'Toggle Modes (Dark/Light)';
|
||||
$pia_lang['Maintenance_Tool_darkmode_text'] = 'Toggle between dark mode and light mode. If the switch does not work properly, try to clear the browser cache. The change takes place on the server side, so it affects all devices in use.';
|
||||
$pia_lang['Maintenance_Tool_darkmode_noti'] = 'Toggle Modes';
|
||||
|
||||
243
front/php/templates/language/es_es.php
Normal file
243
front/php/templates/language/es_es.php
Normal file
@@ -0,0 +1,243 @@
|
||||
<?php
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// Device Page - by @TeroRERO 20jul2022
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
$pia_lang['Navigation_Devices'] = 'Dispositivos';
|
||||
$pia_lang['Navigation_Presence'] = 'Presencia';
|
||||
$pia_lang['Navigation_Events'] = 'Eventos';
|
||||
$pia_lang['Navigation_Maintenance'] = 'Mantenimiento';
|
||||
$pia_lang['Device_Title'] = 'Dispositivos';
|
||||
$pia_lang['Device_Shortcut_AllDevices'] = 'Todos los dispositivos';
|
||||
$pia_lang['Device_Shortcut_Connected'] = 'Conectada';
|
||||
$pia_lang['Device_Shortcut_Favorites'] = 'Favoritos';
|
||||
$pia_lang['Device_Shortcut_NewDevices'] = 'Nuevos dispositivos';
|
||||
$pia_lang['Device_Shortcut_DownAlerts'] = 'Alertas de caídas';
|
||||
$pia_lang['Device_Shortcut_Archived'] = 'Archivada';
|
||||
$pia_lang['Device_Shortcut_Devices'] = 'Dispositivos';
|
||||
$pia_lang['Device_Shortcut_OnlineChart_a'] = 'Actividad de la red durante el último';
|
||||
$pia_lang['Device_Shortcut_OnlineChart_b'] = 'horas';
|
||||
$pia_lang['Device_TableHead_Name'] = 'Nombre';
|
||||
$pia_lang['Device_TableHead_Owner'] = 'Propietario';
|
||||
$pia_lang['Device_TableHead_Type'] = 'Tipo';
|
||||
$pia_lang['Device_TableHead_Favorite'] = 'Favorito';
|
||||
$pia_lang['Device_TableHead_Group'] = 'Grupo';
|
||||
$pia_lang['Device_TableHead_FirstSession'] = 'Primera sesión';
|
||||
$pia_lang['Device_TableHead_LastSession'] = 'Última sesión';
|
||||
$pia_lang['Device_TableHead_LastIP'] = 'Última IP';
|
||||
$pia_lang['Device_TableHead_MAC'] = 'MAC';
|
||||
$pia_lang['Device_TableHead_LastIPOrder'] = 'Última orden de IP';
|
||||
$pia_lang['Device_TableHead_Rowid'] = 'Rowid';
|
||||
$pia_lang['Device_TableHead_Status'] = 'Estado';
|
||||
$pia_lang['Device_Searchbox'] = 'Búsqueda';
|
||||
$pia_lang['Device_Tablelenght'] = 'Mostrar _MENU_ entradas';
|
||||
$pia_lang['Device_Tablelenght_all'] = 'Todos';
|
||||
$pia_lang['Device_Table_info'] = 'Mostrando el _INICIO_ hasta el _FINAL_ de las entradas del _TOTAL';
|
||||
$pia_lang['Device_Table_nav_next'] = 'Siguiente';
|
||||
$pia_lang['Device_Table_nav_prev'] = 'Anterior';
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// Presence Page - by @TeroRERO 20jul2022
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
$pia_lang['Presence_Title'] = 'Presencia por dispositivo';
|
||||
$pia_lang['Presence_Shortcut_AllDevices'] = 'Todos los dispositivos';
|
||||
$pia_lang['Presence_Shortcut_Connected'] = 'Conectada';
|
||||
$pia_lang['Presence_Shortcut_Favorites'] = 'Favoritos';
|
||||
$pia_lang['Presence_Shortcut_NewDevices'] = 'Nuevos dispositivos';
|
||||
$pia_lang['Presence_Shortcut_DownAlerts'] = 'Alertas de caídas';
|
||||
$pia_lang['Presence_Shortcut_Archived'] = 'Archivada';
|
||||
$pia_lang['Presence_Shortcut_Devices'] = 'Dispositivos';
|
||||
|
||||
// Localizationfiles under pialert/front/lib/AdminLTE/bower_components/fullcalendar/dist/locale
|
||||
$pia_lang['Presence_CallHead_Devices'] = 'Dispositivos';
|
||||
$pia_lang['Presence_CalHead_lang'] = 'es-es';
|
||||
$pia_lang['Presence_CalHead_year'] = 'año';
|
||||
$pia_lang['Presence_CalHead_quarter'] = 'trimestre';
|
||||
$pia_lang['Presence_CalHead_month'] = 'mes';
|
||||
$pia_lang['Presence_CalHead_week'] = 'semana';
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// Events Page - by @TeroRERO 20jul2022
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
$pia_lang['Events_Title'] = 'Eventos';
|
||||
$pia_lang['Events_Periodselect_today'] = 'Hoy';
|
||||
$pia_lang['Events_Periodselect_LastWeek'] = 'La semana pasada';
|
||||
$pia_lang['Events_Periodselect_LastMonth'] = 'El mes pasado';
|
||||
$pia_lang['Events_Periodselect_LastYear'] = 'El año pasado';
|
||||
$pia_lang['Events_Periodselect_All'] = 'Toda la información';
|
||||
$pia_lang['Events_Shortcut_AllEvents'] = 'Todos los eventos';
|
||||
$pia_lang['Events_Shortcut_Sessions'] = 'Sesiones';
|
||||
$pia_lang['Events_Shortcut_MissSessions'] = 'Sesiones faltantes';
|
||||
$pia_lang['Events_Shortcut_VoidSessions'] = 'Sesiones anuladas';
|
||||
$pia_lang['Events_Shortcut_NewDevices'] = 'Nuevos dispositivos';
|
||||
$pia_lang['Events_Shortcut_DownAlerts'] = 'Alertas de caídas';
|
||||
$pia_lang['Events_Shortcut_Events'] = 'Eventos';
|
||||
$pia_lang['Events_TableHead_Order'] = 'Ordenar';
|
||||
$pia_lang['Events_TableHead_Device'] = 'Dispositivo';
|
||||
$pia_lang['Events_TableHead_Owner'] = 'Propietario';
|
||||
$pia_lang['Events_TableHead_Date'] = 'Fecha';
|
||||
$pia_lang['Events_TableHead_EventType'] = 'Tipo de evento';
|
||||
$pia_lang['Events_TableHead_Connection'] = 'Conexión';
|
||||
$pia_lang['Events_TableHead_Disconnection'] = 'Desconexión';
|
||||
$pia_lang['Events_TableHead_Duration'] = 'Duración';
|
||||
$pia_lang['Events_TableHead_DurationOrder'] = 'Orden de duración';
|
||||
$pia_lang['Events_TableHead_IP'] = 'IP';
|
||||
$pia_lang['Events_TableHead_IPOrder'] = 'Orden de IP';
|
||||
$pia_lang['Events_TableHead_AdditionalInfo'] = 'Información adicional';
|
||||
$pia_lang['Events_Searchbox'] = 'Búsqueda';
|
||||
$pia_lang['Events_Tablelenght'] = 'Montras entradas del _MENU';
|
||||
$pia_lang['Events_Tablelenght_all'] = 'Todos';
|
||||
$pia_lang['Events_Table_info'] = 'Mostrando el _INICIO_ hasta el _FIN_ del _TOTAL';
|
||||
$pia_lang['Events_Table_nav_next'] = 'Siguiente';
|
||||
$pia_lang['Events_Table_nav_prev'] = 'Anterior';
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// Device Details Page - by @TeroRERO 20jul2022
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
$pia_lang['DevDetail_Periodselect_today'] = 'Hoy';
|
||||
$pia_lang['DevDetail_Periodselect_LastWeek'] = 'La semana pasada';
|
||||
$pia_lang['DevDetail_Periodselect_LastMonth'] = 'El mes pasado';
|
||||
$pia_lang['DevDetail_Periodselect_LastYear'] = 'El año pasado';
|
||||
$pia_lang['DevDetail_Periodselect_All'] = 'Toda la información';
|
||||
$pia_lang['DevDetail_Shortcut_CurrentStatus'] = 'Estado actual';
|
||||
$pia_lang['DevDetail_Shortcut_Sessions'] = 'Sesiones';
|
||||
$pia_lang['DevDetail_Shortcut_Presence'] = 'Presencia';
|
||||
$pia_lang['DevDetail_Shortcut_DownAlerts'] = 'Alertas de caídas';
|
||||
$pia_lang['DevDetail_Tab_Details'] = 'Detalles';
|
||||
$pia_lang['DevDetail_Tab_Nmap'] = 'Nmap';
|
||||
$pia_lang['DevDetail_Tab_Sessions'] = 'Sesiones';
|
||||
$pia_lang['DevDetail_Tab_Presence'] = 'Presencia';
|
||||
$pia_lang['DevDetail_Tab_Events'] = 'Eventos';
|
||||
$pia_lang['DevDetail_MainInfo_Title'] = 'Información principal';
|
||||
$pia_lang['DevDetail_MainInfo_mac'] = 'MAC';
|
||||
$pia_lang['DevDetail_MainInfo_Name'] = 'Nombre';
|
||||
$pia_lang['DevDetail_MainInfo_Owner'] = 'Propietario';
|
||||
$pia_lang['DevDetail_MainInfo_Type'] = 'Tipo';
|
||||
$pia_lang['DevDetail_MainInfo_Vendor'] = 'Proveedor';
|
||||
$pia_lang['DevDetail_MainInfo_Favorite'] = 'Favorito';
|
||||
$pia_lang['DevDetail_MainInfo_Group'] = 'Grupo';
|
||||
$pia_lang['DevDetail_MainInfo_Location'] = 'Ubicación';
|
||||
$pia_lang['DevDetail_MainInfo_Comments'] = 'Comentario';
|
||||
$pia_lang['DevDetail_SessionInfo_Title'] = 'Información de sesión';
|
||||
$pia_lang['DevDetail_SessionInfo_Status'] = 'Estado';
|
||||
$pia_lang['DevDetail_SessionInfo_FirstSession'] = 'Primera sesión';
|
||||
$pia_lang['DevDetail_SessionInfo_LastSession'] = 'Última sesión';
|
||||
$pia_lang['DevDetail_SessionInfo_LastIP'] = 'Última IP';
|
||||
$pia_lang['DevDetail_SessionInfo_StaticIP'] = 'IP estática';
|
||||
$pia_lang['DevDetail_EveandAl_Title'] = 'Configuración de eventos y alertas';
|
||||
$pia_lang['DevDetail_EveandAl_ScanCycle'] = 'Ciclo de escaneo';
|
||||
$pia_lang['DevDetail_EveandAl_AlertAllEvents'] = 'Alerta a todos los eventos';
|
||||
$pia_lang['DevDetail_EveandAl_AlertDown'] = 'Alerta de caída';
|
||||
$pia_lang['DevDetail_EveandAl_Skip'] = 'Omitir notificaciones repetidas durante';
|
||||
$pia_lang['DevDetail_EveandAl_NewDevice'] = 'Nuevo dispositivo';
|
||||
$pia_lang['DevDetail_EveandAl_Archived'] = 'Archivada';
|
||||
$pia_lang['DevDetail_EveandAl_RandomMAC'] = 'MAC al azar';
|
||||
$pia_lang['DevDetail_EveandAl_ScanCycle_a'] = 'Scan Device (1 min)';
|
||||
$pia_lang['DevDetail_EveandAl_ScanCycle_z'] = 'Don't Scan Device (0 min)';
|
||||
$pia_lang['DevDetail_button_Delete'] = 'Eliminar dispositivo';
|
||||
$pia_lang['DevDetail_button_Reset'] = 'Restablecer cambios';
|
||||
$pia_lang['DevDetail_button_Save'] = 'Guardar';
|
||||
$pia_lang['DevDetail_SessionTable_Order'] = 'Ordenar';
|
||||
$pia_lang['DevDetail_SessionTable_Connection'] = 'Conexión';
|
||||
$pia_lang['DevDetail_SessionTable_Disconnection'] = 'Desconexión';
|
||||
$pia_lang['DevDetail_SessionTable_Duration'] = 'Duración';
|
||||
$pia_lang['DevDetail_SessionTable_IP'] = 'IP';
|
||||
$pia_lang['DevDetail_SessionTable_Additionalinfo'] = 'Información adicional';
|
||||
$pia_lang['DevDetail_Events_CheckBox'] = 'Ocultar eventos de conexión';
|
||||
$pia_lang['DevDetail_Nmap_buttonFast'] = 'Exploración rápida';
|
||||
$pia_lang['DevDetail_Nmap_buttonDefault'] = 'Escaneado predeterminado';
|
||||
$pia_lang['DevDetail_Nmap_buttonDetail'] = 'Escaneo detallado';
|
||||
$pia_lang['DevDetail_Nmap_buttonFast_text'] = 'Escaneo rápido: escanee menos puertos (100) que el escaneo predeterminado (unos pocos segundos)';
|
||||
$pia_lang['DevDetail_Nmap_buttonDefault_text'] = 'Escaneo predeterminado: NMAP escanea los 1,000 puertos principales para cada protocolo de escaneo solicitado. Esto atrapa aproximadamente el 93% de los puertos TCP y el 49% de los puertos UDP. (aproximadamente 5 segundos)';
|
||||
$pia_lang['DevDetail_Nmap_buttonDetail_text'] = 'Escaneo detallado: escaneo predeterminado con detección de sistema operativo habilitado, detección de versiones, escaneo de script y traceroute (hasta 30 segundos o más)';
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// Maintenance Page - by @TeroRERO 20jul2022
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
$pia_lang['Maintenance_Title'] = 'Herramientas de mantenimiento';
|
||||
$pia_lang['Maintenance_database_path'] = 'Ruta de la base de datos';
|
||||
$pia_lang['Maintenance_database_size'] = 'Tamaño de base de datos';
|
||||
$pia_lang['Maintenance_database_lastmod'] = 'última modificación';
|
||||
$pia_lang['Maintenance_database_backup'] = 'DB Respaldos';
|
||||
$pia_lang['Maintenance_database_backup_found'] = 'copias de seguridad donde se encuentran';
|
||||
$pia_lang['Maintenance_database_backup_total'] = 'Uso total de disco';
|
||||
$pia_lang['Maintenance_arp_status'] = 'Estado de escaneo';
|
||||
$pia_lang['Maintenance_arp_status_off'] = 'está actualmente deshabilitado';
|
||||
$pia_lang['Maintenance_arp_status_on'] = 'escaneo(s) actualmente en ejecución';
|
||||
$pia_lang['Maintenance_themeselector_lable'] = 'Seleccionar Skin';
|
||||
$pia_lang['Maintenance_themeselector_empty'] = 'Elige un Skin';
|
||||
$pia_lang['Maintenance_themeselector_text'] = 'El cambio tiene lugar en el lado del servidor, por lo que afecta todos los dispositivos en uso.';
|
||||
$pia_lang['Maintenance_themeselector_apply'] = 'Apply';
|
||||
$pia_lang['Maintenance_lang_selector_lable'] = 'Seleccione el idioma';
|
||||
$pia_lang['Maintenance_lang_selector_empty'] = 'Elija el idioma';
|
||||
$pia_lang['Maintenance_lang_en_us'] = 'English (US)';
|
||||
$pia_lang['Maintenance_lang_de_de'] = 'German (DE)';
|
||||
$pia_lang['Maintenance_lang_es_es'] = 'Spanish (ES)';
|
||||
$pia_lang['Maintenance_lang_selector_text'] = 'El cambio tiene lugar en el lado del servidor, por lo que afecta todos los dispositivos en uso.';
|
||||
$pia_lang['Maintenance_lang_selector_apply'] = 'Apply';
|
||||
$pia_lang['Maintenance_Tool_darkmode'] = 'Cambiar Modo (Dark/Light)';
|
||||
$pia_lang['Maintenance_Tool_darkmode_text'] = 'Alternar entre el modo oscuro y el modo de luz. Si el interruptor no funciona correctamente, intente borrar el caché del navegador. El cambio tiene lugar en el lado del servidor, por lo que afecta todos los dispositivos en uso.';
|
||||
$pia_lang['Maintenance_Tool_darkmode_noti'] = 'Cambiar Modo';
|
||||
$pia_lang['Maintenance_Tool_darkmode_noti_text'] = 'Después del cambio de tema, la página intenta volver a cargar para activar el cambio. Si es necesario, el caché debe ser eliminado.';
|
||||
$pia_lang['Maintenance_Tool_arpscansw'] = 'Alternar arp-scan (on/off)';
|
||||
$pia_lang['Maintenance_Tool_arpscansw_text'] = 'Encender o desactivar el arp-scan. Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente. Los escaneos activos no se cancelan.';
|
||||
$pia_lang['Maintenance_Tool_arpscansw_noti'] = 'Alternar arp-scan on or off';
|
||||
$pia_lang['Maintenance_Tool_arpscansw_noti_text'] = 'Cuando el escaneo se ha apagado, permanece apagado hasta que se active nuevamente.';
|
||||
$pia_lang['Maintenance_Tool_del_empty_macs'] = 'Eliminar dispositivos con MACs vacíos';
|
||||
$pia_lang['Maintenance_Tool_del_empty_macs_text'] = 'Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Todos los dispositivos sin Mac se eliminarán de la base de datos.';
|
||||
$pia_lang['Maintenance_Tool_del_empty_macs_noti'] = 'Eliminar dispositivos';
|
||||
$pia_lang['Maintenance_Tool_del_empty_macs_noti_text'] = '¿Estás seguro de que quieres eliminar todos los dispositivos con direcciones MAC vacías? <br> (tal vez prefiera archivarlo)';
|
||||
$pia_lang['Maintenance_Tool_upgrade_database_noti'] = 'Actualizar la base de datos';
|
||||
$pia_lang['Maintenance_Tool_upgrade_database_text'] = 'Este botón actualizará la base de datos para habilitar la actividad de la red en las últimas 12 horas. Haga una copia de seguridad de su base de datos en caso de problemas.';
|
||||
$pia_lang['Maintenance_Tool_upgrade_database_noti_text'] = '¿Estás seguro de que quieres actualizar la base de datos? <br> (tal vez prefieras archivarla)';
|
||||
$pia_lang['Maintenance_Tool_del_alldev'] = 'Eliminar todos los dispositivos';
|
||||
$pia_lang['Maintenance_Tool_del_alldev_text'] = 'Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Todos los dispositivos se eliminarán de la base de datos.';
|
||||
$pia_lang['Maintenance_Tool_del_alldev_noti'] = 'Eliminar dispositivos';
|
||||
$pia_lang['Maintenance_Tool_del_alldev_noti_text'] = '¿Estás seguro de que quieres eliminar todos los dispositivos?';
|
||||
$pia_lang['Maintenance_Tool_del_unknowndev'] = 'Eliminar dispositivos (desconocidos)';
|
||||
$pia_lang['Maintenance_Tool_del_unknowndev_text'] = 'Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Todos los dispositivos nombrados (desconocidos) se eliminarán de la base de datos.';
|
||||
$pia_lang['Maintenance_Tool_del_unknowndev_noti'] = 'Eliminar dispositivos (desconocidos)';
|
||||
$pia_lang['Maintenance_Tool_del_unknowndev_noti_text'] = '¿Estás seguro de que quieres eliminar todos los dispositivos (desconocidos)?';
|
||||
$pia_lang['Maintenance_Tool_del_allevents'] = 'Eliminar todos los eventos (Restablecer presencia)';
|
||||
$pia_lang['Maintenance_Tool_del_allevents_text'] = 'Antes de usar esta función, haga una copia de seguridad. La eliminación no se puede deshacer. Se eliminarán todos los eventos en la base de datos. En ese momento se restablecerá la presencia de todos los dispositivos. Esto puede conducir a sesiones no válidas. Esto significa que los dispositivos se muestran como "presentes", aunque están fuera de línea. Un escaneo mientras el dispositivo en cuestión está en línea resuelve el problema.';
|
||||
$pia_lang['Maintenance_Tool_del_allevents_noti'] = 'Eliminar eventos';
|
||||
$pia_lang['Maintenance_Tool_del_allevents_noti_text'] = '¿Estás seguro de que quieres eliminar todos los eventos? Esto restablece la presencia de todos los dispositivos.';
|
||||
$pia_lang['Maintenance_Tool_backup'] = 'DB Respaldo';
|
||||
$pia_lang['Maintenance_Tool_backup_text'] = 'Las copias de seguridad de la base de datos se encuentran en el directorio de la base de datos como una Zip-Archive, nombrada con la fecha de creación. No hay un número máximo de copias de seguridad.';
|
||||
$pia_lang['Maintenance_Tool_backup_noti'] = 'DB Respaldo';
|
||||
$pia_lang['Maintenance_Tool_backup_noti_text'] = '¿Estás seguro de que quieres exactos la copia de seguridad de DB? Asegúrese de que ningún escaneo se esté ejecutando actualmente.';
|
||||
$pia_lang['Maintenance_Tool_restore'] = 'DB Restaurar';
|
||||
$pia_lang['Maintenance_Tool_restore_text'] = 'La última copia de seguridad se puede restaurar a través del botón, pero las copias de seguridad anteriores solo se pueden restaurar manualmente. Después de la restauración, realice una verificación de integridad en la base de datos por seguridad, en caso de que el DB estuviera actualmente en acceso de escritura cuando se creó la copia de seguridad.';
|
||||
$pia_lang['Maintenance_Tool_restore_noti'] = 'DB Restaurar';
|
||||
$pia_lang['Maintenance_Tool_restore_noti_text'] = '¿Estás seguro de que quieres hacer exactos la restauración de DB? Asegúrese de que ningún escaneo se esté ejecutando actualmente.';
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
// Maintenance Page - by @TeroRERO 20jul2022
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
$pia_lang['BackDevices_Arpscan_disabled'] = 'Arp-Scan Desactivada';
|
||||
$pia_lang['BackDevices_Arpscan_enabled'] = 'Arp-Scan Activada';
|
||||
$pia_lang['BackDevices_darkmode_disabled'] = 'Darkmode Desactivado';
|
||||
$pia_lang['BackDevices_darkmode_enabled'] = 'Darkmode Activado';
|
||||
$pia_lang['BackDevices_Restore_CopError'] = 'La base de datos original no se pudo guardar.';
|
||||
$pia_lang['BackDevices_Restore_okay'] = 'Restaurar ejecutado con éxito.';
|
||||
$pia_lang['BackDevices_Restore_Failed'] = 'La restauración falló. Restaurar la copia de seguridad manualmente.';
|
||||
$pia_lang['BackDevices_Backup_CopError'] = 'La base de datos original no se pudo guardar.';
|
||||
$pia_lang['BackDevices_Backup_okay'] = 'La copia de seguridad ejecutada con éxito con el nuevo archivo';
|
||||
$pia_lang['BackDevices_Backup_Failed'] = 'La copia de seguridad se ejecutó parcialmente con éxito. El archivo no se puede crear o está vacío.';
|
||||
$pia_lang['BackDevices_DBTools_DelDev_a'] = 'Dispositivo eliminado con éxito';
|
||||
$pia_lang['BackDevices_DBTools_DelDev_b'] = 'Dispositivos eliminados con éxito';
|
||||
$pia_lang['BackDevices_DBTools_DelEvents'] = 'Eventos eliminados con éxito';
|
||||
$pia_lang['BackDevices_DBTools_DelEventsError'] = 'Error de eliminación de eventos';
|
||||
$pia_lang['BackDevices_DBTools_DelDevError_a'] = 'Error de eliminación del dispositivo';
|
||||
$pia_lang['BackDevices_DBTools_DelDevError_b'] = 'Error de eliminación de dispositivos';
|
||||
$pia_lang['BackDevices_DBTools_UpdDev'] = 'Dispositivo actualizado con éxito';
|
||||
$pia_lang['BackDevices_DBTools_UpdDevError'] = 'Error al actualizar el dispositivo';
|
||||
$pia_lang['BackDevices_DBTools_Upgrade'] = 'Base de datos actualizada correctamente';
|
||||
$pia_lang['BackDevices_DBTools_UpgradeError'] = 'Falló la actualización de la base de datos';
|
||||
?>
|
||||
|
||||
@@ -30,21 +30,23 @@
|
||||
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesPresence('all');">
|
||||
<div class="small-box bg-aqua pa-small-box-aqua pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesAll"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-laptop text-aqua-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Presence_Shortcut_AllDevices'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-aqua">
|
||||
<div class="inner"><h3 id="devicesAll"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Presence_Shortcut_AllDevices'];?></p>
|
||||
</div>
|
||||
<div class="icon"><i class="fa fa-laptop text-aqua-40"></i></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- top small box 2 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesPresence('connected');">
|
||||
<div class="small-box bg-green pa-small-box-green pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesConnected"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-plug text-green-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Presence_Shortcut_Connected'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-green">
|
||||
<div class="inner"> <h3 id="devicesConnected"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Presence_Shortcut_Connected'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-plug text-green-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -52,10 +54,11 @@
|
||||
<!-- top small box 3 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesPresence('favorites');">
|
||||
<div class="small-box bg-yellow pa-small-box-yellow pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesFavorites"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-star text-yellow-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Presence_Shortcut_Favorites'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner"> <h3 id="devicesFavorites"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Presence_Shortcut_Favorites'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-star text-yellow-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -63,10 +66,11 @@
|
||||
<!-- top small box 4 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesPresence('new');">
|
||||
<div class="small-box bg-yellow pa-small-box-yellow pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesNew"> -- </h3> </div>
|
||||
<div class="icon"> <i class="ion ion-plus-round text-yellow-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Presence_Shortcut_NewDevices'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-yellow">
|
||||
<div class="inner"> <h3 id="devicesNew"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Presence_Shortcut_NewDevices'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="ion ion-plus-round text-yellow-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -74,10 +78,11 @@
|
||||
<!-- top small box 5 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesPresence('down');">
|
||||
<div class="small-box bg-red pa-small-box-red pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesDown"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-warning text-red-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Presence_Shortcut_DownAlerts'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-red">
|
||||
<div class="inner"> <h3 id="devicesDown"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Presence_Shortcut_DownAlerts'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-warning text-red-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -85,10 +90,11 @@
|
||||
<!-- top small box 6 ------------------------------------------------------- -->
|
||||
<div class="col-lg-2 col-sm-4 col-xs-6">
|
||||
<a href="#" onclick="javascript: getDevicesPresence('archived');">
|
||||
<div class="small-box bg-gray pa-small-box-gray pa-small-box-2">
|
||||
<div class="inner"> <h3 id="devicesHidden"> -- </h3> </div>
|
||||
<div class="icon"> <i class="fa fa-eye-slash text-gray-20"></i> </div>
|
||||
<div class="small-box-footer pa-small-box-footer"> <?php echo $pia_lang['Presence_Shortcut_Archived'];?> <i class="fa fa-arrow-circle-right"></i> </div>
|
||||
<div class="small-box bg-gray top_small_box_gray_text">
|
||||
<div class="inner"> <h3 id="devicesHidden"> -- </h3>
|
||||
<p class="infobox_label"><?php echo $pia_lang['Presence_Shortcut_Archived'];?></p>
|
||||
</div>
|
||||
<div class="icon"> <i class="fa fa-eye-slash text-gray-40"></i> </div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
@@ -119,7 +125,8 @@
|
||||
var pia_js_online_history_time = [<?php pia_graph_devices_data($Pia_Graph_Device_Time); ?>];
|
||||
var pia_js_online_history_ondev = [<?php pia_graph_devices_data($Pia_Graph_Device_Online); ?>];
|
||||
var pia_js_online_history_dodev = [<?php pia_graph_devices_data($Pia_Graph_Device_Down); ?>];
|
||||
pia_draw_graph_online_history(pia_js_online_history_time, pia_js_online_history_ondev, pia_js_online_history_dodev);
|
||||
var pia_js_online_history_ardev = [<?php pia_graph_devices_data($Pia_Graph_Device_Arch); ?>];
|
||||
pia_draw_graph_online_history(pia_js_online_history_time, pia_js_online_history_ondev, pia_js_online_history_dodev, pia_js_online_history_ardev);
|
||||
</script>
|
||||
|
||||
<!-- /.row -->
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
TZ=TIMEZONE
|
||||
|
||||
0 3 * * 1 python /home/pi/pialert/back/pialert.py update_vendors >/home/pi/pialert/log/pialert.vendors.log 2>&1
|
||||
*/1 * * * * python /home/pi/pialert/back/pialert.py internet_IP >/home/pi/pialert/log/pialert.IP.log 2>&1
|
||||
*/3 * * * * python /home/pi/pialert/back/pialert.py internet_IP >/home/pi/pialert/log/pialert.IP.log 2>&1
|
||||
*/5 * * * * python /home/pi/pialert/back/pialert.py 1 >/home/pi/pialert/log/pialert.1.log 2>&1
|
||||
*/15 * * * * python /home/pi/pialert/back/pialert.py 15 >/home/pi/pialert/log/pialert.15.log 2>&1
|
||||
*/30 * * * * cp /home/pi/pialert/db/pialert.db /home/pi/pialert/config/pialert.db_bak
|
||||
|
||||
5
install/pialert_patch_DB.sh
Executable file
5
install/pialert_patch_DB.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
echo "Create backup before insert new table"
|
||||
cp ../db/pialert.db ../db/pialert.db.bak
|
||||
echo "Insert new table 'Online_History' to pialert.db"
|
||||
sqlite3 ../db/pialert.db "CREATE TABLE 'Online_History' ('Index' INTEGER, 'Scan_Date' TEXT, 'Online_Devices' INTEGER, 'Down_Devices' INTEGER, 'All_Devices' INTEGER, 'Archived_Devices' INTEGER, PRIMARY KEY('Index' AUTOINCREMENT));"
|
||||
BIN
tar/pialert_latest.tar
Normal file
BIN
tar/pialert_latest.tar
Normal file
Binary file not shown.
Reference in New Issue
Block a user