From 6c9b622cf844bdac55ad6e0cbbd3daef1189506d Mon Sep 17 00:00:00 2001 From: eileen Date: Wed, 14 Oct 2020 17:19:22 +1300 Subject: [PATCH] dev/core#2066 Extract getSelectedIDs --- CRM/Activity/Form/Task.php | 8 ++------ CRM/Contribute/Form/Task.php | 10 +++------- CRM/Core/Form/Task.php | 17 +++++++++++++++++ 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/CRM/Activity/Form/Task.php b/CRM/Activity/Form/Task.php index 3be85d5bc3..ce68b8bcd0 100644 --- a/CRM/Activity/Form/Task.php +++ b/CRM/Activity/Form/Task.php @@ -50,12 +50,8 @@ class CRM_Activity_Form_Task extends CRM_Core_Form_Task { $form->_task = $values['task']; $ids = []; - if ($values['radio_ts'] == 'ts_sel') { - foreach ($values as $name => $value) { - if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) { - $ids[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN); - } - } + if ($values['radio_ts'] === 'ts_sel') { + $ids = $form->getSelectedIDs($values); } else { $queryParams = $form->get('queryParams'); diff --git a/CRM/Contribute/Form/Task.php b/CRM/Contribute/Form/Task.php index e6cc4ea750..302bf548cd 100644 --- a/CRM/Contribute/Form/Task.php +++ b/CRM/Contribute/Form/Task.php @@ -62,19 +62,15 @@ class CRM_Contribute_Form_Task extends CRM_Core_Form_Task { $form->_task = $values['task'] ?? NULL; $ids = []; - if (isset($values['radio_ts']) && $values['radio_ts'] == 'ts_sel') { - foreach ($values as $name => $value) { - if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) { - $ids[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN); - } - } + if (isset($values['radio_ts']) && $values['radio_ts'] === 'ts_sel') { + $ids = $form->getSelectedIDs($values); } else { $queryParams = $form->get('queryParams'); $isTest = FALSE; if (is_array($queryParams)) { foreach ($queryParams as $fields) { - if ($fields[0] == 'contribution_test') { + if ($fields[0] === 'contribution_test') { $isTest = TRUE; break; } diff --git a/CRM/Core/Form/Task.php b/CRM/Core/Form/Task.php index 2c87a8ccbb..09e5d9d659 100644 --- a/CRM/Core/Form/Task.php +++ b/CRM/Core/Form/Task.php @@ -100,6 +100,23 @@ abstract class CRM_Core_Form_Task extends CRM_Core_Form { } } + /** + * Get the ids the user has selected. + * + * @param array $values + * + * @return array + */ + public function getSelectedIDs(array $values): array { + $ids = []; + foreach ($values as $name => $value) { + if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) { + $ids[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN); + } + } + return $ids; + } + /** * Build all the data structures needed to build the form. * -- 2.25.1