. * */ namespace Vvveb\Controller; use function Vvveb\__; use Vvveb\System\Traits\Listing as ListingTrait; class Listing extends Base { use ListingTrait { ListingTrait::index as get; } function index() { $results = $this->get(); $type = $this->type; if (isset($results[$type])) { $controller = $this->controller ?? $type; $listController = $this->listController ?? $type; $type_id = $this->type_id ?? "{$type}_id"; $data_id = $this->data_id ?? "{$type}_id"; $list = $this->list ?? $type; $module = $this->module; foreach ($results[$type] as $id => &$row) { $params = ['module' => "$module/$controller", $type_id => $row[$type_id]]; $paramsList = ['module' => "$module/$listController", $type_id => $row[$type_id]]; $row['url'] = \Vvveb\url($params); $row['edit-url'] = \Vvveb\url($params); $row['delete-url'] = \Vvveb\url($paramsList + ['action' => 'delete', $type_id . '[]' => $row[$type_id]]); } } $this->view->{$this->list} = $results[$this->type] ?? []; $this->view->status = [0 => __('Disabled'), 1 => __('Enabled')]; $this->view->filter = $this->filter; $this->view->count = $results['count'] ?? 0; $this->view->limit = $results['limit'] ?? 0; } }