From 6dbdb2f23e1e639b12d066fb36f2c00c90ebbeec Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Wed, 1 May 2024 14:25:58 +0200 Subject: [PATCH] mvc - replace Phalcon\Filter\Validation\Validator\Url with new native OPNsense\Base\Validators\Url validator for https://github.com/opnsense/core/issues/6389 --- plist | 1 + .../OPNsense/Base/FieldTypes/UrlField.php | 2 +- .../models/OPNsense/Base/Validators/Url.php | 59 +++++++++++++++++++ 3 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 src/opnsense/mvc/app/models/OPNsense/Base/Validators/Url.php diff --git a/plist b/plist index 15d9cc515..310bddd97 100644 --- a/plist +++ b/plist @@ -598,6 +598,7 @@ /usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/Numericality.php /usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/PresenceOf.php /usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/Regex.php +/usr/local/opnsense/mvc/app/models/OPNsense/Base/Validators/Url.php /usr/local/opnsense/mvc/app/models/OPNsense/CaptivePortal/ACL/ACL.xml /usr/local/opnsense/mvc/app/models/OPNsense/CaptivePortal/CaptivePortal.php /usr/local/opnsense/mvc/app/models/OPNsense/CaptivePortal/CaptivePortal.xml diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UrlField.php b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UrlField.php index 6cbf56120..6e1899072 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UrlField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Base/FieldTypes/UrlField.php @@ -28,7 +28,7 @@ namespace OPNsense\Base\FieldTypes; -use Phalcon\Filter\Validation\Validator\Url as UrlValidator; +use OPNsense\Base\Validators\Url as UrlValidator; /** * Class EmailField diff --git a/src/opnsense/mvc/app/models/OPNsense/Base/Validators/Url.php b/src/opnsense/mvc/app/models/OPNsense/Base/Validators/Url.php new file mode 100644 index 000000000..76ddbdf57 --- /dev/null +++ b/src/opnsense/mvc/app/models/OPNsense/Base/Validators/Url.php @@ -0,0 +1,59 @@ +getValue($attribute); + $msg = $this->getOption('message'); + if ( !filter_var($value, FILTER_VALIDATE_URL) ) { + $validator->appendMessage(new Message($msg, $attribute, 'Url')); + return false; + } + + return true; + } +}