✨ improve hex color validation #4
This commit is contained in:
parent
482b8e2d0d
commit
3e73ed733b
1 changed files with 20 additions and 14 deletions
|
@ -31,6 +31,13 @@ class CRM_TwingleCampaign_BAO_TwingleProject extends Campaign {
|
||||||
'one_time',
|
'one_time',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
// All fields for hex color codes
|
||||||
|
const colorFields = [
|
||||||
|
'design_background_color',
|
||||||
|
'design_primary_color',
|
||||||
|
'design_font_color',
|
||||||
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ## TwingleProject constructor
|
* ## TwingleProject constructor
|
||||||
*
|
*
|
||||||
|
@ -143,6 +150,7 @@ class CRM_TwingleCampaign_BAO_TwingleProject extends Campaign {
|
||||||
*/
|
*/
|
||||||
private function strToInt(array &$values) {
|
private function strToInt(array &$values) {
|
||||||
foreach ($values as $key => $value) {
|
foreach ($values as $key => $value) {
|
||||||
|
if (!in_array($key, self::colorFields)) {
|
||||||
if (ctype_digit($value)) {
|
if (ctype_digit($value)) {
|
||||||
$values[$key] = intval($value);
|
$values[$key] = intval($value);
|
||||||
}
|
}
|
||||||
|
@ -151,6 +159,7 @@ class CRM_TwingleCampaign_BAO_TwingleProject extends Campaign {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ## Create this TwingleProject as a campaign in CiviCRM
|
* ## Create this TwingleProject as a campaign in CiviCRM
|
||||||
|
@ -298,21 +307,18 @@ class CRM_TwingleCampaign_BAO_TwingleProject extends Campaign {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Validate hexadecimal color fields
|
// Validate hexadecimal color fields
|
||||||
$colorFields =
|
foreach (self::colorFields as $colorField) {
|
||||||
[
|
|
||||||
'design_background_color',
|
|
||||||
'design_primary_color',
|
|
||||||
'design_font_color',
|
|
||||||
];
|
|
||||||
foreach ($colorFields as $colorField) {
|
|
||||||
if (
|
if (
|
||||||
!empty($this->values['project_options'][$colorField]) &&
|
(
|
||||||
|
!empty($this->values['project_options'][$colorField]) ||
|
||||||
|
$this->values['project_options'][$colorField] === "0"
|
||||||
|
) &&
|
||||||
(
|
(
|
||||||
!(
|
!(
|
||||||
ctype_xdigit($this->values['project_options'][$colorField]) ||
|
ctype_xdigit($this->values['project_options'][$colorField]) ||
|
||||||
is_integer($this->values['project_options'][$colorField])
|
is_integer($this->values['project_options'][$colorField])
|
||||||
) ||
|
) ||
|
||||||
strlen((string) $this->values['project_options'][$colorField]) > 6
|
strlen((string) $this->values['project_options'][$colorField]) != 6
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
$valid = FALSE;
|
$valid = FALSE;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue