Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
491 commits
Select commit Hold shift + click to select a range
2132e72
QA: Install/Uninstall issues
TheWitness Mar 13, 2022
b089187
QA: Two issues version, and database settings
TheWitness Mar 13, 2022
f3ec56e
QA: Make Syslog less susceptible to crashing Cacti's poller
TheWitness Mar 13, 2022
645d55b
QA: Hid navigation and other settings if config is not safe
TheWitness Mar 13, 2022
46464d3
QA: Missed call to determine config
TheWitness Mar 13, 2022
3c7af85
QA: Two more possible misses
TheWitness Mar 13, 2022
ea97f14
Add contrib folder with snmptt connector (#170)
bmfmancini Mar 17, 2022
d0cf7ad
Multiple updates to Syslog
TheWitness Mar 19, 2022
99b7962
Update translation files
weblate Mar 19, 2022
3b02125
Update translation files
weblate Mar 19, 2022
e6b5210
Update translation files
weblate Mar 19, 2022
0da209a
Update translation files
weblate Mar 19, 2022
73af408
Update translation files
weblate Mar 19, 2022
852f179
Update translation files
weblate Mar 19, 2022
5831511
Update translation files
weblate Mar 19, 2022
e4964d4
Update translation files
weblate Mar 19, 2022
cd3ace9
Update translation files
weblate Mar 19, 2022
0b91321
Update translation files
weblate Mar 19, 2022
97265a4
Update translation files
weblate Mar 19, 2022
f70eba1
Update translation files
weblate Mar 19, 2022
c1148eb
Update translation files
weblate Mar 19, 2022
8e23732
Update translation files
weblate Mar 19, 2022
a6a4959
Update translation files
weblate Mar 19, 2022
0784876
Update translation files
weblate Mar 19, 2022
cfb3dc6
Update translation files
weblate Mar 19, 2022
cdfe99e
Update translation files
weblate Mar 19, 2022
d52b107
Update translation files
weblate Mar 19, 2022
b19d897
Update translation files
weblate Mar 19, 2022
2ce9d3c
Update translation files
weblate Mar 19, 2022
a7b6bd7
Update translations
TheWitness Mar 19, 2022
7a6f3bb
More updates for reporting to be conforming to Format CSS specification
TheWitness Mar 20, 2022
8f55100
Don't use syslog.css if using a format css file.
TheWitness Mar 20, 2022
d88654c
Changes to support 'level'. Not fully QA'd
TheWitness Mar 20, 2022
a97f3d8
Replacement of MultiSelectFilter with private implementation
TheWitness Mar 20, 2022
527ad26
Add a placeholder
TheWitness Mar 21, 2022
cecc1ca
Commit missed database.php changes and query error for remote syslog
TheWitness Mar 21, 2022
5948d8b
QA: Missed the setup.php changes.
TheWitness Mar 22, 2022
feb8042
Resolving #172
TheWitness Mar 23, 2022
cb00018
Another minor update to #172
TheWitness Mar 23, 2022
c04d75f
Fixing Issue #160
TheWitness Mar 23, 2022
e5fbf2c
Fixing Issue #151 - Executables executing
TheWitness Mar 23, 2022
61bfbc8
ChangeLog Update only.
TheWitness Mar 24, 2022
2b81b79
Translated using Weblate (Russian)
weblate Mar 24, 2022
01674f0
Update translation files
weblate Mar 24, 2022
33bfc41
Fixing Issue #108 Add Body Text to Alerts
TheWitness Mar 26, 2022
7e6e093
Update translation file
TheWitness Mar 26, 2022
20701f1
Update translation files
weblate Mar 26, 2022
6543135
Update translation files
weblate Mar 26, 2022
506c858
Update translation files
weblate Mar 26, 2022
1607697
Update translation files
weblate Mar 26, 2022
cd3b269
Update translation files
weblate Mar 26, 2022
3f006c1
Update translation files
weblate Mar 26, 2022
196f683
Update translation files
weblate Mar 26, 2022
8cd9be1
Update translation files
weblate Mar 26, 2022
ba1b56b
Update translation files
weblate Mar 26, 2022
b593ffb
Update translation files
weblate Mar 26, 2022
e9bb1e5
Update translation files
weblate Mar 26, 2022
70eab79
Update translation files
weblate Mar 26, 2022
9dbd745
Update translation files
weblate Mar 26, 2022
298fd25
Update translation files
weblate Mar 26, 2022
d840acf
Update translation files
weblate Mar 26, 2022
66f9711
Update translation files
weblate Mar 26, 2022
5ad0ba3
Update translation files
weblate Mar 26, 2022
fed3866
Update translation files
weblate Mar 26, 2022
91495e4
Update translation files
weblate Mar 26, 2022
f5eb6a8
Update translation files
weblate Mar 26, 2022
ff15874
Update translation files
weblate Mar 26, 2022
c1a5fdf
Update translations
TheWitness Mar 26, 2022
18f9e4e
Add more modularity for readability
TheWitness Mar 26, 2022
e503567
QA on alerting
TheWitness Mar 27, 2022
b5dc2fe
Missed one critical update
TheWitness Mar 27, 2022
351078d
Update README.md
TheWitness Mar 27, 2022
b52d3ad
Update README.md
TheWitness Mar 27, 2022
fd17259
Update README.md
TheWitness Mar 27, 2022
92c3d2c
More Debugging for timing reviews
TheWitness Mar 27, 2022
eeb1f67
Tune up of #175 and #173 - Some format changes and command/ticket issues
TheWitness Mar 28, 2022
847561f
Fixing #174
TheWitness Mar 28, 2022
3b805cf
Fixing #177
netniV Mar 28, 2022
878766c
Fixing #176
netniV Mar 28, 2022
bccf564
Change to the Connection/Include logic
TheWitness Mar 28, 2022
1175d39
Correct one typo
TheWitness Mar 28, 2022
977fb21
The email body is optional.
TheWitness Mar 29, 2022
d2f09ef
Another update to #173 Multiple warnings in functions.php
TheWitness Mar 29, 2022
fef2cd4
Resolving Issue #180 - Undefined $found variable
TheWitness Mar 29, 2022
19461c5
Another minor fixup to #174
TheWitness Mar 29, 2022
37f3f71
Fixing Issue #182 - Syntax Error
TheWitness Mar 30, 2022
5f11b1c
Translated using Weblate (Russian)
weblate Mar 31, 2022
1ded549
Update translation files
weblate Mar 31, 2022
1daef7c
Fix undefined function
TheWitness Mar 31, 2022
01c8f03
Fix typo the right way this time
TheWitness Mar 31, 2022
a498318
Fix more logging issues and and psr
TheWitness Mar 31, 2022
62866c4
Update documentation
TheWitness Apr 1, 2022
6af78fd
Fixing Issue #181 - Confirm SQL before save
TheWitness Apr 1, 2022
9e8e145
QA: Special characters throw warnings when running vsprintf() so do s…
TheWitness Apr 1, 2022
245430b
QA: Add missing function
TheWitness Apr 16, 2022
e05db72
PHP 8.1: Optional parameter $program_id declared before required para…
ddb4github Apr 18, 2022
f55fdaa
Translated using Weblate (Turkish)
weblate Jun 11, 2022
a025032
Update translation files
weblate Jun 11, 2022
064600c
Translated using Weblate (Russian)
weblate Jun 17, 2022
ae73d16
Update translation files
weblate Jun 17, 2022
10385e5
Translated using Weblate (Turkish)
weblate Jun 21, 2022
0294b88
Update translation files
weblate Jun 21, 2022
40d50d2
Fix command execution (#194)
seanmancini Sep 15, 2022
9982e8f
Fixing #189 - Undefined variable in maintenance
TheWitness Sep 15, 2022
ae4727f
Update CHANGELOG.md (#195)
seanmancini Sep 15, 2022
19becec
Update CHANGELOG for #189 return to Unix line endings
TheWitness Sep 15, 2022
8dd9a10
Fixing Issue #186 - Wrong function call
TheWitness Sep 15, 2022
1f122b3
Translated using Weblate (Russian)
weblate Sep 16, 2022
dd67430
Update translation files
weblate Sep 16, 2022
d7f0191
Resolving #196 - Re-alert checks
TheWitness Sep 29, 2022
232893b
Resolving #185 - Wrong column specification
TheWitness Sep 29, 2022
ca64ac8
Update changelog
TheWitness Sep 29, 2022
e2e718d
Translated using Weblate (Polish)
weblate Nov 25, 2022
117354d
Update translation files
weblate Nov 25, 2022
970a93e
Better offline messaging
TheWitness Dec 18, 2022
98f8025
Fixing #205 - Missing global
TheWitness Dec 29, 2022
c169ecf
Updating CHANGELOG.md for #205
TheWitness Dec 29, 2022
869e783
Update copyright for 2023
netniV Jan 4, 2023
1954247
Update copyright for 2023
netniV Jan 5, 2023
f1b6be3
Increase width by 10 pixels to prevent wrap
TheWitness Jan 7, 2023
88b19fa
QA: Prepare for release
TheWitness Jan 28, 2023
a12e9ac
Translated using Weblate (French)
weblate Jan 30, 2023
8ff13c7
Update translation files
weblate Jan 30, 2023
1098815
QA: Reduce annoyance message
TheWitness Apr 8, 2023
2bde3a7
QA: Remove references to MySQL 5.1
TheWitness Apr 10, 2023
e47b4a5
QA: Additional cleanup and removal of version checking
TheWitness Apr 10, 2023
cee5aa1
QA: Additional Database version calls
TheWitness Apr 10, 2023
4422552
QA: Days are not correct
TheWitness Apr 10, 2023
7946239
Translated using Weblate (Russian)
weblate Apr 16, 2023
53fa411
Update translation files
weblate Apr 16, 2023
e810f02
Translated using Weblate (Portuguese (Brazil))
weblate Apr 20, 2023
f279666
Update translation files
weblate Apr 20, 2023
7a4e5d2
Ignore config.php from git
netniV Jun 8, 2023
912b2c9
Translated using Weblate (Russian)
weblate Jun 26, 2023
9d6f453
Update translation files
weblate Jun 26, 2023
e498dec
Fixing #211 - Device Filter missing devices
TheWitness Jun 26, 2023
df0e002
Fixing #208: Uncaught ValueError: escapeshellarg()
TheWitness Jun 26, 2023
7cef03f
Fixing #184 - Unable to remove for matching program.
TheWitness Jun 26, 2023
7468a22
Capture return code of script (#214)
bmfmancini Jul 12, 2023
803e98e
QA: Fix Syslog issue blocking Cacti test.
TheWitness Jul 15, 2023
331cce6
Correct a few potential SQL Injection points
TheWitness Aug 4, 2023
4971251
Translated using Weblate (Russian)
weblate Oct 14, 2023
bbd9cf0
Update translation files
weblate Oct 14, 2023
a093f9c
Translated using Weblate (Chinese (Simplified))
weblate Nov 10, 2023
0182b37
Update translation files
weblate Nov 10, 2023
f30b037
Translated using Weblate (Chinese (Simplified))
weblate Nov 11, 2023
de8559b
Update translation files
weblate Nov 11, 2023
2fdbc27
fix deleting SQL query (#219)
xmacan Dec 7, 2023
23154a7
typos
Linegod Dec 13, 2023
a3ab050
Use Enviromental variables to store credentials instead of direct in …
bmfmancini Dec 21, 2023
f21ec79
Translated using Weblate (Russian)
weblate Jan 1, 2024
5e5e451
Update translation files
weblate Jan 1, 2024
cce66db
Fixing Issue#217 - Error with host removal rule
TheWitness Jan 27, 2024
42881ff
Fixing #222 - Deprecation errors
TheWitness Jan 27, 2024
f392de3
Fixing #222 - Documentation for rsyslog version 2.4++
TheWitness Jan 28, 2024
d063a0b
Translated using Weblate (Dutch)
weblate Jan 31, 2024
07e7b46
Update translation files
weblate Jan 31, 2024
8f5dedf
Translated using Weblate (Chinese (Simplified))
weblate Mar 4, 2024
d27610f
Update translation files
weblate Mar 4, 2024
e33a64e
QA: Updating Copyrights to 2024
TheWitness Mar 15, 2024
612cf43
Update INFO
TheWitness Mar 17, 2024
35fee95
Update CHANGELOG.md
TheWitness Mar 17, 2024
55dd42b
Fixing #220 - Program Queries fail
TheWitness Mar 17, 2024
afaa0d1
Translated using Weblate (Chinese (Simplified))
weblate Jun 20, 2024
cee7de0
Update translation files
weblate Jun 20, 2024
2ef83c7
Translated using Weblate (Chinese (Simplified))
weblate Jun 21, 2024
ab3a830
Update translation files
weblate Jun 21, 2024
d69bdce
Translated using Weblate (Chinese (Simplified))
weblate Jun 21, 2024
3e936c7
Update translation files
weblate Jun 21, 2024
cce9a78
Translated using Weblate (Chinese (Simplified))
weblate Jun 23, 2024
76251d5
Update translation files
weblate Jun 23, 2024
7123241
Fix spelling error in README
cigamit Aug 28, 2024
62a651a
QA: Modifications for Cacti 1.3 and Add Aria Storage Engine
TheWitness Nov 5, 2024
33da506
Fixing the install advisor for syslog
TheWitness Nov 5, 2024
f92bb39
Fix #230 - SQL Errors due to missing field definitions
TheWitness Nov 5, 2024
efa099a
incorrect variables (#233)
xmacan Nov 8, 2024
acb5443
fix empty message (#234)
xmacan Nov 12, 2024
e98c81d
fixing fix230 (#235)
xmacan Nov 12, 2024
7143948
typos
Linegod Nov 17, 2024
4578de7
Translated using Weblate (Japanese)
weblate Nov 22, 2024
32d7956
Update translation files
weblate Nov 22, 2024
a7647c2
Translated using Weblate (Russian)
weblate Dec 6, 2024
67a0720
Update translation files
weblate Dec 6, 2024
29b15d3
Update translations to solve issue
TheWitness Mar 7, 2025
3916235
Translated using Weblate (Swedish)
weblate Mar 13, 2025
79784f2
Update translation files
weblate Mar 13, 2025
66f5d21
Translated using Weblate (Swedish)
weblate Mar 18, 2025
5abf728
Update translation files
weblate Mar 18, 2025
ad9e6e1
Translated using Weblate (Swedish)
weblate Mar 18, 2025
e007440
Update translation files
weblate Mar 18, 2025
334e9e6
Update translation files
weblate May 30, 2025
be68ba8
QA: Update Copyrights to 2025
TheWitness Jun 16, 2025
1a3d1d4
Added translation using Weblate (Georgian)
weblate Jun 30, 2025
fd1d1e4
Update translation files
weblate Jun 30, 2025
1c6e25e
QA: Relocating file to standard location
TheWitness Jun 30, 2025
fd47a9e
Translated using Weblate (Georgian)
weblate Jul 1, 2025
4a2ca29
Update translation files
weblate Jul 1, 2025
57c9520
Translated using Weblate (Georgian)
weblate Jul 2, 2025
6eab315
Update translation files
weblate Jul 2, 2025
c219fb4
Translated using Weblate (Georgian)
weblate Jul 4, 2025
d3aad62
Update translation files
weblate Jul 4, 2025
4884fb9
Translated using Weblate (Georgian)
weblate Jul 4, 2025
fe75233
Update translation files
weblate Jul 4, 2025
a644ae1
Translated using Weblate (Georgian)
weblate Jul 6, 2025
6470bd7
Update translation files
weblate Jul 6, 2025
2fc494b
Translated using Weblate (Georgian)
weblate Jul 7, 2025
6b7d52e
Update translation files
weblate Jul 7, 2025
2cdf36c
Translated using Weblate (Georgian)
weblate Jul 7, 2025
02a00a6
Update translation files
weblate Jul 7, 2025
20a1f63
Translated using Weblate (Georgian)
weblate Aug 9, 2025
fc674a6
Update translation files
weblate Aug 9, 2025
dee27b1
Translated using Weblate (Georgian)
weblate Aug 19, 2025
2e23c5f
Update translation files
weblate Aug 19, 2025
46717b8
Translated using Weblate (Swedish)
weblate Sep 18, 2025
f812a2e
Update translation files
weblate Sep 18, 2025
531088a
Translated using Weblate (Georgian)
weblate Oct 13, 2025
89bde03
Update translation files
weblate Oct 13, 2025
9297c4b
Translated using Weblate (Georgian)
weblate Oct 15, 2025
6e54858
Update translation files
weblate Oct 15, 2025
c019181
Translated using Weblate (Swedish)
weblate Oct 15, 2025
3c30c49
Update translation files
weblate Oct 15, 2025
b74001e
Translated using Weblate (Swedish)
weblate Oct 17, 2025
ce6dfdb
Update translation files
weblate Oct 17, 2025
72b6fd9
Translated using Weblate (Swedish)
weblate Oct 20, 2025
8fc0a74
Update translation files
weblate Oct 20, 2025
8d27cb9
Translated using Weblate (Swedish)
weblate Oct 22, 2025
5bd1f59
Update translation files
weblate Oct 22, 2025
5a82285
Translated using Weblate (Swedish)
weblate Oct 25, 2025
04a8146
Update translation files
weblate Oct 25, 2025
4fd5e94
Translated using Weblate (Swedish)
weblate Oct 27, 2025
f258047
Update translation files
weblate Oct 27, 2025
78dfe77
Translated using Weblate (Swedish)
weblate Nov 11, 2025
82cf8ce
Update translation files
weblate Nov 11, 2025
699d0d4
Add AI coding instructions for Syslog Plugin (#239)
bmfmancini Dec 24, 2025
f8cbfe5
agents (#240)
bmfmancini Jan 2, 2026
d4ca5dd
Refactoring - Migrate JS functions to functions.js (#242)
bmfmancini Jan 2, 2026
a45260c
Move agents folder to proper place (#244)
bmfmancini Jan 2, 2026
cf91d42
Create CI flow for Syslog (#245)
bmfmancini Jan 2, 2026
4e546ac
Update agent tools (#246)
bmfmancini Jan 3, 2026
9510330
Feature - Resolve syslog IP against cacti Hosts (#243)
bmfmancini Jan 3, 2026
d962b27
Translated using Weblate (Chinese (Traditional Han script))
weblate Jan 16, 2026
6161c87
Update translation files
weblate Jan 16, 2026
1c183b7
Update copyrights to 2026 (#248)
TheWitness Feb 14, 2026
0f64fe6
Move Instructions file to proper place (#247)
bmfmancini Feb 15, 2026
c64bcca
Update copyrights to 2026 (#249)
TheWitness Feb 16, 2026
09e06ad
Translated using Weblate (Swedish)
weblate Mar 10, 2026
869c035
fix: persist custom date filter across syslog page navigation (#251)
somethingwithproof Mar 10, 2026
1a91bd3
backport: consolidated security hardening and bugfixes for main
somethingwithproof Mar 16, 2026
fd31cd7
test: add Pest unit tests for XML import payload helper
somethingwithproof Mar 12, 2026
bf55698
fix: address copilot review feedback on PR #283
somethingwithproof Mar 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/ISSUE_TEMPLATE/agents/code-quality.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
description: "This Custom agent acts as a quality assurance specialist, focusing on code quality, best practices, and maintainability."
name: "Code Quality Specialist"
tools: ["search/codebase", "edit/editFiles", "web/githubRepo", "vscode/extensions", "execute/getTerminalOutput", "web"]
model: "Claude Sonnet 4.5"
---

# Code Quality Specialist
You are a Code Quality Specialist agent. Your role is to ensure that the codebase adheres to high standards of quality, best practices, and maintainability. You have access to various tools to help you perform your tasks effectively .

The technology stack you will work with is a lamp stack (Linux, Apache, MySQL, PHP) along with JavaScript for frontend development.


## Capabilities
- **Code Review:** Analyze code for adherence to coding standards, best practices, and design patterns.
- **Refactoring:** Suggest and implement code refactoring to improve readability, maintainability, and performance.
- **Testing:** Ensure that code is well-tested, with appropriate unit tests, integration tests, and end-to-end tests.
- **Documentation:** Verify that code is well-documented, with clear comments and comprehensive documentation.
- **Performance Optimization:** Identify and address performance bottlenecks in the codebase.
- **Security Best Practices:** Ensure that code follows security best practices to prevent vulnerabilities.
- **Continuous Integration/Continuous Deployment (CI/CD):** Review and improve CI/CD pipelines to ensure smooth and reliable deployments.
- **Code Metrics:** Utilize code metrics to assess code quality and identify areas for improvement.

## Tools
You have access to the following tools to assist you in your tasks:
- **search/codebase:** Search through the codebase for relevant information or code snippets.
- **edit/editFiles:** Edit code files to implement improvements or fixes.
- **githubRepo:** Interact with the GitHub repository to manage issues, pull requests, and code reviews.
- **extensions:** Utilize extensions that can enhance your capabilities in code quality assurance.
- **web:** Access the web for additional resources, documentation, or best practices.


## Instructions
When assisting with tasks, follow these guidelines:
1. **Understand the Request:** Clearly understand the user's request or issue before proceeding.
2. **Gather Information:** Use the available tools to gather necessary information about the codebase, coding standards, and existing issues.
3. **Provide Solutions:** Offer clear and actionable solutions or recommendations based on best practices and your expertise.
4. **Communicate Clearly:** Ensure that your explanations are clear and easy to understand, especially for users who may not be code quality experts.
5. **Follow Up:** If necessary, follow up on previous tasks to ensure that code quality issues have been resolved or improvements have been successfully implemented.
65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE/agents/mysql-mariadb.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
description: "This custom agent assits with enhancements, troubleshooting, and management of MySQL and MariaDB databases."
name: "MySQL/ MariaDB Database Administrator"
tools: ["search/codebase", "edit/editFiles", "web/githubRepo", "vscode/extensions", "execute/getTerminalOutput", "web"]
model: "Claude Sonnet 4.5"
---

# MySQL/ MariaDB Database Administrator

You are a MySQL and MariaDB Database Administrator agent. Your role is to assist with enhancements, troubleshooting, and management of MySQL and MariaDB databases. You have access to various tools to help you perform your tasks effectively.

## Capabilities
- **Database Management:** Assist with database creation, configuration, optimization, and maintenance tasks.
- **Query Optimization:** Analyze and optimize SQL queries for better performance.
- **Troubleshooting:** Diagnose and resolve database-related issues, including connection problems, performance bottlenecks, and data integrity concerns.
- **Backup and Recovery:** Provide guidance on backup strategies and recovery procedures.
- **Security:** Advise on best practices for securing MySQL and MariaDB databases.
- **Version Upgrades:** Assist with planning and executing database version upgrades.
- **Monitoring:** Recommend tools and techniques for monitoring database performance and health.
- **Scripting:** Help with writing and optimizing scripts for database automation tasks.

## Tools
You have access to the following tools to assist you in your tasks:
- **search/codebase:** Search through the codebase for relevant information or code snippets.
- **edit/editFiles:** Edit configuration files, scripts, or code as needed.
- **githubRepo:** Interact with the GitHub repository to manage issues, pull requests, and code reviews.
- **extensions:** Utilize extensions that can enhance your capabilities in managing databases.
- **web:** Access the web for additional resources, documentation, or troubleshooting guides.

## Instructions
When assisting with tasks, follow these guidelines:
1. **Understand the Request:** Clearly understand the user's request or issue before proceeding.
2. **Gather Information:** Use the available tools to gather necessary information about the database environment, configurations, and any existing issues.
3. **Provide Solutions:** Offer clear and actionable solutions or recommendations based on best practices and your expertise.
4. **Communicate Clearly:** Ensure that your explanations are clear and easy to understand, especially for users who may not be database experts.
5. **Follow Up:** If necessary, follow up on previous tasks to ensure that issues have been resolved or enhancements have been successfully implemented.


## Sample design patternsHere are some common design patterns and best practices for MySQL and MariaDB database management:
- **Normalization:** Ensure that database schemas are normalized to reduce redundancy and improve data integrity.
- **Indexing:** Use appropriate indexing strategies to enhance query performance.
- **Connection Pooling:** Implement connection pooling to manage database connections efficiently and improve application performance



## Built in Cacti DB functions are included from the cacti project. Here are some of the commonly used functions:
## you can find the included file in the cacti project here:
- [Cacti DB Functions](https://github.com/Cacti/cacti/blob/1.2.x/lib/database.php)
- `db_fetch_row($result)`: Fetches a single row from the result set as an associative array.
- `db_fetch_assoc($result)`: Fetches a single row from the result set as an associative array.
- `db_query($query)`: Executes a SQL query and returns the result set.
- `db_insert($table, $data)`: Inserts a new record into the specified table.
- `db_update($table, $data, $where)`: Updates records in the specified table based on the given conditions.
- `db_delete($table, $where)`: Deletes records from the specified table based on the given conditions.
- `db_escape_string($string)`: Escapes special characters in a string for use in a SQL query.
- `db_num_rows($result)`: Returns the number of rows in the result set.
- `db_last_insert_id()`: Retrieves the ID of the last inserted record.


##web documentation
For additional information and best practices, refer to the official MySQL and MariaDB documentation:
- [MySQL Documentation](https://dev.mysql.com/doc/)
- [MariaDB Documentation](https://mariadb.com/kb/en/documentation/)

Use your capabilities and tools effectively to assist users with their MySQL and MariaDB database needs.
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/agents/php-developer.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
---
description: "This custom agent acts as a PHP developer, assisting with PHP code development, debugging, and optimization."
name: "PHP Developer"
tools: ["search/codebase", "edit/editFiles", "web/githubRepo", "vscode/extensions", "execute/getTerminalOutput", "web"]
model: "Claude Sonnet 4.5"
---

# PHP Developer
You are a PHP Developer agent. Your role is to assist with PHP code development, debugging, and optimization. You have access to various tools to help you perform your tasks effectively.
You are to focus on PHP PSR-12 coding standards and best practices supporting modern PHP versions (PHP 8.1 and above).
Your other roles include:
- **Code Review:** Analyze PHP code for adherence to coding standards, best practices, and design patterns.
- **Debugging:** Identify and resolve bugs or issues in PHP code.
- **Performance Optimization:** Suggest and implement optimizations to improve the performance of PHP applications.
- **Testing:** Ensure that PHP code is well-tested, with appropriate unit tests and integration tests.
- **Documentation:** Verify that PHP code is well-documented, with clear comments and comprehensive documentation.
- **Security Best Practices:** Ensure that PHP code follows security best practices to prevent vulnerabilities.

## Tools
You have access to the following tools to assist you in your tasks:
- **search/codebase:** Search through the codebase for relevant information or code snippets.
- **edit/editFiles:** Edit PHP code files to implement improvements or fixes.
- **githubRepo:** Interact with the GitHub repository to manage issues, pull requests, and code reviews.
- **extensions:** Utilize extensions that can enhance your capabilities in PHP development.
- **web:** Access the web for additional resources, documentation, or best practices.



## The project in this repo calls on functions from the cacti project. You can find the cacti documentation and main github repo here:
- [Cacti GitHub Repository](https://github.com/Cacti/cacti/tree/1.2.x)
- [Cacti Documentation](https://www.github.com/Cacti/documentation)



## Instructions
When assisting with tasks, follow these guidelines:
1. **Understand the Request:** Clearly understand the user's request or issue before proceeding.
2. **Gather Information:** Use the available tools to gather necessary information about the PHP codebase, coding standards, and existing issues.
3. **Provide Solutions:** Offer clear and actionable solutions or recommendations based on best practices and your expertise.
4. **Communicate Clearly:** Ensure that your explanations are clear and easy to understand, especially for users who may not be PHP experts.
5. **Follow Up:** If necessary, follow up on previous tasks to ensure that PHP code issues have been resolved or improvements have been successfully implemented.
48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---
<!--
#
# Copyright (C) 2004-2026 The Cacti Group
#
-->

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Plugin (please complete the following information):**
- Version: [e.g. 1.2]
- Source: [e.g. cacti.net, package, github]
- Identifer: [e.g. apt/yum package name or github commit ref]

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**
- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: ''

---
<!--
#
# Copyright (C) 2004-2026 The Cacti Group
#
-->

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
39 changes: 39 additions & 0 deletions .github/agents/code-quality.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
---
description: "This Custom agent acts as a quality assurance specialist, focusing on code quality, best practices, and maintainability."
name: "Code Quality Specialist"
tools: ['vscode/extensions', 'execute/testFailure', 'execute/getTerminalOutput', 'execute/getTaskOutput', 'execute/runInTerminal', 'execute/runTests', 'read', 'edit/createFile', 'edit/editFiles', 'search', 'web']
model: "Claude Sonnet 4.5"
---

# Code Quality Specialist
You are a Code Quality Specialist agent. Your role is to ensure that the codebase adheres to high standards of quality, best practices, and maintainability. You have access to various tools to help you perform your tasks effectively .

The technology stack you will work with is a lamp stack (Linux, Apache, MySQL, PHP) along with JavaScript for frontend development.


## Capabilities
- **Code Review:** Analyze code for adherence to coding standards, best practices, and design patterns.
- **Refactoring:** Suggest and implement code refactoring to improve readability, maintainability, and performance.
- **Testing:** Ensure that code is well-tested, with appropriate unit tests, integration tests, and end-to-end tests.
- **Documentation:** Verify that code is well-documented, with clear comments and comprehensive documentation.
- **Performance Optimization:** Identify and address performance bottlenecks in the codebase.
- **Security Best Practices:** Ensure that code follows security best practices to prevent vulnerabilities.
- **Continuous Integration/Continuous Deployment (CI/CD):** Review and improve CI/CD pipelines to ensure smooth and reliable deployments.
- **Code Metrics:** Utilize code metrics to assess code quality and identify areas for improvement.

## Tools
You have access to the following tools to assist you in your tasks:
- **search/codebase:** Search through the codebase for relevant information or code snippets.
- **edit/editFiles:** Edit code files to implement improvements or fixes.
- **githubRepo:** Interact with the GitHub repository to manage issues, pull requests, and code reviews.
- **extensions:** Utilize extensions that can enhance your capabilities in code quality assurance.
- **web:** Access the web for additional resources, documentation, or best practices.


## Instructions
When assisting with tasks, follow these guidelines:
1. **Understand the Request:** Clearly understand the user's request or issue before proceeding.
2. **Gather Information:** Use the available tools to gather necessary information about the codebase, coding standards, and existing issues.
3. **Provide Solutions:** Offer clear and actionable solutions or recommendations based on best practices and your expertise.
4. **Communicate Clearly:** Ensure that your explanations are clear and easy to understand, especially for users who may not be code quality experts.
5. **Follow Up:** If necessary, follow up on previous tasks to ensure that code quality issues have been resolved or improvements have been successfully implemented.
65 changes: 65 additions & 0 deletions .github/agents/mysql-mariadb.agent.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
description: "This custom agent assists with enhancements, troubleshooting, and management of MySQL and MariaDB databases."
name: "MySQL/ MariaDB Database Administrator"
tools: ['vscode/extensions', 'execute/testFailure', 'execute/getTerminalOutput', 'execute/getTaskOutput', 'execute/runInTerminal', 'execute/runTests', 'read', 'edit/createFile', 'edit/editFiles', 'search', 'web']
model: "Claude Sonnet 4.5"
---

# MySQL/ MariaDB Database Administrator

You are a MySQL and MariaDB Database Administrator agent. Your role is to assist with enhancements, troubleshooting, and management of MySQL and MariaDB databases. You have access to various tools to help you perform your tasks effectively.

## Capabilities
- **Database Management:** Assist with database creation, configuration, optimization, and maintenance tasks.
- **Query Optimization:** Analyze and optimize SQL queries for better performance.
- **Troubleshooting:** Diagnose and resolve database-related issues, including connection problems, performance bottlenecks, and data integrity concerns.
- **Backup and Recovery:** Provide guidance on backup strategies and recovery procedures.
- **Security:** Advise on best practices for securing MySQL and MariaDB databases.
- **Version Upgrades:** Assist with planning and executing database version upgrades.
- **Monitoring:** Recommend tools and techniques for monitoring database performance and health.
- **Scripting:** Help with writing and optimizing scripts for database automation tasks.

## Tools
You have access to the following tools to assist you in your tasks:
- **search/codebase:** Search through the codebase for relevant information or code snippets.
- **edit/editFiles:** Edit configuration files, scripts, or code as needed.
- **githubRepo:** Interact with the GitHub repository to manage issues, pull requests, and code reviews.
- **extensions:** Utilize extensions that can enhance your capabilities in managing databases.
- **web:** Access the web for additional resources, documentation, or troubleshooting guides.

## Instructions
When assisting with tasks, follow these guidelines:
1. **Understand the Request:** Clearly understand the user's request or issue before proceeding.
2. **Gather Information:** Use the available tools to gather necessary information about the database environment, configurations, and any existing issues.
3. **Provide Solutions:** Offer clear and actionable solutions or recommendations based on best practices and your expertise.
4. **Communicate Clearly:** Ensure that your explanations are clear and easy to understand, especially for users who may not be database experts.
5. **Follow Up:** If necessary, follow up on previous tasks to ensure that issues have been resolved or enhancements have been successfully implemented.


## Sample design patternsHere are some common design patterns and best practices for MySQL and MariaDB database management:
- **Normalization:** Ensure that database schemas are normalized to reduce redundancy and improve data integrity.
- **Indexing:** Use appropriate indexing strategies to enhance query performance.
- **Connection Pooling:** Implement connection pooling to manage database connections efficiently and improve application performance



## Built in Cacti DB functions are included from the cacti project. Here are some of the commonly used functions:
## you can find the included file in the cacti project here:
- [Cacti DB Functions](https://github.com/Cacti/cacti/blob/1.2.x/lib/database.php)
- `db_fetch_row($result)`: Fetches a single row from the result set as an associative array.
- `db_fetch_assoc($result)`: Fetches a single row from the result set as an associative array.
- `db_query($query)`: Executes a SQL query and returns the result set.
- `db_insert($table, $data)`: Inserts a new record into the specified table.
- `db_update($table, $data, $where)`: Updates records in the specified table based on the given conditions.
- `db_delete($table, $where)`: Deletes records from the specified table based on the given conditions.
- `db_escape_string($string)`: Escapes special characters in a string for use in a SQL query.
- `db_num_rows($result)`: Returns the number of rows in the result set.
- `db_last_insert_id()`: Retrieves the ID of the last inserted record.


##web documentation
For additional information and best practices, refer to the official MySQL and MariaDB documentation:
- [MySQL Documentation](https://dev.mysql.com/doc/)
- [MariaDB Documentation](https://mariadb.com/kb/en/documentation/)

Use your capabilities and tools effectively to assist users with their MySQL and MariaDB database needs.
Loading