/** * Method to get an array of data items. * * @return mixed An array of data items on success, false on failure. */ public function getItems() { // check in items $this->checkInNow(); // load parent items $items = parent::getItems(); // set values to display correctly. if (DemoHelper::checkArray($items)) { // get user object. $user = JFactory::getUser(); foreach ($items as $nr => &$item) { $access = $user->authorise('help_document.access', 'com_demo.help_document.' . (int) $item->id) && $user->authorise('help_document.access', 'com_demo'); if (!$access) { unset($items[$nr]); continue; } // decode groups $groupsArray = json_decode($item->groups, true); if (DemoHelper::checkArray($groupsArray)) { $groupsNames = ''; $counter = 0; foreach ($groupsArray as $groups) { if ($counter == 0) { $groupsNames .= DemoHelper::getGroupName($groups); } else { $groupsNames .= ', ' . DemoHelper::getGroupName($groups); } $counter++; } $item->groups = $groupsNames; } } } // set selection value to a translatable value if (DemoHelper::checkArray($items)) { foreach ($items as $nr => &$item) { // convert type $item->type = $this->selectionTranslation($item->type, 'type'); // convert location $item->location = $this->selectionTranslation($item->location, 'location'); } } // return items return $items; }