69 Commits
Author SHA1 Message Date
3e1dc3c886 fix: replace strtolower/strtoupper with locale-independent wrappers (#6717)
* cleanup: remove unreachable defensive error logs in aggregate graph item validation

* fix: replace strtolower/strtoupper with locale-independent wrappers

PHP 8.5 deprecates locale-sensitive strtolower() and strtoupper().
Add cacti_strtolower() and cacti_strtoupper() wrappers that use
mb_strtolower/mb_strtoupper with explicit UTF-8 encoding, then
replace all 185 call sites across 65 files.

Existing mb_strtolower() calls (email normalization) are left as-is
since they already specify encoding explicitly.

Includes 18 Pest tests covering ASCII, UTF-8, protocol names, config
values, hex strings, NaN detection, and file extension patterns.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* fix: correct docblock references and month_shift() strpos check

Fix docblocks to reference strtolower()/strtoupper() (the deprecated
PHP builtins) instead of the wrapper names. Fix month_shift() to use
strpos() !== false instead of > 0 so 'month' at position 0 is matched.

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

* chore: drop unrelated lib/api_aggregate changes

Keep PR scope focused on the issue for this branch.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>

---------

Signed-off-by: Thomas Vincent <thomasvincent@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: TheWitness <thewitness@cacti.net>
2026-03-05 19:51:02 -05:00
TheWitness 27919c50d7 Updating Copyrights to 2026 (#6578) 2026-01-28 16:11:10 -05:00
TheWitnessandCopilot b993471579 Fix #6539 - Allow Standard Cacti Log Files to be Rotated on Demand,PHPdoc, and Typing (#6540)
* Fix #6539 - Allow Standard Cacti Log Files to be Rotated on Demand from the Cacti UI

* QA: php-cs-fixer updates and documentation for lib/database.php

* QA: Update .gitignore for composer files

* QA: Update .gitignore for composer files

* QA: Back off .gitignore change its duplicated

* QA: Fix typing of db_has_permissions

* QA: Fixing typing issue in db_format_index_create

* Update lib/clog_webapi.php

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* QA: Fix additional code issues

* QA: Applying more defaults to add device

* QA: Fix at the database layer

* QA: Fixes based upon automated testing

* QA: Fix at the database layer

* QA: After new SQL checking

* QA: Skip MacTrack oui database download warnings

* QA: Fixing type issue

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Some minor changes to avoid errors in testing

* QA: Unused variable

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Recommendation from Copilot

* QA: Minor introduced code defect

* QA: Adding some unifying space around concatination

* QA: Consistent comments and new function alias'

* QA: Multi-line comment corrections

* QA: Fix SQL Style

* QA: Missed one function alias

* QA: PHPStan Level 2 and PHPDoc fixes

* QA: PHPStan Level 2 and PHPDoc Fixes

* QA: PHPStan Level 6 Fixes

* QA: Fix lib/xml.php to PHPStan Level 6

* QA: Wrong grep -v

* PHPStan Level 6 for lib/vdef.php

* PHPStan Level 8 for lib/time.php

* QA: Raise PHPStan to Level 6 for lib/database.php

* QA: Remove @deprecated tag from grv()

* QA: Switch to htmle() alias over html_escape()

* QA: More addressing PHPStan issues at Level 6

* QA: Change recommended by Copilot for Readability

* QA: More PHPStan fixes

* QA: More PHPStan fixes

* QA: More PHPStan fixes for lib/utility.php

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: Raise PHPStan to Level 6 More Functions

* QA: More PHPStan fixes at Level 6

* QA: Some phpseclib3 fixups to update to latest

* QA: More fixups for graphing for magic strings

* QA: More PHPStan fixes at Level 6

* QA: Fixing order string type on get_allowed_graphs()

* QA: Fixing improper use of print

* QA: Optimization of color_templates

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Copilot recommendation

* QA: Raise PHPStan to Level 6 More Functions

* QA: Issues insalling Cacti

* QA: Issues insalling Cacti

* QA: Issues insalling Cacti

* QA: Issues insalling Cacti

* QA: Issues insalling Cacti

* QA: Issues testing Cacti

* QA: Copilot recommendation

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: More PHPStan fixes at Level 6

* QA: Installer failing

* Undo ownership changes to remove tar errors

* QA: Updates after php-cs-fixer

* QA: Adding code checks to syntax checking

* QA Change syntax flow language

* QA: Reduce the number of cures

* QA: Use sequentional option

* Change runner to self-hosted for check job

* Fix typo in OS version in workflow file

* Add Git installation step in workflow

Added step to install Git if not already installed.

* Add '-y' flag to apt-get install and update commands

Updated apt-get commands to include '-y' for automatic confirmation.

* Change workflow OS version to 'ubuntu-latest'

Updated the workflow to use 'ubuntu-latest' instead of 'ubuntu:latest' and modified the 'runs-on' configuration.

* Remove sequential option from phpcsfixer script

* Remove PHPCS fixer step from workflow

Removed PHP coding standards check from workflow.

* Move code checks to before plugins

Moving these core checks to before the plugins are installed as we really want to check only the base Cacti here.

* Add Composer validation and caching to start of workflow

* QA: Addressing PHPStan additional

* QA: Restore composer lock file

* QA: Addressing PHPStan additional

* QA: Addressing PHPStan additional

* QA: Complete LDAP Project

* QA: php-cs-fixer doing it's thing

* QA: Syntax is already happening in PHPStan

* QA: The md5 function no longer exists

* QA: Update after ldap changes

* QA: Undo that last password hack

* QA: Attempting to switch to MariaDB 11.8

* QA: Attempting to switch to MariaDB 11.8

* QA: Resolving some issues with PHP8.4

* QA: Resolving some issues with PHP8.4

* QA: Add PHP8.5 to the matrix

* QA: Removing PHP8.5 due to dependency issues

* QA: Add the DB version to the testing output

* QA: Switch back to MySQL for the moment

* QA: More fidelity in reporting

* QA: The pipe must be mixed

* QA: Moving audit_schema.php changes from 1.2.x

* QA: Moving audit_schema.php changes from 1.2.x

* QA: Restore mysql monitoring

* QA: php-cs-fixer issues

* QA: Attempt to roll back to MariaDB 10.6

* QA: Attempt to fix check_all_pages.sh

* QA: Make installer functional again

* QA: Fix installer php-cs-fixer issues

* QA: Type to a string

* QA: Get the database version correctly

* QA: Fix issue with reports in check_all_pages.sh

* QA: Check the server version in the right place

* Feature: Support SHA256 as a new hash for passwords

* QA: Function definition and return typing audit

* QA: Refinement of form types

* QA: Refinement of form types

* QA: Consistency of comments

* QA: Issues with php-cs-fixer and more comments

* QA: More typing issues

* QA: php-cs-fixer on merge conflict resolution

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-25 10:13:56 -05:00
TheWitness ac0c1c5c45 Switch from include to require 2025-04-03 14:37:02 -04:00
TheWitness cc19d29cfd Change the path of PHPStan 2025-03-23 16:26:58 -04:00
TheWitness 685d4b9357 Start addressing PHPStan Issues 2025-03-23 14:09:11 -04:00
TheWitness 2c779273f9 Copyright Updates and PHP-CS-Fixer updates 2025-03-09 14:34:19 -04:00
TheWitness 1aa72d24c9 QA: Update Copyright to 2024 2024-02-03 14:18:57 -05:00
TheWitness 75d704edf4 QA: Remove old stub function name documentation 2023-11-12 22:09:20 -05:00
Mark Brugnoli-Vinten 32ba2f19f4 Update copyright year for 2023 2023-01-03 20:34:26 +00:00
Mark Brugnoli-Vinten 8b29d12cc9 Define cacti system paths as constants for better code checking (#5120)
This also provides a full run of src-fixer against all files to
ensure all code is now in alignment.

Closes #5120
2023-01-01 01:03:15 +00:00
netniV fd44f394a0 Remove the need for header=false
Update loadPage calls to be loadUrl
Update loadPageNoHeader calls to be loadUrl calls

Also includes changes to make logout adhere to new html_auth_xxx functions
2022-11-26 13:58:49 +00:00
TheWitness 82b229db9e Updating Copyright to 2022. 2022-02-06 17:16:20 -05:00
TheWitness df54a4a3f3 Updating copright years 2021-01-01 20:28:58 -05:00
TheWitness 1d26b579ef Fixing Issue #3778
* Export DataQuery show PHP Error: ERROR PHP NOTICE: Undefined index: fname
* This also stops the pace after a second of callback as it was running on.
2020-08-31 08:10:26 -04:00
netniV 4fa9a68fb3 Update copyright to 2020 2020-01-12 12:19:49 +00:00
netniV 308292e2d7 Update copyright notices for 2019 2019-01-25 08:05:00 +00:00
Tony Roman 519b35f5cd Update copyright to 2018 2018-01-06 09:10:15 -05:00
Patrick 4bc2f4c0bc Various updates (#1073)
* Updated Dutch translations
- Fixed i18n

* Defined fields in queries

* Fixed changelog

* Updated Dutch translations

* Various fixes

All committed files:
- true|false to lowercase

add_perms.php:
- displayGroups() was undefined

add_tree.php:
- duplicate case for '--quiet'

repair_templates.php:
- correction function call to diaplay_version()

gettext.php:
- PHP EOF unneeded

* Fixed warnings in graph_view

* Updated Dutch translations
- Updated Dutch translations with latest cacti.pot file

* Updated Dutch translations
- Fixed conflicts in translations

* Various fixes
- Changed array access identifiers
- Fixed some code layout changes
- Fixed one i18n entry in api_automation.php

* Updated changelog

* Layout changes (tab instead of spaces)

* Layout changes (tab instead of spaces)

* Various fixes
- Changed array access identifiers
- Fixed some code layout changes

* Some fixes for better querying

* Layout change only

* Updated Dutch translations

* Updated changelog

* Updated changelog

* Fixed upgrade script 1_1_28.zip

* Few final fixes after CR or changes

* Updated Dutch translations
2017-11-11 05:45:12 -06:00
Wolfgang Stöggl 4a1a15d72c Correct spelling of RRDtool (#1038)
- Change RRDTool -> RRDtool with a lowercase t.
- Replace in all files except *.mo, *.po, *.pot
2017-10-16 11:32:05 -04:00
cigamit 86f719b923 Resolving Issue #989
- Spaces lost on re-import of data input method.
- Possible injection point in templates_export.php
- Minor format changes to db calls

Note that this will not 100% resolve the importation of old templates.
However, all new templates will base64_encode all input strings prior to
XML encoding, which resolves this issue ongoing.
2017-10-15 09:54:07 -05:00
cigamit 0706679573 Resolving Issue #886
Unable to export templates other than Device templates
2017-07-29 12:30:42 -05:00
cigamit 01367100e7 issue: Make Templates Export responsive 2017-07-22 08:57:03 -05:00
cigamit 09e88e38ac issue: Make the default Export Type a Device Template 2017-07-06 20:27:41 -05:00
cigamit cde5f15417 Resolving Issue #763
Template Export not functional
2017-05-30 19:50:31 -05:00
Tony Roman 8a179d7d7f Fix up to move if elseif else blocks to PSR 2017-05-07 19:57:36 -04:00
cigamit a00c967b2c wc3 Validation fixes
This is ajust about everything.  Deprecated removed.  There are still
some warnings that are unresolved due to the movement to div based
forms, but they are soft warnings.
2017-04-30 21:01:10 -05:00
patrick cc1cc7eab2 PHP7.2 changes:
- Replaced deprecated each() for foreach()
- Removed reset() calls used for each() loops
2017-04-15 18:00:13 +02:00
Tony Roman 35a5988f41 Update source code files copyright to new year 2017-01-01 13:45:29 -05:00
Browniebraun 39fc06e951 i18n updates 2016-04-24 22:40:26 +02:00
cigamit 39bbb23ac5 implement data source profiles
this commit will cause your 1.0 environment to break.  to fix, please
run the script 'profile_migrate.php'.  this commit includes a major new
feature to allow your Cacti system to have multiple polling intervals
and for you to create identical graphs using multiple polling intervals
in a sane way.  this is an initial commit, one that has been tested.
however, there will be subsequent commits.  however, after migration,
this should be considered stable.
2016-03-14 06:59:54 -05:00
cigamit 26053b7527 replace deprecated get_request_var_post() with get_nfilter_request_var()
replace the deprecated calls and also start developer mode injection
checking
2016-02-11 16:46:14 -06:00
cigamit 2387bd4a08 removing many $_GET, $_REQUEST, and $_POST variable usage
There are still three steps to go in this overall.  The first is to
replace all the page filtering session storing and validation functions
and the second is to propagate those changes into various areas of the
lib directory that include the use of the various variables, lastly,
developer mode will have to be enable to see if there are any variables
used in the code that have not been sanitized.  Note, at this point the
develop branch should be thought of as slightly unstable
2016-02-07 12:51:49 -06:00
Linegod 8dadf2d9a9 first pass of _POST to get_request_var_post 2016-02-06 10:44:05 -06:00
Linegod dabfabf219 replace ['action'] with set_default_action 2016-02-06 09:57:05 -06:00
Micke2k d188f1631d Change Copyright year 2015 -> 2016 2016-01-29 21:46:02 +04:00
cigamit 4fc14f929d Remove deprecated tags and remove inline styles
Removing <strong> in many areas
Moving inline styles to classes
2015-08-09 19:55:44 -05:00
cigamit e33f692d2c new form functions for ajax
add two new form functions to support ajax
move some double to single quotes
2015-06-15 00:14:43 -05:00
cigamit f49357c71b HTML5 Support
changes to support html5
2015-05-15 22:29:42 -05:00
cigamit 23d755cf71 Fixin' some more ENT_QUOTES 2015-04-06 09:17:57 -05:00
Jimmy Conner 5bde3da972 1) Update Copyright Years Correct a few minor CY Issues
2) Allow Locking/UnLocking of Graphs
3) ToolTips
4) Correct Minor Issues with Login/Out/Permission associated with Theme JS
5) Upgrade jQuery which has Fixes for Major issue in Safari 7/8.1

