19declare(strict_types=1);
41 private readonly array $records,
42 private readonly array $sigle_actions,
43 private readonly Closure $link_to_profile
49 array $visible_column_ids,
52 mixed $additional_viewcontrol_data,
54 mixed $additional_parameters
56 [$order_field, $order_direction] = $order->join(
58 fn($ret, $key, $value) => [$key, $value]
61 $records = $this->records;
63 $times = $order_direction ===
'ASC' ? 1 : -1;
66 static fn(array
$a, array
$b):
int => $times * strcasecmp(
76 foreach ($records as $row) {
77 $row[
'public_name'] = ($this->link_to_profile)($row[
'user_id'], $row[
'public_name']);
78 $row[
'login'] = ($this->link_to_profile)($row[
'user_id'], $row[
'login']);
80 $transitions = array_map(
81 static fn($s):
string => $row[
'state'] .
'->' . $s,
85 $data_row = $row_builder->
buildDataRow((
string) $row[
'user_id'], $row);
86 foreach ($this->sigle_actions as $action) {
87 if (!\in_array($action, $transitions,
true)) {
88 $data_row = $data_row->withDisabledAction($action);
97 mixed $additional_viewcontrol_data,
99 mixed $additional_parameters
101 return \count($this->records);
Both the subject and the direction need to be specified when expressing an order.
A simple class to express a naive range of whole positive numbers.
return['delivery_method'=> 'php',]
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
buildDataRow(string $id, array $record)
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples