<?php /** * @var array $modules_info * @var int $module_count * @var int $page_number * @var int $per_page * @var \kernel\services\ModuleService $moduleService */ $meta = []; $meta['columns'] = [ "name" => "Название", "author" => "Автор", "version" => "Версия", "description" => "Описание" ]; $meta['params'] = ["class" => "table table-bordered"]; $meta['perPage'] = $per_page; $meta['baseUrl'] = "/admin/module"; $meta['currentPage'] = $page_number; $meta['total'] = $module_count; $info_to_table['meta'] = $meta; $info_to_table['data'] = $modules_info; $table = new \Itguild\Tables\ListJsonTable(json_encode($info_to_table, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE)); $table->addAction(function ($row, $url) use ($moduleService){ $slug = $row['slug']; if ($moduleService->isActive($slug)){ $label = "Деактивировать"; $btn_type = "warning"; $btn = "<a class='btn btn-$btn_type' href='$url/deactivate/?slug=$slug' style='margin: 3px; width: 150px;' >$label</a>"; } else { $label = "Активировать"; $btn_type = "primary"; $btn = "<a class='btn btn-$btn_type' href='$url/activate/?slug=$slug' style='margin: 3px; width: 150px;' >$label</a>"; } return $btn; }); $table->addAction(function ($row, $url) use ($moduleService){ $slug = $row['slug']; return "<a class='btn btn-primary' href='$url/view/?slug=$slug' style='margin: 3px; width: 150px;' >Просмотр</a>"; }); $table->addAction(function ($row, $url) use ($moduleService){ $slug = $row['slug']; return "<a class='btn btn-primary' href='$url/update/?slug=$slug' style='margin: 3px; width: 150px;' >Обновить</a>"; }); $table->create(); $table->render();