git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.8@7662 860744bd-22fc-0310-8c96-e9fe5004b5ca
2015-01-04 01:52:50 +00:00
Jimmy Conner 5646c33484 A little bit of cleanup
Change double quotes to single quotes where possible
Move to prepared statements were possible
Fix line endings on a few files

git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.8@7609 860744bd-22fc-0310-8c96-e9fe5004b5ca
2014-12-25 07:00:57 +00:00
Tony Roman d82550439a Now with Themes!
git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.8@7480 860744bd-22fc-0310-8c96-e9fe5004b5ca
2014-11-08 19:14:29 +00:00
Andreas Braun 0a67496c07 deprecation of $colors array
git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.8@7479 860744bd-22fc-0310-8c96-e9fe5004b5ca
2014-11-05 06:03:18 +00:00
Tony Roman 65be30ffe0 Update copyright to 2014
git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.8@7437 860744bd-22fc-0310-8c96-e9fe5004b5ca
2014-03-30 19:54:50 +00:00
Tony Roman ce40281901 Update copyright to 2013 for 0.8.8
git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.8@7386 860744bd-22fc-0310-8c96-e9fe5004b5ca
2013-07-21 23:00:42 +00:00
Tony Roman a257958a0b Update copyright to 2012
git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.7@7016 860744bd-22fc-0310-8c96-e9fe5004b5ca
2012-02-27 07:04:37 +00:00
Larry Adams e226b8ea4b -bug#0001929: Error when exporting templates are not properly reported
git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.7@6323 860744bd-22fc-0310-8c96-e9fe5004b5ca
2011-02-21 15:14:01 +00:00
Tony Roman 6de5d5ed1a Fixing more Cross-site scripting potientials
git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.7@6274 860744bd-22fc-0310-8c96-e9fe5004b5ca
2011-01-31 01:53:29 +00:00
Tony Roman 9acba795fe Update copyright to 2011
git-svn-id: svn+ssh://repo.cacti.net/var/data/svnroot/cacti/cacti/branches/0.8.7@6233 860744bd-22fc-0310-8c96-e9fe5004b5ca
2011-01-27 03:44:05 +00:00