* @param string $parents
* @param string $spacer
* @param bool $titleOnly
+ * @param bool $public
*
* @return array
*/
$groupIDs,
$parents = NULL,
$spacer = '<span class="child-indent"></span>',
- $titleOnly = FALSE
+ $titleOnly = FALSE,
+ $public = FALSE
) {
if (empty($groupIDs)) {
return [];
$groups = [];
$args = [1 => [$groupIdString, 'String']];
$query = "
-SELECT id, title, description, visibility, parents, saved_search_id
+SELECT id, title, frontend_title, description, frontend_description, visibility, parents, saved_search_id
FROM civicrm_group
WHERE id IN $groupIdString
";
$roots = [];
$tree = [];
while ($dao->fetch()) {
+ $title = $dao->title;
+ $description = $dao->description;
+ if ($public) {
+ if (!empty($dao->frontend_title)) {
+ $title = $dao->frontend_title;
+ }
+ if (!empty($dao->frontend_description)) {
+ $description = $dao->frontend_description;
+ }
+ }
if ($dao->parents) {
$parentArray = explode(',', $dao->parents);
$parent = self::filterActiveGroups($parentArray);
$tree[$parent][] = [
'id' => $dao->id,
- 'title' => empty($dao->saved_search_id) ? $dao->title : '* ' . $dao->title,
+ 'title' => empty($dao->saved_search_id) ? $title : '* ' . $title,
'visibility' => $dao->visibility,
- 'description' => $dao->description,
+ 'description' => $description,
];
}
else {
$roots[] = [
'id' => $dao->id,
- 'title' => empty($dao->saved_search_id) ? $dao->title : '* ' . $dao->title,
+ 'title' => empty($dao->saved_search_id) ? $title : '* ' . $title,
'visibility' => $dao->visibility,
- 'description' => $dao->description,
+ 'description' => $description,
];
}
}